packages feed

amazonka-quicksight (empty) → 2.0

raw patch · 1123 files changed

+138544/−0 lines, 1123 filesdep +amazonka-coredep +amazonka-quicksightdep +amazonka-test

Dependencies added: amazonka-core, amazonka-quicksight, 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 QuickSight SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-04-01@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-quicksight)+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.QuickSight](http://hackage.haskell.org/package/amazonka-quicksight/docs/Amazonka-QuickSight.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-quicksight` 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-quicksight.cabal view
@@ -0,0 +1,942 @@+cabal-version:      2.2+name:               amazonka-quicksight+version:            2.0+synopsis:           Amazon QuickSight SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep++description:+  Derived from API version @2018-04-01@ of the AWS service descriptions, licensed under Apache 2.0.+  .+  The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+  which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+  .+  It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+  .+  Generated lenses can be found in "Amazonka.QuickSight.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.QuickSight" 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-quicksight++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.QuickSight+    Amazonka.QuickSight.CancelIngestion+    Amazonka.QuickSight.CreateAccountCustomization+    Amazonka.QuickSight.CreateAccountSubscription+    Amazonka.QuickSight.CreateAnalysis+    Amazonka.QuickSight.CreateDashboard+    Amazonka.QuickSight.CreateDataSet+    Amazonka.QuickSight.CreateDataSource+    Amazonka.QuickSight.CreateFolder+    Amazonka.QuickSight.CreateFolderMembership+    Amazonka.QuickSight.CreateGroup+    Amazonka.QuickSight.CreateGroupMembership+    Amazonka.QuickSight.CreateIAMPolicyAssignment+    Amazonka.QuickSight.CreateIngestion+    Amazonka.QuickSight.CreateNamespace+    Amazonka.QuickSight.CreateTemplate+    Amazonka.QuickSight.CreateTemplateAlias+    Amazonka.QuickSight.CreateTheme+    Amazonka.QuickSight.CreateThemeAlias+    Amazonka.QuickSight.DeleteAccountCustomization+    Amazonka.QuickSight.DeleteAccountSubscription+    Amazonka.QuickSight.DeleteAnalysis+    Amazonka.QuickSight.DeleteDashboard+    Amazonka.QuickSight.DeleteDataSet+    Amazonka.QuickSight.DeleteDataSource+    Amazonka.QuickSight.DeleteFolder+    Amazonka.QuickSight.DeleteFolderMembership+    Amazonka.QuickSight.DeleteGroup+    Amazonka.QuickSight.DeleteGroupMembership+    Amazonka.QuickSight.DeleteIAMPolicyAssignment+    Amazonka.QuickSight.DeleteNamespace+    Amazonka.QuickSight.DeleteTemplate+    Amazonka.QuickSight.DeleteTemplateAlias+    Amazonka.QuickSight.DeleteTheme+    Amazonka.QuickSight.DeleteThemeAlias+    Amazonka.QuickSight.DeleteUser+    Amazonka.QuickSight.DeleteUserByPrincipalId+    Amazonka.QuickSight.DescribeAccountCustomization+    Amazonka.QuickSight.DescribeAccountSettings+    Amazonka.QuickSight.DescribeAccountSubscription+    Amazonka.QuickSight.DescribeAnalysis+    Amazonka.QuickSight.DescribeAnalysisDefinition+    Amazonka.QuickSight.DescribeAnalysisPermissions+    Amazonka.QuickSight.DescribeDashboard+    Amazonka.QuickSight.DescribeDashboardDefinition+    Amazonka.QuickSight.DescribeDashboardPermissions+    Amazonka.QuickSight.DescribeDataSet+    Amazonka.QuickSight.DescribeDataSetPermissions+    Amazonka.QuickSight.DescribeDataSource+    Amazonka.QuickSight.DescribeDataSourcePermissions+    Amazonka.QuickSight.DescribeFolder+    Amazonka.QuickSight.DescribeFolderPermissions+    Amazonka.QuickSight.DescribeFolderResolvedPermissions+    Amazonka.QuickSight.DescribeGroup+    Amazonka.QuickSight.DescribeGroupMembership+    Amazonka.QuickSight.DescribeIAMPolicyAssignment+    Amazonka.QuickSight.DescribeIngestion+    Amazonka.QuickSight.DescribeIpRestriction+    Amazonka.QuickSight.DescribeNamespace+    Amazonka.QuickSight.DescribeTemplate+    Amazonka.QuickSight.DescribeTemplateAlias+    Amazonka.QuickSight.DescribeTemplateDefinition+    Amazonka.QuickSight.DescribeTemplatePermissions+    Amazonka.QuickSight.DescribeTheme+    Amazonka.QuickSight.DescribeThemeAlias+    Amazonka.QuickSight.DescribeThemePermissions+    Amazonka.QuickSight.DescribeUser+    Amazonka.QuickSight.GenerateEmbedUrlForAnonymousUser+    Amazonka.QuickSight.GenerateEmbedUrlForRegisteredUser+    Amazonka.QuickSight.GetDashboardEmbedUrl+    Amazonka.QuickSight.GetSessionEmbedUrl+    Amazonka.QuickSight.Lens+    Amazonka.QuickSight.ListAnalyses+    Amazonka.QuickSight.ListDashboards+    Amazonka.QuickSight.ListDashboardVersions+    Amazonka.QuickSight.ListDataSets+    Amazonka.QuickSight.ListDataSources+    Amazonka.QuickSight.ListFolderMembers+    Amazonka.QuickSight.ListFolders+    Amazonka.QuickSight.ListGroupMemberships+    Amazonka.QuickSight.ListGroups+    Amazonka.QuickSight.ListIAMPolicyAssignments+    Amazonka.QuickSight.ListIAMPolicyAssignmentsForUser+    Amazonka.QuickSight.ListIngestions+    Amazonka.QuickSight.ListNamespaces+    Amazonka.QuickSight.ListTagsForResource+    Amazonka.QuickSight.ListTemplateAliases+    Amazonka.QuickSight.ListTemplates+    Amazonka.QuickSight.ListTemplateVersions+    Amazonka.QuickSight.ListThemeAliases+    Amazonka.QuickSight.ListThemes+    Amazonka.QuickSight.ListThemeVersions+    Amazonka.QuickSight.ListUserGroups+    Amazonka.QuickSight.ListUsers+    Amazonka.QuickSight.RegisterUser+    Amazonka.QuickSight.RestoreAnalysis+    Amazonka.QuickSight.SearchAnalyses+    Amazonka.QuickSight.SearchDashboards+    Amazonka.QuickSight.SearchDataSets+    Amazonka.QuickSight.SearchDataSources+    Amazonka.QuickSight.SearchFolders+    Amazonka.QuickSight.SearchGroups+    Amazonka.QuickSight.TagResource+    Amazonka.QuickSight.Types+    Amazonka.QuickSight.Types.AccountCustomization+    Amazonka.QuickSight.Types.AccountInfo+    Amazonka.QuickSight.Types.AccountSettings+    Amazonka.QuickSight.Types.ActiveIAMPolicyAssignment+    Amazonka.QuickSight.Types.AdHocFilteringOption+    Amazonka.QuickSight.Types.AggregationFunction+    Amazonka.QuickSight.Types.AggregationSortConfiguration+    Amazonka.QuickSight.Types.AmazonElasticsearchParameters+    Amazonka.QuickSight.Types.AmazonOpenSearchParameters+    Amazonka.QuickSight.Types.Analysis+    Amazonka.QuickSight.Types.AnalysisDefaults+    Amazonka.QuickSight.Types.AnalysisDefinition+    Amazonka.QuickSight.Types.AnalysisError+    Amazonka.QuickSight.Types.AnalysisErrorType+    Amazonka.QuickSight.Types.AnalysisFilterAttribute+    Amazonka.QuickSight.Types.AnalysisSearchFilter+    Amazonka.QuickSight.Types.AnalysisSourceEntity+    Amazonka.QuickSight.Types.AnalysisSourceTemplate+    Amazonka.QuickSight.Types.AnalysisSummary+    Amazonka.QuickSight.Types.AnchorDateConfiguration+    Amazonka.QuickSight.Types.AnchorOption+    Amazonka.QuickSight.Types.AnonymousUserDashboardEmbeddingConfiguration+    Amazonka.QuickSight.Types.AnonymousUserDashboardVisualEmbeddingConfiguration+    Amazonka.QuickSight.Types.AnonymousUserEmbeddingExperienceConfiguration+    Amazonka.QuickSight.Types.AnonymousUserQSearchBarEmbeddingConfiguration+    Amazonka.QuickSight.Types.ArcAxisConfiguration+    Amazonka.QuickSight.Types.ArcAxisDisplayRange+    Amazonka.QuickSight.Types.ArcConfiguration+    Amazonka.QuickSight.Types.ArcOptions+    Amazonka.QuickSight.Types.ArcThickness+    Amazonka.QuickSight.Types.ArcThicknessOptions+    Amazonka.QuickSight.Types.AssignmentStatus+    Amazonka.QuickSight.Types.AthenaParameters+    Amazonka.QuickSight.Types.AuroraParameters+    Amazonka.QuickSight.Types.AuroraPostgreSqlParameters+    Amazonka.QuickSight.Types.AuthenticationMethodOption+    Amazonka.QuickSight.Types.AwsIotAnalyticsParameters+    Amazonka.QuickSight.Types.AxisBinding+    Amazonka.QuickSight.Types.AxisDataOptions+    Amazonka.QuickSight.Types.AxisDisplayDataDrivenRange+    Amazonka.QuickSight.Types.AxisDisplayMinMaxRange+    Amazonka.QuickSight.Types.AxisDisplayOptions+    Amazonka.QuickSight.Types.AxisDisplayRange+    Amazonka.QuickSight.Types.AxisLabelOptions+    Amazonka.QuickSight.Types.AxisLabelReferenceOptions+    Amazonka.QuickSight.Types.AxisLinearScale+    Amazonka.QuickSight.Types.AxisLogarithmicScale+    Amazonka.QuickSight.Types.AxisScale+    Amazonka.QuickSight.Types.AxisTickLabelOptions+    Amazonka.QuickSight.Types.BarChartAggregatedFieldWells+    Amazonka.QuickSight.Types.BarChartConfiguration+    Amazonka.QuickSight.Types.BarChartFieldWells+    Amazonka.QuickSight.Types.BarChartOrientation+    Amazonka.QuickSight.Types.BarChartSortConfiguration+    Amazonka.QuickSight.Types.BarChartVisual+    Amazonka.QuickSight.Types.BarsArrangement+    Amazonka.QuickSight.Types.BaseMapStyleType+    Amazonka.QuickSight.Types.BinCountOptions+    Amazonka.QuickSight.Types.BinWidthOptions+    Amazonka.QuickSight.Types.BodySectionConfiguration+    Amazonka.QuickSight.Types.BodySectionContent+    Amazonka.QuickSight.Types.BorderStyle+    Amazonka.QuickSight.Types.BoxPlotAggregatedFieldWells+    Amazonka.QuickSight.Types.BoxPlotChartConfiguration+    Amazonka.QuickSight.Types.BoxPlotFieldWells+    Amazonka.QuickSight.Types.BoxPlotFillStyle+    Amazonka.QuickSight.Types.BoxPlotOptions+    Amazonka.QuickSight.Types.BoxPlotSortConfiguration+    Amazonka.QuickSight.Types.BoxPlotStyleOptions+    Amazonka.QuickSight.Types.BoxPlotVisual+    Amazonka.QuickSight.Types.CalculatedColumn+    Amazonka.QuickSight.Types.CalculatedField+    Amazonka.QuickSight.Types.CalculatedMeasureField+    Amazonka.QuickSight.Types.CascadingControlConfiguration+    Amazonka.QuickSight.Types.CascadingControlSource+    Amazonka.QuickSight.Types.CastColumnTypeOperation+    Amazonka.QuickSight.Types.CategoricalAggregationFunction+    Amazonka.QuickSight.Types.CategoricalDimensionField+    Amazonka.QuickSight.Types.CategoricalMeasureField+    Amazonka.QuickSight.Types.CategoryDrillDownFilter+    Amazonka.QuickSight.Types.CategoryFilter+    Amazonka.QuickSight.Types.CategoryFilterConfiguration+    Amazonka.QuickSight.Types.CategoryFilterMatchOperator+    Amazonka.QuickSight.Types.CategoryFilterSelectAllOptions+    Amazonka.QuickSight.Types.ChartAxisLabelOptions+    Amazonka.QuickSight.Types.ClusterMarker+    Amazonka.QuickSight.Types.ClusterMarkerConfiguration+    Amazonka.QuickSight.Types.ColorFillType+    Amazonka.QuickSight.Types.ColorScale+    Amazonka.QuickSight.Types.ColumnConfiguration+    Amazonka.QuickSight.Types.ColumnDataType+    Amazonka.QuickSight.Types.ColumnDescription+    Amazonka.QuickSight.Types.ColumnGroup+    Amazonka.QuickSight.Types.ColumnGroupColumnSchema+    Amazonka.QuickSight.Types.ColumnGroupSchema+    Amazonka.QuickSight.Types.ColumnHierarchy+    Amazonka.QuickSight.Types.ColumnIdentifier+    Amazonka.QuickSight.Types.ColumnLevelPermissionRule+    Amazonka.QuickSight.Types.ColumnRole+    Amazonka.QuickSight.Types.ColumnSchema+    Amazonka.QuickSight.Types.ColumnSort+    Amazonka.QuickSight.Types.ColumnTag+    Amazonka.QuickSight.Types.ColumnTagName+    Amazonka.QuickSight.Types.ColumnTooltipItem+    Amazonka.QuickSight.Types.ComboChartAggregatedFieldWells+    Amazonka.QuickSight.Types.ComboChartConfiguration+    Amazonka.QuickSight.Types.ComboChartFieldWells+    Amazonka.QuickSight.Types.ComboChartSortConfiguration+    Amazonka.QuickSight.Types.ComboChartVisual+    Amazonka.QuickSight.Types.ComparisonConfiguration+    Amazonka.QuickSight.Types.ComparisonFormatConfiguration+    Amazonka.QuickSight.Types.ComparisonMethod+    Amazonka.QuickSight.Types.Computation+    Amazonka.QuickSight.Types.ConditionalFormattingColor+    Amazonka.QuickSight.Types.ConditionalFormattingCustomIconCondition+    Amazonka.QuickSight.Types.ConditionalFormattingCustomIconOptions+    Amazonka.QuickSight.Types.ConditionalFormattingGradientColor+    Amazonka.QuickSight.Types.ConditionalFormattingIcon+    Amazonka.QuickSight.Types.ConditionalFormattingIconDisplayConfiguration+    Amazonka.QuickSight.Types.ConditionalFormattingIconDisplayOption+    Amazonka.QuickSight.Types.ConditionalFormattingIconSet+    Amazonka.QuickSight.Types.ConditionalFormattingIconSetType+    Amazonka.QuickSight.Types.ConditionalFormattingSolidColor+    Amazonka.QuickSight.Types.ContributionAnalysisDefault+    Amazonka.QuickSight.Types.CreateColumnsOperation+    Amazonka.QuickSight.Types.CredentialPair+    Amazonka.QuickSight.Types.CrossDatasetTypes+    Amazonka.QuickSight.Types.CurrencyDisplayFormatConfiguration+    Amazonka.QuickSight.Types.CustomActionFilterOperation+    Amazonka.QuickSight.Types.CustomActionNavigationOperation+    Amazonka.QuickSight.Types.CustomActionSetParametersOperation+    Amazonka.QuickSight.Types.CustomActionURLOperation+    Amazonka.QuickSight.Types.CustomContentConfiguration+    Amazonka.QuickSight.Types.CustomContentImageScalingConfiguration+    Amazonka.QuickSight.Types.CustomContentType+    Amazonka.QuickSight.Types.CustomContentVisual+    Amazonka.QuickSight.Types.CustomFilterConfiguration+    Amazonka.QuickSight.Types.CustomFilterListConfiguration+    Amazonka.QuickSight.Types.CustomNarrativeOptions+    Amazonka.QuickSight.Types.CustomParameterValues+    Amazonka.QuickSight.Types.CustomSql+    Amazonka.QuickSight.Types.CustomValuesConfiguration+    Amazonka.QuickSight.Types.Dashboard+    Amazonka.QuickSight.Types.DashboardBehavior+    Amazonka.QuickSight.Types.DashboardError+    Amazonka.QuickSight.Types.DashboardErrorType+    Amazonka.QuickSight.Types.DashboardFilterAttribute+    Amazonka.QuickSight.Types.DashboardPublishOptions+    Amazonka.QuickSight.Types.DashboardSearchFilter+    Amazonka.QuickSight.Types.DashboardSourceEntity+    Amazonka.QuickSight.Types.DashboardSourceTemplate+    Amazonka.QuickSight.Types.DashboardSummary+    Amazonka.QuickSight.Types.DashboardUIState+    Amazonka.QuickSight.Types.DashboardVersion+    Amazonka.QuickSight.Types.DashboardVersionDefinition+    Amazonka.QuickSight.Types.DashboardVersionSummary+    Amazonka.QuickSight.Types.DashboardVisualId+    Amazonka.QuickSight.Types.DashboardVisualPublishOptions+    Amazonka.QuickSight.Types.DatabricksParameters+    Amazonka.QuickSight.Types.DataColor+    Amazonka.QuickSight.Types.DataColorPalette+    Amazonka.QuickSight.Types.DataFieldSeriesItem+    Amazonka.QuickSight.Types.DataLabelContent+    Amazonka.QuickSight.Types.DataLabelOptions+    Amazonka.QuickSight.Types.DataLabelOverlap+    Amazonka.QuickSight.Types.DataLabelPosition+    Amazonka.QuickSight.Types.DataLabelType+    Amazonka.QuickSight.Types.DataPathColor+    Amazonka.QuickSight.Types.DataPathLabelType+    Amazonka.QuickSight.Types.DataPathSort+    Amazonka.QuickSight.Types.DataPathValue+    Amazonka.QuickSight.Types.DataSet+    Amazonka.QuickSight.Types.DataSetConfiguration+    Amazonka.QuickSight.Types.DataSetFilterAttribute+    Amazonka.QuickSight.Types.DataSetIdentifierDeclaration+    Amazonka.QuickSight.Types.DataSetImportMode+    Amazonka.QuickSight.Types.DataSetReference+    Amazonka.QuickSight.Types.DataSetSchema+    Amazonka.QuickSight.Types.DataSetSearchFilter+    Amazonka.QuickSight.Types.DataSetSummary+    Amazonka.QuickSight.Types.DataSetUsageConfiguration+    Amazonka.QuickSight.Types.DataSource+    Amazonka.QuickSight.Types.DataSourceCredentials+    Amazonka.QuickSight.Types.DataSourceErrorInfo+    Amazonka.QuickSight.Types.DataSourceErrorInfoType+    Amazonka.QuickSight.Types.DataSourceFilterAttribute+    Amazonka.QuickSight.Types.DataSourceParameters+    Amazonka.QuickSight.Types.DataSourceSearchFilter+    Amazonka.QuickSight.Types.DataSourceSummary+    Amazonka.QuickSight.Types.DataSourceType+    Amazonka.QuickSight.Types.DateAggregationFunction+    Amazonka.QuickSight.Types.DateAxisOptions+    Amazonka.QuickSight.Types.DateDimensionField+    Amazonka.QuickSight.Types.DateMeasureField+    Amazonka.QuickSight.Types.DateTimeDefaultValues+    Amazonka.QuickSight.Types.DateTimeFormatConfiguration+    Amazonka.QuickSight.Types.DateTimeHierarchy+    Amazonka.QuickSight.Types.DateTimeParameter+    Amazonka.QuickSight.Types.DateTimeParameterDeclaration+    Amazonka.QuickSight.Types.DateTimePickerControlDisplayOptions+    Amazonka.QuickSight.Types.DateTimeValueWhenUnsetConfiguration+    Amazonka.QuickSight.Types.DecimalDefaultValues+    Amazonka.QuickSight.Types.DecimalParameter+    Amazonka.QuickSight.Types.DecimalParameterDeclaration+    Amazonka.QuickSight.Types.DecimalPlacesConfiguration+    Amazonka.QuickSight.Types.DecimalValueWhenUnsetConfiguration+    Amazonka.QuickSight.Types.DefaultFreeFormLayoutConfiguration+    Amazonka.QuickSight.Types.DefaultGridLayoutConfiguration+    Amazonka.QuickSight.Types.DefaultInteractiveLayoutConfiguration+    Amazonka.QuickSight.Types.DefaultNewSheetConfiguration+    Amazonka.QuickSight.Types.DefaultPaginatedLayoutConfiguration+    Amazonka.QuickSight.Types.DefaultSectionBasedLayoutConfiguration+    Amazonka.QuickSight.Types.DestinationParameterValueConfiguration+    Amazonka.QuickSight.Types.DimensionField+    Amazonka.QuickSight.Types.DonutCenterOptions+    Amazonka.QuickSight.Types.DonutOptions+    Amazonka.QuickSight.Types.DrillDownFilter+    Amazonka.QuickSight.Types.DropDownControlDisplayOptions+    Amazonka.QuickSight.Types.DynamicDefaultValue+    Amazonka.QuickSight.Types.Edition+    Amazonka.QuickSight.Types.EmbeddingIdentityType+    Amazonka.QuickSight.Types.EmptyVisual+    Amazonka.QuickSight.Types.Entity+    Amazonka.QuickSight.Types.ErrorInfo+    Amazonka.QuickSight.Types.ExasolParameters+    Amazonka.QuickSight.Types.ExcludePeriodConfiguration+    Amazonka.QuickSight.Types.ExplicitHierarchy+    Amazonka.QuickSight.Types.ExportHiddenFieldsOption+    Amazonka.QuickSight.Types.ExportToCSVOption+    Amazonka.QuickSight.Types.FieldBasedTooltip+    Amazonka.QuickSight.Types.FieldFolder+    Amazonka.QuickSight.Types.FieldLabelType+    Amazonka.QuickSight.Types.FieldSeriesItem+    Amazonka.QuickSight.Types.FieldSort+    Amazonka.QuickSight.Types.FieldSortOptions+    Amazonka.QuickSight.Types.FieldTooltipItem+    Amazonka.QuickSight.Types.FileFormat+    Amazonka.QuickSight.Types.FilledMapAggregatedFieldWells+    Amazonka.QuickSight.Types.FilledMapConditionalFormatting+    Amazonka.QuickSight.Types.FilledMapConditionalFormattingOption+    Amazonka.QuickSight.Types.FilledMapConfiguration+    Amazonka.QuickSight.Types.FilledMapFieldWells+    Amazonka.QuickSight.Types.FilledMapShapeConditionalFormatting+    Amazonka.QuickSight.Types.FilledMapSortConfiguration+    Amazonka.QuickSight.Types.FilledMapVisual+    Amazonka.QuickSight.Types.Filter+    Amazonka.QuickSight.Types.FilterControl+    Amazonka.QuickSight.Types.FilterDateTimePickerControl+    Amazonka.QuickSight.Types.FilterDropDownControl+    Amazonka.QuickSight.Types.FilterGroup+    Amazonka.QuickSight.Types.FilterListConfiguration+    Amazonka.QuickSight.Types.FilterListControl+    Amazonka.QuickSight.Types.FilterNullOption+    Amazonka.QuickSight.Types.FilterOperation+    Amazonka.QuickSight.Types.FilterOperationSelectedFieldsConfiguration+    Amazonka.QuickSight.Types.FilterOperationTargetVisualsConfiguration+    Amazonka.QuickSight.Types.FilterOperator+    Amazonka.QuickSight.Types.FilterRelativeDateTimeControl+    Amazonka.QuickSight.Types.FilterScopeConfiguration+    Amazonka.QuickSight.Types.FilterSelectableValues+    Amazonka.QuickSight.Types.FilterSliderControl+    Amazonka.QuickSight.Types.FilterTextAreaControl+    Amazonka.QuickSight.Types.FilterTextFieldControl+    Amazonka.QuickSight.Types.FilterVisualScope+    Amazonka.QuickSight.Types.Folder+    Amazonka.QuickSight.Types.FolderFilterAttribute+    Amazonka.QuickSight.Types.FolderMember+    Amazonka.QuickSight.Types.FolderSearchFilter+    Amazonka.QuickSight.Types.FolderSummary+    Amazonka.QuickSight.Types.FolderType+    Amazonka.QuickSight.Types.Font+    Amazonka.QuickSight.Types.FontConfiguration+    Amazonka.QuickSight.Types.FontDecoration+    Amazonka.QuickSight.Types.FontSize+    Amazonka.QuickSight.Types.FontStyle+    Amazonka.QuickSight.Types.FontWeight+    Amazonka.QuickSight.Types.FontWeightName+    Amazonka.QuickSight.Types.ForecastComputation+    Amazonka.QuickSight.Types.ForecastComputationSeasonality+    Amazonka.QuickSight.Types.ForecastConfiguration+    Amazonka.QuickSight.Types.ForecastScenario+    Amazonka.QuickSight.Types.FormatConfiguration+    Amazonka.QuickSight.Types.FreeFormLayoutCanvasSizeOptions+    Amazonka.QuickSight.Types.FreeFormLayoutConfiguration+    Amazonka.QuickSight.Types.FreeFormLayoutElement+    Amazonka.QuickSight.Types.FreeFormLayoutElementBackgroundStyle+    Amazonka.QuickSight.Types.FreeFormLayoutElementBorderStyle+    Amazonka.QuickSight.Types.FreeFormLayoutScreenCanvasSizeOptions+    Amazonka.QuickSight.Types.FreeFormSectionLayoutConfiguration+    Amazonka.QuickSight.Types.FunnelChartAggregatedFieldWells+    Amazonka.QuickSight.Types.FunnelChartConfiguration+    Amazonka.QuickSight.Types.FunnelChartDataLabelOptions+    Amazonka.QuickSight.Types.FunnelChartFieldWells+    Amazonka.QuickSight.Types.FunnelChartMeasureDataLabelStyle+    Amazonka.QuickSight.Types.FunnelChartSortConfiguration+    Amazonka.QuickSight.Types.FunnelChartVisual+    Amazonka.QuickSight.Types.GaugeChartArcConditionalFormatting+    Amazonka.QuickSight.Types.GaugeChartConditionalFormatting+    Amazonka.QuickSight.Types.GaugeChartConditionalFormattingOption+    Amazonka.QuickSight.Types.GaugeChartConfiguration+    Amazonka.QuickSight.Types.GaugeChartFieldWells+    Amazonka.QuickSight.Types.GaugeChartOptions+    Amazonka.QuickSight.Types.GaugeChartPrimaryValueConditionalFormatting+    Amazonka.QuickSight.Types.GaugeChartVisual+    Amazonka.QuickSight.Types.GeoSpatialColumnGroup+    Amazonka.QuickSight.Types.GeospatialCoordinateBounds+    Amazonka.QuickSight.Types.GeoSpatialCountryCode+    Amazonka.QuickSight.Types.GeoSpatialDataRole+    Amazonka.QuickSight.Types.GeospatialMapAggregatedFieldWells+    Amazonka.QuickSight.Types.GeospatialMapConfiguration+    Amazonka.QuickSight.Types.GeospatialMapFieldWells+    Amazonka.QuickSight.Types.GeospatialMapStyleOptions+    Amazonka.QuickSight.Types.GeospatialMapVisual+    Amazonka.QuickSight.Types.GeospatialPointStyleOptions+    Amazonka.QuickSight.Types.GeospatialSelectedPointStyle+    Amazonka.QuickSight.Types.GeospatialWindowOptions+    Amazonka.QuickSight.Types.GlobalTableBorderOptions+    Amazonka.QuickSight.Types.GradientColor+    Amazonka.QuickSight.Types.GradientStop+    Amazonka.QuickSight.Types.GridLayoutCanvasSizeOptions+    Amazonka.QuickSight.Types.GridLayoutConfiguration+    Amazonka.QuickSight.Types.GridLayoutElement+    Amazonka.QuickSight.Types.GridLayoutScreenCanvasSizeOptions+    Amazonka.QuickSight.Types.Group+    Amazonka.QuickSight.Types.GroupFilterAttribute+    Amazonka.QuickSight.Types.GroupFilterOperator+    Amazonka.QuickSight.Types.GroupMember+    Amazonka.QuickSight.Types.GroupSearchFilter+    Amazonka.QuickSight.Types.GrowthRateComputation+    Amazonka.QuickSight.Types.GutterStyle+    Amazonka.QuickSight.Types.HeaderFooterSectionConfiguration+    Amazonka.QuickSight.Types.HeatMapAggregatedFieldWells+    Amazonka.QuickSight.Types.HeatMapConfiguration+    Amazonka.QuickSight.Types.HeatMapFieldWells+    Amazonka.QuickSight.Types.HeatMapSortConfiguration+    Amazonka.QuickSight.Types.HeatMapVisual+    Amazonka.QuickSight.Types.HistogramAggregatedFieldWells+    Amazonka.QuickSight.Types.HistogramBinOptions+    Amazonka.QuickSight.Types.HistogramBinType+    Amazonka.QuickSight.Types.HistogramConfiguration+    Amazonka.QuickSight.Types.HistogramFieldWells+    Amazonka.QuickSight.Types.HistogramVisual+    Amazonka.QuickSight.Types.HorizontalTextAlignment+    Amazonka.QuickSight.Types.IAMPolicyAssignment+    Amazonka.QuickSight.Types.IAMPolicyAssignmentSummary+    Amazonka.QuickSight.Types.Icon+    Amazonka.QuickSight.Types.IdentityStore+    Amazonka.QuickSight.Types.IdentityType+    Amazonka.QuickSight.Types.Ingestion+    Amazonka.QuickSight.Types.IngestionErrorType+    Amazonka.QuickSight.Types.IngestionRequestSource+    Amazonka.QuickSight.Types.IngestionRequestType+    Amazonka.QuickSight.Types.IngestionStatus+    Amazonka.QuickSight.Types.IngestionType+    Amazonka.QuickSight.Types.InputColumn+    Amazonka.QuickSight.Types.InputColumnDataType+    Amazonka.QuickSight.Types.InsightConfiguration+    Amazonka.QuickSight.Types.InsightVisual+    Amazonka.QuickSight.Types.IntegerDefaultValues+    Amazonka.QuickSight.Types.IntegerParameter+    Amazonka.QuickSight.Types.IntegerParameterDeclaration+    Amazonka.QuickSight.Types.IntegerValueWhenUnsetConfiguration+    Amazonka.QuickSight.Types.ItemsLimitConfiguration+    Amazonka.QuickSight.Types.JiraParameters+    Amazonka.QuickSight.Types.JoinInstruction+    Amazonka.QuickSight.Types.JoinKeyProperties+    Amazonka.QuickSight.Types.JoinType+    Amazonka.QuickSight.Types.KPIConditionalFormatting+    Amazonka.QuickSight.Types.KPIConditionalFormattingOption+    Amazonka.QuickSight.Types.KPIConfiguration+    Amazonka.QuickSight.Types.KPIFieldWells+    Amazonka.QuickSight.Types.KPIOptions+    Amazonka.QuickSight.Types.KPIPrimaryValueConditionalFormatting+    Amazonka.QuickSight.Types.KPIProgressBarConditionalFormatting+    Amazonka.QuickSight.Types.KPISortConfiguration+    Amazonka.QuickSight.Types.KPIVisual+    Amazonka.QuickSight.Types.LabelOptions+    Amazonka.QuickSight.Types.Layout+    Amazonka.QuickSight.Types.LayoutConfiguration+    Amazonka.QuickSight.Types.LayoutElementType+    Amazonka.QuickSight.Types.LegendOptions+    Amazonka.QuickSight.Types.LegendPosition+    Amazonka.QuickSight.Types.LineChartAggregatedFieldWells+    Amazonka.QuickSight.Types.LineChartConfiguration+    Amazonka.QuickSight.Types.LineChartDefaultSeriesSettings+    Amazonka.QuickSight.Types.LineChartFieldWells+    Amazonka.QuickSight.Types.LineChartLineStyle+    Amazonka.QuickSight.Types.LineChartLineStyleSettings+    Amazonka.QuickSight.Types.LineChartMarkerShape+    Amazonka.QuickSight.Types.LineChartMarkerStyleSettings+    Amazonka.QuickSight.Types.LineChartSeriesSettings+    Amazonka.QuickSight.Types.LineChartSortConfiguration+    Amazonka.QuickSight.Types.LineChartType+    Amazonka.QuickSight.Types.LineChartVisual+    Amazonka.QuickSight.Types.LineInterpolation+    Amazonka.QuickSight.Types.LineSeriesAxisDisplayOptions+    Amazonka.QuickSight.Types.LinkSharingConfiguration+    Amazonka.QuickSight.Types.ListControlDisplayOptions+    Amazonka.QuickSight.Types.ListControlSearchOptions+    Amazonka.QuickSight.Types.ListControlSelectAllOptions+    Amazonka.QuickSight.Types.LoadingAnimation+    Amazonka.QuickSight.Types.LocalNavigationConfiguration+    Amazonka.QuickSight.Types.LogicalTable+    Amazonka.QuickSight.Types.LogicalTableSource+    Amazonka.QuickSight.Types.LongFormatText+    Amazonka.QuickSight.Types.ManifestFileLocation+    Amazonka.QuickSight.Types.MapZoomMode+    Amazonka.QuickSight.Types.MarginStyle+    Amazonka.QuickSight.Types.MariaDbParameters+    Amazonka.QuickSight.Types.MaximumLabelType+    Amazonka.QuickSight.Types.MaximumMinimumComputation+    Amazonka.QuickSight.Types.MaximumMinimumComputationType+    Amazonka.QuickSight.Types.MeasureField+    Amazonka.QuickSight.Types.MemberIdArnPair+    Amazonka.QuickSight.Types.MemberType+    Amazonka.QuickSight.Types.MetricComparisonComputation+    Amazonka.QuickSight.Types.MinimumLabelType+    Amazonka.QuickSight.Types.MissingDataConfiguration+    Amazonka.QuickSight.Types.MissingDataTreatmentOption+    Amazonka.QuickSight.Types.MySqlParameters+    Amazonka.QuickSight.Types.NamespaceError+    Amazonka.QuickSight.Types.NamespaceErrorType+    Amazonka.QuickSight.Types.NamespaceInfoV2+    Amazonka.QuickSight.Types.NamespaceStatus+    Amazonka.QuickSight.Types.NegativeValueConfiguration+    Amazonka.QuickSight.Types.NegativeValueDisplayMode+    Amazonka.QuickSight.Types.NullValueFormatConfiguration+    Amazonka.QuickSight.Types.NumberDisplayFormatConfiguration+    Amazonka.QuickSight.Types.NumberFormatConfiguration+    Amazonka.QuickSight.Types.NumberScale+    Amazonka.QuickSight.Types.NumericalAggregationFunction+    Amazonka.QuickSight.Types.NumericalDimensionField+    Amazonka.QuickSight.Types.NumericalMeasureField+    Amazonka.QuickSight.Types.NumericAxisOptions+    Amazonka.QuickSight.Types.NumericEqualityDrillDownFilter+    Amazonka.QuickSight.Types.NumericEqualityFilter+    Amazonka.QuickSight.Types.NumericEqualityMatchOperator+    Amazonka.QuickSight.Types.NumericFilterSelectAllOptions+    Amazonka.QuickSight.Types.NumericFormatConfiguration+    Amazonka.QuickSight.Types.NumericRangeFilter+    Amazonka.QuickSight.Types.NumericRangeFilterValue+    Amazonka.QuickSight.Types.NumericSeparatorConfiguration+    Amazonka.QuickSight.Types.NumericSeparatorSymbol+    Amazonka.QuickSight.Types.OracleParameters+    Amazonka.QuickSight.Types.OtherCategories+    Amazonka.QuickSight.Types.OutputColumn+    Amazonka.QuickSight.Types.PaginationConfiguration+    Amazonka.QuickSight.Types.PanelBorderStyle+    Amazonka.QuickSight.Types.PanelConfiguration+    Amazonka.QuickSight.Types.PanelTitleOptions+    Amazonka.QuickSight.Types.PaperOrientation+    Amazonka.QuickSight.Types.PaperSize+    Amazonka.QuickSight.Types.ParameterControl+    Amazonka.QuickSight.Types.ParameterDateTimePickerControl+    Amazonka.QuickSight.Types.ParameterDeclaration+    Amazonka.QuickSight.Types.ParameterDropDownControl+    Amazonka.QuickSight.Types.ParameterListControl+    Amazonka.QuickSight.Types.Parameters+    Amazonka.QuickSight.Types.ParameterSelectableValues+    Amazonka.QuickSight.Types.ParameterSliderControl+    Amazonka.QuickSight.Types.ParameterTextAreaControl+    Amazonka.QuickSight.Types.ParameterTextFieldControl+    Amazonka.QuickSight.Types.ParameterValueType+    Amazonka.QuickSight.Types.PercentageDisplayFormatConfiguration+    Amazonka.QuickSight.Types.PercentileAggregation+    Amazonka.QuickSight.Types.PercentVisibleRange+    Amazonka.QuickSight.Types.PeriodOverPeriodComputation+    Amazonka.QuickSight.Types.PeriodToDateComputation+    Amazonka.QuickSight.Types.PhysicalTable+    Amazonka.QuickSight.Types.PieChartAggregatedFieldWells+    Amazonka.QuickSight.Types.PieChartConfiguration+    Amazonka.QuickSight.Types.PieChartFieldWells+    Amazonka.QuickSight.Types.PieChartSortConfiguration+    Amazonka.QuickSight.Types.PieChartVisual+    Amazonka.QuickSight.Types.PivotFieldSortOptions+    Amazonka.QuickSight.Types.PivotTableAggregatedFieldWells+    Amazonka.QuickSight.Types.PivotTableCellConditionalFormatting+    Amazonka.QuickSight.Types.PivotTableConditionalFormatting+    Amazonka.QuickSight.Types.PivotTableConditionalFormattingOption+    Amazonka.QuickSight.Types.PivotTableConditionalFormattingScope+    Amazonka.QuickSight.Types.PivotTableConditionalFormattingScopeRole+    Amazonka.QuickSight.Types.PivotTableConfiguration+    Amazonka.QuickSight.Types.PivotTableDataPathOption+    Amazonka.QuickSight.Types.PivotTableFieldOption+    Amazonka.QuickSight.Types.PivotTableFieldOptions+    Amazonka.QuickSight.Types.PivotTableFieldSubtotalOptions+    Amazonka.QuickSight.Types.PivotTableFieldWells+    Amazonka.QuickSight.Types.PivotTableMetricPlacement+    Amazonka.QuickSight.Types.PivotTableOptions+    Amazonka.QuickSight.Types.PivotTablePaginatedReportOptions+    Amazonka.QuickSight.Types.PivotTableSortBy+    Amazonka.QuickSight.Types.PivotTableSortConfiguration+    Amazonka.QuickSight.Types.PivotTableSubtotalLevel+    Amazonka.QuickSight.Types.PivotTableTotalOptions+    Amazonka.QuickSight.Types.PivotTableVisual+    Amazonka.QuickSight.Types.PivotTotalOptions+    Amazonka.QuickSight.Types.PostgreSqlParameters+    Amazonka.QuickSight.Types.PredefinedHierarchy+    Amazonka.QuickSight.Types.PrestoParameters+    Amazonka.QuickSight.Types.PrimaryValueDisplayType+    Amazonka.QuickSight.Types.ProgressBarOptions+    Amazonka.QuickSight.Types.ProjectOperation+    Amazonka.QuickSight.Types.QueueInfo+    Amazonka.QuickSight.Types.RangeEndsLabelType+    Amazonka.QuickSight.Types.RdsParameters+    Amazonka.QuickSight.Types.RedshiftParameters+    Amazonka.QuickSight.Types.ReferenceLine+    Amazonka.QuickSight.Types.ReferenceLineCustomLabelConfiguration+    Amazonka.QuickSight.Types.ReferenceLineDataConfiguration+    Amazonka.QuickSight.Types.ReferenceLineDynamicDataConfiguration+    Amazonka.QuickSight.Types.ReferenceLineLabelConfiguration+    Amazonka.QuickSight.Types.ReferenceLineLabelHorizontalPosition+    Amazonka.QuickSight.Types.ReferenceLineLabelVerticalPosition+    Amazonka.QuickSight.Types.ReferenceLinePatternType+    Amazonka.QuickSight.Types.ReferenceLineStaticDataConfiguration+    Amazonka.QuickSight.Types.ReferenceLineStyleConfiguration+    Amazonka.QuickSight.Types.ReferenceLineValueLabelConfiguration+    Amazonka.QuickSight.Types.ReferenceLineValueLabelRelativePosition+    Amazonka.QuickSight.Types.RegisteredUserDashboardEmbeddingConfiguration+    Amazonka.QuickSight.Types.RegisteredUserDashboardVisualEmbeddingConfiguration+    Amazonka.QuickSight.Types.RegisteredUserEmbeddingExperienceConfiguration+    Amazonka.QuickSight.Types.RegisteredUserQSearchBarEmbeddingConfiguration+    Amazonka.QuickSight.Types.RegisteredUserQuickSightConsoleEmbeddingConfiguration+    Amazonka.QuickSight.Types.RelationalTable+    Amazonka.QuickSight.Types.RelativeDatesFilter+    Amazonka.QuickSight.Types.RelativeDateTimeControlDisplayOptions+    Amazonka.QuickSight.Types.RelativeDateType+    Amazonka.QuickSight.Types.RelativeFontSize+    Amazonka.QuickSight.Types.RenameColumnOperation+    Amazonka.QuickSight.Types.ResizeOption+    Amazonka.QuickSight.Types.ResourcePermission+    Amazonka.QuickSight.Types.ResourceStatus+    Amazonka.QuickSight.Types.RollingDateConfiguration+    Amazonka.QuickSight.Types.RowAlternateColorOptions+    Amazonka.QuickSight.Types.RowInfo+    Amazonka.QuickSight.Types.RowLevelPermissionDataSet+    Amazonka.QuickSight.Types.RowLevelPermissionFormatVersion+    Amazonka.QuickSight.Types.RowLevelPermissionPolicy+    Amazonka.QuickSight.Types.RowLevelPermissionTagConfiguration+    Amazonka.QuickSight.Types.RowLevelPermissionTagRule+    Amazonka.QuickSight.Types.S3Parameters+    Amazonka.QuickSight.Types.S3Source+    Amazonka.QuickSight.Types.SameSheetTargetVisualConfiguration+    Amazonka.QuickSight.Types.SankeyDiagramAggregatedFieldWells+    Amazonka.QuickSight.Types.SankeyDiagramChartConfiguration+    Amazonka.QuickSight.Types.SankeyDiagramFieldWells+    Amazonka.QuickSight.Types.SankeyDiagramSortConfiguration+    Amazonka.QuickSight.Types.SankeyDiagramVisual+    Amazonka.QuickSight.Types.ScatterPlotCategoricallyAggregatedFieldWells+    Amazonka.QuickSight.Types.ScatterPlotConfiguration+    Amazonka.QuickSight.Types.ScatterPlotFieldWells+    Amazonka.QuickSight.Types.ScatterPlotUnaggregatedFieldWells+    Amazonka.QuickSight.Types.ScatterPlotVisual+    Amazonka.QuickSight.Types.ScrollBarOptions+    Amazonka.QuickSight.Types.SecondaryValueOptions+    Amazonka.QuickSight.Types.SectionAfterPageBreak+    Amazonka.QuickSight.Types.SectionBasedLayoutCanvasSizeOptions+    Amazonka.QuickSight.Types.SectionBasedLayoutConfiguration+    Amazonka.QuickSight.Types.SectionBasedLayoutPaperCanvasSizeOptions+    Amazonka.QuickSight.Types.SectionLayoutConfiguration+    Amazonka.QuickSight.Types.SectionPageBreakConfiguration+    Amazonka.QuickSight.Types.SectionPageBreakStatus+    Amazonka.QuickSight.Types.SectionStyle+    Amazonka.QuickSight.Types.SelectAllValueOptions+    Amazonka.QuickSight.Types.SelectedFieldOptions+    Amazonka.QuickSight.Types.SelectedSheetsFilterScopeConfiguration+    Amazonka.QuickSight.Types.SelectedTooltipType+    Amazonka.QuickSight.Types.SeriesItem+    Amazonka.QuickSight.Types.ServiceNowParameters+    Amazonka.QuickSight.Types.SessionTag+    Amazonka.QuickSight.Types.SetParameterValueConfiguration+    Amazonka.QuickSight.Types.ShapeConditionalFormat+    Amazonka.QuickSight.Types.Sheet+    Amazonka.QuickSight.Types.SheetContentType+    Amazonka.QuickSight.Types.SheetControlDateTimePickerType+    Amazonka.QuickSight.Types.SheetControlLayout+    Amazonka.QuickSight.Types.SheetControlLayoutConfiguration+    Amazonka.QuickSight.Types.SheetControlListType+    Amazonka.QuickSight.Types.SheetControlSliderType+    Amazonka.QuickSight.Types.SheetControlsOption+    Amazonka.QuickSight.Types.SheetDefinition+    Amazonka.QuickSight.Types.SheetElementConfigurationOverrides+    Amazonka.QuickSight.Types.SheetElementRenderingRule+    Amazonka.QuickSight.Types.SheetStyle+    Amazonka.QuickSight.Types.SheetTextBox+    Amazonka.QuickSight.Types.SheetVisualScopingConfiguration+    Amazonka.QuickSight.Types.ShortFormatText+    Amazonka.QuickSight.Types.SignupResponse+    Amazonka.QuickSight.Types.SimpleClusterMarker+    Amazonka.QuickSight.Types.SimpleNumericalAggregationFunction+    Amazonka.QuickSight.Types.SliderControlDisplayOptions+    Amazonka.QuickSight.Types.SmallMultiplesOptions+    Amazonka.QuickSight.Types.SnowflakeParameters+    Amazonka.QuickSight.Types.SortDirection+    Amazonka.QuickSight.Types.Spacing+    Amazonka.QuickSight.Types.SparkParameters+    Amazonka.QuickSight.Types.SqlServerParameters+    Amazonka.QuickSight.Types.SslProperties+    Amazonka.QuickSight.Types.Status+    Amazonka.QuickSight.Types.StringDefaultValues+    Amazonka.QuickSight.Types.StringFormatConfiguration+    Amazonka.QuickSight.Types.StringParameter+    Amazonka.QuickSight.Types.StringParameterDeclaration+    Amazonka.QuickSight.Types.StringValueWhenUnsetConfiguration+    Amazonka.QuickSight.Types.SubtotalOptions+    Amazonka.QuickSight.Types.TableAggregatedFieldWells+    Amazonka.QuickSight.Types.TableBorderOptions+    Amazonka.QuickSight.Types.TableBorderStyle+    Amazonka.QuickSight.Types.TableCellConditionalFormatting+    Amazonka.QuickSight.Types.TableCellImageScalingConfiguration+    Amazonka.QuickSight.Types.TableCellImageSizingConfiguration+    Amazonka.QuickSight.Types.TableCellStyle+    Amazonka.QuickSight.Types.TableConditionalFormatting+    Amazonka.QuickSight.Types.TableConditionalFormattingOption+    Amazonka.QuickSight.Types.TableConfiguration+    Amazonka.QuickSight.Types.TableFieldCustomIconContent+    Amazonka.QuickSight.Types.TableFieldCustomTextContent+    Amazonka.QuickSight.Types.TableFieldIconSetType+    Amazonka.QuickSight.Types.TableFieldImageConfiguration+    Amazonka.QuickSight.Types.TableFieldLinkConfiguration+    Amazonka.QuickSight.Types.TableFieldLinkContentConfiguration+    Amazonka.QuickSight.Types.TableFieldOption+    Amazonka.QuickSight.Types.TableFieldOptions+    Amazonka.QuickSight.Types.TableFieldURLConfiguration+    Amazonka.QuickSight.Types.TableFieldWells+    Amazonka.QuickSight.Types.TableOptions+    Amazonka.QuickSight.Types.TableOrientation+    Amazonka.QuickSight.Types.TablePaginatedReportOptions+    Amazonka.QuickSight.Types.TableRowConditionalFormatting+    Amazonka.QuickSight.Types.TableSideBorderOptions+    Amazonka.QuickSight.Types.TableSortConfiguration+    Amazonka.QuickSight.Types.TableTotalsPlacement+    Amazonka.QuickSight.Types.TableTotalsScrollStatus+    Amazonka.QuickSight.Types.TableUnaggregatedFieldWells+    Amazonka.QuickSight.Types.TableVisual+    Amazonka.QuickSight.Types.Tag+    Amazonka.QuickSight.Types.TagColumnOperation+    Amazonka.QuickSight.Types.TargetVisualOptions+    Amazonka.QuickSight.Types.Template+    Amazonka.QuickSight.Types.TemplateAlias+    Amazonka.QuickSight.Types.TemplateError+    Amazonka.QuickSight.Types.TemplateErrorType+    Amazonka.QuickSight.Types.TemplateSourceAnalysis+    Amazonka.QuickSight.Types.TemplateSourceEntity+    Amazonka.QuickSight.Types.TemplateSourceTemplate+    Amazonka.QuickSight.Types.TemplateSummary+    Amazonka.QuickSight.Types.TemplateVersion+    Amazonka.QuickSight.Types.TemplateVersionDefinition+    Amazonka.QuickSight.Types.TemplateVersionSummary+    Amazonka.QuickSight.Types.TeradataParameters+    Amazonka.QuickSight.Types.TextAreaControlDisplayOptions+    Amazonka.QuickSight.Types.TextConditionalFormat+    Amazonka.QuickSight.Types.TextControlPlaceholderOptions+    Amazonka.QuickSight.Types.TextFieldControlDisplayOptions+    Amazonka.QuickSight.Types.TextQualifier+    Amazonka.QuickSight.Types.TextWrap+    Amazonka.QuickSight.Types.Theme+    Amazonka.QuickSight.Types.ThemeAlias+    Amazonka.QuickSight.Types.ThemeConfiguration+    Amazonka.QuickSight.Types.ThemeError+    Amazonka.QuickSight.Types.ThemeErrorType+    Amazonka.QuickSight.Types.ThemeSummary+    Amazonka.QuickSight.Types.ThemeType+    Amazonka.QuickSight.Types.ThemeVersion+    Amazonka.QuickSight.Types.ThemeVersionSummary+    Amazonka.QuickSight.Types.ThousandSeparatorOptions+    Amazonka.QuickSight.Types.TileLayoutStyle+    Amazonka.QuickSight.Types.TileStyle+    Amazonka.QuickSight.Types.TimeBasedForecastProperties+    Amazonka.QuickSight.Types.TimeEqualityFilter+    Amazonka.QuickSight.Types.TimeGranularity+    Amazonka.QuickSight.Types.TimeRangeDrillDownFilter+    Amazonka.QuickSight.Types.TimeRangeFilter+    Amazonka.QuickSight.Types.TimeRangeFilterValue+    Amazonka.QuickSight.Types.TooltipItem+    Amazonka.QuickSight.Types.TooltipOptions+    Amazonka.QuickSight.Types.TooltipTitleType+    Amazonka.QuickSight.Types.TopBottomComputationType+    Amazonka.QuickSight.Types.TopBottomFilter+    Amazonka.QuickSight.Types.TopBottomMoversComputation+    Amazonka.QuickSight.Types.TopBottomRankedComputation+    Amazonka.QuickSight.Types.TopBottomSortOrder+    Amazonka.QuickSight.Types.TotalAggregationComputation+    Amazonka.QuickSight.Types.TotalOptions+    Amazonka.QuickSight.Types.TransformOperation+    Amazonka.QuickSight.Types.TreeMapAggregatedFieldWells+    Amazonka.QuickSight.Types.TreeMapConfiguration+    Amazonka.QuickSight.Types.TreeMapFieldWells+    Amazonka.QuickSight.Types.TreeMapSortConfiguration+    Amazonka.QuickSight.Types.TreeMapVisual+    Amazonka.QuickSight.Types.TrendArrowOptions+    Amazonka.QuickSight.Types.TwitterParameters+    Amazonka.QuickSight.Types.Typography+    Amazonka.QuickSight.Types.UIColorPalette+    Amazonka.QuickSight.Types.UnaggregatedField+    Amazonka.QuickSight.Types.UniqueValuesComputation+    Amazonka.QuickSight.Types.UntagColumnOperation+    Amazonka.QuickSight.Types.UploadSettings+    Amazonka.QuickSight.Types.URLTargetConfiguration+    Amazonka.QuickSight.Types.User+    Amazonka.QuickSight.Types.UserRole+    Amazonka.QuickSight.Types.ValueWhenUnsetOption+    Amazonka.QuickSight.Types.VerticalTextAlignment+    Amazonka.QuickSight.Types.Visibility+    Amazonka.QuickSight.Types.VisibleRangeOptions+    Amazonka.QuickSight.Types.Visual+    Amazonka.QuickSight.Types.VisualCustomAction+    Amazonka.QuickSight.Types.VisualCustomActionOperation+    Amazonka.QuickSight.Types.VisualCustomActionTrigger+    Amazonka.QuickSight.Types.VisualPalette+    Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+    Amazonka.QuickSight.Types.VisualTitleLabelOptions+    Amazonka.QuickSight.Types.VpcConnectionProperties+    Amazonka.QuickSight.Types.WaterfallChartAggregatedFieldWells+    Amazonka.QuickSight.Types.WaterfallChartConfiguration+    Amazonka.QuickSight.Types.WaterfallChartFieldWells+    Amazonka.QuickSight.Types.WaterfallChartOptions+    Amazonka.QuickSight.Types.WaterfallChartSortConfiguration+    Amazonka.QuickSight.Types.WaterfallVisual+    Amazonka.QuickSight.Types.WhatIfPointScenario+    Amazonka.QuickSight.Types.WhatIfRangeScenario+    Amazonka.QuickSight.Types.WidgetStatus+    Amazonka.QuickSight.Types.WordCloudAggregatedFieldWells+    Amazonka.QuickSight.Types.WordCloudChartConfiguration+    Amazonka.QuickSight.Types.WordCloudCloudLayout+    Amazonka.QuickSight.Types.WordCloudFieldWells+    Amazonka.QuickSight.Types.WordCloudOptions+    Amazonka.QuickSight.Types.WordCloudSortConfiguration+    Amazonka.QuickSight.Types.WordCloudVisual+    Amazonka.QuickSight.Types.WordCloudWordCasing+    Amazonka.QuickSight.Types.WordCloudWordOrientation+    Amazonka.QuickSight.Types.WordCloudWordPadding+    Amazonka.QuickSight.Types.WordCloudWordScaling+    Amazonka.QuickSight.UntagResource+    Amazonka.QuickSight.UpdateAccountCustomization+    Amazonka.QuickSight.UpdateAccountSettings+    Amazonka.QuickSight.UpdateAnalysis+    Amazonka.QuickSight.UpdateAnalysisPermissions+    Amazonka.QuickSight.UpdateDashboard+    Amazonka.QuickSight.UpdateDashboardPermissions+    Amazonka.QuickSight.UpdateDashboardPublishedVersion+    Amazonka.QuickSight.UpdateDataSet+    Amazonka.QuickSight.UpdateDataSetPermissions+    Amazonka.QuickSight.UpdateDataSource+    Amazonka.QuickSight.UpdateDataSourcePermissions+    Amazonka.QuickSight.UpdateFolder+    Amazonka.QuickSight.UpdateFolderPermissions+    Amazonka.QuickSight.UpdateGroup+    Amazonka.QuickSight.UpdateIAMPolicyAssignment+    Amazonka.QuickSight.UpdateIpRestriction+    Amazonka.QuickSight.UpdatePublicSharingSettings+    Amazonka.QuickSight.UpdateTemplate+    Amazonka.QuickSight.UpdateTemplateAlias+    Amazonka.QuickSight.UpdateTemplatePermissions+    Amazonka.QuickSight.UpdateTheme+    Amazonka.QuickSight.UpdateThemeAlias+    Amazonka.QuickSight.UpdateThemePermissions+    Amazonka.QuickSight.UpdateUser+    Amazonka.QuickSight.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-quicksight-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.QuickSight+    Test.Amazonka.QuickSight+    Test.Amazonka.QuickSight.Internal++  build-depends:+    , amazonka-core         >=2.0 && <2.1+    , amazonka-quicksight+    , amazonka-test         >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CancelIngestion.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/CancelIngestionResponse.proto view
+ fixture/CreateAccountCustomization.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/CreateAccountCustomizationResponse.proto view
+ fixture/CreateAccountSubscription.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/CreateAccountSubscriptionResponse.proto view
+ fixture/CreateAnalysis.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/CreateAnalysisResponse.proto view
+ fixture/CreateDashboard.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/CreateDashboardResponse.proto view
+ fixture/CreateDataSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/CreateDataSetResponse.proto view
+ fixture/CreateDataSource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/CreateDataSourceResponse.proto view
+ fixture/CreateFolder.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/CreateFolderMembership.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/CreateFolderMembershipResponse.proto view
+ fixture/CreateFolderResponse.proto view
+ fixture/CreateGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/CreateGroupMembership.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/CreateGroupMembershipResponse.proto view
+ fixture/CreateGroupResponse.proto view
+ fixture/CreateIAMPolicyAssignment.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/CreateIAMPolicyAssignmentResponse.proto view
+ fixture/CreateIngestion.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/CreateIngestionResponse.proto view
+ fixture/CreateNamespace.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/CreateNamespaceResponse.proto view
+ fixture/CreateTemplate.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/CreateTemplateAlias.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/CreateTemplateAliasResponse.proto view
+ fixture/CreateTemplateResponse.proto view
+ fixture/CreateTheme.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/CreateThemeAlias.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/CreateThemeAliasResponse.proto view
+ fixture/CreateThemeResponse.proto view
+ fixture/DeleteAccountCustomization.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DeleteAccountCustomizationResponse.proto view
+ fixture/DeleteAccountSubscription.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DeleteAccountSubscriptionResponse.proto view
+ fixture/DeleteAnalysis.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DeleteAnalysisResponse.proto view
+ fixture/DeleteDashboard.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DeleteDashboardResponse.proto view
+ fixture/DeleteDataSet.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DeleteDataSetResponse.proto view
+ fixture/DeleteDataSource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DeleteDataSourceResponse.proto view
+ fixture/DeleteFolder.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DeleteFolderMembership.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DeleteFolderMembershipResponse.proto view
+ fixture/DeleteFolderResponse.proto view
+ fixture/DeleteGroup.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DeleteGroupMembership.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DeleteGroupMembershipResponse.proto view
+ fixture/DeleteGroupResponse.proto view
+ fixture/DeleteIAMPolicyAssignment.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DeleteIAMPolicyAssignmentResponse.proto view
+ fixture/DeleteNamespace.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DeleteNamespaceResponse.proto view
+ fixture/DeleteTemplate.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DeleteTemplateAlias.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DeleteTemplateAliasResponse.proto view
+ fixture/DeleteTemplateResponse.proto view
+ fixture/DeleteTheme.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DeleteThemeAlias.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DeleteThemeAliasResponse.proto view
+ fixture/DeleteThemeResponse.proto view
+ fixture/DeleteUser.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DeleteUserByPrincipalId.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DeleteUserByPrincipalIdResponse.proto view
+ fixture/DeleteUserResponse.proto view
+ fixture/DescribeAccountCustomization.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeAccountCustomizationResponse.proto view
+ fixture/DescribeAccountSettings.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeAccountSettingsResponse.proto view
+ fixture/DescribeAccountSubscription.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeAccountSubscriptionResponse.proto view
+ fixture/DescribeAnalysis.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeAnalysisDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeAnalysisDefinitionResponse.proto view
+ fixture/DescribeAnalysisPermissions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeAnalysisPermissionsResponse.proto view
+ fixture/DescribeAnalysisResponse.proto view
+ fixture/DescribeDashboard.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeDashboardDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeDashboardDefinitionResponse.proto view
+ fixture/DescribeDashboardPermissions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeDashboardPermissionsResponse.proto view
+ fixture/DescribeDashboardResponse.proto view
+ fixture/DescribeDataSet.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeDataSetPermissions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeDataSetPermissionsResponse.proto view
+ fixture/DescribeDataSetResponse.proto view
+ fixture/DescribeDataSource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeDataSourcePermissions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeDataSourcePermissionsResponse.proto view
+ fixture/DescribeDataSourceResponse.proto view
+ fixture/DescribeFolder.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeFolderPermissions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeFolderPermissionsResponse.proto view
+ fixture/DescribeFolderResolvedPermissions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeFolderResolvedPermissionsResponse.proto view
+ fixture/DescribeFolderResponse.proto view
+ fixture/DescribeGroup.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeGroupMembership.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeGroupMembershipResponse.proto view
+ fixture/DescribeGroupResponse.proto view
+ fixture/DescribeIAMPolicyAssignment.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeIAMPolicyAssignmentResponse.proto view
+ fixture/DescribeIngestion.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeIngestionResponse.proto view
+ fixture/DescribeIpRestriction.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeIpRestrictionResponse.proto view
+ fixture/DescribeNamespace.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeNamespaceResponse.proto view
+ fixture/DescribeTemplate.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeTemplateAlias.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeTemplateAliasResponse.proto view
+ fixture/DescribeTemplateDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeTemplateDefinitionResponse.proto view
+ fixture/DescribeTemplatePermissions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeTemplatePermissionsResponse.proto view
+ fixture/DescribeTemplateResponse.proto view
+ fixture/DescribeTheme.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeThemeAlias.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeThemeAliasResponse.proto view
+ fixture/DescribeThemePermissions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeThemePermissionsResponse.proto view
+ fixture/DescribeThemeResponse.proto view
+ fixture/DescribeUser.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/DescribeUserResponse.proto view
+ fixture/GenerateEmbedUrlForAnonymousUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/GenerateEmbedUrlForAnonymousUserResponse.proto view
+ fixture/GenerateEmbedUrlForRegisteredUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/GenerateEmbedUrlForRegisteredUserResponse.proto view
+ fixture/GetDashboardEmbedUrl.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/GetDashboardEmbedUrlResponse.proto view
+ fixture/GetSessionEmbedUrl.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/GetSessionEmbedUrlResponse.proto view
+ fixture/ListAnalyses.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListAnalysesResponse.proto view
+ fixture/ListDashboardVersions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListDashboardVersionsResponse.proto view
+ fixture/ListDashboards.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListDashboardsResponse.proto view
+ fixture/ListDataSets.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListDataSetsResponse.proto view
+ fixture/ListDataSources.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListDataSourcesResponse.proto view
+ fixture/ListFolderMembers.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListFolderMembersResponse.proto view
+ fixture/ListFolders.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListFoldersResponse.proto view
+ fixture/ListGroupMemberships.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListGroupMembershipsResponse.proto view
+ fixture/ListGroups.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListGroupsResponse.proto view
+ fixture/ListIAMPolicyAssignments.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListIAMPolicyAssignmentsForUser.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListIAMPolicyAssignmentsForUserResponse.proto view
+ fixture/ListIAMPolicyAssignmentsResponse.proto view
+ fixture/ListIngestions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListIngestionsResponse.proto view
+ fixture/ListNamespaces.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListNamespacesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListTemplateAliases.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListTemplateAliasesResponse.proto view
+ fixture/ListTemplateVersions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListTemplateVersionsResponse.proto view
+ fixture/ListTemplates.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListTemplatesResponse.proto view
+ fixture/ListThemeAliases.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListThemeAliasesResponse.proto view
+ fixture/ListThemeVersions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListThemeVersionsResponse.proto view
+ fixture/ListThemes.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListThemesResponse.proto view
+ fixture/ListUserGroups.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListUserGroupsResponse.proto view
+ fixture/ListUsers.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/ListUsersResponse.proto view
+ fixture/RegisterUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/RegisterUserResponse.proto view
+ fixture/RestoreAnalysis.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/RestoreAnalysisResponse.proto view
+ fixture/SearchAnalyses.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/SearchAnalysesResponse.proto view
+ fixture/SearchDashboards.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/SearchDashboardsResponse.proto view
+ fixture/SearchDataSets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/SearchDataSetsResponse.proto view
+ fixture/SearchDataSources.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/SearchDataSourcesResponse.proto view
+ fixture/SearchFolders.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/SearchFoldersResponse.proto view
+ fixture/SearchGroups.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/SearchGroupsResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UntagResourceResponse.proto view
+ fixture/UpdateAccountCustomization.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateAccountCustomizationResponse.proto view
+ fixture/UpdateAccountSettings.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateAccountSettingsResponse.proto view
+ fixture/UpdateAnalysis.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateAnalysisPermissions.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateAnalysisPermissionsResponse.proto view
+ fixture/UpdateAnalysisResponse.proto view
+ fixture/UpdateDashboard.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateDashboardPermissions.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateDashboardPermissionsResponse.proto view
+ fixture/UpdateDashboardPublishedVersion.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateDashboardPublishedVersionResponse.proto view
+ fixture/UpdateDashboardResponse.proto view
+ fixture/UpdateDataSet.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateDataSetPermissions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateDataSetPermissionsResponse.proto view
+ fixture/UpdateDataSetResponse.proto view
+ fixture/UpdateDataSource.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateDataSourcePermissions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateDataSourcePermissionsResponse.proto view
+ fixture/UpdateDataSourceResponse.proto view
+ fixture/UpdateFolder.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateFolderPermissions.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateFolderPermissionsResponse.proto view
+ fixture/UpdateFolderResponse.proto view
+ fixture/UpdateGroup.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateGroupResponse.proto view
+ fixture/UpdateIAMPolicyAssignment.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateIAMPolicyAssignmentResponse.proto view
+ fixture/UpdateIpRestriction.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateIpRestrictionResponse.proto view
+ fixture/UpdatePublicSharingSettings.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdatePublicSharingSettingsResponse.proto view
+ fixture/UpdateTemplate.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateTemplateAlias.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateTemplateAliasResponse.proto view
+ fixture/UpdateTemplatePermissions.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateTemplatePermissionsResponse.proto view
+ fixture/UpdateTemplateResponse.proto view
+ fixture/UpdateTheme.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateThemeAlias.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateThemeAliasResponse.proto view
+ fixture/UpdateThemePermissions.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateThemePermissionsResponse.proto view
+ fixture/UpdateThemeResponse.proto view
+ fixture/UpdateUser.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/quicksight/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  quicksight.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/UpdateUserResponse.proto view
+ gen/Amazonka/QuickSight.hs view
@@ -0,0 +1,3795 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.QuickSight+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2018-04-01@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon QuickSight API Reference+--+-- Amazon QuickSight is a fully managed, serverless business intelligence+-- service for the Amazon Web Services Cloud that makes it easy to extend+-- data and insights to every user in your organization. This API reference+-- contains documentation for a programming interface that you can use to+-- manage Amazon QuickSight.+module Amazonka.QuickSight+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** ConcurrentUpdatingException+    _ConcurrentUpdatingException,++    -- ** ConflictException+    _ConflictException,++    -- ** DomainNotWhitelistedException+    _DomainNotWhitelistedException,++    -- ** IdentityTypeNotSupportedException+    _IdentityTypeNotSupportedException,++    -- ** InternalFailureException+    _InternalFailureException,++    -- ** InvalidNextTokenException+    _InvalidNextTokenException,++    -- ** InvalidParameterValueException+    _InvalidParameterValueException,++    -- ** InvalidRequestException+    _InvalidRequestException,++    -- ** LimitExceededException+    _LimitExceededException,++    -- ** PreconditionNotMetException+    _PreconditionNotMetException,++    -- ** QuickSightUserNotFoundException+    _QuickSightUserNotFoundException,++    -- ** ResourceExistsException+    _ResourceExistsException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ResourceUnavailableException+    _ResourceUnavailableException,++    -- ** SessionLifetimeInMinutesInvalidException+    _SessionLifetimeInMinutesInvalidException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- ** UnsupportedPricingPlanException+    _UnsupportedPricingPlanException,++    -- ** UnsupportedUserEditionException+    _UnsupportedUserEditionException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CancelIngestion+    CancelIngestion (CancelIngestion'),+    newCancelIngestion,+    CancelIngestionResponse (CancelIngestionResponse'),+    newCancelIngestionResponse,++    -- ** CreateAccountCustomization+    CreateAccountCustomization (CreateAccountCustomization'),+    newCreateAccountCustomization,+    CreateAccountCustomizationResponse (CreateAccountCustomizationResponse'),+    newCreateAccountCustomizationResponse,++    -- ** CreateAccountSubscription+    CreateAccountSubscription (CreateAccountSubscription'),+    newCreateAccountSubscription,+    CreateAccountSubscriptionResponse (CreateAccountSubscriptionResponse'),+    newCreateAccountSubscriptionResponse,++    -- ** CreateAnalysis+    CreateAnalysis (CreateAnalysis'),+    newCreateAnalysis,+    CreateAnalysisResponse (CreateAnalysisResponse'),+    newCreateAnalysisResponse,++    -- ** CreateDashboard+    CreateDashboard (CreateDashboard'),+    newCreateDashboard,+    CreateDashboardResponse (CreateDashboardResponse'),+    newCreateDashboardResponse,++    -- ** CreateDataSet+    CreateDataSet (CreateDataSet'),+    newCreateDataSet,+    CreateDataSetResponse (CreateDataSetResponse'),+    newCreateDataSetResponse,++    -- ** CreateDataSource+    CreateDataSource (CreateDataSource'),+    newCreateDataSource,+    CreateDataSourceResponse (CreateDataSourceResponse'),+    newCreateDataSourceResponse,++    -- ** CreateFolder+    CreateFolder (CreateFolder'),+    newCreateFolder,+    CreateFolderResponse (CreateFolderResponse'),+    newCreateFolderResponse,++    -- ** CreateFolderMembership+    CreateFolderMembership (CreateFolderMembership'),+    newCreateFolderMembership,+    CreateFolderMembershipResponse (CreateFolderMembershipResponse'),+    newCreateFolderMembershipResponse,++    -- ** CreateGroup+    CreateGroup (CreateGroup'),+    newCreateGroup,+    CreateGroupResponse (CreateGroupResponse'),+    newCreateGroupResponse,++    -- ** CreateGroupMembership+    CreateGroupMembership (CreateGroupMembership'),+    newCreateGroupMembership,+    CreateGroupMembershipResponse (CreateGroupMembershipResponse'),+    newCreateGroupMembershipResponse,++    -- ** CreateIAMPolicyAssignment+    CreateIAMPolicyAssignment (CreateIAMPolicyAssignment'),+    newCreateIAMPolicyAssignment,+    CreateIAMPolicyAssignmentResponse (CreateIAMPolicyAssignmentResponse'),+    newCreateIAMPolicyAssignmentResponse,++    -- ** CreateIngestion+    CreateIngestion (CreateIngestion'),+    newCreateIngestion,+    CreateIngestionResponse (CreateIngestionResponse'),+    newCreateIngestionResponse,++    -- ** CreateNamespace+    CreateNamespace (CreateNamespace'),+    newCreateNamespace,+    CreateNamespaceResponse (CreateNamespaceResponse'),+    newCreateNamespaceResponse,++    -- ** CreateTemplate+    CreateTemplate (CreateTemplate'),+    newCreateTemplate,+    CreateTemplateResponse (CreateTemplateResponse'),+    newCreateTemplateResponse,++    -- ** CreateTemplateAlias+    CreateTemplateAlias (CreateTemplateAlias'),+    newCreateTemplateAlias,+    CreateTemplateAliasResponse (CreateTemplateAliasResponse'),+    newCreateTemplateAliasResponse,++    -- ** CreateTheme+    CreateTheme (CreateTheme'),+    newCreateTheme,+    CreateThemeResponse (CreateThemeResponse'),+    newCreateThemeResponse,++    -- ** CreateThemeAlias+    CreateThemeAlias (CreateThemeAlias'),+    newCreateThemeAlias,+    CreateThemeAliasResponse (CreateThemeAliasResponse'),+    newCreateThemeAliasResponse,++    -- ** DeleteAccountCustomization+    DeleteAccountCustomization (DeleteAccountCustomization'),+    newDeleteAccountCustomization,+    DeleteAccountCustomizationResponse (DeleteAccountCustomizationResponse'),+    newDeleteAccountCustomizationResponse,++    -- ** DeleteAccountSubscription+    DeleteAccountSubscription (DeleteAccountSubscription'),+    newDeleteAccountSubscription,+    DeleteAccountSubscriptionResponse (DeleteAccountSubscriptionResponse'),+    newDeleteAccountSubscriptionResponse,++    -- ** DeleteAnalysis+    DeleteAnalysis (DeleteAnalysis'),+    newDeleteAnalysis,+    DeleteAnalysisResponse (DeleteAnalysisResponse'),+    newDeleteAnalysisResponse,++    -- ** DeleteDashboard+    DeleteDashboard (DeleteDashboard'),+    newDeleteDashboard,+    DeleteDashboardResponse (DeleteDashboardResponse'),+    newDeleteDashboardResponse,++    -- ** DeleteDataSet+    DeleteDataSet (DeleteDataSet'),+    newDeleteDataSet,+    DeleteDataSetResponse (DeleteDataSetResponse'),+    newDeleteDataSetResponse,++    -- ** DeleteDataSource+    DeleteDataSource (DeleteDataSource'),+    newDeleteDataSource,+    DeleteDataSourceResponse (DeleteDataSourceResponse'),+    newDeleteDataSourceResponse,++    -- ** DeleteFolder+    DeleteFolder (DeleteFolder'),+    newDeleteFolder,+    DeleteFolderResponse (DeleteFolderResponse'),+    newDeleteFolderResponse,++    -- ** DeleteFolderMembership+    DeleteFolderMembership (DeleteFolderMembership'),+    newDeleteFolderMembership,+    DeleteFolderMembershipResponse (DeleteFolderMembershipResponse'),+    newDeleteFolderMembershipResponse,++    -- ** DeleteGroup+    DeleteGroup (DeleteGroup'),+    newDeleteGroup,+    DeleteGroupResponse (DeleteGroupResponse'),+    newDeleteGroupResponse,++    -- ** DeleteGroupMembership+    DeleteGroupMembership (DeleteGroupMembership'),+    newDeleteGroupMembership,+    DeleteGroupMembershipResponse (DeleteGroupMembershipResponse'),+    newDeleteGroupMembershipResponse,++    -- ** DeleteIAMPolicyAssignment+    DeleteIAMPolicyAssignment (DeleteIAMPolicyAssignment'),+    newDeleteIAMPolicyAssignment,+    DeleteIAMPolicyAssignmentResponse (DeleteIAMPolicyAssignmentResponse'),+    newDeleteIAMPolicyAssignmentResponse,++    -- ** DeleteNamespace+    DeleteNamespace (DeleteNamespace'),+    newDeleteNamespace,+    DeleteNamespaceResponse (DeleteNamespaceResponse'),+    newDeleteNamespaceResponse,++    -- ** DeleteTemplate+    DeleteTemplate (DeleteTemplate'),+    newDeleteTemplate,+    DeleteTemplateResponse (DeleteTemplateResponse'),+    newDeleteTemplateResponse,++    -- ** DeleteTemplateAlias+    DeleteTemplateAlias (DeleteTemplateAlias'),+    newDeleteTemplateAlias,+    DeleteTemplateAliasResponse (DeleteTemplateAliasResponse'),+    newDeleteTemplateAliasResponse,++    -- ** DeleteTheme+    DeleteTheme (DeleteTheme'),+    newDeleteTheme,+    DeleteThemeResponse (DeleteThemeResponse'),+    newDeleteThemeResponse,++    -- ** DeleteThemeAlias+    DeleteThemeAlias (DeleteThemeAlias'),+    newDeleteThemeAlias,+    DeleteThemeAliasResponse (DeleteThemeAliasResponse'),+    newDeleteThemeAliasResponse,++    -- ** DeleteUser+    DeleteUser (DeleteUser'),+    newDeleteUser,+    DeleteUserResponse (DeleteUserResponse'),+    newDeleteUserResponse,++    -- ** DeleteUserByPrincipalId+    DeleteUserByPrincipalId (DeleteUserByPrincipalId'),+    newDeleteUserByPrincipalId,+    DeleteUserByPrincipalIdResponse (DeleteUserByPrincipalIdResponse'),+    newDeleteUserByPrincipalIdResponse,++    -- ** DescribeAccountCustomization+    DescribeAccountCustomization (DescribeAccountCustomization'),+    newDescribeAccountCustomization,+    DescribeAccountCustomizationResponse (DescribeAccountCustomizationResponse'),+    newDescribeAccountCustomizationResponse,++    -- ** DescribeAccountSettings+    DescribeAccountSettings (DescribeAccountSettings'),+    newDescribeAccountSettings,+    DescribeAccountSettingsResponse (DescribeAccountSettingsResponse'),+    newDescribeAccountSettingsResponse,++    -- ** DescribeAccountSubscription+    DescribeAccountSubscription (DescribeAccountSubscription'),+    newDescribeAccountSubscription,+    DescribeAccountSubscriptionResponse (DescribeAccountSubscriptionResponse'),+    newDescribeAccountSubscriptionResponse,++    -- ** DescribeAnalysis+    DescribeAnalysis (DescribeAnalysis'),+    newDescribeAnalysis,+    DescribeAnalysisResponse (DescribeAnalysisResponse'),+    newDescribeAnalysisResponse,++    -- ** DescribeAnalysisDefinition+    DescribeAnalysisDefinition (DescribeAnalysisDefinition'),+    newDescribeAnalysisDefinition,+    DescribeAnalysisDefinitionResponse (DescribeAnalysisDefinitionResponse'),+    newDescribeAnalysisDefinitionResponse,++    -- ** DescribeAnalysisPermissions+    DescribeAnalysisPermissions (DescribeAnalysisPermissions'),+    newDescribeAnalysisPermissions,+    DescribeAnalysisPermissionsResponse (DescribeAnalysisPermissionsResponse'),+    newDescribeAnalysisPermissionsResponse,++    -- ** DescribeDashboard+    DescribeDashboard (DescribeDashboard'),+    newDescribeDashboard,+    DescribeDashboardResponse (DescribeDashboardResponse'),+    newDescribeDashboardResponse,++    -- ** DescribeDashboardDefinition+    DescribeDashboardDefinition (DescribeDashboardDefinition'),+    newDescribeDashboardDefinition,+    DescribeDashboardDefinitionResponse (DescribeDashboardDefinitionResponse'),+    newDescribeDashboardDefinitionResponse,++    -- ** DescribeDashboardPermissions+    DescribeDashboardPermissions (DescribeDashboardPermissions'),+    newDescribeDashboardPermissions,+    DescribeDashboardPermissionsResponse (DescribeDashboardPermissionsResponse'),+    newDescribeDashboardPermissionsResponse,++    -- ** DescribeDataSet+    DescribeDataSet (DescribeDataSet'),+    newDescribeDataSet,+    DescribeDataSetResponse (DescribeDataSetResponse'),+    newDescribeDataSetResponse,++    -- ** DescribeDataSetPermissions+    DescribeDataSetPermissions (DescribeDataSetPermissions'),+    newDescribeDataSetPermissions,+    DescribeDataSetPermissionsResponse (DescribeDataSetPermissionsResponse'),+    newDescribeDataSetPermissionsResponse,++    -- ** DescribeDataSource+    DescribeDataSource (DescribeDataSource'),+    newDescribeDataSource,+    DescribeDataSourceResponse (DescribeDataSourceResponse'),+    newDescribeDataSourceResponse,++    -- ** DescribeDataSourcePermissions+    DescribeDataSourcePermissions (DescribeDataSourcePermissions'),+    newDescribeDataSourcePermissions,+    DescribeDataSourcePermissionsResponse (DescribeDataSourcePermissionsResponse'),+    newDescribeDataSourcePermissionsResponse,++    -- ** DescribeFolder+    DescribeFolder (DescribeFolder'),+    newDescribeFolder,+    DescribeFolderResponse (DescribeFolderResponse'),+    newDescribeFolderResponse,++    -- ** DescribeFolderPermissions+    DescribeFolderPermissions (DescribeFolderPermissions'),+    newDescribeFolderPermissions,+    DescribeFolderPermissionsResponse (DescribeFolderPermissionsResponse'),+    newDescribeFolderPermissionsResponse,++    -- ** DescribeFolderResolvedPermissions+    DescribeFolderResolvedPermissions (DescribeFolderResolvedPermissions'),+    newDescribeFolderResolvedPermissions,+    DescribeFolderResolvedPermissionsResponse (DescribeFolderResolvedPermissionsResponse'),+    newDescribeFolderResolvedPermissionsResponse,++    -- ** DescribeGroup+    DescribeGroup (DescribeGroup'),+    newDescribeGroup,+    DescribeGroupResponse (DescribeGroupResponse'),+    newDescribeGroupResponse,++    -- ** DescribeGroupMembership+    DescribeGroupMembership (DescribeGroupMembership'),+    newDescribeGroupMembership,+    DescribeGroupMembershipResponse (DescribeGroupMembershipResponse'),+    newDescribeGroupMembershipResponse,++    -- ** DescribeIAMPolicyAssignment+    DescribeIAMPolicyAssignment (DescribeIAMPolicyAssignment'),+    newDescribeIAMPolicyAssignment,+    DescribeIAMPolicyAssignmentResponse (DescribeIAMPolicyAssignmentResponse'),+    newDescribeIAMPolicyAssignmentResponse,++    -- ** DescribeIngestion+    DescribeIngestion (DescribeIngestion'),+    newDescribeIngestion,+    DescribeIngestionResponse (DescribeIngestionResponse'),+    newDescribeIngestionResponse,++    -- ** DescribeIpRestriction+    DescribeIpRestriction (DescribeIpRestriction'),+    newDescribeIpRestriction,+    DescribeIpRestrictionResponse (DescribeIpRestrictionResponse'),+    newDescribeIpRestrictionResponse,++    -- ** DescribeNamespace+    DescribeNamespace (DescribeNamespace'),+    newDescribeNamespace,+    DescribeNamespaceResponse (DescribeNamespaceResponse'),+    newDescribeNamespaceResponse,++    -- ** DescribeTemplate+    DescribeTemplate (DescribeTemplate'),+    newDescribeTemplate,+    DescribeTemplateResponse (DescribeTemplateResponse'),+    newDescribeTemplateResponse,++    -- ** DescribeTemplateAlias+    DescribeTemplateAlias (DescribeTemplateAlias'),+    newDescribeTemplateAlias,+    DescribeTemplateAliasResponse (DescribeTemplateAliasResponse'),+    newDescribeTemplateAliasResponse,++    -- ** DescribeTemplateDefinition+    DescribeTemplateDefinition (DescribeTemplateDefinition'),+    newDescribeTemplateDefinition,+    DescribeTemplateDefinitionResponse (DescribeTemplateDefinitionResponse'),+    newDescribeTemplateDefinitionResponse,++    -- ** DescribeTemplatePermissions+    DescribeTemplatePermissions (DescribeTemplatePermissions'),+    newDescribeTemplatePermissions,+    DescribeTemplatePermissionsResponse (DescribeTemplatePermissionsResponse'),+    newDescribeTemplatePermissionsResponse,++    -- ** DescribeTheme+    DescribeTheme (DescribeTheme'),+    newDescribeTheme,+    DescribeThemeResponse (DescribeThemeResponse'),+    newDescribeThemeResponse,++    -- ** DescribeThemeAlias+    DescribeThemeAlias (DescribeThemeAlias'),+    newDescribeThemeAlias,+    DescribeThemeAliasResponse (DescribeThemeAliasResponse'),+    newDescribeThemeAliasResponse,++    -- ** DescribeThemePermissions+    DescribeThemePermissions (DescribeThemePermissions'),+    newDescribeThemePermissions,+    DescribeThemePermissionsResponse (DescribeThemePermissionsResponse'),+    newDescribeThemePermissionsResponse,++    -- ** DescribeUser+    DescribeUser (DescribeUser'),+    newDescribeUser,+    DescribeUserResponse (DescribeUserResponse'),+    newDescribeUserResponse,++    -- ** GenerateEmbedUrlForAnonymousUser+    GenerateEmbedUrlForAnonymousUser (GenerateEmbedUrlForAnonymousUser'),+    newGenerateEmbedUrlForAnonymousUser,+    GenerateEmbedUrlForAnonymousUserResponse (GenerateEmbedUrlForAnonymousUserResponse'),+    newGenerateEmbedUrlForAnonymousUserResponse,++    -- ** GenerateEmbedUrlForRegisteredUser+    GenerateEmbedUrlForRegisteredUser (GenerateEmbedUrlForRegisteredUser'),+    newGenerateEmbedUrlForRegisteredUser,+    GenerateEmbedUrlForRegisteredUserResponse (GenerateEmbedUrlForRegisteredUserResponse'),+    newGenerateEmbedUrlForRegisteredUserResponse,++    -- ** GetDashboardEmbedUrl+    GetDashboardEmbedUrl (GetDashboardEmbedUrl'),+    newGetDashboardEmbedUrl,+    GetDashboardEmbedUrlResponse (GetDashboardEmbedUrlResponse'),+    newGetDashboardEmbedUrlResponse,++    -- ** GetSessionEmbedUrl+    GetSessionEmbedUrl (GetSessionEmbedUrl'),+    newGetSessionEmbedUrl,+    GetSessionEmbedUrlResponse (GetSessionEmbedUrlResponse'),+    newGetSessionEmbedUrlResponse,++    -- ** ListAnalyses (Paginated)+    ListAnalyses (ListAnalyses'),+    newListAnalyses,+    ListAnalysesResponse (ListAnalysesResponse'),+    newListAnalysesResponse,++    -- ** ListDashboardVersions (Paginated)+    ListDashboardVersions (ListDashboardVersions'),+    newListDashboardVersions,+    ListDashboardVersionsResponse (ListDashboardVersionsResponse'),+    newListDashboardVersionsResponse,++    -- ** ListDashboards (Paginated)+    ListDashboards (ListDashboards'),+    newListDashboards,+    ListDashboardsResponse (ListDashboardsResponse'),+    newListDashboardsResponse,++    -- ** ListDataSets (Paginated)+    ListDataSets (ListDataSets'),+    newListDataSets,+    ListDataSetsResponse (ListDataSetsResponse'),+    newListDataSetsResponse,++    -- ** ListDataSources (Paginated)+    ListDataSources (ListDataSources'),+    newListDataSources,+    ListDataSourcesResponse (ListDataSourcesResponse'),+    newListDataSourcesResponse,++    -- ** ListFolderMembers+    ListFolderMembers (ListFolderMembers'),+    newListFolderMembers,+    ListFolderMembersResponse (ListFolderMembersResponse'),+    newListFolderMembersResponse,++    -- ** ListFolders+    ListFolders (ListFolders'),+    newListFolders,+    ListFoldersResponse (ListFoldersResponse'),+    newListFoldersResponse,++    -- ** ListGroupMemberships+    ListGroupMemberships (ListGroupMemberships'),+    newListGroupMemberships,+    ListGroupMembershipsResponse (ListGroupMembershipsResponse'),+    newListGroupMembershipsResponse,++    -- ** ListGroups+    ListGroups (ListGroups'),+    newListGroups,+    ListGroupsResponse (ListGroupsResponse'),+    newListGroupsResponse,++    -- ** ListIAMPolicyAssignments+    ListIAMPolicyAssignments (ListIAMPolicyAssignments'),+    newListIAMPolicyAssignments,+    ListIAMPolicyAssignmentsResponse (ListIAMPolicyAssignmentsResponse'),+    newListIAMPolicyAssignmentsResponse,++    -- ** ListIAMPolicyAssignmentsForUser+    ListIAMPolicyAssignmentsForUser (ListIAMPolicyAssignmentsForUser'),+    newListIAMPolicyAssignmentsForUser,+    ListIAMPolicyAssignmentsForUserResponse (ListIAMPolicyAssignmentsForUserResponse'),+    newListIAMPolicyAssignmentsForUserResponse,++    -- ** ListIngestions (Paginated)+    ListIngestions (ListIngestions'),+    newListIngestions,+    ListIngestionsResponse (ListIngestionsResponse'),+    newListIngestionsResponse,++    -- ** ListNamespaces (Paginated)+    ListNamespaces (ListNamespaces'),+    newListNamespaces,+    ListNamespacesResponse (ListNamespacesResponse'),+    newListNamespacesResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** ListTemplateAliases (Paginated)+    ListTemplateAliases (ListTemplateAliases'),+    newListTemplateAliases,+    ListTemplateAliasesResponse (ListTemplateAliasesResponse'),+    newListTemplateAliasesResponse,++    -- ** ListTemplateVersions (Paginated)+    ListTemplateVersions (ListTemplateVersions'),+    newListTemplateVersions,+    ListTemplateVersionsResponse (ListTemplateVersionsResponse'),+    newListTemplateVersionsResponse,++    -- ** ListTemplates (Paginated)+    ListTemplates (ListTemplates'),+    newListTemplates,+    ListTemplatesResponse (ListTemplatesResponse'),+    newListTemplatesResponse,++    -- ** ListThemeAliases+    ListThemeAliases (ListThemeAliases'),+    newListThemeAliases,+    ListThemeAliasesResponse (ListThemeAliasesResponse'),+    newListThemeAliasesResponse,++    -- ** ListThemeVersions (Paginated)+    ListThemeVersions (ListThemeVersions'),+    newListThemeVersions,+    ListThemeVersionsResponse (ListThemeVersionsResponse'),+    newListThemeVersionsResponse,++    -- ** ListThemes (Paginated)+    ListThemes (ListThemes'),+    newListThemes,+    ListThemesResponse (ListThemesResponse'),+    newListThemesResponse,++    -- ** ListUserGroups+    ListUserGroups (ListUserGroups'),+    newListUserGroups,+    ListUserGroupsResponse (ListUserGroupsResponse'),+    newListUserGroupsResponse,++    -- ** ListUsers+    ListUsers (ListUsers'),+    newListUsers,+    ListUsersResponse (ListUsersResponse'),+    newListUsersResponse,++    -- ** RegisterUser+    RegisterUser (RegisterUser'),+    newRegisterUser,+    RegisterUserResponse (RegisterUserResponse'),+    newRegisterUserResponse,++    -- ** RestoreAnalysis+    RestoreAnalysis (RestoreAnalysis'),+    newRestoreAnalysis,+    RestoreAnalysisResponse (RestoreAnalysisResponse'),+    newRestoreAnalysisResponse,++    -- ** SearchAnalyses (Paginated)+    SearchAnalyses (SearchAnalyses'),+    newSearchAnalyses,+    SearchAnalysesResponse (SearchAnalysesResponse'),+    newSearchAnalysesResponse,++    -- ** SearchDashboards (Paginated)+    SearchDashboards (SearchDashboards'),+    newSearchDashboards,+    SearchDashboardsResponse (SearchDashboardsResponse'),+    newSearchDashboardsResponse,++    -- ** SearchDataSets (Paginated)+    SearchDataSets (SearchDataSets'),+    newSearchDataSets,+    SearchDataSetsResponse (SearchDataSetsResponse'),+    newSearchDataSetsResponse,++    -- ** SearchDataSources (Paginated)+    SearchDataSources (SearchDataSources'),+    newSearchDataSources,+    SearchDataSourcesResponse (SearchDataSourcesResponse'),+    newSearchDataSourcesResponse,++    -- ** SearchFolders+    SearchFolders (SearchFolders'),+    newSearchFolders,+    SearchFoldersResponse (SearchFoldersResponse'),+    newSearchFoldersResponse,++    -- ** SearchGroups+    SearchGroups (SearchGroups'),+    newSearchGroups,+    SearchGroupsResponse (SearchGroupsResponse'),+    newSearchGroupsResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateAccountCustomization+    UpdateAccountCustomization (UpdateAccountCustomization'),+    newUpdateAccountCustomization,+    UpdateAccountCustomizationResponse (UpdateAccountCustomizationResponse'),+    newUpdateAccountCustomizationResponse,++    -- ** UpdateAccountSettings+    UpdateAccountSettings (UpdateAccountSettings'),+    newUpdateAccountSettings,+    UpdateAccountSettingsResponse (UpdateAccountSettingsResponse'),+    newUpdateAccountSettingsResponse,++    -- ** UpdateAnalysis+    UpdateAnalysis (UpdateAnalysis'),+    newUpdateAnalysis,+    UpdateAnalysisResponse (UpdateAnalysisResponse'),+    newUpdateAnalysisResponse,++    -- ** UpdateAnalysisPermissions+    UpdateAnalysisPermissions (UpdateAnalysisPermissions'),+    newUpdateAnalysisPermissions,+    UpdateAnalysisPermissionsResponse (UpdateAnalysisPermissionsResponse'),+    newUpdateAnalysisPermissionsResponse,++    -- ** UpdateDashboard+    UpdateDashboard (UpdateDashboard'),+    newUpdateDashboard,+    UpdateDashboardResponse (UpdateDashboardResponse'),+    newUpdateDashboardResponse,++    -- ** UpdateDashboardPermissions+    UpdateDashboardPermissions (UpdateDashboardPermissions'),+    newUpdateDashboardPermissions,+    UpdateDashboardPermissionsResponse (UpdateDashboardPermissionsResponse'),+    newUpdateDashboardPermissionsResponse,++    -- ** UpdateDashboardPublishedVersion+    UpdateDashboardPublishedVersion (UpdateDashboardPublishedVersion'),+    newUpdateDashboardPublishedVersion,+    UpdateDashboardPublishedVersionResponse (UpdateDashboardPublishedVersionResponse'),+    newUpdateDashboardPublishedVersionResponse,++    -- ** UpdateDataSet+    UpdateDataSet (UpdateDataSet'),+    newUpdateDataSet,+    UpdateDataSetResponse (UpdateDataSetResponse'),+    newUpdateDataSetResponse,++    -- ** UpdateDataSetPermissions+    UpdateDataSetPermissions (UpdateDataSetPermissions'),+    newUpdateDataSetPermissions,+    UpdateDataSetPermissionsResponse (UpdateDataSetPermissionsResponse'),+    newUpdateDataSetPermissionsResponse,++    -- ** UpdateDataSource+    UpdateDataSource (UpdateDataSource'),+    newUpdateDataSource,+    UpdateDataSourceResponse (UpdateDataSourceResponse'),+    newUpdateDataSourceResponse,++    -- ** UpdateDataSourcePermissions+    UpdateDataSourcePermissions (UpdateDataSourcePermissions'),+    newUpdateDataSourcePermissions,+    UpdateDataSourcePermissionsResponse (UpdateDataSourcePermissionsResponse'),+    newUpdateDataSourcePermissionsResponse,++    -- ** UpdateFolder+    UpdateFolder (UpdateFolder'),+    newUpdateFolder,+    UpdateFolderResponse (UpdateFolderResponse'),+    newUpdateFolderResponse,++    -- ** UpdateFolderPermissions+    UpdateFolderPermissions (UpdateFolderPermissions'),+    newUpdateFolderPermissions,+    UpdateFolderPermissionsResponse (UpdateFolderPermissionsResponse'),+    newUpdateFolderPermissionsResponse,++    -- ** UpdateGroup+    UpdateGroup (UpdateGroup'),+    newUpdateGroup,+    UpdateGroupResponse (UpdateGroupResponse'),+    newUpdateGroupResponse,++    -- ** UpdateIAMPolicyAssignment+    UpdateIAMPolicyAssignment (UpdateIAMPolicyAssignment'),+    newUpdateIAMPolicyAssignment,+    UpdateIAMPolicyAssignmentResponse (UpdateIAMPolicyAssignmentResponse'),+    newUpdateIAMPolicyAssignmentResponse,++    -- ** UpdateIpRestriction+    UpdateIpRestriction (UpdateIpRestriction'),+    newUpdateIpRestriction,+    UpdateIpRestrictionResponse (UpdateIpRestrictionResponse'),+    newUpdateIpRestrictionResponse,++    -- ** UpdatePublicSharingSettings+    UpdatePublicSharingSettings (UpdatePublicSharingSettings'),+    newUpdatePublicSharingSettings,+    UpdatePublicSharingSettingsResponse (UpdatePublicSharingSettingsResponse'),+    newUpdatePublicSharingSettingsResponse,++    -- ** UpdateTemplate+    UpdateTemplate (UpdateTemplate'),+    newUpdateTemplate,+    UpdateTemplateResponse (UpdateTemplateResponse'),+    newUpdateTemplateResponse,++    -- ** UpdateTemplateAlias+    UpdateTemplateAlias (UpdateTemplateAlias'),+    newUpdateTemplateAlias,+    UpdateTemplateAliasResponse (UpdateTemplateAliasResponse'),+    newUpdateTemplateAliasResponse,++    -- ** UpdateTemplatePermissions+    UpdateTemplatePermissions (UpdateTemplatePermissions'),+    newUpdateTemplatePermissions,+    UpdateTemplatePermissionsResponse (UpdateTemplatePermissionsResponse'),+    newUpdateTemplatePermissionsResponse,++    -- ** UpdateTheme+    UpdateTheme (UpdateTheme'),+    newUpdateTheme,+    UpdateThemeResponse (UpdateThemeResponse'),+    newUpdateThemeResponse,++    -- ** UpdateThemeAlias+    UpdateThemeAlias (UpdateThemeAlias'),+    newUpdateThemeAlias,+    UpdateThemeAliasResponse (UpdateThemeAliasResponse'),+    newUpdateThemeAliasResponse,++    -- ** UpdateThemePermissions+    UpdateThemePermissions (UpdateThemePermissions'),+    newUpdateThemePermissions,+    UpdateThemePermissionsResponse (UpdateThemePermissionsResponse'),+    newUpdateThemePermissionsResponse,++    -- ** UpdateUser+    UpdateUser (UpdateUser'),+    newUpdateUser,+    UpdateUserResponse (UpdateUserResponse'),+    newUpdateUserResponse,++    -- * Types++    -- ** AnalysisErrorType+    AnalysisErrorType (..),++    -- ** AnalysisFilterAttribute+    AnalysisFilterAttribute (..),++    -- ** AnchorOption+    AnchorOption (..),++    -- ** ArcThickness+    ArcThickness (..),++    -- ** ArcThicknessOptions+    ArcThicknessOptions (..),++    -- ** AssignmentStatus+    AssignmentStatus (..),++    -- ** AuthenticationMethodOption+    AuthenticationMethodOption (..),++    -- ** AxisBinding+    AxisBinding (..),++    -- ** BarChartOrientation+    BarChartOrientation (..),++    -- ** BarsArrangement+    BarsArrangement (..),++    -- ** BaseMapStyleType+    BaseMapStyleType (..),++    -- ** BoxPlotFillStyle+    BoxPlotFillStyle (..),++    -- ** CategoricalAggregationFunction+    CategoricalAggregationFunction (..),++    -- ** CategoryFilterMatchOperator+    CategoryFilterMatchOperator (..),++    -- ** CategoryFilterSelectAllOptions+    CategoryFilterSelectAllOptions (..),++    -- ** ColorFillType+    ColorFillType (..),++    -- ** ColumnDataType+    ColumnDataType (..),++    -- ** ColumnRole+    ColumnRole (..),++    -- ** ColumnTagName+    ColumnTagName (..),++    -- ** ComparisonMethod+    ComparisonMethod (..),++    -- ** ConditionalFormattingIconDisplayOption+    ConditionalFormattingIconDisplayOption (..),++    -- ** ConditionalFormattingIconSetType+    ConditionalFormattingIconSetType (..),++    -- ** CrossDatasetTypes+    CrossDatasetTypes (..),++    -- ** CustomContentImageScalingConfiguration+    CustomContentImageScalingConfiguration (..),++    -- ** CustomContentType+    CustomContentType (..),++    -- ** DashboardBehavior+    DashboardBehavior (..),++    -- ** DashboardErrorType+    DashboardErrorType (..),++    -- ** DashboardFilterAttribute+    DashboardFilterAttribute (..),++    -- ** DashboardUIState+    DashboardUIState (..),++    -- ** DataLabelContent+    DataLabelContent (..),++    -- ** DataLabelOverlap+    DataLabelOverlap (..),++    -- ** DataLabelPosition+    DataLabelPosition (..),++    -- ** DataSetFilterAttribute+    DataSetFilterAttribute (..),++    -- ** DataSetImportMode+    DataSetImportMode (..),++    -- ** DataSourceErrorInfoType+    DataSourceErrorInfoType (..),++    -- ** DataSourceFilterAttribute+    DataSourceFilterAttribute (..),++    -- ** DataSourceType+    DataSourceType (..),++    -- ** DateAggregationFunction+    DateAggregationFunction (..),++    -- ** Edition+    Edition (..),++    -- ** EmbeddingIdentityType+    EmbeddingIdentityType (..),++    -- ** FileFormat+    FileFormat (..),++    -- ** FilterNullOption+    FilterNullOption (..),++    -- ** FilterOperator+    FilterOperator (..),++    -- ** FilterVisualScope+    FilterVisualScope (..),++    -- ** FolderFilterAttribute+    FolderFilterAttribute (..),++    -- ** FolderType+    FolderType (..),++    -- ** FontDecoration+    FontDecoration (..),++    -- ** FontStyle+    FontStyle (..),++    -- ** FontWeightName+    FontWeightName (..),++    -- ** ForecastComputationSeasonality+    ForecastComputationSeasonality (..),++    -- ** FunnelChartMeasureDataLabelStyle+    FunnelChartMeasureDataLabelStyle (..),++    -- ** GeoSpatialCountryCode+    GeoSpatialCountryCode (..),++    -- ** GeoSpatialDataRole+    GeoSpatialDataRole (..),++    -- ** GeospatialSelectedPointStyle+    GeospatialSelectedPointStyle (..),++    -- ** GroupFilterAttribute+    GroupFilterAttribute (..),++    -- ** GroupFilterOperator+    GroupFilterOperator (..),++    -- ** HistogramBinType+    HistogramBinType (..),++    -- ** HorizontalTextAlignment+    HorizontalTextAlignment (..),++    -- ** Icon+    Icon (..),++    -- ** IdentityStore+    IdentityStore (..),++    -- ** IdentityType+    IdentityType (..),++    -- ** IngestionErrorType+    IngestionErrorType (..),++    -- ** IngestionRequestSource+    IngestionRequestSource (..),++    -- ** IngestionRequestType+    IngestionRequestType (..),++    -- ** IngestionStatus+    IngestionStatus (..),++    -- ** IngestionType+    IngestionType (..),++    -- ** InputColumnDataType+    InputColumnDataType (..),++    -- ** JoinType+    JoinType (..),++    -- ** LayoutElementType+    LayoutElementType (..),++    -- ** LegendPosition+    LegendPosition (..),++    -- ** LineChartLineStyle+    LineChartLineStyle (..),++    -- ** LineChartMarkerShape+    LineChartMarkerShape (..),++    -- ** LineChartType+    LineChartType (..),++    -- ** LineInterpolation+    LineInterpolation (..),++    -- ** MapZoomMode+    MapZoomMode (..),++    -- ** MaximumMinimumComputationType+    MaximumMinimumComputationType (..),++    -- ** MemberType+    MemberType (..),++    -- ** MissingDataTreatmentOption+    MissingDataTreatmentOption (..),++    -- ** NamespaceErrorType+    NamespaceErrorType (..),++    -- ** NamespaceStatus+    NamespaceStatus (..),++    -- ** NegativeValueDisplayMode+    NegativeValueDisplayMode (..),++    -- ** NumberScale+    NumberScale (..),++    -- ** NumericEqualityMatchOperator+    NumericEqualityMatchOperator (..),++    -- ** NumericFilterSelectAllOptions+    NumericFilterSelectAllOptions (..),++    -- ** NumericSeparatorSymbol+    NumericSeparatorSymbol (..),++    -- ** OtherCategories+    OtherCategories (..),++    -- ** PanelBorderStyle+    PanelBorderStyle (..),++    -- ** PaperOrientation+    PaperOrientation (..),++    -- ** PaperSize+    PaperSize (..),++    -- ** ParameterValueType+    ParameterValueType (..),++    -- ** PivotTableConditionalFormattingScopeRole+    PivotTableConditionalFormattingScopeRole (..),++    -- ** PivotTableMetricPlacement+    PivotTableMetricPlacement (..),++    -- ** PivotTableSubtotalLevel+    PivotTableSubtotalLevel (..),++    -- ** PrimaryValueDisplayType+    PrimaryValueDisplayType (..),++    -- ** ReferenceLineLabelHorizontalPosition+    ReferenceLineLabelHorizontalPosition (..),++    -- ** ReferenceLineLabelVerticalPosition+    ReferenceLineLabelVerticalPosition (..),++    -- ** ReferenceLinePatternType+    ReferenceLinePatternType (..),++    -- ** ReferenceLineValueLabelRelativePosition+    ReferenceLineValueLabelRelativePosition (..),++    -- ** RelativeDateType+    RelativeDateType (..),++    -- ** RelativeFontSize+    RelativeFontSize (..),++    -- ** ResizeOption+    ResizeOption (..),++    -- ** ResourceStatus+    ResourceStatus (..),++    -- ** RowLevelPermissionFormatVersion+    RowLevelPermissionFormatVersion (..),++    -- ** RowLevelPermissionPolicy+    RowLevelPermissionPolicy (..),++    -- ** SectionPageBreakStatus+    SectionPageBreakStatus (..),++    -- ** SelectAllValueOptions+    SelectAllValueOptions (..),++    -- ** SelectedFieldOptions+    SelectedFieldOptions (..),++    -- ** SelectedTooltipType+    SelectedTooltipType (..),++    -- ** SheetContentType+    SheetContentType (..),++    -- ** SheetControlDateTimePickerType+    SheetControlDateTimePickerType (..),++    -- ** SheetControlListType+    SheetControlListType (..),++    -- ** SheetControlSliderType+    SheetControlSliderType (..),++    -- ** SimpleNumericalAggregationFunction+    SimpleNumericalAggregationFunction (..),++    -- ** SortDirection+    SortDirection (..),++    -- ** Status+    Status (..),++    -- ** TableBorderStyle+    TableBorderStyle (..),++    -- ** TableCellImageScalingConfiguration+    TableCellImageScalingConfiguration (..),++    -- ** TableFieldIconSetType+    TableFieldIconSetType (..),++    -- ** TableOrientation+    TableOrientation (..),++    -- ** TableTotalsPlacement+    TableTotalsPlacement (..),++    -- ** TableTotalsScrollStatus+    TableTotalsScrollStatus (..),++    -- ** TargetVisualOptions+    TargetVisualOptions (..),++    -- ** TemplateErrorType+    TemplateErrorType (..),++    -- ** TextQualifier+    TextQualifier (..),++    -- ** TextWrap+    TextWrap (..),++    -- ** ThemeErrorType+    ThemeErrorType (..),++    -- ** ThemeType+    ThemeType (..),++    -- ** TimeGranularity+    TimeGranularity (..),++    -- ** TooltipTitleType+    TooltipTitleType (..),++    -- ** TopBottomComputationType+    TopBottomComputationType (..),++    -- ** TopBottomSortOrder+    TopBottomSortOrder (..),++    -- ** URLTargetConfiguration+    URLTargetConfiguration (..),++    -- ** UserRole+    UserRole (..),++    -- ** ValueWhenUnsetOption+    ValueWhenUnsetOption (..),++    -- ** VerticalTextAlignment+    VerticalTextAlignment (..),++    -- ** Visibility+    Visibility (..),++    -- ** VisualCustomActionTrigger+    VisualCustomActionTrigger (..),++    -- ** WidgetStatus+    WidgetStatus (..),++    -- ** WordCloudCloudLayout+    WordCloudCloudLayout (..),++    -- ** WordCloudWordCasing+    WordCloudWordCasing (..),++    -- ** WordCloudWordOrientation+    WordCloudWordOrientation (..),++    -- ** WordCloudWordPadding+    WordCloudWordPadding (..),++    -- ** WordCloudWordScaling+    WordCloudWordScaling (..),++    -- ** AccountCustomization+    AccountCustomization (AccountCustomization'),+    newAccountCustomization,++    -- ** AccountInfo+    AccountInfo (AccountInfo'),+    newAccountInfo,++    -- ** AccountSettings+    AccountSettings (AccountSettings'),+    newAccountSettings,++    -- ** ActiveIAMPolicyAssignment+    ActiveIAMPolicyAssignment (ActiveIAMPolicyAssignment'),+    newActiveIAMPolicyAssignment,++    -- ** AdHocFilteringOption+    AdHocFilteringOption (AdHocFilteringOption'),+    newAdHocFilteringOption,++    -- ** AggregationFunction+    AggregationFunction (AggregationFunction'),+    newAggregationFunction,++    -- ** AggregationSortConfiguration+    AggregationSortConfiguration (AggregationSortConfiguration'),+    newAggregationSortConfiguration,++    -- ** AmazonElasticsearchParameters+    AmazonElasticsearchParameters (AmazonElasticsearchParameters'),+    newAmazonElasticsearchParameters,++    -- ** AmazonOpenSearchParameters+    AmazonOpenSearchParameters (AmazonOpenSearchParameters'),+    newAmazonOpenSearchParameters,++    -- ** Analysis+    Analysis (Analysis'),+    newAnalysis,++    -- ** AnalysisDefaults+    AnalysisDefaults (AnalysisDefaults'),+    newAnalysisDefaults,++    -- ** AnalysisDefinition+    AnalysisDefinition (AnalysisDefinition'),+    newAnalysisDefinition,++    -- ** AnalysisError+    AnalysisError (AnalysisError'),+    newAnalysisError,++    -- ** AnalysisSearchFilter+    AnalysisSearchFilter (AnalysisSearchFilter'),+    newAnalysisSearchFilter,++    -- ** AnalysisSourceEntity+    AnalysisSourceEntity (AnalysisSourceEntity'),+    newAnalysisSourceEntity,++    -- ** AnalysisSourceTemplate+    AnalysisSourceTemplate (AnalysisSourceTemplate'),+    newAnalysisSourceTemplate,++    -- ** AnalysisSummary+    AnalysisSummary (AnalysisSummary'),+    newAnalysisSummary,++    -- ** AnchorDateConfiguration+    AnchorDateConfiguration (AnchorDateConfiguration'),+    newAnchorDateConfiguration,++    -- ** AnonymousUserDashboardEmbeddingConfiguration+    AnonymousUserDashboardEmbeddingConfiguration (AnonymousUserDashboardEmbeddingConfiguration'),+    newAnonymousUserDashboardEmbeddingConfiguration,++    -- ** AnonymousUserDashboardVisualEmbeddingConfiguration+    AnonymousUserDashboardVisualEmbeddingConfiguration (AnonymousUserDashboardVisualEmbeddingConfiguration'),+    newAnonymousUserDashboardVisualEmbeddingConfiguration,++    -- ** AnonymousUserEmbeddingExperienceConfiguration+    AnonymousUserEmbeddingExperienceConfiguration (AnonymousUserEmbeddingExperienceConfiguration'),+    newAnonymousUserEmbeddingExperienceConfiguration,++    -- ** AnonymousUserQSearchBarEmbeddingConfiguration+    AnonymousUserQSearchBarEmbeddingConfiguration (AnonymousUserQSearchBarEmbeddingConfiguration'),+    newAnonymousUserQSearchBarEmbeddingConfiguration,++    -- ** ArcAxisConfiguration+    ArcAxisConfiguration (ArcAxisConfiguration'),+    newArcAxisConfiguration,++    -- ** ArcAxisDisplayRange+    ArcAxisDisplayRange (ArcAxisDisplayRange'),+    newArcAxisDisplayRange,++    -- ** ArcConfiguration+    ArcConfiguration (ArcConfiguration'),+    newArcConfiguration,++    -- ** ArcOptions+    ArcOptions (ArcOptions'),+    newArcOptions,++    -- ** AthenaParameters+    AthenaParameters (AthenaParameters'),+    newAthenaParameters,++    -- ** AuroraParameters+    AuroraParameters (AuroraParameters'),+    newAuroraParameters,++    -- ** AuroraPostgreSqlParameters+    AuroraPostgreSqlParameters (AuroraPostgreSqlParameters'),+    newAuroraPostgreSqlParameters,++    -- ** AwsIotAnalyticsParameters+    AwsIotAnalyticsParameters (AwsIotAnalyticsParameters'),+    newAwsIotAnalyticsParameters,++    -- ** AxisDataOptions+    AxisDataOptions (AxisDataOptions'),+    newAxisDataOptions,++    -- ** AxisDisplayDataDrivenRange+    AxisDisplayDataDrivenRange (AxisDisplayDataDrivenRange'),+    newAxisDisplayDataDrivenRange,++    -- ** AxisDisplayMinMaxRange+    AxisDisplayMinMaxRange (AxisDisplayMinMaxRange'),+    newAxisDisplayMinMaxRange,++    -- ** AxisDisplayOptions+    AxisDisplayOptions (AxisDisplayOptions'),+    newAxisDisplayOptions,++    -- ** AxisDisplayRange+    AxisDisplayRange (AxisDisplayRange'),+    newAxisDisplayRange,++    -- ** AxisLabelOptions+    AxisLabelOptions (AxisLabelOptions'),+    newAxisLabelOptions,++    -- ** AxisLabelReferenceOptions+    AxisLabelReferenceOptions (AxisLabelReferenceOptions'),+    newAxisLabelReferenceOptions,++    -- ** AxisLinearScale+    AxisLinearScale (AxisLinearScale'),+    newAxisLinearScale,++    -- ** AxisLogarithmicScale+    AxisLogarithmicScale (AxisLogarithmicScale'),+    newAxisLogarithmicScale,++    -- ** AxisScale+    AxisScale (AxisScale'),+    newAxisScale,++    -- ** AxisTickLabelOptions+    AxisTickLabelOptions (AxisTickLabelOptions'),+    newAxisTickLabelOptions,++    -- ** BarChartAggregatedFieldWells+    BarChartAggregatedFieldWells (BarChartAggregatedFieldWells'),+    newBarChartAggregatedFieldWells,++    -- ** BarChartConfiguration+    BarChartConfiguration (BarChartConfiguration'),+    newBarChartConfiguration,++    -- ** BarChartFieldWells+    BarChartFieldWells (BarChartFieldWells'),+    newBarChartFieldWells,++    -- ** BarChartSortConfiguration+    BarChartSortConfiguration (BarChartSortConfiguration'),+    newBarChartSortConfiguration,++    -- ** BarChartVisual+    BarChartVisual (BarChartVisual'),+    newBarChartVisual,++    -- ** BinCountOptions+    BinCountOptions (BinCountOptions'),+    newBinCountOptions,++    -- ** BinWidthOptions+    BinWidthOptions (BinWidthOptions'),+    newBinWidthOptions,++    -- ** BodySectionConfiguration+    BodySectionConfiguration (BodySectionConfiguration'),+    newBodySectionConfiguration,++    -- ** BodySectionContent+    BodySectionContent (BodySectionContent'),+    newBodySectionContent,++    -- ** BorderStyle+    BorderStyle (BorderStyle'),+    newBorderStyle,++    -- ** BoxPlotAggregatedFieldWells+    BoxPlotAggregatedFieldWells (BoxPlotAggregatedFieldWells'),+    newBoxPlotAggregatedFieldWells,++    -- ** BoxPlotChartConfiguration+    BoxPlotChartConfiguration (BoxPlotChartConfiguration'),+    newBoxPlotChartConfiguration,++    -- ** BoxPlotFieldWells+    BoxPlotFieldWells (BoxPlotFieldWells'),+    newBoxPlotFieldWells,++    -- ** BoxPlotOptions+    BoxPlotOptions (BoxPlotOptions'),+    newBoxPlotOptions,++    -- ** BoxPlotSortConfiguration+    BoxPlotSortConfiguration (BoxPlotSortConfiguration'),+    newBoxPlotSortConfiguration,++    -- ** BoxPlotStyleOptions+    BoxPlotStyleOptions (BoxPlotStyleOptions'),+    newBoxPlotStyleOptions,++    -- ** BoxPlotVisual+    BoxPlotVisual (BoxPlotVisual'),+    newBoxPlotVisual,++    -- ** CalculatedColumn+    CalculatedColumn (CalculatedColumn'),+    newCalculatedColumn,++    -- ** CalculatedField+    CalculatedField (CalculatedField'),+    newCalculatedField,++    -- ** CalculatedMeasureField+    CalculatedMeasureField (CalculatedMeasureField'),+    newCalculatedMeasureField,++    -- ** CascadingControlConfiguration+    CascadingControlConfiguration (CascadingControlConfiguration'),+    newCascadingControlConfiguration,++    -- ** CascadingControlSource+    CascadingControlSource (CascadingControlSource'),+    newCascadingControlSource,++    -- ** CastColumnTypeOperation+    CastColumnTypeOperation (CastColumnTypeOperation'),+    newCastColumnTypeOperation,++    -- ** CategoricalDimensionField+    CategoricalDimensionField (CategoricalDimensionField'),+    newCategoricalDimensionField,++    -- ** CategoricalMeasureField+    CategoricalMeasureField (CategoricalMeasureField'),+    newCategoricalMeasureField,++    -- ** CategoryDrillDownFilter+    CategoryDrillDownFilter (CategoryDrillDownFilter'),+    newCategoryDrillDownFilter,++    -- ** CategoryFilter+    CategoryFilter (CategoryFilter'),+    newCategoryFilter,++    -- ** CategoryFilterConfiguration+    CategoryFilterConfiguration (CategoryFilterConfiguration'),+    newCategoryFilterConfiguration,++    -- ** ChartAxisLabelOptions+    ChartAxisLabelOptions (ChartAxisLabelOptions'),+    newChartAxisLabelOptions,++    -- ** ClusterMarker+    ClusterMarker (ClusterMarker'),+    newClusterMarker,++    -- ** ClusterMarkerConfiguration+    ClusterMarkerConfiguration (ClusterMarkerConfiguration'),+    newClusterMarkerConfiguration,++    -- ** ColorScale+    ColorScale (ColorScale'),+    newColorScale,++    -- ** ColumnConfiguration+    ColumnConfiguration (ColumnConfiguration'),+    newColumnConfiguration,++    -- ** ColumnDescription+    ColumnDescription (ColumnDescription'),+    newColumnDescription,++    -- ** ColumnGroup+    ColumnGroup (ColumnGroup'),+    newColumnGroup,++    -- ** ColumnGroupColumnSchema+    ColumnGroupColumnSchema (ColumnGroupColumnSchema'),+    newColumnGroupColumnSchema,++    -- ** ColumnGroupSchema+    ColumnGroupSchema (ColumnGroupSchema'),+    newColumnGroupSchema,++    -- ** ColumnHierarchy+    ColumnHierarchy (ColumnHierarchy'),+    newColumnHierarchy,++    -- ** ColumnIdentifier+    ColumnIdentifier (ColumnIdentifier'),+    newColumnIdentifier,++    -- ** ColumnLevelPermissionRule+    ColumnLevelPermissionRule (ColumnLevelPermissionRule'),+    newColumnLevelPermissionRule,++    -- ** ColumnSchema+    ColumnSchema (ColumnSchema'),+    newColumnSchema,++    -- ** ColumnSort+    ColumnSort (ColumnSort'),+    newColumnSort,++    -- ** ColumnTag+    ColumnTag (ColumnTag'),+    newColumnTag,++    -- ** ColumnTooltipItem+    ColumnTooltipItem (ColumnTooltipItem'),+    newColumnTooltipItem,++    -- ** ComboChartAggregatedFieldWells+    ComboChartAggregatedFieldWells (ComboChartAggregatedFieldWells'),+    newComboChartAggregatedFieldWells,++    -- ** ComboChartConfiguration+    ComboChartConfiguration (ComboChartConfiguration'),+    newComboChartConfiguration,++    -- ** ComboChartFieldWells+    ComboChartFieldWells (ComboChartFieldWells'),+    newComboChartFieldWells,++    -- ** ComboChartSortConfiguration+    ComboChartSortConfiguration (ComboChartSortConfiguration'),+    newComboChartSortConfiguration,++    -- ** ComboChartVisual+    ComboChartVisual (ComboChartVisual'),+    newComboChartVisual,++    -- ** ComparisonConfiguration+    ComparisonConfiguration (ComparisonConfiguration'),+    newComparisonConfiguration,++    -- ** ComparisonFormatConfiguration+    ComparisonFormatConfiguration (ComparisonFormatConfiguration'),+    newComparisonFormatConfiguration,++    -- ** Computation+    Computation (Computation'),+    newComputation,++    -- ** ConditionalFormattingColor+    ConditionalFormattingColor (ConditionalFormattingColor'),+    newConditionalFormattingColor,++    -- ** ConditionalFormattingCustomIconCondition+    ConditionalFormattingCustomIconCondition (ConditionalFormattingCustomIconCondition'),+    newConditionalFormattingCustomIconCondition,++    -- ** ConditionalFormattingCustomIconOptions+    ConditionalFormattingCustomIconOptions (ConditionalFormattingCustomIconOptions'),+    newConditionalFormattingCustomIconOptions,++    -- ** ConditionalFormattingGradientColor+    ConditionalFormattingGradientColor (ConditionalFormattingGradientColor'),+    newConditionalFormattingGradientColor,++    -- ** ConditionalFormattingIcon+    ConditionalFormattingIcon (ConditionalFormattingIcon'),+    newConditionalFormattingIcon,++    -- ** ConditionalFormattingIconDisplayConfiguration+    ConditionalFormattingIconDisplayConfiguration (ConditionalFormattingIconDisplayConfiguration'),+    newConditionalFormattingIconDisplayConfiguration,++    -- ** ConditionalFormattingIconSet+    ConditionalFormattingIconSet (ConditionalFormattingIconSet'),+    newConditionalFormattingIconSet,++    -- ** ConditionalFormattingSolidColor+    ConditionalFormattingSolidColor (ConditionalFormattingSolidColor'),+    newConditionalFormattingSolidColor,++    -- ** ContributionAnalysisDefault+    ContributionAnalysisDefault (ContributionAnalysisDefault'),+    newContributionAnalysisDefault,++    -- ** CreateColumnsOperation+    CreateColumnsOperation (CreateColumnsOperation'),+    newCreateColumnsOperation,++    -- ** CredentialPair+    CredentialPair (CredentialPair'),+    newCredentialPair,++    -- ** CurrencyDisplayFormatConfiguration+    CurrencyDisplayFormatConfiguration (CurrencyDisplayFormatConfiguration'),+    newCurrencyDisplayFormatConfiguration,++    -- ** CustomActionFilterOperation+    CustomActionFilterOperation (CustomActionFilterOperation'),+    newCustomActionFilterOperation,++    -- ** CustomActionNavigationOperation+    CustomActionNavigationOperation (CustomActionNavigationOperation'),+    newCustomActionNavigationOperation,++    -- ** CustomActionSetParametersOperation+    CustomActionSetParametersOperation (CustomActionSetParametersOperation'),+    newCustomActionSetParametersOperation,++    -- ** CustomActionURLOperation+    CustomActionURLOperation (CustomActionURLOperation'),+    newCustomActionURLOperation,++    -- ** CustomContentConfiguration+    CustomContentConfiguration (CustomContentConfiguration'),+    newCustomContentConfiguration,++    -- ** CustomContentVisual+    CustomContentVisual (CustomContentVisual'),+    newCustomContentVisual,++    -- ** CustomFilterConfiguration+    CustomFilterConfiguration (CustomFilterConfiguration'),+    newCustomFilterConfiguration,++    -- ** CustomFilterListConfiguration+    CustomFilterListConfiguration (CustomFilterListConfiguration'),+    newCustomFilterListConfiguration,++    -- ** CustomNarrativeOptions+    CustomNarrativeOptions (CustomNarrativeOptions'),+    newCustomNarrativeOptions,++    -- ** CustomParameterValues+    CustomParameterValues (CustomParameterValues'),+    newCustomParameterValues,++    -- ** CustomSql+    CustomSql (CustomSql'),+    newCustomSql,++    -- ** CustomValuesConfiguration+    CustomValuesConfiguration (CustomValuesConfiguration'),+    newCustomValuesConfiguration,++    -- ** Dashboard+    Dashboard (Dashboard'),+    newDashboard,++    -- ** DashboardError+    DashboardError (DashboardError'),+    newDashboardError,++    -- ** DashboardPublishOptions+    DashboardPublishOptions (DashboardPublishOptions'),+    newDashboardPublishOptions,++    -- ** DashboardSearchFilter+    DashboardSearchFilter (DashboardSearchFilter'),+    newDashboardSearchFilter,++    -- ** DashboardSourceEntity+    DashboardSourceEntity (DashboardSourceEntity'),+    newDashboardSourceEntity,++    -- ** DashboardSourceTemplate+    DashboardSourceTemplate (DashboardSourceTemplate'),+    newDashboardSourceTemplate,++    -- ** DashboardSummary+    DashboardSummary (DashboardSummary'),+    newDashboardSummary,++    -- ** DashboardVersion+    DashboardVersion (DashboardVersion'),+    newDashboardVersion,++    -- ** DashboardVersionDefinition+    DashboardVersionDefinition (DashboardVersionDefinition'),+    newDashboardVersionDefinition,++    -- ** DashboardVersionSummary+    DashboardVersionSummary (DashboardVersionSummary'),+    newDashboardVersionSummary,++    -- ** DashboardVisualId+    DashboardVisualId (DashboardVisualId'),+    newDashboardVisualId,++    -- ** DashboardVisualPublishOptions+    DashboardVisualPublishOptions (DashboardVisualPublishOptions'),+    newDashboardVisualPublishOptions,++    -- ** DataColor+    DataColor (DataColor'),+    newDataColor,++    -- ** DataColorPalette+    DataColorPalette (DataColorPalette'),+    newDataColorPalette,++    -- ** DataFieldSeriesItem+    DataFieldSeriesItem (DataFieldSeriesItem'),+    newDataFieldSeriesItem,++    -- ** DataLabelOptions+    DataLabelOptions (DataLabelOptions'),+    newDataLabelOptions,++    -- ** DataLabelType+    DataLabelType (DataLabelType'),+    newDataLabelType,++    -- ** DataPathColor+    DataPathColor (DataPathColor'),+    newDataPathColor,++    -- ** DataPathLabelType+    DataPathLabelType (DataPathLabelType'),+    newDataPathLabelType,++    -- ** DataPathSort+    DataPathSort (DataPathSort'),+    newDataPathSort,++    -- ** DataPathValue+    DataPathValue (DataPathValue'),+    newDataPathValue,++    -- ** DataSet+    DataSet (DataSet'),+    newDataSet,++    -- ** DataSetConfiguration+    DataSetConfiguration (DataSetConfiguration'),+    newDataSetConfiguration,++    -- ** DataSetIdentifierDeclaration+    DataSetIdentifierDeclaration (DataSetIdentifierDeclaration'),+    newDataSetIdentifierDeclaration,++    -- ** DataSetReference+    DataSetReference (DataSetReference'),+    newDataSetReference,++    -- ** DataSetSchema+    DataSetSchema (DataSetSchema'),+    newDataSetSchema,++    -- ** DataSetSearchFilter+    DataSetSearchFilter (DataSetSearchFilter'),+    newDataSetSearchFilter,++    -- ** DataSetSummary+    DataSetSummary (DataSetSummary'),+    newDataSetSummary,++    -- ** DataSetUsageConfiguration+    DataSetUsageConfiguration (DataSetUsageConfiguration'),+    newDataSetUsageConfiguration,++    -- ** DataSource+    DataSource (DataSource'),+    newDataSource,++    -- ** DataSourceCredentials+    DataSourceCredentials (DataSourceCredentials'),+    newDataSourceCredentials,++    -- ** DataSourceErrorInfo+    DataSourceErrorInfo (DataSourceErrorInfo'),+    newDataSourceErrorInfo,++    -- ** DataSourceParameters+    DataSourceParameters (DataSourceParameters'),+    newDataSourceParameters,++    -- ** DataSourceSearchFilter+    DataSourceSearchFilter (DataSourceSearchFilter'),+    newDataSourceSearchFilter,++    -- ** DataSourceSummary+    DataSourceSummary (DataSourceSummary'),+    newDataSourceSummary,++    -- ** DatabricksParameters+    DatabricksParameters (DatabricksParameters'),+    newDatabricksParameters,++    -- ** DateAxisOptions+    DateAxisOptions (DateAxisOptions'),+    newDateAxisOptions,++    -- ** DateDimensionField+    DateDimensionField (DateDimensionField'),+    newDateDimensionField,++    -- ** DateMeasureField+    DateMeasureField (DateMeasureField'),+    newDateMeasureField,++    -- ** DateTimeDefaultValues+    DateTimeDefaultValues (DateTimeDefaultValues'),+    newDateTimeDefaultValues,++    -- ** DateTimeFormatConfiguration+    DateTimeFormatConfiguration (DateTimeFormatConfiguration'),+    newDateTimeFormatConfiguration,++    -- ** DateTimeHierarchy+    DateTimeHierarchy (DateTimeHierarchy'),+    newDateTimeHierarchy,++    -- ** DateTimeParameter+    DateTimeParameter (DateTimeParameter'),+    newDateTimeParameter,++    -- ** DateTimeParameterDeclaration+    DateTimeParameterDeclaration (DateTimeParameterDeclaration'),+    newDateTimeParameterDeclaration,++    -- ** DateTimePickerControlDisplayOptions+    DateTimePickerControlDisplayOptions (DateTimePickerControlDisplayOptions'),+    newDateTimePickerControlDisplayOptions,++    -- ** DateTimeValueWhenUnsetConfiguration+    DateTimeValueWhenUnsetConfiguration (DateTimeValueWhenUnsetConfiguration'),+    newDateTimeValueWhenUnsetConfiguration,++    -- ** DecimalDefaultValues+    DecimalDefaultValues (DecimalDefaultValues'),+    newDecimalDefaultValues,++    -- ** DecimalParameter+    DecimalParameter (DecimalParameter'),+    newDecimalParameter,++    -- ** DecimalParameterDeclaration+    DecimalParameterDeclaration (DecimalParameterDeclaration'),+    newDecimalParameterDeclaration,++    -- ** DecimalPlacesConfiguration+    DecimalPlacesConfiguration (DecimalPlacesConfiguration'),+    newDecimalPlacesConfiguration,++    -- ** DecimalValueWhenUnsetConfiguration+    DecimalValueWhenUnsetConfiguration (DecimalValueWhenUnsetConfiguration'),+    newDecimalValueWhenUnsetConfiguration,++    -- ** DefaultFreeFormLayoutConfiguration+    DefaultFreeFormLayoutConfiguration (DefaultFreeFormLayoutConfiguration'),+    newDefaultFreeFormLayoutConfiguration,++    -- ** DefaultGridLayoutConfiguration+    DefaultGridLayoutConfiguration (DefaultGridLayoutConfiguration'),+    newDefaultGridLayoutConfiguration,++    -- ** DefaultInteractiveLayoutConfiguration+    DefaultInteractiveLayoutConfiguration (DefaultInteractiveLayoutConfiguration'),+    newDefaultInteractiveLayoutConfiguration,++    -- ** DefaultNewSheetConfiguration+    DefaultNewSheetConfiguration (DefaultNewSheetConfiguration'),+    newDefaultNewSheetConfiguration,++    -- ** DefaultPaginatedLayoutConfiguration+    DefaultPaginatedLayoutConfiguration (DefaultPaginatedLayoutConfiguration'),+    newDefaultPaginatedLayoutConfiguration,++    -- ** DefaultSectionBasedLayoutConfiguration+    DefaultSectionBasedLayoutConfiguration (DefaultSectionBasedLayoutConfiguration'),+    newDefaultSectionBasedLayoutConfiguration,++    -- ** DestinationParameterValueConfiguration+    DestinationParameterValueConfiguration (DestinationParameterValueConfiguration'),+    newDestinationParameterValueConfiguration,++    -- ** DimensionField+    DimensionField (DimensionField'),+    newDimensionField,++    -- ** DonutCenterOptions+    DonutCenterOptions (DonutCenterOptions'),+    newDonutCenterOptions,++    -- ** DonutOptions+    DonutOptions (DonutOptions'),+    newDonutOptions,++    -- ** DrillDownFilter+    DrillDownFilter (DrillDownFilter'),+    newDrillDownFilter,++    -- ** DropDownControlDisplayOptions+    DropDownControlDisplayOptions (DropDownControlDisplayOptions'),+    newDropDownControlDisplayOptions,++    -- ** DynamicDefaultValue+    DynamicDefaultValue (DynamicDefaultValue'),+    newDynamicDefaultValue,++    -- ** EmptyVisual+    EmptyVisual (EmptyVisual'),+    newEmptyVisual,++    -- ** Entity+    Entity (Entity'),+    newEntity,++    -- ** ErrorInfo+    ErrorInfo (ErrorInfo'),+    newErrorInfo,++    -- ** ExasolParameters+    ExasolParameters (ExasolParameters'),+    newExasolParameters,++    -- ** ExcludePeriodConfiguration+    ExcludePeriodConfiguration (ExcludePeriodConfiguration'),+    newExcludePeriodConfiguration,++    -- ** ExplicitHierarchy+    ExplicitHierarchy (ExplicitHierarchy'),+    newExplicitHierarchy,++    -- ** ExportHiddenFieldsOption+    ExportHiddenFieldsOption (ExportHiddenFieldsOption'),+    newExportHiddenFieldsOption,++    -- ** ExportToCSVOption+    ExportToCSVOption (ExportToCSVOption'),+    newExportToCSVOption,++    -- ** FieldBasedTooltip+    FieldBasedTooltip (FieldBasedTooltip'),+    newFieldBasedTooltip,++    -- ** FieldFolder+    FieldFolder (FieldFolder'),+    newFieldFolder,++    -- ** FieldLabelType+    FieldLabelType (FieldLabelType'),+    newFieldLabelType,++    -- ** FieldSeriesItem+    FieldSeriesItem (FieldSeriesItem'),+    newFieldSeriesItem,++    -- ** FieldSort+    FieldSort (FieldSort'),+    newFieldSort,++    -- ** FieldSortOptions+    FieldSortOptions (FieldSortOptions'),+    newFieldSortOptions,++    -- ** FieldTooltipItem+    FieldTooltipItem (FieldTooltipItem'),+    newFieldTooltipItem,++    -- ** FilledMapAggregatedFieldWells+    FilledMapAggregatedFieldWells (FilledMapAggregatedFieldWells'),+    newFilledMapAggregatedFieldWells,++    -- ** FilledMapConditionalFormatting+    FilledMapConditionalFormatting (FilledMapConditionalFormatting'),+    newFilledMapConditionalFormatting,++    -- ** FilledMapConditionalFormattingOption+    FilledMapConditionalFormattingOption (FilledMapConditionalFormattingOption'),+    newFilledMapConditionalFormattingOption,++    -- ** FilledMapConfiguration+    FilledMapConfiguration (FilledMapConfiguration'),+    newFilledMapConfiguration,++    -- ** FilledMapFieldWells+    FilledMapFieldWells (FilledMapFieldWells'),+    newFilledMapFieldWells,++    -- ** FilledMapShapeConditionalFormatting+    FilledMapShapeConditionalFormatting (FilledMapShapeConditionalFormatting'),+    newFilledMapShapeConditionalFormatting,++    -- ** FilledMapSortConfiguration+    FilledMapSortConfiguration (FilledMapSortConfiguration'),+    newFilledMapSortConfiguration,++    -- ** FilledMapVisual+    FilledMapVisual (FilledMapVisual'),+    newFilledMapVisual,++    -- ** Filter+    Filter (Filter'),+    newFilter,++    -- ** FilterControl+    FilterControl (FilterControl'),+    newFilterControl,++    -- ** FilterDateTimePickerControl+    FilterDateTimePickerControl (FilterDateTimePickerControl'),+    newFilterDateTimePickerControl,++    -- ** FilterDropDownControl+    FilterDropDownControl (FilterDropDownControl'),+    newFilterDropDownControl,++    -- ** FilterGroup+    FilterGroup (FilterGroup'),+    newFilterGroup,++    -- ** FilterListConfiguration+    FilterListConfiguration (FilterListConfiguration'),+    newFilterListConfiguration,++    -- ** FilterListControl+    FilterListControl (FilterListControl'),+    newFilterListControl,++    -- ** FilterOperation+    FilterOperation (FilterOperation'),+    newFilterOperation,++    -- ** FilterOperationSelectedFieldsConfiguration+    FilterOperationSelectedFieldsConfiguration (FilterOperationSelectedFieldsConfiguration'),+    newFilterOperationSelectedFieldsConfiguration,++    -- ** FilterOperationTargetVisualsConfiguration+    FilterOperationTargetVisualsConfiguration (FilterOperationTargetVisualsConfiguration'),+    newFilterOperationTargetVisualsConfiguration,++    -- ** FilterRelativeDateTimeControl+    FilterRelativeDateTimeControl (FilterRelativeDateTimeControl'),+    newFilterRelativeDateTimeControl,++    -- ** FilterScopeConfiguration+    FilterScopeConfiguration (FilterScopeConfiguration'),+    newFilterScopeConfiguration,++    -- ** FilterSelectableValues+    FilterSelectableValues (FilterSelectableValues'),+    newFilterSelectableValues,++    -- ** FilterSliderControl+    FilterSliderControl (FilterSliderControl'),+    newFilterSliderControl,++    -- ** FilterTextAreaControl+    FilterTextAreaControl (FilterTextAreaControl'),+    newFilterTextAreaControl,++    -- ** FilterTextFieldControl+    FilterTextFieldControl (FilterTextFieldControl'),+    newFilterTextFieldControl,++    -- ** Folder+    Folder (Folder'),+    newFolder,++    -- ** FolderMember+    FolderMember (FolderMember'),+    newFolderMember,++    -- ** FolderSearchFilter+    FolderSearchFilter (FolderSearchFilter'),+    newFolderSearchFilter,++    -- ** FolderSummary+    FolderSummary (FolderSummary'),+    newFolderSummary,++    -- ** Font+    Font (Font'),+    newFont,++    -- ** FontConfiguration+    FontConfiguration (FontConfiguration'),+    newFontConfiguration,++    -- ** FontSize+    FontSize (FontSize'),+    newFontSize,++    -- ** FontWeight+    FontWeight (FontWeight'),+    newFontWeight,++    -- ** ForecastComputation+    ForecastComputation (ForecastComputation'),+    newForecastComputation,++    -- ** ForecastConfiguration+    ForecastConfiguration (ForecastConfiguration'),+    newForecastConfiguration,++    -- ** ForecastScenario+    ForecastScenario (ForecastScenario'),+    newForecastScenario,++    -- ** FormatConfiguration+    FormatConfiguration (FormatConfiguration'),+    newFormatConfiguration,++    -- ** FreeFormLayoutCanvasSizeOptions+    FreeFormLayoutCanvasSizeOptions (FreeFormLayoutCanvasSizeOptions'),+    newFreeFormLayoutCanvasSizeOptions,++    -- ** FreeFormLayoutConfiguration+    FreeFormLayoutConfiguration (FreeFormLayoutConfiguration'),+    newFreeFormLayoutConfiguration,++    -- ** FreeFormLayoutElement+    FreeFormLayoutElement (FreeFormLayoutElement'),+    newFreeFormLayoutElement,++    -- ** FreeFormLayoutElementBackgroundStyle+    FreeFormLayoutElementBackgroundStyle (FreeFormLayoutElementBackgroundStyle'),+    newFreeFormLayoutElementBackgroundStyle,++    -- ** FreeFormLayoutElementBorderStyle+    FreeFormLayoutElementBorderStyle (FreeFormLayoutElementBorderStyle'),+    newFreeFormLayoutElementBorderStyle,++    -- ** FreeFormLayoutScreenCanvasSizeOptions+    FreeFormLayoutScreenCanvasSizeOptions (FreeFormLayoutScreenCanvasSizeOptions'),+    newFreeFormLayoutScreenCanvasSizeOptions,++    -- ** FreeFormSectionLayoutConfiguration+    FreeFormSectionLayoutConfiguration (FreeFormSectionLayoutConfiguration'),+    newFreeFormSectionLayoutConfiguration,++    -- ** FunnelChartAggregatedFieldWells+    FunnelChartAggregatedFieldWells (FunnelChartAggregatedFieldWells'),+    newFunnelChartAggregatedFieldWells,++    -- ** FunnelChartConfiguration+    FunnelChartConfiguration (FunnelChartConfiguration'),+    newFunnelChartConfiguration,++    -- ** FunnelChartDataLabelOptions+    FunnelChartDataLabelOptions (FunnelChartDataLabelOptions'),+    newFunnelChartDataLabelOptions,++    -- ** FunnelChartFieldWells+    FunnelChartFieldWells (FunnelChartFieldWells'),+    newFunnelChartFieldWells,++    -- ** FunnelChartSortConfiguration+    FunnelChartSortConfiguration (FunnelChartSortConfiguration'),+    newFunnelChartSortConfiguration,++    -- ** FunnelChartVisual+    FunnelChartVisual (FunnelChartVisual'),+    newFunnelChartVisual,++    -- ** GaugeChartArcConditionalFormatting+    GaugeChartArcConditionalFormatting (GaugeChartArcConditionalFormatting'),+    newGaugeChartArcConditionalFormatting,++    -- ** GaugeChartConditionalFormatting+    GaugeChartConditionalFormatting (GaugeChartConditionalFormatting'),+    newGaugeChartConditionalFormatting,++    -- ** GaugeChartConditionalFormattingOption+    GaugeChartConditionalFormattingOption (GaugeChartConditionalFormattingOption'),+    newGaugeChartConditionalFormattingOption,++    -- ** GaugeChartConfiguration+    GaugeChartConfiguration (GaugeChartConfiguration'),+    newGaugeChartConfiguration,++    -- ** GaugeChartFieldWells+    GaugeChartFieldWells (GaugeChartFieldWells'),+    newGaugeChartFieldWells,++    -- ** GaugeChartOptions+    GaugeChartOptions (GaugeChartOptions'),+    newGaugeChartOptions,++    -- ** GaugeChartPrimaryValueConditionalFormatting+    GaugeChartPrimaryValueConditionalFormatting (GaugeChartPrimaryValueConditionalFormatting'),+    newGaugeChartPrimaryValueConditionalFormatting,++    -- ** GaugeChartVisual+    GaugeChartVisual (GaugeChartVisual'),+    newGaugeChartVisual,++    -- ** GeoSpatialColumnGroup+    GeoSpatialColumnGroup (GeoSpatialColumnGroup'),+    newGeoSpatialColumnGroup,++    -- ** GeospatialCoordinateBounds+    GeospatialCoordinateBounds (GeospatialCoordinateBounds'),+    newGeospatialCoordinateBounds,++    -- ** GeospatialMapAggregatedFieldWells+    GeospatialMapAggregatedFieldWells (GeospatialMapAggregatedFieldWells'),+    newGeospatialMapAggregatedFieldWells,++    -- ** GeospatialMapConfiguration+    GeospatialMapConfiguration (GeospatialMapConfiguration'),+    newGeospatialMapConfiguration,++    -- ** GeospatialMapFieldWells+    GeospatialMapFieldWells (GeospatialMapFieldWells'),+    newGeospatialMapFieldWells,++    -- ** GeospatialMapStyleOptions+    GeospatialMapStyleOptions (GeospatialMapStyleOptions'),+    newGeospatialMapStyleOptions,++    -- ** GeospatialMapVisual+    GeospatialMapVisual (GeospatialMapVisual'),+    newGeospatialMapVisual,++    -- ** GeospatialPointStyleOptions+    GeospatialPointStyleOptions (GeospatialPointStyleOptions'),+    newGeospatialPointStyleOptions,++    -- ** GeospatialWindowOptions+    GeospatialWindowOptions (GeospatialWindowOptions'),+    newGeospatialWindowOptions,++    -- ** GlobalTableBorderOptions+    GlobalTableBorderOptions (GlobalTableBorderOptions'),+    newGlobalTableBorderOptions,++    -- ** GradientColor+    GradientColor (GradientColor'),+    newGradientColor,++    -- ** GradientStop+    GradientStop (GradientStop'),+    newGradientStop,++    -- ** GridLayoutCanvasSizeOptions+    GridLayoutCanvasSizeOptions (GridLayoutCanvasSizeOptions'),+    newGridLayoutCanvasSizeOptions,++    -- ** GridLayoutConfiguration+    GridLayoutConfiguration (GridLayoutConfiguration'),+    newGridLayoutConfiguration,++    -- ** GridLayoutElement+    GridLayoutElement (GridLayoutElement'),+    newGridLayoutElement,++    -- ** GridLayoutScreenCanvasSizeOptions+    GridLayoutScreenCanvasSizeOptions (GridLayoutScreenCanvasSizeOptions'),+    newGridLayoutScreenCanvasSizeOptions,++    -- ** Group+    Group (Group'),+    newGroup,++    -- ** GroupMember+    GroupMember (GroupMember'),+    newGroupMember,++    -- ** GroupSearchFilter+    GroupSearchFilter (GroupSearchFilter'),+    newGroupSearchFilter,++    -- ** GrowthRateComputation+    GrowthRateComputation (GrowthRateComputation'),+    newGrowthRateComputation,++    -- ** GutterStyle+    GutterStyle (GutterStyle'),+    newGutterStyle,++    -- ** HeaderFooterSectionConfiguration+    HeaderFooterSectionConfiguration (HeaderFooterSectionConfiguration'),+    newHeaderFooterSectionConfiguration,++    -- ** HeatMapAggregatedFieldWells+    HeatMapAggregatedFieldWells (HeatMapAggregatedFieldWells'),+    newHeatMapAggregatedFieldWells,++    -- ** HeatMapConfiguration+    HeatMapConfiguration (HeatMapConfiguration'),+    newHeatMapConfiguration,++    -- ** HeatMapFieldWells+    HeatMapFieldWells (HeatMapFieldWells'),+    newHeatMapFieldWells,++    -- ** HeatMapSortConfiguration+    HeatMapSortConfiguration (HeatMapSortConfiguration'),+    newHeatMapSortConfiguration,++    -- ** HeatMapVisual+    HeatMapVisual (HeatMapVisual'),+    newHeatMapVisual,++    -- ** HistogramAggregatedFieldWells+    HistogramAggregatedFieldWells (HistogramAggregatedFieldWells'),+    newHistogramAggregatedFieldWells,++    -- ** HistogramBinOptions+    HistogramBinOptions (HistogramBinOptions'),+    newHistogramBinOptions,++    -- ** HistogramConfiguration+    HistogramConfiguration (HistogramConfiguration'),+    newHistogramConfiguration,++    -- ** HistogramFieldWells+    HistogramFieldWells (HistogramFieldWells'),+    newHistogramFieldWells,++    -- ** HistogramVisual+    HistogramVisual (HistogramVisual'),+    newHistogramVisual,++    -- ** IAMPolicyAssignment+    IAMPolicyAssignment (IAMPolicyAssignment'),+    newIAMPolicyAssignment,++    -- ** IAMPolicyAssignmentSummary+    IAMPolicyAssignmentSummary (IAMPolicyAssignmentSummary'),+    newIAMPolicyAssignmentSummary,++    -- ** Ingestion+    Ingestion (Ingestion'),+    newIngestion,++    -- ** InputColumn+    InputColumn (InputColumn'),+    newInputColumn,++    -- ** InsightConfiguration+    InsightConfiguration (InsightConfiguration'),+    newInsightConfiguration,++    -- ** InsightVisual+    InsightVisual (InsightVisual'),+    newInsightVisual,++    -- ** IntegerDefaultValues+    IntegerDefaultValues (IntegerDefaultValues'),+    newIntegerDefaultValues,++    -- ** IntegerParameter+    IntegerParameter (IntegerParameter'),+    newIntegerParameter,++    -- ** IntegerParameterDeclaration+    IntegerParameterDeclaration (IntegerParameterDeclaration'),+    newIntegerParameterDeclaration,++    -- ** IntegerValueWhenUnsetConfiguration+    IntegerValueWhenUnsetConfiguration (IntegerValueWhenUnsetConfiguration'),+    newIntegerValueWhenUnsetConfiguration,++    -- ** ItemsLimitConfiguration+    ItemsLimitConfiguration (ItemsLimitConfiguration'),+    newItemsLimitConfiguration,++    -- ** JiraParameters+    JiraParameters (JiraParameters'),+    newJiraParameters,++    -- ** JoinInstruction+    JoinInstruction (JoinInstruction'),+    newJoinInstruction,++    -- ** JoinKeyProperties+    JoinKeyProperties (JoinKeyProperties'),+    newJoinKeyProperties,++    -- ** KPIConditionalFormatting+    KPIConditionalFormatting (KPIConditionalFormatting'),+    newKPIConditionalFormatting,++    -- ** KPIConditionalFormattingOption+    KPIConditionalFormattingOption (KPIConditionalFormattingOption'),+    newKPIConditionalFormattingOption,++    -- ** KPIConfiguration+    KPIConfiguration (KPIConfiguration'),+    newKPIConfiguration,++    -- ** KPIFieldWells+    KPIFieldWells (KPIFieldWells'),+    newKPIFieldWells,++    -- ** KPIOptions+    KPIOptions (KPIOptions'),+    newKPIOptions,++    -- ** KPIPrimaryValueConditionalFormatting+    KPIPrimaryValueConditionalFormatting (KPIPrimaryValueConditionalFormatting'),+    newKPIPrimaryValueConditionalFormatting,++    -- ** KPIProgressBarConditionalFormatting+    KPIProgressBarConditionalFormatting (KPIProgressBarConditionalFormatting'),+    newKPIProgressBarConditionalFormatting,++    -- ** KPISortConfiguration+    KPISortConfiguration (KPISortConfiguration'),+    newKPISortConfiguration,++    -- ** KPIVisual+    KPIVisual (KPIVisual'),+    newKPIVisual,++    -- ** LabelOptions+    LabelOptions (LabelOptions'),+    newLabelOptions,++    -- ** Layout+    Layout (Layout'),+    newLayout,++    -- ** LayoutConfiguration+    LayoutConfiguration (LayoutConfiguration'),+    newLayoutConfiguration,++    -- ** LegendOptions+    LegendOptions (LegendOptions'),+    newLegendOptions,++    -- ** LineChartAggregatedFieldWells+    LineChartAggregatedFieldWells (LineChartAggregatedFieldWells'),+    newLineChartAggregatedFieldWells,++    -- ** LineChartConfiguration+    LineChartConfiguration (LineChartConfiguration'),+    newLineChartConfiguration,++    -- ** LineChartDefaultSeriesSettings+    LineChartDefaultSeriesSettings (LineChartDefaultSeriesSettings'),+    newLineChartDefaultSeriesSettings,++    -- ** LineChartFieldWells+    LineChartFieldWells (LineChartFieldWells'),+    newLineChartFieldWells,++    -- ** LineChartLineStyleSettings+    LineChartLineStyleSettings (LineChartLineStyleSettings'),+    newLineChartLineStyleSettings,++    -- ** LineChartMarkerStyleSettings+    LineChartMarkerStyleSettings (LineChartMarkerStyleSettings'),+    newLineChartMarkerStyleSettings,++    -- ** LineChartSeriesSettings+    LineChartSeriesSettings (LineChartSeriesSettings'),+    newLineChartSeriesSettings,++    -- ** LineChartSortConfiguration+    LineChartSortConfiguration (LineChartSortConfiguration'),+    newLineChartSortConfiguration,++    -- ** LineChartVisual+    LineChartVisual (LineChartVisual'),+    newLineChartVisual,++    -- ** LineSeriesAxisDisplayOptions+    LineSeriesAxisDisplayOptions (LineSeriesAxisDisplayOptions'),+    newLineSeriesAxisDisplayOptions,++    -- ** LinkSharingConfiguration+    LinkSharingConfiguration (LinkSharingConfiguration'),+    newLinkSharingConfiguration,++    -- ** ListControlDisplayOptions+    ListControlDisplayOptions (ListControlDisplayOptions'),+    newListControlDisplayOptions,++    -- ** ListControlSearchOptions+    ListControlSearchOptions (ListControlSearchOptions'),+    newListControlSearchOptions,++    -- ** ListControlSelectAllOptions+    ListControlSelectAllOptions (ListControlSelectAllOptions'),+    newListControlSelectAllOptions,++    -- ** LoadingAnimation+    LoadingAnimation (LoadingAnimation'),+    newLoadingAnimation,++    -- ** LocalNavigationConfiguration+    LocalNavigationConfiguration (LocalNavigationConfiguration'),+    newLocalNavigationConfiguration,++    -- ** LogicalTable+    LogicalTable (LogicalTable'),+    newLogicalTable,++    -- ** LogicalTableSource+    LogicalTableSource (LogicalTableSource'),+    newLogicalTableSource,++    -- ** LongFormatText+    LongFormatText (LongFormatText'),+    newLongFormatText,++    -- ** ManifestFileLocation+    ManifestFileLocation (ManifestFileLocation'),+    newManifestFileLocation,++    -- ** MarginStyle+    MarginStyle (MarginStyle'),+    newMarginStyle,++    -- ** MariaDbParameters+    MariaDbParameters (MariaDbParameters'),+    newMariaDbParameters,++    -- ** MaximumLabelType+    MaximumLabelType (MaximumLabelType'),+    newMaximumLabelType,++    -- ** MaximumMinimumComputation+    MaximumMinimumComputation (MaximumMinimumComputation'),+    newMaximumMinimumComputation,++    -- ** MeasureField+    MeasureField (MeasureField'),+    newMeasureField,++    -- ** MemberIdArnPair+    MemberIdArnPair (MemberIdArnPair'),+    newMemberIdArnPair,++    -- ** MetricComparisonComputation+    MetricComparisonComputation (MetricComparisonComputation'),+    newMetricComparisonComputation,++    -- ** MinimumLabelType+    MinimumLabelType (MinimumLabelType'),+    newMinimumLabelType,++    -- ** MissingDataConfiguration+    MissingDataConfiguration (MissingDataConfiguration'),+    newMissingDataConfiguration,++    -- ** MySqlParameters+    MySqlParameters (MySqlParameters'),+    newMySqlParameters,++    -- ** NamespaceError+    NamespaceError (NamespaceError'),+    newNamespaceError,++    -- ** NamespaceInfoV2+    NamespaceInfoV2 (NamespaceInfoV2'),+    newNamespaceInfoV2,++    -- ** NegativeValueConfiguration+    NegativeValueConfiguration (NegativeValueConfiguration'),+    newNegativeValueConfiguration,++    -- ** NullValueFormatConfiguration+    NullValueFormatConfiguration (NullValueFormatConfiguration'),+    newNullValueFormatConfiguration,++    -- ** NumberDisplayFormatConfiguration+    NumberDisplayFormatConfiguration (NumberDisplayFormatConfiguration'),+    newNumberDisplayFormatConfiguration,++    -- ** NumberFormatConfiguration+    NumberFormatConfiguration (NumberFormatConfiguration'),+    newNumberFormatConfiguration,++    -- ** NumericAxisOptions+    NumericAxisOptions (NumericAxisOptions'),+    newNumericAxisOptions,++    -- ** NumericEqualityDrillDownFilter+    NumericEqualityDrillDownFilter (NumericEqualityDrillDownFilter'),+    newNumericEqualityDrillDownFilter,++    -- ** NumericEqualityFilter+    NumericEqualityFilter (NumericEqualityFilter'),+    newNumericEqualityFilter,++    -- ** NumericFormatConfiguration+    NumericFormatConfiguration (NumericFormatConfiguration'),+    newNumericFormatConfiguration,++    -- ** NumericRangeFilter+    NumericRangeFilter (NumericRangeFilter'),+    newNumericRangeFilter,++    -- ** NumericRangeFilterValue+    NumericRangeFilterValue (NumericRangeFilterValue'),+    newNumericRangeFilterValue,++    -- ** NumericSeparatorConfiguration+    NumericSeparatorConfiguration (NumericSeparatorConfiguration'),+    newNumericSeparatorConfiguration,++    -- ** NumericalAggregationFunction+    NumericalAggregationFunction (NumericalAggregationFunction'),+    newNumericalAggregationFunction,++    -- ** NumericalDimensionField+    NumericalDimensionField (NumericalDimensionField'),+    newNumericalDimensionField,++    -- ** NumericalMeasureField+    NumericalMeasureField (NumericalMeasureField'),+    newNumericalMeasureField,++    -- ** OracleParameters+    OracleParameters (OracleParameters'),+    newOracleParameters,++    -- ** OutputColumn+    OutputColumn (OutputColumn'),+    newOutputColumn,++    -- ** PaginationConfiguration+    PaginationConfiguration (PaginationConfiguration'),+    newPaginationConfiguration,++    -- ** PanelConfiguration+    PanelConfiguration (PanelConfiguration'),+    newPanelConfiguration,++    -- ** PanelTitleOptions+    PanelTitleOptions (PanelTitleOptions'),+    newPanelTitleOptions,++    -- ** ParameterControl+    ParameterControl (ParameterControl'),+    newParameterControl,++    -- ** ParameterDateTimePickerControl+    ParameterDateTimePickerControl (ParameterDateTimePickerControl'),+    newParameterDateTimePickerControl,++    -- ** ParameterDeclaration+    ParameterDeclaration (ParameterDeclaration'),+    newParameterDeclaration,++    -- ** ParameterDropDownControl+    ParameterDropDownControl (ParameterDropDownControl'),+    newParameterDropDownControl,++    -- ** ParameterListControl+    ParameterListControl (ParameterListControl'),+    newParameterListControl,++    -- ** ParameterSelectableValues+    ParameterSelectableValues (ParameterSelectableValues'),+    newParameterSelectableValues,++    -- ** ParameterSliderControl+    ParameterSliderControl (ParameterSliderControl'),+    newParameterSliderControl,++    -- ** ParameterTextAreaControl+    ParameterTextAreaControl (ParameterTextAreaControl'),+    newParameterTextAreaControl,++    -- ** ParameterTextFieldControl+    ParameterTextFieldControl (ParameterTextFieldControl'),+    newParameterTextFieldControl,++    -- ** Parameters+    Parameters (Parameters'),+    newParameters,++    -- ** PercentVisibleRange+    PercentVisibleRange (PercentVisibleRange'),+    newPercentVisibleRange,++    -- ** PercentageDisplayFormatConfiguration+    PercentageDisplayFormatConfiguration (PercentageDisplayFormatConfiguration'),+    newPercentageDisplayFormatConfiguration,++    -- ** PercentileAggregation+    PercentileAggregation (PercentileAggregation'),+    newPercentileAggregation,++    -- ** PeriodOverPeriodComputation+    PeriodOverPeriodComputation (PeriodOverPeriodComputation'),+    newPeriodOverPeriodComputation,++    -- ** PeriodToDateComputation+    PeriodToDateComputation (PeriodToDateComputation'),+    newPeriodToDateComputation,++    -- ** PhysicalTable+    PhysicalTable (PhysicalTable'),+    newPhysicalTable,++    -- ** PieChartAggregatedFieldWells+    PieChartAggregatedFieldWells (PieChartAggregatedFieldWells'),+    newPieChartAggregatedFieldWells,++    -- ** PieChartConfiguration+    PieChartConfiguration (PieChartConfiguration'),+    newPieChartConfiguration,++    -- ** PieChartFieldWells+    PieChartFieldWells (PieChartFieldWells'),+    newPieChartFieldWells,++    -- ** PieChartSortConfiguration+    PieChartSortConfiguration (PieChartSortConfiguration'),+    newPieChartSortConfiguration,++    -- ** PieChartVisual+    PieChartVisual (PieChartVisual'),+    newPieChartVisual,++    -- ** PivotFieldSortOptions+    PivotFieldSortOptions (PivotFieldSortOptions'),+    newPivotFieldSortOptions,++    -- ** PivotTableAggregatedFieldWells+    PivotTableAggregatedFieldWells (PivotTableAggregatedFieldWells'),+    newPivotTableAggregatedFieldWells,++    -- ** PivotTableCellConditionalFormatting+    PivotTableCellConditionalFormatting (PivotTableCellConditionalFormatting'),+    newPivotTableCellConditionalFormatting,++    -- ** PivotTableConditionalFormatting+    PivotTableConditionalFormatting (PivotTableConditionalFormatting'),+    newPivotTableConditionalFormatting,++    -- ** PivotTableConditionalFormattingOption+    PivotTableConditionalFormattingOption (PivotTableConditionalFormattingOption'),+    newPivotTableConditionalFormattingOption,++    -- ** PivotTableConditionalFormattingScope+    PivotTableConditionalFormattingScope (PivotTableConditionalFormattingScope'),+    newPivotTableConditionalFormattingScope,++    -- ** PivotTableConfiguration+    PivotTableConfiguration (PivotTableConfiguration'),+    newPivotTableConfiguration,++    -- ** PivotTableDataPathOption+    PivotTableDataPathOption (PivotTableDataPathOption'),+    newPivotTableDataPathOption,++    -- ** PivotTableFieldOption+    PivotTableFieldOption (PivotTableFieldOption'),+    newPivotTableFieldOption,++    -- ** PivotTableFieldOptions+    PivotTableFieldOptions (PivotTableFieldOptions'),+    newPivotTableFieldOptions,++    -- ** PivotTableFieldSubtotalOptions+    PivotTableFieldSubtotalOptions (PivotTableFieldSubtotalOptions'),+    newPivotTableFieldSubtotalOptions,++    -- ** PivotTableFieldWells+    PivotTableFieldWells (PivotTableFieldWells'),+    newPivotTableFieldWells,++    -- ** PivotTableOptions+    PivotTableOptions (PivotTableOptions'),+    newPivotTableOptions,++    -- ** PivotTablePaginatedReportOptions+    PivotTablePaginatedReportOptions (PivotTablePaginatedReportOptions'),+    newPivotTablePaginatedReportOptions,++    -- ** PivotTableSortBy+    PivotTableSortBy (PivotTableSortBy'),+    newPivotTableSortBy,++    -- ** PivotTableSortConfiguration+    PivotTableSortConfiguration (PivotTableSortConfiguration'),+    newPivotTableSortConfiguration,++    -- ** PivotTableTotalOptions+    PivotTableTotalOptions (PivotTableTotalOptions'),+    newPivotTableTotalOptions,++    -- ** PivotTableVisual+    PivotTableVisual (PivotTableVisual'),+    newPivotTableVisual,++    -- ** PivotTotalOptions+    PivotTotalOptions (PivotTotalOptions'),+    newPivotTotalOptions,++    -- ** PostgreSqlParameters+    PostgreSqlParameters (PostgreSqlParameters'),+    newPostgreSqlParameters,++    -- ** PredefinedHierarchy+    PredefinedHierarchy (PredefinedHierarchy'),+    newPredefinedHierarchy,++    -- ** PrestoParameters+    PrestoParameters (PrestoParameters'),+    newPrestoParameters,++    -- ** ProgressBarOptions+    ProgressBarOptions (ProgressBarOptions'),+    newProgressBarOptions,++    -- ** ProjectOperation+    ProjectOperation (ProjectOperation'),+    newProjectOperation,++    -- ** QueueInfo+    QueueInfo (QueueInfo'),+    newQueueInfo,++    -- ** RangeEndsLabelType+    RangeEndsLabelType (RangeEndsLabelType'),+    newRangeEndsLabelType,++    -- ** RdsParameters+    RdsParameters (RdsParameters'),+    newRdsParameters,++    -- ** RedshiftParameters+    RedshiftParameters (RedshiftParameters'),+    newRedshiftParameters,++    -- ** ReferenceLine+    ReferenceLine (ReferenceLine'),+    newReferenceLine,++    -- ** ReferenceLineCustomLabelConfiguration+    ReferenceLineCustomLabelConfiguration (ReferenceLineCustomLabelConfiguration'),+    newReferenceLineCustomLabelConfiguration,++    -- ** ReferenceLineDataConfiguration+    ReferenceLineDataConfiguration (ReferenceLineDataConfiguration'),+    newReferenceLineDataConfiguration,++    -- ** ReferenceLineDynamicDataConfiguration+    ReferenceLineDynamicDataConfiguration (ReferenceLineDynamicDataConfiguration'),+    newReferenceLineDynamicDataConfiguration,++    -- ** ReferenceLineLabelConfiguration+    ReferenceLineLabelConfiguration (ReferenceLineLabelConfiguration'),+    newReferenceLineLabelConfiguration,++    -- ** ReferenceLineStaticDataConfiguration+    ReferenceLineStaticDataConfiguration (ReferenceLineStaticDataConfiguration'),+    newReferenceLineStaticDataConfiguration,++    -- ** ReferenceLineStyleConfiguration+    ReferenceLineStyleConfiguration (ReferenceLineStyleConfiguration'),+    newReferenceLineStyleConfiguration,++    -- ** ReferenceLineValueLabelConfiguration+    ReferenceLineValueLabelConfiguration (ReferenceLineValueLabelConfiguration'),+    newReferenceLineValueLabelConfiguration,++    -- ** RegisteredUserDashboardEmbeddingConfiguration+    RegisteredUserDashboardEmbeddingConfiguration (RegisteredUserDashboardEmbeddingConfiguration'),+    newRegisteredUserDashboardEmbeddingConfiguration,++    -- ** RegisteredUserDashboardVisualEmbeddingConfiguration+    RegisteredUserDashboardVisualEmbeddingConfiguration (RegisteredUserDashboardVisualEmbeddingConfiguration'),+    newRegisteredUserDashboardVisualEmbeddingConfiguration,++    -- ** RegisteredUserEmbeddingExperienceConfiguration+    RegisteredUserEmbeddingExperienceConfiguration (RegisteredUserEmbeddingExperienceConfiguration'),+    newRegisteredUserEmbeddingExperienceConfiguration,++    -- ** RegisteredUserQSearchBarEmbeddingConfiguration+    RegisteredUserQSearchBarEmbeddingConfiguration (RegisteredUserQSearchBarEmbeddingConfiguration'),+    newRegisteredUserQSearchBarEmbeddingConfiguration,++    -- ** RegisteredUserQuickSightConsoleEmbeddingConfiguration+    RegisteredUserQuickSightConsoleEmbeddingConfiguration (RegisteredUserQuickSightConsoleEmbeddingConfiguration'),+    newRegisteredUserQuickSightConsoleEmbeddingConfiguration,++    -- ** RelationalTable+    RelationalTable (RelationalTable'),+    newRelationalTable,++    -- ** RelativeDateTimeControlDisplayOptions+    RelativeDateTimeControlDisplayOptions (RelativeDateTimeControlDisplayOptions'),+    newRelativeDateTimeControlDisplayOptions,++    -- ** RelativeDatesFilter+    RelativeDatesFilter (RelativeDatesFilter'),+    newRelativeDatesFilter,++    -- ** RenameColumnOperation+    RenameColumnOperation (RenameColumnOperation'),+    newRenameColumnOperation,++    -- ** ResourcePermission+    ResourcePermission (ResourcePermission'),+    newResourcePermission,++    -- ** RollingDateConfiguration+    RollingDateConfiguration (RollingDateConfiguration'),+    newRollingDateConfiguration,++    -- ** RowAlternateColorOptions+    RowAlternateColorOptions (RowAlternateColorOptions'),+    newRowAlternateColorOptions,++    -- ** RowInfo+    RowInfo (RowInfo'),+    newRowInfo,++    -- ** RowLevelPermissionDataSet+    RowLevelPermissionDataSet (RowLevelPermissionDataSet'),+    newRowLevelPermissionDataSet,++    -- ** RowLevelPermissionTagConfiguration+    RowLevelPermissionTagConfiguration (RowLevelPermissionTagConfiguration'),+    newRowLevelPermissionTagConfiguration,++    -- ** RowLevelPermissionTagRule+    RowLevelPermissionTagRule (RowLevelPermissionTagRule'),+    newRowLevelPermissionTagRule,++    -- ** S3Parameters+    S3Parameters (S3Parameters'),+    newS3Parameters,++    -- ** S3Source+    S3Source (S3Source'),+    newS3Source,++    -- ** SameSheetTargetVisualConfiguration+    SameSheetTargetVisualConfiguration (SameSheetTargetVisualConfiguration'),+    newSameSheetTargetVisualConfiguration,++    -- ** SankeyDiagramAggregatedFieldWells+    SankeyDiagramAggregatedFieldWells (SankeyDiagramAggregatedFieldWells'),+    newSankeyDiagramAggregatedFieldWells,++    -- ** SankeyDiagramChartConfiguration+    SankeyDiagramChartConfiguration (SankeyDiagramChartConfiguration'),+    newSankeyDiagramChartConfiguration,++    -- ** SankeyDiagramFieldWells+    SankeyDiagramFieldWells (SankeyDiagramFieldWells'),+    newSankeyDiagramFieldWells,++    -- ** SankeyDiagramSortConfiguration+    SankeyDiagramSortConfiguration (SankeyDiagramSortConfiguration'),+    newSankeyDiagramSortConfiguration,++    -- ** SankeyDiagramVisual+    SankeyDiagramVisual (SankeyDiagramVisual'),+    newSankeyDiagramVisual,++    -- ** ScatterPlotCategoricallyAggregatedFieldWells+    ScatterPlotCategoricallyAggregatedFieldWells (ScatterPlotCategoricallyAggregatedFieldWells'),+    newScatterPlotCategoricallyAggregatedFieldWells,++    -- ** ScatterPlotConfiguration+    ScatterPlotConfiguration (ScatterPlotConfiguration'),+    newScatterPlotConfiguration,++    -- ** ScatterPlotFieldWells+    ScatterPlotFieldWells (ScatterPlotFieldWells'),+    newScatterPlotFieldWells,++    -- ** ScatterPlotUnaggregatedFieldWells+    ScatterPlotUnaggregatedFieldWells (ScatterPlotUnaggregatedFieldWells'),+    newScatterPlotUnaggregatedFieldWells,++    -- ** ScatterPlotVisual+    ScatterPlotVisual (ScatterPlotVisual'),+    newScatterPlotVisual,++    -- ** ScrollBarOptions+    ScrollBarOptions (ScrollBarOptions'),+    newScrollBarOptions,++    -- ** SecondaryValueOptions+    SecondaryValueOptions (SecondaryValueOptions'),+    newSecondaryValueOptions,++    -- ** SectionAfterPageBreak+    SectionAfterPageBreak (SectionAfterPageBreak'),+    newSectionAfterPageBreak,++    -- ** SectionBasedLayoutCanvasSizeOptions+    SectionBasedLayoutCanvasSizeOptions (SectionBasedLayoutCanvasSizeOptions'),+    newSectionBasedLayoutCanvasSizeOptions,++    -- ** SectionBasedLayoutConfiguration+    SectionBasedLayoutConfiguration (SectionBasedLayoutConfiguration'),+    newSectionBasedLayoutConfiguration,++    -- ** SectionBasedLayoutPaperCanvasSizeOptions+    SectionBasedLayoutPaperCanvasSizeOptions (SectionBasedLayoutPaperCanvasSizeOptions'),+    newSectionBasedLayoutPaperCanvasSizeOptions,++    -- ** SectionLayoutConfiguration+    SectionLayoutConfiguration (SectionLayoutConfiguration'),+    newSectionLayoutConfiguration,++    -- ** SectionPageBreakConfiguration+    SectionPageBreakConfiguration (SectionPageBreakConfiguration'),+    newSectionPageBreakConfiguration,++    -- ** SectionStyle+    SectionStyle (SectionStyle'),+    newSectionStyle,++    -- ** SelectedSheetsFilterScopeConfiguration+    SelectedSheetsFilterScopeConfiguration (SelectedSheetsFilterScopeConfiguration'),+    newSelectedSheetsFilterScopeConfiguration,++    -- ** SeriesItem+    SeriesItem (SeriesItem'),+    newSeriesItem,++    -- ** ServiceNowParameters+    ServiceNowParameters (ServiceNowParameters'),+    newServiceNowParameters,++    -- ** SessionTag+    SessionTag (SessionTag'),+    newSessionTag,++    -- ** SetParameterValueConfiguration+    SetParameterValueConfiguration (SetParameterValueConfiguration'),+    newSetParameterValueConfiguration,++    -- ** ShapeConditionalFormat+    ShapeConditionalFormat (ShapeConditionalFormat'),+    newShapeConditionalFormat,++    -- ** Sheet+    Sheet (Sheet'),+    newSheet,++    -- ** SheetControlLayout+    SheetControlLayout (SheetControlLayout'),+    newSheetControlLayout,++    -- ** SheetControlLayoutConfiguration+    SheetControlLayoutConfiguration (SheetControlLayoutConfiguration'),+    newSheetControlLayoutConfiguration,++    -- ** SheetControlsOption+    SheetControlsOption (SheetControlsOption'),+    newSheetControlsOption,++    -- ** SheetDefinition+    SheetDefinition (SheetDefinition'),+    newSheetDefinition,++    -- ** SheetElementConfigurationOverrides+    SheetElementConfigurationOverrides (SheetElementConfigurationOverrides'),+    newSheetElementConfigurationOverrides,++    -- ** SheetElementRenderingRule+    SheetElementRenderingRule (SheetElementRenderingRule'),+    newSheetElementRenderingRule,++    -- ** SheetStyle+    SheetStyle (SheetStyle'),+    newSheetStyle,++    -- ** SheetTextBox+    SheetTextBox (SheetTextBox'),+    newSheetTextBox,++    -- ** SheetVisualScopingConfiguration+    SheetVisualScopingConfiguration (SheetVisualScopingConfiguration'),+    newSheetVisualScopingConfiguration,++    -- ** ShortFormatText+    ShortFormatText (ShortFormatText'),+    newShortFormatText,++    -- ** SignupResponse+    SignupResponse (SignupResponse'),+    newSignupResponse,++    -- ** SimpleClusterMarker+    SimpleClusterMarker (SimpleClusterMarker'),+    newSimpleClusterMarker,++    -- ** SliderControlDisplayOptions+    SliderControlDisplayOptions (SliderControlDisplayOptions'),+    newSliderControlDisplayOptions,++    -- ** SmallMultiplesOptions+    SmallMultiplesOptions (SmallMultiplesOptions'),+    newSmallMultiplesOptions,++    -- ** SnowflakeParameters+    SnowflakeParameters (SnowflakeParameters'),+    newSnowflakeParameters,++    -- ** Spacing+    Spacing (Spacing'),+    newSpacing,++    -- ** SparkParameters+    SparkParameters (SparkParameters'),+    newSparkParameters,++    -- ** SqlServerParameters+    SqlServerParameters (SqlServerParameters'),+    newSqlServerParameters,++    -- ** SslProperties+    SslProperties (SslProperties'),+    newSslProperties,++    -- ** StringDefaultValues+    StringDefaultValues (StringDefaultValues'),+    newStringDefaultValues,++    -- ** StringFormatConfiguration+    StringFormatConfiguration (StringFormatConfiguration'),+    newStringFormatConfiguration,++    -- ** StringParameter+    StringParameter (StringParameter'),+    newStringParameter,++    -- ** StringParameterDeclaration+    StringParameterDeclaration (StringParameterDeclaration'),+    newStringParameterDeclaration,++    -- ** StringValueWhenUnsetConfiguration+    StringValueWhenUnsetConfiguration (StringValueWhenUnsetConfiguration'),+    newStringValueWhenUnsetConfiguration,++    -- ** SubtotalOptions+    SubtotalOptions (SubtotalOptions'),+    newSubtotalOptions,++    -- ** TableAggregatedFieldWells+    TableAggregatedFieldWells (TableAggregatedFieldWells'),+    newTableAggregatedFieldWells,++    -- ** TableBorderOptions+    TableBorderOptions (TableBorderOptions'),+    newTableBorderOptions,++    -- ** TableCellConditionalFormatting+    TableCellConditionalFormatting (TableCellConditionalFormatting'),+    newTableCellConditionalFormatting,++    -- ** TableCellImageSizingConfiguration+    TableCellImageSizingConfiguration (TableCellImageSizingConfiguration'),+    newTableCellImageSizingConfiguration,++    -- ** TableCellStyle+    TableCellStyle (TableCellStyle'),+    newTableCellStyle,++    -- ** TableConditionalFormatting+    TableConditionalFormatting (TableConditionalFormatting'),+    newTableConditionalFormatting,++    -- ** TableConditionalFormattingOption+    TableConditionalFormattingOption (TableConditionalFormattingOption'),+    newTableConditionalFormattingOption,++    -- ** TableConfiguration+    TableConfiguration (TableConfiguration'),+    newTableConfiguration,++    -- ** TableFieldCustomIconContent+    TableFieldCustomIconContent (TableFieldCustomIconContent'),+    newTableFieldCustomIconContent,++    -- ** TableFieldCustomTextContent+    TableFieldCustomTextContent (TableFieldCustomTextContent'),+    newTableFieldCustomTextContent,++    -- ** TableFieldImageConfiguration+    TableFieldImageConfiguration (TableFieldImageConfiguration'),+    newTableFieldImageConfiguration,++    -- ** TableFieldLinkConfiguration+    TableFieldLinkConfiguration (TableFieldLinkConfiguration'),+    newTableFieldLinkConfiguration,++    -- ** TableFieldLinkContentConfiguration+    TableFieldLinkContentConfiguration (TableFieldLinkContentConfiguration'),+    newTableFieldLinkContentConfiguration,++    -- ** TableFieldOption+    TableFieldOption (TableFieldOption'),+    newTableFieldOption,++    -- ** TableFieldOptions+    TableFieldOptions (TableFieldOptions'),+    newTableFieldOptions,++    -- ** TableFieldURLConfiguration+    TableFieldURLConfiguration (TableFieldURLConfiguration'),+    newTableFieldURLConfiguration,++    -- ** TableFieldWells+    TableFieldWells (TableFieldWells'),+    newTableFieldWells,++    -- ** TableOptions+    TableOptions (TableOptions'),+    newTableOptions,++    -- ** TablePaginatedReportOptions+    TablePaginatedReportOptions (TablePaginatedReportOptions'),+    newTablePaginatedReportOptions,++    -- ** TableRowConditionalFormatting+    TableRowConditionalFormatting (TableRowConditionalFormatting'),+    newTableRowConditionalFormatting,++    -- ** TableSideBorderOptions+    TableSideBorderOptions (TableSideBorderOptions'),+    newTableSideBorderOptions,++    -- ** TableSortConfiguration+    TableSortConfiguration (TableSortConfiguration'),+    newTableSortConfiguration,++    -- ** TableUnaggregatedFieldWells+    TableUnaggregatedFieldWells (TableUnaggregatedFieldWells'),+    newTableUnaggregatedFieldWells,++    -- ** TableVisual+    TableVisual (TableVisual'),+    newTableVisual,++    -- ** Tag+    Tag (Tag'),+    newTag,++    -- ** TagColumnOperation+    TagColumnOperation (TagColumnOperation'),+    newTagColumnOperation,++    -- ** Template+    Template (Template'),+    newTemplate,++    -- ** TemplateAlias+    TemplateAlias (TemplateAlias'),+    newTemplateAlias,++    -- ** TemplateError+    TemplateError (TemplateError'),+    newTemplateError,++    -- ** TemplateSourceAnalysis+    TemplateSourceAnalysis (TemplateSourceAnalysis'),+    newTemplateSourceAnalysis,++    -- ** TemplateSourceEntity+    TemplateSourceEntity (TemplateSourceEntity'),+    newTemplateSourceEntity,++    -- ** TemplateSourceTemplate+    TemplateSourceTemplate (TemplateSourceTemplate'),+    newTemplateSourceTemplate,++    -- ** TemplateSummary+    TemplateSummary (TemplateSummary'),+    newTemplateSummary,++    -- ** TemplateVersion+    TemplateVersion (TemplateVersion'),+    newTemplateVersion,++    -- ** TemplateVersionDefinition+    TemplateVersionDefinition (TemplateVersionDefinition'),+    newTemplateVersionDefinition,++    -- ** TemplateVersionSummary+    TemplateVersionSummary (TemplateVersionSummary'),+    newTemplateVersionSummary,++    -- ** TeradataParameters+    TeradataParameters (TeradataParameters'),+    newTeradataParameters,++    -- ** TextAreaControlDisplayOptions+    TextAreaControlDisplayOptions (TextAreaControlDisplayOptions'),+    newTextAreaControlDisplayOptions,++    -- ** TextConditionalFormat+    TextConditionalFormat (TextConditionalFormat'),+    newTextConditionalFormat,++    -- ** TextControlPlaceholderOptions+    TextControlPlaceholderOptions (TextControlPlaceholderOptions'),+    newTextControlPlaceholderOptions,++    -- ** TextFieldControlDisplayOptions+    TextFieldControlDisplayOptions (TextFieldControlDisplayOptions'),+    newTextFieldControlDisplayOptions,++    -- ** Theme+    Theme (Theme'),+    newTheme,++    -- ** ThemeAlias+    ThemeAlias (ThemeAlias'),+    newThemeAlias,++    -- ** ThemeConfiguration+    ThemeConfiguration (ThemeConfiguration'),+    newThemeConfiguration,++    -- ** ThemeError+    ThemeError (ThemeError'),+    newThemeError,++    -- ** ThemeSummary+    ThemeSummary (ThemeSummary'),+    newThemeSummary,++    -- ** ThemeVersion+    ThemeVersion (ThemeVersion'),+    newThemeVersion,++    -- ** ThemeVersionSummary+    ThemeVersionSummary (ThemeVersionSummary'),+    newThemeVersionSummary,++    -- ** ThousandSeparatorOptions+    ThousandSeparatorOptions (ThousandSeparatorOptions'),+    newThousandSeparatorOptions,++    -- ** TileLayoutStyle+    TileLayoutStyle (TileLayoutStyle'),+    newTileLayoutStyle,++    -- ** TileStyle+    TileStyle (TileStyle'),+    newTileStyle,++    -- ** TimeBasedForecastProperties+    TimeBasedForecastProperties (TimeBasedForecastProperties'),+    newTimeBasedForecastProperties,++    -- ** TimeEqualityFilter+    TimeEqualityFilter (TimeEqualityFilter'),+    newTimeEqualityFilter,++    -- ** TimeRangeDrillDownFilter+    TimeRangeDrillDownFilter (TimeRangeDrillDownFilter'),+    newTimeRangeDrillDownFilter,++    -- ** TimeRangeFilter+    TimeRangeFilter (TimeRangeFilter'),+    newTimeRangeFilter,++    -- ** TimeRangeFilterValue+    TimeRangeFilterValue (TimeRangeFilterValue'),+    newTimeRangeFilterValue,++    -- ** TooltipItem+    TooltipItem (TooltipItem'),+    newTooltipItem,++    -- ** TooltipOptions+    TooltipOptions (TooltipOptions'),+    newTooltipOptions,++    -- ** TopBottomFilter+    TopBottomFilter (TopBottomFilter'),+    newTopBottomFilter,++    -- ** TopBottomMoversComputation+    TopBottomMoversComputation (TopBottomMoversComputation'),+    newTopBottomMoversComputation,++    -- ** TopBottomRankedComputation+    TopBottomRankedComputation (TopBottomRankedComputation'),+    newTopBottomRankedComputation,++    -- ** TotalAggregationComputation+    TotalAggregationComputation (TotalAggregationComputation'),+    newTotalAggregationComputation,++    -- ** TotalOptions+    TotalOptions (TotalOptions'),+    newTotalOptions,++    -- ** TransformOperation+    TransformOperation (TransformOperation'),+    newTransformOperation,++    -- ** TreeMapAggregatedFieldWells+    TreeMapAggregatedFieldWells (TreeMapAggregatedFieldWells'),+    newTreeMapAggregatedFieldWells,++    -- ** TreeMapConfiguration+    TreeMapConfiguration (TreeMapConfiguration'),+    newTreeMapConfiguration,++    -- ** TreeMapFieldWells+    TreeMapFieldWells (TreeMapFieldWells'),+    newTreeMapFieldWells,++    -- ** TreeMapSortConfiguration+    TreeMapSortConfiguration (TreeMapSortConfiguration'),+    newTreeMapSortConfiguration,++    -- ** TreeMapVisual+    TreeMapVisual (TreeMapVisual'),+    newTreeMapVisual,++    -- ** TrendArrowOptions+    TrendArrowOptions (TrendArrowOptions'),+    newTrendArrowOptions,++    -- ** TwitterParameters+    TwitterParameters (TwitterParameters'),+    newTwitterParameters,++    -- ** Typography+    Typography (Typography'),+    newTypography,++    -- ** UIColorPalette+    UIColorPalette (UIColorPalette'),+    newUIColorPalette,++    -- ** UnaggregatedField+    UnaggregatedField (UnaggregatedField'),+    newUnaggregatedField,++    -- ** UniqueValuesComputation+    UniqueValuesComputation (UniqueValuesComputation'),+    newUniqueValuesComputation,++    -- ** UntagColumnOperation+    UntagColumnOperation (UntagColumnOperation'),+    newUntagColumnOperation,++    -- ** UploadSettings+    UploadSettings (UploadSettings'),+    newUploadSettings,++    -- ** User+    User (User'),+    newUser,++    -- ** VisibleRangeOptions+    VisibleRangeOptions (VisibleRangeOptions'),+    newVisibleRangeOptions,++    -- ** Visual+    Visual (Visual'),+    newVisual,++    -- ** VisualCustomAction+    VisualCustomAction (VisualCustomAction'),+    newVisualCustomAction,++    -- ** VisualCustomActionOperation+    VisualCustomActionOperation (VisualCustomActionOperation'),+    newVisualCustomActionOperation,++    -- ** VisualPalette+    VisualPalette (VisualPalette'),+    newVisualPalette,++    -- ** VisualSubtitleLabelOptions+    VisualSubtitleLabelOptions (VisualSubtitleLabelOptions'),+    newVisualSubtitleLabelOptions,++    -- ** VisualTitleLabelOptions+    VisualTitleLabelOptions (VisualTitleLabelOptions'),+    newVisualTitleLabelOptions,++    -- ** VpcConnectionProperties+    VpcConnectionProperties (VpcConnectionProperties'),+    newVpcConnectionProperties,++    -- ** WaterfallChartAggregatedFieldWells+    WaterfallChartAggregatedFieldWells (WaterfallChartAggregatedFieldWells'),+    newWaterfallChartAggregatedFieldWells,++    -- ** WaterfallChartConfiguration+    WaterfallChartConfiguration (WaterfallChartConfiguration'),+    newWaterfallChartConfiguration,++    -- ** WaterfallChartFieldWells+    WaterfallChartFieldWells (WaterfallChartFieldWells'),+    newWaterfallChartFieldWells,++    -- ** WaterfallChartOptions+    WaterfallChartOptions (WaterfallChartOptions'),+    newWaterfallChartOptions,++    -- ** WaterfallChartSortConfiguration+    WaterfallChartSortConfiguration (WaterfallChartSortConfiguration'),+    newWaterfallChartSortConfiguration,++    -- ** WaterfallVisual+    WaterfallVisual (WaterfallVisual'),+    newWaterfallVisual,++    -- ** WhatIfPointScenario+    WhatIfPointScenario (WhatIfPointScenario'),+    newWhatIfPointScenario,++    -- ** WhatIfRangeScenario+    WhatIfRangeScenario (WhatIfRangeScenario'),+    newWhatIfRangeScenario,++    -- ** WordCloudAggregatedFieldWells+    WordCloudAggregatedFieldWells (WordCloudAggregatedFieldWells'),+    newWordCloudAggregatedFieldWells,++    -- ** WordCloudChartConfiguration+    WordCloudChartConfiguration (WordCloudChartConfiguration'),+    newWordCloudChartConfiguration,++    -- ** WordCloudFieldWells+    WordCloudFieldWells (WordCloudFieldWells'),+    newWordCloudFieldWells,++    -- ** WordCloudOptions+    WordCloudOptions (WordCloudOptions'),+    newWordCloudOptions,++    -- ** WordCloudSortConfiguration+    WordCloudSortConfiguration (WordCloudSortConfiguration'),+    newWordCloudSortConfiguration,++    -- ** WordCloudVisual+    WordCloudVisual (WordCloudVisual'),+    newWordCloudVisual,+  )+where++import Amazonka.QuickSight.CancelIngestion+import Amazonka.QuickSight.CreateAccountCustomization+import Amazonka.QuickSight.CreateAccountSubscription+import Amazonka.QuickSight.CreateAnalysis+import Amazonka.QuickSight.CreateDashboard+import Amazonka.QuickSight.CreateDataSet+import Amazonka.QuickSight.CreateDataSource+import Amazonka.QuickSight.CreateFolder+import Amazonka.QuickSight.CreateFolderMembership+import Amazonka.QuickSight.CreateGroup+import Amazonka.QuickSight.CreateGroupMembership+import Amazonka.QuickSight.CreateIAMPolicyAssignment+import Amazonka.QuickSight.CreateIngestion+import Amazonka.QuickSight.CreateNamespace+import Amazonka.QuickSight.CreateTemplate+import Amazonka.QuickSight.CreateTemplateAlias+import Amazonka.QuickSight.CreateTheme+import Amazonka.QuickSight.CreateThemeAlias+import Amazonka.QuickSight.DeleteAccountCustomization+import Amazonka.QuickSight.DeleteAccountSubscription+import Amazonka.QuickSight.DeleteAnalysis+import Amazonka.QuickSight.DeleteDashboard+import Amazonka.QuickSight.DeleteDataSet+import Amazonka.QuickSight.DeleteDataSource+import Amazonka.QuickSight.DeleteFolder+import Amazonka.QuickSight.DeleteFolderMembership+import Amazonka.QuickSight.DeleteGroup+import Amazonka.QuickSight.DeleteGroupMembership+import Amazonka.QuickSight.DeleteIAMPolicyAssignment+import Amazonka.QuickSight.DeleteNamespace+import Amazonka.QuickSight.DeleteTemplate+import Amazonka.QuickSight.DeleteTemplateAlias+import Amazonka.QuickSight.DeleteTheme+import Amazonka.QuickSight.DeleteThemeAlias+import Amazonka.QuickSight.DeleteUser+import Amazonka.QuickSight.DeleteUserByPrincipalId+import Amazonka.QuickSight.DescribeAccountCustomization+import Amazonka.QuickSight.DescribeAccountSettings+import Amazonka.QuickSight.DescribeAccountSubscription+import Amazonka.QuickSight.DescribeAnalysis+import Amazonka.QuickSight.DescribeAnalysisDefinition+import Amazonka.QuickSight.DescribeAnalysisPermissions+import Amazonka.QuickSight.DescribeDashboard+import Amazonka.QuickSight.DescribeDashboardDefinition+import Amazonka.QuickSight.DescribeDashboardPermissions+import Amazonka.QuickSight.DescribeDataSet+import Amazonka.QuickSight.DescribeDataSetPermissions+import Amazonka.QuickSight.DescribeDataSource+import Amazonka.QuickSight.DescribeDataSourcePermissions+import Amazonka.QuickSight.DescribeFolder+import Amazonka.QuickSight.DescribeFolderPermissions+import Amazonka.QuickSight.DescribeFolderResolvedPermissions+import Amazonka.QuickSight.DescribeGroup+import Amazonka.QuickSight.DescribeGroupMembership+import Amazonka.QuickSight.DescribeIAMPolicyAssignment+import Amazonka.QuickSight.DescribeIngestion+import Amazonka.QuickSight.DescribeIpRestriction+import Amazonka.QuickSight.DescribeNamespace+import Amazonka.QuickSight.DescribeTemplate+import Amazonka.QuickSight.DescribeTemplateAlias+import Amazonka.QuickSight.DescribeTemplateDefinition+import Amazonka.QuickSight.DescribeTemplatePermissions+import Amazonka.QuickSight.DescribeTheme+import Amazonka.QuickSight.DescribeThemeAlias+import Amazonka.QuickSight.DescribeThemePermissions+import Amazonka.QuickSight.DescribeUser+import Amazonka.QuickSight.GenerateEmbedUrlForAnonymousUser+import Amazonka.QuickSight.GenerateEmbedUrlForRegisteredUser+import Amazonka.QuickSight.GetDashboardEmbedUrl+import Amazonka.QuickSight.GetSessionEmbedUrl+import Amazonka.QuickSight.Lens+import Amazonka.QuickSight.ListAnalyses+import Amazonka.QuickSight.ListDashboardVersions+import Amazonka.QuickSight.ListDashboards+import Amazonka.QuickSight.ListDataSets+import Amazonka.QuickSight.ListDataSources+import Amazonka.QuickSight.ListFolderMembers+import Amazonka.QuickSight.ListFolders+import Amazonka.QuickSight.ListGroupMemberships+import Amazonka.QuickSight.ListGroups+import Amazonka.QuickSight.ListIAMPolicyAssignments+import Amazonka.QuickSight.ListIAMPolicyAssignmentsForUser+import Amazonka.QuickSight.ListIngestions+import Amazonka.QuickSight.ListNamespaces+import Amazonka.QuickSight.ListTagsForResource+import Amazonka.QuickSight.ListTemplateAliases+import Amazonka.QuickSight.ListTemplateVersions+import Amazonka.QuickSight.ListTemplates+import Amazonka.QuickSight.ListThemeAliases+import Amazonka.QuickSight.ListThemeVersions+import Amazonka.QuickSight.ListThemes+import Amazonka.QuickSight.ListUserGroups+import Amazonka.QuickSight.ListUsers+import Amazonka.QuickSight.RegisterUser+import Amazonka.QuickSight.RestoreAnalysis+import Amazonka.QuickSight.SearchAnalyses+import Amazonka.QuickSight.SearchDashboards+import Amazonka.QuickSight.SearchDataSets+import Amazonka.QuickSight.SearchDataSources+import Amazonka.QuickSight.SearchFolders+import Amazonka.QuickSight.SearchGroups+import Amazonka.QuickSight.TagResource+import Amazonka.QuickSight.Types+import Amazonka.QuickSight.UntagResource+import Amazonka.QuickSight.UpdateAccountCustomization+import Amazonka.QuickSight.UpdateAccountSettings+import Amazonka.QuickSight.UpdateAnalysis+import Amazonka.QuickSight.UpdateAnalysisPermissions+import Amazonka.QuickSight.UpdateDashboard+import Amazonka.QuickSight.UpdateDashboardPermissions+import Amazonka.QuickSight.UpdateDashboardPublishedVersion+import Amazonka.QuickSight.UpdateDataSet+import Amazonka.QuickSight.UpdateDataSetPermissions+import Amazonka.QuickSight.UpdateDataSource+import Amazonka.QuickSight.UpdateDataSourcePermissions+import Amazonka.QuickSight.UpdateFolder+import Amazonka.QuickSight.UpdateFolderPermissions+import Amazonka.QuickSight.UpdateGroup+import Amazonka.QuickSight.UpdateIAMPolicyAssignment+import Amazonka.QuickSight.UpdateIpRestriction+import Amazonka.QuickSight.UpdatePublicSharingSettings+import Amazonka.QuickSight.UpdateTemplate+import Amazonka.QuickSight.UpdateTemplateAlias+import Amazonka.QuickSight.UpdateTemplatePermissions+import Amazonka.QuickSight.UpdateTheme+import Amazonka.QuickSight.UpdateThemeAlias+import Amazonka.QuickSight.UpdateThemePermissions+import Amazonka.QuickSight.UpdateUser+import Amazonka.QuickSight.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 'QuickSight'.++-- $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/QuickSight/CancelIngestion.hs view
@@ -0,0 +1,223 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.CancelIngestion+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Cancels an ongoing ingestion of data into SPICE.+module Amazonka.QuickSight.CancelIngestion+  ( -- * Creating a Request+    CancelIngestion (..),+    newCancelIngestion,++    -- * Request Lenses+    cancelIngestion_awsAccountId,+    cancelIngestion_dataSetId,+    cancelIngestion_ingestionId,++    -- * Destructuring the Response+    CancelIngestionResponse (..),+    newCancelIngestionResponse,++    -- * Response Lenses+    cancelIngestionResponse_arn,+    cancelIngestionResponse_ingestionId,+    cancelIngestionResponse_requestId,+    cancelIngestionResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCancelIngestion' smart constructor.+data CancelIngestion = CancelIngestion'+  { -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text,+    -- | The ID of the dataset used in the ingestion.+    dataSetId :: Prelude.Text,+    -- | An ID for the ingestion.+    ingestionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CancelIngestion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'cancelIngestion_awsAccountId' - The Amazon Web Services account ID.+--+-- 'dataSetId', 'cancelIngestion_dataSetId' - The ID of the dataset used in the ingestion.+--+-- 'ingestionId', 'cancelIngestion_ingestionId' - An ID for the ingestion.+newCancelIngestion ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dataSetId'+  Prelude.Text ->+  -- | 'ingestionId'+  Prelude.Text ->+  CancelIngestion+newCancelIngestion+  pAwsAccountId_+  pDataSetId_+  pIngestionId_ =+    CancelIngestion'+      { awsAccountId = pAwsAccountId_,+        dataSetId = pDataSetId_,+        ingestionId = pIngestionId_+      }++-- | The Amazon Web Services account ID.+cancelIngestion_awsAccountId :: Lens.Lens' CancelIngestion Prelude.Text+cancelIngestion_awsAccountId = Lens.lens (\CancelIngestion' {awsAccountId} -> awsAccountId) (\s@CancelIngestion' {} a -> s {awsAccountId = a} :: CancelIngestion)++-- | The ID of the dataset used in the ingestion.+cancelIngestion_dataSetId :: Lens.Lens' CancelIngestion Prelude.Text+cancelIngestion_dataSetId = Lens.lens (\CancelIngestion' {dataSetId} -> dataSetId) (\s@CancelIngestion' {} a -> s {dataSetId = a} :: CancelIngestion)++-- | An ID for the ingestion.+cancelIngestion_ingestionId :: Lens.Lens' CancelIngestion Prelude.Text+cancelIngestion_ingestionId = Lens.lens (\CancelIngestion' {ingestionId} -> ingestionId) (\s@CancelIngestion' {} a -> s {ingestionId = a} :: CancelIngestion)++instance Core.AWSRequest CancelIngestion where+  type+    AWSResponse CancelIngestion =+      CancelIngestionResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CancelIngestionResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "IngestionId")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CancelIngestion where+  hashWithSalt _salt CancelIngestion' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dataSetId+      `Prelude.hashWithSalt` ingestionId++instance Prelude.NFData CancelIngestion where+  rnf CancelIngestion' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dataSetId+      `Prelude.seq` Prelude.rnf ingestionId++instance Data.ToHeaders CancelIngestion where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath CancelIngestion where+  toPath CancelIngestion' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/data-sets/",+        Data.toBS dataSetId,+        "/ingestions/",+        Data.toBS ingestionId+      ]++instance Data.ToQuery CancelIngestion where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCancelIngestionResponse' smart constructor.+data CancelIngestionResponse = CancelIngestionResponse'+  { -- | The Amazon Resource Name (ARN) for the data ingestion.+    arn :: Prelude.Maybe Prelude.Text,+    -- | An ID for the ingestion.+    ingestionId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CancelIngestionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'cancelIngestionResponse_arn' - The Amazon Resource Name (ARN) for the data ingestion.+--+-- 'ingestionId', 'cancelIngestionResponse_ingestionId' - An ID for the ingestion.+--+-- 'requestId', 'cancelIngestionResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'cancelIngestionResponse_status' - The HTTP status of the request.+newCancelIngestionResponse ::+  -- | 'status'+  Prelude.Int ->+  CancelIngestionResponse+newCancelIngestionResponse pStatus_ =+  CancelIngestionResponse'+    { arn = Prelude.Nothing,+      ingestionId = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) for the data ingestion.+cancelIngestionResponse_arn :: Lens.Lens' CancelIngestionResponse (Prelude.Maybe Prelude.Text)+cancelIngestionResponse_arn = Lens.lens (\CancelIngestionResponse' {arn} -> arn) (\s@CancelIngestionResponse' {} a -> s {arn = a} :: CancelIngestionResponse)++-- | An ID for the ingestion.+cancelIngestionResponse_ingestionId :: Lens.Lens' CancelIngestionResponse (Prelude.Maybe Prelude.Text)+cancelIngestionResponse_ingestionId = Lens.lens (\CancelIngestionResponse' {ingestionId} -> ingestionId) (\s@CancelIngestionResponse' {} a -> s {ingestionId = a} :: CancelIngestionResponse)++-- | The Amazon Web Services request ID for this operation.+cancelIngestionResponse_requestId :: Lens.Lens' CancelIngestionResponse (Prelude.Maybe Prelude.Text)+cancelIngestionResponse_requestId = Lens.lens (\CancelIngestionResponse' {requestId} -> requestId) (\s@CancelIngestionResponse' {} a -> s {requestId = a} :: CancelIngestionResponse)++-- | The HTTP status of the request.+cancelIngestionResponse_status :: Lens.Lens' CancelIngestionResponse Prelude.Int+cancelIngestionResponse_status = Lens.lens (\CancelIngestionResponse' {status} -> status) (\s@CancelIngestionResponse' {} a -> s {status = a} :: CancelIngestionResponse)++instance Prelude.NFData CancelIngestionResponse where+  rnf CancelIngestionResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf ingestionId+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/CreateAccountCustomization.hs view
@@ -0,0 +1,330 @@+{-# 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.QuickSight.CreateAccountCustomization+-- 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 Amazon QuickSight customizations for the current Amazon Web+-- Services Region. Currently, you can add a custom default theme by using+-- the @CreateAccountCustomization@ or @UpdateAccountCustomization@ API+-- operation. To further customize Amazon QuickSight by removing Amazon+-- QuickSight sample assets and videos for all new users, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/customizing-quicksight.html Customizing Amazon QuickSight>+-- in the /Amazon QuickSight User Guide./+--+-- You can create customizations for your Amazon Web Services account or,+-- if you specify a namespace, for a QuickSight namespace instead.+-- Customizations that apply to a namespace always override customizations+-- that apply to an Amazon Web Services account. To find out which+-- customizations apply, use the @DescribeAccountCustomization@ API+-- operation.+--+-- Before you use the @CreateAccountCustomization@ API operation to add a+-- theme as the namespace default, make sure that you first share the theme+-- with the namespace. If you don\'t share it with the namespace, the theme+-- isn\'t visible to your users even if you make it the default theme. To+-- check if the theme is shared, view the current permissions by using the+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeThemePermissions.html DescribeThemePermissions>@ @+-- API operation. To share the theme, grant permissions by using the+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateThemePermissions.html UpdateThemePermissions>@ @+-- API operation.+module Amazonka.QuickSight.CreateAccountCustomization+  ( -- * Creating a Request+    CreateAccountCustomization (..),+    newCreateAccountCustomization,++    -- * Request Lenses+    createAccountCustomization_namespace,+    createAccountCustomization_tags,+    createAccountCustomization_awsAccountId,+    createAccountCustomization_accountCustomization,++    -- * Destructuring the Response+    CreateAccountCustomizationResponse (..),+    newCreateAccountCustomizationResponse,++    -- * Response Lenses+    createAccountCustomizationResponse_accountCustomization,+    createAccountCustomizationResponse_arn,+    createAccountCustomizationResponse_awsAccountId,+    createAccountCustomizationResponse_namespace,+    createAccountCustomizationResponse_requestId,+    createAccountCustomizationResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateAccountCustomization' smart constructor.+data CreateAccountCustomization = CreateAccountCustomization'+  { -- | The Amazon QuickSight namespace that you want to add customizations to.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | A list of the tags that you want to attach to this resource.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The ID for the Amazon Web Services account that you want to customize+    -- Amazon QuickSight for.+    awsAccountId :: Prelude.Text,+    -- | The Amazon QuickSight customizations you\'re adding in the current+    -- Amazon Web Services Region. You can add these to an Amazon Web Services+    -- account and a QuickSight namespace.+    --+    -- For example, you can add a default theme by setting+    -- @AccountCustomization@ to the midnight theme:+    -- @\"AccountCustomization\": { \"DefaultTheme\": \"arn:aws:quicksight::aws:theme\/MIDNIGHT\" }@.+    -- Or, you can add a custom theme by specifying+    -- @\"AccountCustomization\": { \"DefaultTheme\": \"arn:aws:quicksight:us-west-2:111122223333:theme\/bdb844d0-0fe9-4d9d-b520-0fe602d93639\" }@.+    accountCustomization :: AccountCustomization+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAccountCustomization' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'namespace', 'createAccountCustomization_namespace' - The Amazon QuickSight namespace that you want to add customizations to.+--+-- 'tags', 'createAccountCustomization_tags' - A list of the tags that you want to attach to this resource.+--+-- 'awsAccountId', 'createAccountCustomization_awsAccountId' - The ID for the Amazon Web Services account that you want to customize+-- Amazon QuickSight for.+--+-- 'accountCustomization', 'createAccountCustomization_accountCustomization' - The Amazon QuickSight customizations you\'re adding in the current+-- Amazon Web Services Region. You can add these to an Amazon Web Services+-- account and a QuickSight namespace.+--+-- For example, you can add a default theme by setting+-- @AccountCustomization@ to the midnight theme:+-- @\"AccountCustomization\": { \"DefaultTheme\": \"arn:aws:quicksight::aws:theme\/MIDNIGHT\" }@.+-- Or, you can add a custom theme by specifying+-- @\"AccountCustomization\": { \"DefaultTheme\": \"arn:aws:quicksight:us-west-2:111122223333:theme\/bdb844d0-0fe9-4d9d-b520-0fe602d93639\" }@.+newCreateAccountCustomization ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'accountCustomization'+  AccountCustomization ->+  CreateAccountCustomization+newCreateAccountCustomization+  pAwsAccountId_+  pAccountCustomization_ =+    CreateAccountCustomization'+      { namespace =+          Prelude.Nothing,+        tags = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        accountCustomization = pAccountCustomization_+      }++-- | The Amazon QuickSight namespace that you want to add customizations to.+createAccountCustomization_namespace :: Lens.Lens' CreateAccountCustomization (Prelude.Maybe Prelude.Text)+createAccountCustomization_namespace = Lens.lens (\CreateAccountCustomization' {namespace} -> namespace) (\s@CreateAccountCustomization' {} a -> s {namespace = a} :: CreateAccountCustomization)++-- | A list of the tags that you want to attach to this resource.+createAccountCustomization_tags :: Lens.Lens' CreateAccountCustomization (Prelude.Maybe (Prelude.NonEmpty Tag))+createAccountCustomization_tags = Lens.lens (\CreateAccountCustomization' {tags} -> tags) (\s@CreateAccountCustomization' {} a -> s {tags = a} :: CreateAccountCustomization) Prelude.. Lens.mapping Lens.coerced++-- | The ID for the Amazon Web Services account that you want to customize+-- Amazon QuickSight for.+createAccountCustomization_awsAccountId :: Lens.Lens' CreateAccountCustomization Prelude.Text+createAccountCustomization_awsAccountId = Lens.lens (\CreateAccountCustomization' {awsAccountId} -> awsAccountId) (\s@CreateAccountCustomization' {} a -> s {awsAccountId = a} :: CreateAccountCustomization)++-- | The Amazon QuickSight customizations you\'re adding in the current+-- Amazon Web Services Region. You can add these to an Amazon Web Services+-- account and a QuickSight namespace.+--+-- For example, you can add a default theme by setting+-- @AccountCustomization@ to the midnight theme:+-- @\"AccountCustomization\": { \"DefaultTheme\": \"arn:aws:quicksight::aws:theme\/MIDNIGHT\" }@.+-- Or, you can add a custom theme by specifying+-- @\"AccountCustomization\": { \"DefaultTheme\": \"arn:aws:quicksight:us-west-2:111122223333:theme\/bdb844d0-0fe9-4d9d-b520-0fe602d93639\" }@.+createAccountCustomization_accountCustomization :: Lens.Lens' CreateAccountCustomization AccountCustomization+createAccountCustomization_accountCustomization = Lens.lens (\CreateAccountCustomization' {accountCustomization} -> accountCustomization) (\s@CreateAccountCustomization' {} a -> s {accountCustomization = a} :: CreateAccountCustomization)++instance Core.AWSRequest CreateAccountCustomization where+  type+    AWSResponse CreateAccountCustomization =+      CreateAccountCustomizationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateAccountCustomizationResponse'+            Prelude.<$> (x Data..?> "AccountCustomization")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "AwsAccountId")+            Prelude.<*> (x Data..?> "Namespace")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateAccountCustomization where+  hashWithSalt _salt CreateAccountCustomization' {..} =+    _salt+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` accountCustomization++instance Prelude.NFData CreateAccountCustomization where+  rnf CreateAccountCustomization' {..} =+    Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf accountCustomization++instance Data.ToHeaders CreateAccountCustomization where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateAccountCustomization where+  toJSON CreateAccountCustomization' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ( "AccountCustomization"+                  Data..= accountCustomization+              )+          ]+      )++instance Data.ToPath CreateAccountCustomization where+  toPath CreateAccountCustomization' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/customizations"+      ]++instance Data.ToQuery CreateAccountCustomization where+  toQuery CreateAccountCustomization' {..} =+    Prelude.mconcat ["namespace" Data.=: namespace]++-- | /See:/ 'newCreateAccountCustomizationResponse' smart constructor.+data CreateAccountCustomizationResponse = CreateAccountCustomizationResponse'+  { -- | The Amazon QuickSight customizations you\'re adding in the current+    -- Amazon Web Services Region.+    accountCustomization :: Prelude.Maybe AccountCustomization,+    -- | The Amazon Resource Name (ARN) for the customization that you created+    -- for this Amazon Web Services account.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID for the Amazon Web Services account that you want to customize+    -- Amazon QuickSight for.+    awsAccountId :: Prelude.Maybe Prelude.Text,+    -- | The namespace associated with the customization you\'re creating.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAccountCustomizationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountCustomization', 'createAccountCustomizationResponse_accountCustomization' - The Amazon QuickSight customizations you\'re adding in the current+-- Amazon Web Services Region.+--+-- 'arn', 'createAccountCustomizationResponse_arn' - The Amazon Resource Name (ARN) for the customization that you created+-- for this Amazon Web Services account.+--+-- 'awsAccountId', 'createAccountCustomizationResponse_awsAccountId' - The ID for the Amazon Web Services account that you want to customize+-- Amazon QuickSight for.+--+-- 'namespace', 'createAccountCustomizationResponse_namespace' - The namespace associated with the customization you\'re creating.+--+-- 'requestId', 'createAccountCustomizationResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'createAccountCustomizationResponse_status' - The HTTP status of the request.+newCreateAccountCustomizationResponse ::+  -- | 'status'+  Prelude.Int ->+  CreateAccountCustomizationResponse+newCreateAccountCustomizationResponse pStatus_ =+  CreateAccountCustomizationResponse'+    { accountCustomization =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      awsAccountId = Prelude.Nothing,+      namespace = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon QuickSight customizations you\'re adding in the current+-- Amazon Web Services Region.+createAccountCustomizationResponse_accountCustomization :: Lens.Lens' CreateAccountCustomizationResponse (Prelude.Maybe AccountCustomization)+createAccountCustomizationResponse_accountCustomization = Lens.lens (\CreateAccountCustomizationResponse' {accountCustomization} -> accountCustomization) (\s@CreateAccountCustomizationResponse' {} a -> s {accountCustomization = a} :: CreateAccountCustomizationResponse)++-- | The Amazon Resource Name (ARN) for the customization that you created+-- for this Amazon Web Services account.+createAccountCustomizationResponse_arn :: Lens.Lens' CreateAccountCustomizationResponse (Prelude.Maybe Prelude.Text)+createAccountCustomizationResponse_arn = Lens.lens (\CreateAccountCustomizationResponse' {arn} -> arn) (\s@CreateAccountCustomizationResponse' {} a -> s {arn = a} :: CreateAccountCustomizationResponse)++-- | The ID for the Amazon Web Services account that you want to customize+-- Amazon QuickSight for.+createAccountCustomizationResponse_awsAccountId :: Lens.Lens' CreateAccountCustomizationResponse (Prelude.Maybe Prelude.Text)+createAccountCustomizationResponse_awsAccountId = Lens.lens (\CreateAccountCustomizationResponse' {awsAccountId} -> awsAccountId) (\s@CreateAccountCustomizationResponse' {} a -> s {awsAccountId = a} :: CreateAccountCustomizationResponse)++-- | The namespace associated with the customization you\'re creating.+createAccountCustomizationResponse_namespace :: Lens.Lens' CreateAccountCustomizationResponse (Prelude.Maybe Prelude.Text)+createAccountCustomizationResponse_namespace = Lens.lens (\CreateAccountCustomizationResponse' {namespace} -> namespace) (\s@CreateAccountCustomizationResponse' {} a -> s {namespace = a} :: CreateAccountCustomizationResponse)++-- | The Amazon Web Services request ID for this operation.+createAccountCustomizationResponse_requestId :: Lens.Lens' CreateAccountCustomizationResponse (Prelude.Maybe Prelude.Text)+createAccountCustomizationResponse_requestId = Lens.lens (\CreateAccountCustomizationResponse' {requestId} -> requestId) (\s@CreateAccountCustomizationResponse' {} a -> s {requestId = a} :: CreateAccountCustomizationResponse)++-- | The HTTP status of the request.+createAccountCustomizationResponse_status :: Lens.Lens' CreateAccountCustomizationResponse Prelude.Int+createAccountCustomizationResponse_status = Lens.lens (\CreateAccountCustomizationResponse' {status} -> status) (\s@CreateAccountCustomizationResponse' {} a -> s {status = a} :: CreateAccountCustomizationResponse)++instance+  Prelude.NFData+    CreateAccountCustomizationResponse+  where+  rnf CreateAccountCustomizationResponse' {..} =+    Prelude.rnf accountCustomization+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/CreateAccountSubscription.hs view
@@ -0,0 +1,564 @@+{-# 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.QuickSight.CreateAccountSubscription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an Amazon QuickSight account, or subscribes to Amazon QuickSight+-- Q.+--+-- The Amazon Web Services Region for the account is derived from what is+-- configured in the CLI or SDK. This operation isn\'t supported in the US+-- East (Ohio) Region, South America (Sao Paulo) Region, or Asia Pacific+-- (Singapore) Region.+--+-- Before you use this operation, make sure that you can connect to an+-- existing Amazon Web Services account. If you don\'t have an Amazon Web+-- Services account, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/setting-up-aws-sign-up.html Sign up for Amazon Web Services>+-- in the /Amazon QuickSight User Guide/. The person who signs up for+-- Amazon QuickSight needs to have the correct Identity and Access+-- Management (IAM) permissions. For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/iam-policy-examples.html IAM Policy Examples for Amazon QuickSight>+-- in the /Amazon QuickSight User Guide/.+--+-- If your IAM policy includes both the @Subscribe@ and+-- @CreateAccountSubscription@ actions, make sure that both actions are set+-- to @Allow@. If either action is set to @Deny@, the @Deny@ action+-- prevails and your API call fails.+--+-- You can\'t pass an existing IAM role to access other Amazon Web Services+-- services using this API operation. To pass your existing IAM role to+-- Amazon QuickSight, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/security_iam_service-with-iam.html#security-create-iam-role Passing IAM roles to Amazon QuickSight>+-- in the /Amazon QuickSight User Guide/.+--+-- You can\'t set default resource access on the new account from the+-- Amazon QuickSight API. Instead, add default resource access from the+-- Amazon QuickSight console. For more information about setting default+-- resource access to Amazon Web Services services, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/scoping-policies-defaults.html Setting default resource access to Amazon Web Services services>+-- in the /Amazon QuickSight User Guide/.+module Amazonka.QuickSight.CreateAccountSubscription+  ( -- * Creating a Request+    CreateAccountSubscription (..),+    newCreateAccountSubscription,++    -- * Request Lenses+    createAccountSubscription_activeDirectoryName,+    createAccountSubscription_adminGroup,+    createAccountSubscription_authorGroup,+    createAccountSubscription_contactNumber,+    createAccountSubscription_directoryId,+    createAccountSubscription_emailAddress,+    createAccountSubscription_firstName,+    createAccountSubscription_lastName,+    createAccountSubscription_readerGroup,+    createAccountSubscription_realm,+    createAccountSubscription_edition,+    createAccountSubscription_authenticationMethod,+    createAccountSubscription_awsAccountId,+    createAccountSubscription_accountName,+    createAccountSubscription_notificationEmail,++    -- * Destructuring the Response+    CreateAccountSubscriptionResponse (..),+    newCreateAccountSubscriptionResponse,++    -- * Response Lenses+    createAccountSubscriptionResponse_requestId,+    createAccountSubscriptionResponse_signupResponse,+    createAccountSubscriptionResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateAccountSubscription' smart constructor.+data CreateAccountSubscription = CreateAccountSubscription'+  { -- | The name of your Active Directory. This field is required if+    -- @ACTIVE_DIRECTORY@ is the selected authentication method of the new+    -- Amazon QuickSight account.+    activeDirectoryName :: Prelude.Maybe Prelude.Text,+    -- | The admin group associated with your Active Directory. This field is+    -- required if @ACTIVE_DIRECTORY@ is the selected authentication method of+    -- the new Amazon QuickSight account. For more information about using+    -- Active Directory in Amazon QuickSight, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/aws-directory-service.html Using Active Directory with Amazon QuickSight Enterprise Edition>+    -- in the Amazon QuickSight User Guide.+    adminGroup :: Prelude.Maybe [Prelude.Text],+    -- | The author group associated with your Active Directory. For more+    -- information about using Active Directory in Amazon QuickSight, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/aws-directory-service.html Using Active Directory with Amazon QuickSight Enterprise Edition>+    -- in the Amazon QuickSight User Guide.+    authorGroup :: Prelude.Maybe [Prelude.Text],+    -- | A 10-digit phone number for the author of the Amazon QuickSight account+    -- to use for future communications. This field is required if+    -- @ENTERPPRISE_AND_Q@ is the selected edition of the new Amazon QuickSight+    -- account.+    contactNumber :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Active Directory that is associated with your Amazon+    -- QuickSight account.+    directoryId :: Prelude.Maybe Prelude.Text,+    -- | The email address of the author of the Amazon QuickSight account to use+    -- for future communications. This field is required if @ENTERPPRISE_AND_Q@+    -- is the selected edition of the new Amazon QuickSight account.+    emailAddress :: Prelude.Maybe Prelude.Text,+    -- | The first name of the author of the Amazon QuickSight account to use for+    -- future communications. This field is required if @ENTERPPRISE_AND_Q@ is+    -- the selected edition of the new Amazon QuickSight account.+    firstName :: Prelude.Maybe Prelude.Text,+    -- | The last name of the author of the Amazon QuickSight account to use for+    -- future communications. This field is required if @ENTERPPRISE_AND_Q@ is+    -- the selected edition of the new Amazon QuickSight account.+    lastName :: Prelude.Maybe Prelude.Text,+    -- | The reader group associated with your Active Direcrtory. For more+    -- information about using Active Directory in Amazon QuickSight, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/aws-directory-service.html Using Active Directory with Amazon QuickSight Enterprise Edition>+    -- in the /Amazon QuickSight User Guide/.+    readerGroup :: Prelude.Maybe [Prelude.Text],+    -- | The realm of the Active Directory that is associated with your Amazon+    -- QuickSight account. This field is required if @ACTIVE_DIRECTORY@ is the+    -- selected authentication method of the new Amazon QuickSight account.+    realm :: Prelude.Maybe Prelude.Text,+    -- | The edition of Amazon QuickSight that you want your account to have.+    -- Currently, you can choose from @ENTERPRISE@ or @ENTERPRISE_AND_Q@.+    --+    -- If you choose @ENTERPRISE_AND_Q@, the following parameters are required:+    --+    -- -   @FirstName@+    --+    -- -   @LastName@+    --+    -- -   @EmailAddress@+    --+    -- -   @ContactNumber@+    edition :: Edition,+    -- | The method that you want to use to authenticate your Amazon QuickSight+    -- account. Currently, the valid values for this parameter are+    -- @IAM_AND_QUICKSIGHT@, @IAM_ONLY@, and @ACTIVE_DIRECTORY@.+    --+    -- If you choose @ACTIVE_DIRECTORY@, provide an @ActiveDirectoryName@ and+    -- an @AdminGroup@ associated with your Active Directory.+    authenticationMethod :: AuthenticationMethodOption,+    -- | The Amazon Web Services account ID of the account that you\'re using to+    -- create your Amazon QuickSight account.+    awsAccountId :: Prelude.Text,+    -- | The name of your Amazon QuickSight account. This name is unique over all+    -- of Amazon Web Services, and it appears only when users sign in. You+    -- can\'t change @AccountName@ value after the Amazon QuickSight account is+    -- created.+    accountName :: Prelude.Text,+    -- | The email address that you want Amazon QuickSight to send notifications+    -- to regarding your Amazon QuickSight account or Amazon QuickSight+    -- subscription.+    notificationEmail :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAccountSubscription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activeDirectoryName', 'createAccountSubscription_activeDirectoryName' - The name of your Active Directory. This field is required if+-- @ACTIVE_DIRECTORY@ is the selected authentication method of the new+-- Amazon QuickSight account.+--+-- 'adminGroup', 'createAccountSubscription_adminGroup' - The admin group associated with your Active Directory. This field is+-- required if @ACTIVE_DIRECTORY@ is the selected authentication method of+-- the new Amazon QuickSight account. For more information about using+-- Active Directory in Amazon QuickSight, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/aws-directory-service.html Using Active Directory with Amazon QuickSight Enterprise Edition>+-- in the Amazon QuickSight User Guide.+--+-- 'authorGroup', 'createAccountSubscription_authorGroup' - The author group associated with your Active Directory. For more+-- information about using Active Directory in Amazon QuickSight, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/aws-directory-service.html Using Active Directory with Amazon QuickSight Enterprise Edition>+-- in the Amazon QuickSight User Guide.+--+-- 'contactNumber', 'createAccountSubscription_contactNumber' - A 10-digit phone number for the author of the Amazon QuickSight account+-- to use for future communications. This field is required if+-- @ENTERPPRISE_AND_Q@ is the selected edition of the new Amazon QuickSight+-- account.+--+-- 'directoryId', 'createAccountSubscription_directoryId' - The ID of the Active Directory that is associated with your Amazon+-- QuickSight account.+--+-- 'emailAddress', 'createAccountSubscription_emailAddress' - The email address of the author of the Amazon QuickSight account to use+-- for future communications. This field is required if @ENTERPPRISE_AND_Q@+-- is the selected edition of the new Amazon QuickSight account.+--+-- 'firstName', 'createAccountSubscription_firstName' - The first name of the author of the Amazon QuickSight account to use for+-- future communications. This field is required if @ENTERPPRISE_AND_Q@ is+-- the selected edition of the new Amazon QuickSight account.+--+-- 'lastName', 'createAccountSubscription_lastName' - The last name of the author of the Amazon QuickSight account to use for+-- future communications. This field is required if @ENTERPPRISE_AND_Q@ is+-- the selected edition of the new Amazon QuickSight account.+--+-- 'readerGroup', 'createAccountSubscription_readerGroup' - The reader group associated with your Active Direcrtory. For more+-- information about using Active Directory in Amazon QuickSight, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/aws-directory-service.html Using Active Directory with Amazon QuickSight Enterprise Edition>+-- in the /Amazon QuickSight User Guide/.+--+-- 'realm', 'createAccountSubscription_realm' - The realm of the Active Directory that is associated with your Amazon+-- QuickSight account. This field is required if @ACTIVE_DIRECTORY@ is the+-- selected authentication method of the new Amazon QuickSight account.+--+-- 'edition', 'createAccountSubscription_edition' - The edition of Amazon QuickSight that you want your account to have.+-- Currently, you can choose from @ENTERPRISE@ or @ENTERPRISE_AND_Q@.+--+-- If you choose @ENTERPRISE_AND_Q@, the following parameters are required:+--+-- -   @FirstName@+--+-- -   @LastName@+--+-- -   @EmailAddress@+--+-- -   @ContactNumber@+--+-- 'authenticationMethod', 'createAccountSubscription_authenticationMethod' - The method that you want to use to authenticate your Amazon QuickSight+-- account. Currently, the valid values for this parameter are+-- @IAM_AND_QUICKSIGHT@, @IAM_ONLY@, and @ACTIVE_DIRECTORY@.+--+-- If you choose @ACTIVE_DIRECTORY@, provide an @ActiveDirectoryName@ and+-- an @AdminGroup@ associated with your Active Directory.+--+-- 'awsAccountId', 'createAccountSubscription_awsAccountId' - The Amazon Web Services account ID of the account that you\'re using to+-- create your Amazon QuickSight account.+--+-- 'accountName', 'createAccountSubscription_accountName' - The name of your Amazon QuickSight account. This name is unique over all+-- of Amazon Web Services, and it appears only when users sign in. You+-- can\'t change @AccountName@ value after the Amazon QuickSight account is+-- created.+--+-- 'notificationEmail', 'createAccountSubscription_notificationEmail' - The email address that you want Amazon QuickSight to send notifications+-- to regarding your Amazon QuickSight account or Amazon QuickSight+-- subscription.+newCreateAccountSubscription ::+  -- | 'edition'+  Edition ->+  -- | 'authenticationMethod'+  AuthenticationMethodOption ->+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'accountName'+  Prelude.Text ->+  -- | 'notificationEmail'+  Prelude.Text ->+  CreateAccountSubscription+newCreateAccountSubscription+  pEdition_+  pAuthenticationMethod_+  pAwsAccountId_+  pAccountName_+  pNotificationEmail_ =+    CreateAccountSubscription'+      { activeDirectoryName =+          Prelude.Nothing,+        adminGroup = Prelude.Nothing,+        authorGroup = Prelude.Nothing,+        contactNumber = Prelude.Nothing,+        directoryId = Prelude.Nothing,+        emailAddress = Prelude.Nothing,+        firstName = Prelude.Nothing,+        lastName = Prelude.Nothing,+        readerGroup = Prelude.Nothing,+        realm = Prelude.Nothing,+        edition = pEdition_,+        authenticationMethod = pAuthenticationMethod_,+        awsAccountId = pAwsAccountId_,+        accountName = pAccountName_,+        notificationEmail = pNotificationEmail_+      }++-- | The name of your Active Directory. This field is required if+-- @ACTIVE_DIRECTORY@ is the selected authentication method of the new+-- Amazon QuickSight account.+createAccountSubscription_activeDirectoryName :: Lens.Lens' CreateAccountSubscription (Prelude.Maybe Prelude.Text)+createAccountSubscription_activeDirectoryName = Lens.lens (\CreateAccountSubscription' {activeDirectoryName} -> activeDirectoryName) (\s@CreateAccountSubscription' {} a -> s {activeDirectoryName = a} :: CreateAccountSubscription)++-- | The admin group associated with your Active Directory. This field is+-- required if @ACTIVE_DIRECTORY@ is the selected authentication method of+-- the new Amazon QuickSight account. For more information about using+-- Active Directory in Amazon QuickSight, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/aws-directory-service.html Using Active Directory with Amazon QuickSight Enterprise Edition>+-- in the Amazon QuickSight User Guide.+createAccountSubscription_adminGroup :: Lens.Lens' CreateAccountSubscription (Prelude.Maybe [Prelude.Text])+createAccountSubscription_adminGroup = Lens.lens (\CreateAccountSubscription' {adminGroup} -> adminGroup) (\s@CreateAccountSubscription' {} a -> s {adminGroup = a} :: CreateAccountSubscription) Prelude.. Lens.mapping Lens.coerced++-- | The author group associated with your Active Directory. For more+-- information about using Active Directory in Amazon QuickSight, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/aws-directory-service.html Using Active Directory with Amazon QuickSight Enterprise Edition>+-- in the Amazon QuickSight User Guide.+createAccountSubscription_authorGroup :: Lens.Lens' CreateAccountSubscription (Prelude.Maybe [Prelude.Text])+createAccountSubscription_authorGroup = Lens.lens (\CreateAccountSubscription' {authorGroup} -> authorGroup) (\s@CreateAccountSubscription' {} a -> s {authorGroup = a} :: CreateAccountSubscription) Prelude.. Lens.mapping Lens.coerced++-- | A 10-digit phone number for the author of the Amazon QuickSight account+-- to use for future communications. This field is required if+-- @ENTERPPRISE_AND_Q@ is the selected edition of the new Amazon QuickSight+-- account.+createAccountSubscription_contactNumber :: Lens.Lens' CreateAccountSubscription (Prelude.Maybe Prelude.Text)+createAccountSubscription_contactNumber = Lens.lens (\CreateAccountSubscription' {contactNumber} -> contactNumber) (\s@CreateAccountSubscription' {} a -> s {contactNumber = a} :: CreateAccountSubscription)++-- | The ID of the Active Directory that is associated with your Amazon+-- QuickSight account.+createAccountSubscription_directoryId :: Lens.Lens' CreateAccountSubscription (Prelude.Maybe Prelude.Text)+createAccountSubscription_directoryId = Lens.lens (\CreateAccountSubscription' {directoryId} -> directoryId) (\s@CreateAccountSubscription' {} a -> s {directoryId = a} :: CreateAccountSubscription)++-- | The email address of the author of the Amazon QuickSight account to use+-- for future communications. This field is required if @ENTERPPRISE_AND_Q@+-- is the selected edition of the new Amazon QuickSight account.+createAccountSubscription_emailAddress :: Lens.Lens' CreateAccountSubscription (Prelude.Maybe Prelude.Text)+createAccountSubscription_emailAddress = Lens.lens (\CreateAccountSubscription' {emailAddress} -> emailAddress) (\s@CreateAccountSubscription' {} a -> s {emailAddress = a} :: CreateAccountSubscription)++-- | The first name of the author of the Amazon QuickSight account to use for+-- future communications. This field is required if @ENTERPPRISE_AND_Q@ is+-- the selected edition of the new Amazon QuickSight account.+createAccountSubscription_firstName :: Lens.Lens' CreateAccountSubscription (Prelude.Maybe Prelude.Text)+createAccountSubscription_firstName = Lens.lens (\CreateAccountSubscription' {firstName} -> firstName) (\s@CreateAccountSubscription' {} a -> s {firstName = a} :: CreateAccountSubscription)++-- | The last name of the author of the Amazon QuickSight account to use for+-- future communications. This field is required if @ENTERPPRISE_AND_Q@ is+-- the selected edition of the new Amazon QuickSight account.+createAccountSubscription_lastName :: Lens.Lens' CreateAccountSubscription (Prelude.Maybe Prelude.Text)+createAccountSubscription_lastName = Lens.lens (\CreateAccountSubscription' {lastName} -> lastName) (\s@CreateAccountSubscription' {} a -> s {lastName = a} :: CreateAccountSubscription)++-- | The reader group associated with your Active Direcrtory. For more+-- information about using Active Directory in Amazon QuickSight, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/aws-directory-service.html Using Active Directory with Amazon QuickSight Enterprise Edition>+-- in the /Amazon QuickSight User Guide/.+createAccountSubscription_readerGroup :: Lens.Lens' CreateAccountSubscription (Prelude.Maybe [Prelude.Text])+createAccountSubscription_readerGroup = Lens.lens (\CreateAccountSubscription' {readerGroup} -> readerGroup) (\s@CreateAccountSubscription' {} a -> s {readerGroup = a} :: CreateAccountSubscription) Prelude.. Lens.mapping Lens.coerced++-- | The realm of the Active Directory that is associated with your Amazon+-- QuickSight account. This field is required if @ACTIVE_DIRECTORY@ is the+-- selected authentication method of the new Amazon QuickSight account.+createAccountSubscription_realm :: Lens.Lens' CreateAccountSubscription (Prelude.Maybe Prelude.Text)+createAccountSubscription_realm = Lens.lens (\CreateAccountSubscription' {realm} -> realm) (\s@CreateAccountSubscription' {} a -> s {realm = a} :: CreateAccountSubscription)++-- | The edition of Amazon QuickSight that you want your account to have.+-- Currently, you can choose from @ENTERPRISE@ or @ENTERPRISE_AND_Q@.+--+-- If you choose @ENTERPRISE_AND_Q@, the following parameters are required:+--+-- -   @FirstName@+--+-- -   @LastName@+--+-- -   @EmailAddress@+--+-- -   @ContactNumber@+createAccountSubscription_edition :: Lens.Lens' CreateAccountSubscription Edition+createAccountSubscription_edition = Lens.lens (\CreateAccountSubscription' {edition} -> edition) (\s@CreateAccountSubscription' {} a -> s {edition = a} :: CreateAccountSubscription)++-- | The method that you want to use to authenticate your Amazon QuickSight+-- account. Currently, the valid values for this parameter are+-- @IAM_AND_QUICKSIGHT@, @IAM_ONLY@, and @ACTIVE_DIRECTORY@.+--+-- If you choose @ACTIVE_DIRECTORY@, provide an @ActiveDirectoryName@ and+-- an @AdminGroup@ associated with your Active Directory.+createAccountSubscription_authenticationMethod :: Lens.Lens' CreateAccountSubscription AuthenticationMethodOption+createAccountSubscription_authenticationMethod = Lens.lens (\CreateAccountSubscription' {authenticationMethod} -> authenticationMethod) (\s@CreateAccountSubscription' {} a -> s {authenticationMethod = a} :: CreateAccountSubscription)++-- | The Amazon Web Services account ID of the account that you\'re using to+-- create your Amazon QuickSight account.+createAccountSubscription_awsAccountId :: Lens.Lens' CreateAccountSubscription Prelude.Text+createAccountSubscription_awsAccountId = Lens.lens (\CreateAccountSubscription' {awsAccountId} -> awsAccountId) (\s@CreateAccountSubscription' {} a -> s {awsAccountId = a} :: CreateAccountSubscription)++-- | The name of your Amazon QuickSight account. This name is unique over all+-- of Amazon Web Services, and it appears only when users sign in. You+-- can\'t change @AccountName@ value after the Amazon QuickSight account is+-- created.+createAccountSubscription_accountName :: Lens.Lens' CreateAccountSubscription Prelude.Text+createAccountSubscription_accountName = Lens.lens (\CreateAccountSubscription' {accountName} -> accountName) (\s@CreateAccountSubscription' {} a -> s {accountName = a} :: CreateAccountSubscription)++-- | The email address that you want Amazon QuickSight to send notifications+-- to regarding your Amazon QuickSight account or Amazon QuickSight+-- subscription.+createAccountSubscription_notificationEmail :: Lens.Lens' CreateAccountSubscription Prelude.Text+createAccountSubscription_notificationEmail = Lens.lens (\CreateAccountSubscription' {notificationEmail} -> notificationEmail) (\s@CreateAccountSubscription' {} a -> s {notificationEmail = a} :: CreateAccountSubscription)++instance Core.AWSRequest CreateAccountSubscription where+  type+    AWSResponse CreateAccountSubscription =+      CreateAccountSubscriptionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateAccountSubscriptionResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "SignupResponse")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateAccountSubscription where+  hashWithSalt _salt CreateAccountSubscription' {..} =+    _salt+      `Prelude.hashWithSalt` activeDirectoryName+      `Prelude.hashWithSalt` adminGroup+      `Prelude.hashWithSalt` authorGroup+      `Prelude.hashWithSalt` contactNumber+      `Prelude.hashWithSalt` directoryId+      `Prelude.hashWithSalt` emailAddress+      `Prelude.hashWithSalt` firstName+      `Prelude.hashWithSalt` lastName+      `Prelude.hashWithSalt` readerGroup+      `Prelude.hashWithSalt` realm+      `Prelude.hashWithSalt` edition+      `Prelude.hashWithSalt` authenticationMethod+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` accountName+      `Prelude.hashWithSalt` notificationEmail++instance Prelude.NFData CreateAccountSubscription where+  rnf CreateAccountSubscription' {..} =+    Prelude.rnf activeDirectoryName+      `Prelude.seq` Prelude.rnf adminGroup+      `Prelude.seq` Prelude.rnf authorGroup+      `Prelude.seq` Prelude.rnf contactNumber+      `Prelude.seq` Prelude.rnf directoryId+      `Prelude.seq` Prelude.rnf emailAddress+      `Prelude.seq` Prelude.rnf firstName+      `Prelude.seq` Prelude.rnf lastName+      `Prelude.seq` Prelude.rnf readerGroup+      `Prelude.seq` Prelude.rnf realm+      `Prelude.seq` Prelude.rnf edition+      `Prelude.seq` Prelude.rnf authenticationMethod+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf accountName+      `Prelude.seq` Prelude.rnf notificationEmail++instance Data.ToHeaders CreateAccountSubscription where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateAccountSubscription where+  toJSON CreateAccountSubscription' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ActiveDirectoryName" Data..=)+              Prelude.<$> activeDirectoryName,+            ("AdminGroup" Data..=) Prelude.<$> adminGroup,+            ("AuthorGroup" Data..=) Prelude.<$> authorGroup,+            ("ContactNumber" Data..=) Prelude.<$> contactNumber,+            ("DirectoryId" Data..=) Prelude.<$> directoryId,+            ("EmailAddress" Data..=) Prelude.<$> emailAddress,+            ("FirstName" Data..=) Prelude.<$> firstName,+            ("LastName" Data..=) Prelude.<$> lastName,+            ("ReaderGroup" Data..=) Prelude.<$> readerGroup,+            ("Realm" Data..=) Prelude.<$> realm,+            Prelude.Just ("Edition" Data..= edition),+            Prelude.Just+              ( "AuthenticationMethod"+                  Data..= authenticationMethod+              ),+            Prelude.Just ("AccountName" Data..= accountName),+            Prelude.Just+              ("NotificationEmail" Data..= notificationEmail)+          ]+      )++instance Data.ToPath CreateAccountSubscription where+  toPath CreateAccountSubscription' {..} =+    Prelude.mconcat+      ["/account/", Data.toBS awsAccountId]++instance Data.ToQuery CreateAccountSubscription where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAccountSubscriptionResponse' smart constructor.+data CreateAccountSubscriptionResponse = CreateAccountSubscriptionResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | A @SignupResponse@ object that returns information about a newly created+    -- Amazon QuickSight account.+    signupResponse :: Prelude.Maybe SignupResponse,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAccountSubscriptionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'createAccountSubscriptionResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'signupResponse', 'createAccountSubscriptionResponse_signupResponse' - A @SignupResponse@ object that returns information about a newly created+-- Amazon QuickSight account.+--+-- 'status', 'createAccountSubscriptionResponse_status' - The HTTP status of the request.+newCreateAccountSubscriptionResponse ::+  -- | 'status'+  Prelude.Int ->+  CreateAccountSubscriptionResponse+newCreateAccountSubscriptionResponse pStatus_ =+  CreateAccountSubscriptionResponse'+    { requestId =+        Prelude.Nothing,+      signupResponse = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+createAccountSubscriptionResponse_requestId :: Lens.Lens' CreateAccountSubscriptionResponse (Prelude.Maybe Prelude.Text)+createAccountSubscriptionResponse_requestId = Lens.lens (\CreateAccountSubscriptionResponse' {requestId} -> requestId) (\s@CreateAccountSubscriptionResponse' {} a -> s {requestId = a} :: CreateAccountSubscriptionResponse)++-- | A @SignupResponse@ object that returns information about a newly created+-- Amazon QuickSight account.+createAccountSubscriptionResponse_signupResponse :: Lens.Lens' CreateAccountSubscriptionResponse (Prelude.Maybe SignupResponse)+createAccountSubscriptionResponse_signupResponse = Lens.lens (\CreateAccountSubscriptionResponse' {signupResponse} -> signupResponse) (\s@CreateAccountSubscriptionResponse' {} a -> s {signupResponse = a} :: CreateAccountSubscriptionResponse)++-- | The HTTP status of the request.+createAccountSubscriptionResponse_status :: Lens.Lens' CreateAccountSubscriptionResponse Prelude.Int+createAccountSubscriptionResponse_status = Lens.lens (\CreateAccountSubscriptionResponse' {status} -> status) (\s@CreateAccountSubscriptionResponse' {} a -> s {status = a} :: CreateAccountSubscriptionResponse)++instance+  Prelude.NFData+    CreateAccountSubscriptionResponse+  where+  rnf CreateAccountSubscriptionResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf signupResponse+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/CreateAnalysis.hs view
@@ -0,0 +1,374 @@+{-# 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.QuickSight.CreateAnalysis+-- 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 analysis in Amazon QuickSight.+module Amazonka.QuickSight.CreateAnalysis+  ( -- * Creating a Request+    CreateAnalysis (..),+    newCreateAnalysis,++    -- * Request Lenses+    createAnalysis_definition,+    createAnalysis_parameters,+    createAnalysis_permissions,+    createAnalysis_sourceEntity,+    createAnalysis_tags,+    createAnalysis_themeArn,+    createAnalysis_awsAccountId,+    createAnalysis_analysisId,+    createAnalysis_name,++    -- * Destructuring the Response+    CreateAnalysisResponse (..),+    newCreateAnalysisResponse,++    -- * Response Lenses+    createAnalysisResponse_analysisId,+    createAnalysisResponse_arn,+    createAnalysisResponse_creationStatus,+    createAnalysisResponse_requestId,+    createAnalysisResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateAnalysis' smart constructor.+data CreateAnalysis = CreateAnalysis'+  { -- | The definition of an analysis.+    --+    -- A definition is the data model of all features in a Dashboard, Template,+    -- or Analysis.+    definition :: Prelude.Maybe AnalysisDefinition,+    -- | The parameter names and override values that you want to use. An+    -- analysis can have any parameter type, and some parameters might accept+    -- multiple values.+    parameters :: Prelude.Maybe Parameters,+    -- | A structure that describes the principals and the resource-level+    -- permissions on an analysis. You can use the @Permissions@ structure to+    -- grant permissions by providing a list of Identity and Access Management+    -- (IAM) action information for each principal listed by Amazon Resource+    -- Name (ARN).+    --+    -- To specify no permissions, omit @Permissions@.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | A source entity to use for the analysis that you\'re creating. This+    -- metadata structure contains details that describe a source template and+    -- one or more datasets.+    sourceEntity :: Prelude.Maybe AnalysisSourceEntity,+    -- | Contains a map of the key-value pairs for the resource tag or tags+    -- assigned to the analysis.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The ARN for the theme to apply to the analysis that you\'re creating. To+    -- see the theme in the Amazon QuickSight console, make sure that you have+    -- access to it.+    themeArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account where you are creating an+    -- analysis.+    awsAccountId :: Prelude.Text,+    -- | The ID for the analysis that you\'re creating. This ID displays in the+    -- URL of the analysis.+    analysisId :: Prelude.Text,+    -- | A descriptive name for the analysis that you\'re creating. This name+    -- displays for the analysis in the Amazon QuickSight console.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAnalysis' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'definition', 'createAnalysis_definition' - The definition of an analysis.+--+-- A definition is the data model of all features in a Dashboard, Template,+-- or Analysis.+--+-- 'parameters', 'createAnalysis_parameters' - The parameter names and override values that you want to use. An+-- analysis can have any parameter type, and some parameters might accept+-- multiple values.+--+-- 'permissions', 'createAnalysis_permissions' - A structure that describes the principals and the resource-level+-- permissions on an analysis. You can use the @Permissions@ structure to+-- grant permissions by providing a list of Identity and Access Management+-- (IAM) action information for each principal listed by Amazon Resource+-- Name (ARN).+--+-- To specify no permissions, omit @Permissions@.+--+-- 'sourceEntity', 'createAnalysis_sourceEntity' - A source entity to use for the analysis that you\'re creating. This+-- metadata structure contains details that describe a source template and+-- one or more datasets.+--+-- 'tags', 'createAnalysis_tags' - Contains a map of the key-value pairs for the resource tag or tags+-- assigned to the analysis.+--+-- 'themeArn', 'createAnalysis_themeArn' - The ARN for the theme to apply to the analysis that you\'re creating. To+-- see the theme in the Amazon QuickSight console, make sure that you have+-- access to it.+--+-- 'awsAccountId', 'createAnalysis_awsAccountId' - The ID of the Amazon Web Services account where you are creating an+-- analysis.+--+-- 'analysisId', 'createAnalysis_analysisId' - The ID for the analysis that you\'re creating. This ID displays in the+-- URL of the analysis.+--+-- 'name', 'createAnalysis_name' - A descriptive name for the analysis that you\'re creating. This name+-- displays for the analysis in the Amazon QuickSight console.+newCreateAnalysis ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'analysisId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  CreateAnalysis+newCreateAnalysis pAwsAccountId_ pAnalysisId_ pName_ =+  CreateAnalysis'+    { definition = Prelude.Nothing,+      parameters = Prelude.Nothing,+      permissions = Prelude.Nothing,+      sourceEntity = Prelude.Nothing,+      tags = Prelude.Nothing,+      themeArn = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      analysisId = pAnalysisId_,+      name = pName_+    }++-- | The definition of an analysis.+--+-- A definition is the data model of all features in a Dashboard, Template,+-- or Analysis.+createAnalysis_definition :: Lens.Lens' CreateAnalysis (Prelude.Maybe AnalysisDefinition)+createAnalysis_definition = Lens.lens (\CreateAnalysis' {definition} -> definition) (\s@CreateAnalysis' {} a -> s {definition = a} :: CreateAnalysis)++-- | The parameter names and override values that you want to use. An+-- analysis can have any parameter type, and some parameters might accept+-- multiple values.+createAnalysis_parameters :: Lens.Lens' CreateAnalysis (Prelude.Maybe Parameters)+createAnalysis_parameters = Lens.lens (\CreateAnalysis' {parameters} -> parameters) (\s@CreateAnalysis' {} a -> s {parameters = a} :: CreateAnalysis)++-- | A structure that describes the principals and the resource-level+-- permissions on an analysis. You can use the @Permissions@ structure to+-- grant permissions by providing a list of Identity and Access Management+-- (IAM) action information for each principal listed by Amazon Resource+-- Name (ARN).+--+-- To specify no permissions, omit @Permissions@.+createAnalysis_permissions :: Lens.Lens' CreateAnalysis (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+createAnalysis_permissions = Lens.lens (\CreateAnalysis' {permissions} -> permissions) (\s@CreateAnalysis' {} a -> s {permissions = a} :: CreateAnalysis) Prelude.. Lens.mapping Lens.coerced++-- | A source entity to use for the analysis that you\'re creating. This+-- metadata structure contains details that describe a source template and+-- one or more datasets.+createAnalysis_sourceEntity :: Lens.Lens' CreateAnalysis (Prelude.Maybe AnalysisSourceEntity)+createAnalysis_sourceEntity = Lens.lens (\CreateAnalysis' {sourceEntity} -> sourceEntity) (\s@CreateAnalysis' {} a -> s {sourceEntity = a} :: CreateAnalysis)++-- | Contains a map of the key-value pairs for the resource tag or tags+-- assigned to the analysis.+createAnalysis_tags :: Lens.Lens' CreateAnalysis (Prelude.Maybe (Prelude.NonEmpty Tag))+createAnalysis_tags = Lens.lens (\CreateAnalysis' {tags} -> tags) (\s@CreateAnalysis' {} a -> s {tags = a} :: CreateAnalysis) Prelude.. Lens.mapping Lens.coerced++-- | The ARN for the theme to apply to the analysis that you\'re creating. To+-- see the theme in the Amazon QuickSight console, make sure that you have+-- access to it.+createAnalysis_themeArn :: Lens.Lens' CreateAnalysis (Prelude.Maybe Prelude.Text)+createAnalysis_themeArn = Lens.lens (\CreateAnalysis' {themeArn} -> themeArn) (\s@CreateAnalysis' {} a -> s {themeArn = a} :: CreateAnalysis)++-- | The ID of the Amazon Web Services account where you are creating an+-- analysis.+createAnalysis_awsAccountId :: Lens.Lens' CreateAnalysis Prelude.Text+createAnalysis_awsAccountId = Lens.lens (\CreateAnalysis' {awsAccountId} -> awsAccountId) (\s@CreateAnalysis' {} a -> s {awsAccountId = a} :: CreateAnalysis)++-- | The ID for the analysis that you\'re creating. This ID displays in the+-- URL of the analysis.+createAnalysis_analysisId :: Lens.Lens' CreateAnalysis Prelude.Text+createAnalysis_analysisId = Lens.lens (\CreateAnalysis' {analysisId} -> analysisId) (\s@CreateAnalysis' {} a -> s {analysisId = a} :: CreateAnalysis)++-- | A descriptive name for the analysis that you\'re creating. This name+-- displays for the analysis in the Amazon QuickSight console.+createAnalysis_name :: Lens.Lens' CreateAnalysis Prelude.Text+createAnalysis_name = Lens.lens (\CreateAnalysis' {name} -> name) (\s@CreateAnalysis' {} a -> s {name = a} :: CreateAnalysis)++instance Core.AWSRequest CreateAnalysis where+  type+    AWSResponse CreateAnalysis =+      CreateAnalysisResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateAnalysisResponse'+            Prelude.<$> (x Data..?> "AnalysisId")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreationStatus")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateAnalysis where+  hashWithSalt _salt CreateAnalysis' {..} =+    _salt+      `Prelude.hashWithSalt` definition+      `Prelude.hashWithSalt` parameters+      `Prelude.hashWithSalt` permissions+      `Prelude.hashWithSalt` sourceEntity+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` themeArn+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` analysisId+      `Prelude.hashWithSalt` name++instance Prelude.NFData CreateAnalysis where+  rnf CreateAnalysis' {..} =+    Prelude.rnf definition+      `Prelude.seq` Prelude.rnf parameters+      `Prelude.seq` Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf sourceEntity+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf themeArn+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf analysisId+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateAnalysis where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateAnalysis where+  toJSON CreateAnalysis' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Definition" Data..=) Prelude.<$> definition,+            ("Parameters" Data..=) Prelude.<$> parameters,+            ("Permissions" Data..=) Prelude.<$> permissions,+            ("SourceEntity" Data..=) Prelude.<$> sourceEntity,+            ("Tags" Data..=) Prelude.<$> tags,+            ("ThemeArn" Data..=) Prelude.<$> themeArn,+            Prelude.Just ("Name" Data..= name)+          ]+      )++instance Data.ToPath CreateAnalysis where+  toPath CreateAnalysis' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/analyses/",+        Data.toBS analysisId+      ]++instance Data.ToQuery CreateAnalysis where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAnalysisResponse' smart constructor.+data CreateAnalysisResponse = CreateAnalysisResponse'+  { -- | The ID of the analysis.+    analysisId :: Prelude.Maybe Prelude.Text,+    -- | The ARN for the analysis.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The status of the creation of the analysis.+    creationStatus :: Prelude.Maybe ResourceStatus,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAnalysisResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analysisId', 'createAnalysisResponse_analysisId' - The ID of the analysis.+--+-- 'arn', 'createAnalysisResponse_arn' - The ARN for the analysis.+--+-- 'creationStatus', 'createAnalysisResponse_creationStatus' - The status of the creation of the analysis.+--+-- 'requestId', 'createAnalysisResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'createAnalysisResponse_status' - The HTTP status of the request.+newCreateAnalysisResponse ::+  -- | 'status'+  Prelude.Int ->+  CreateAnalysisResponse+newCreateAnalysisResponse pStatus_ =+  CreateAnalysisResponse'+    { analysisId =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      creationStatus = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The ID of the analysis.+createAnalysisResponse_analysisId :: Lens.Lens' CreateAnalysisResponse (Prelude.Maybe Prelude.Text)+createAnalysisResponse_analysisId = Lens.lens (\CreateAnalysisResponse' {analysisId} -> analysisId) (\s@CreateAnalysisResponse' {} a -> s {analysisId = a} :: CreateAnalysisResponse)++-- | The ARN for the analysis.+createAnalysisResponse_arn :: Lens.Lens' CreateAnalysisResponse (Prelude.Maybe Prelude.Text)+createAnalysisResponse_arn = Lens.lens (\CreateAnalysisResponse' {arn} -> arn) (\s@CreateAnalysisResponse' {} a -> s {arn = a} :: CreateAnalysisResponse)++-- | The status of the creation of the analysis.+createAnalysisResponse_creationStatus :: Lens.Lens' CreateAnalysisResponse (Prelude.Maybe ResourceStatus)+createAnalysisResponse_creationStatus = Lens.lens (\CreateAnalysisResponse' {creationStatus} -> creationStatus) (\s@CreateAnalysisResponse' {} a -> s {creationStatus = a} :: CreateAnalysisResponse)++-- | The Amazon Web Services request ID for this operation.+createAnalysisResponse_requestId :: Lens.Lens' CreateAnalysisResponse (Prelude.Maybe Prelude.Text)+createAnalysisResponse_requestId = Lens.lens (\CreateAnalysisResponse' {requestId} -> requestId) (\s@CreateAnalysisResponse' {} a -> s {requestId = a} :: CreateAnalysisResponse)++-- | The HTTP status of the request.+createAnalysisResponse_status :: Lens.Lens' CreateAnalysisResponse Prelude.Int+createAnalysisResponse_status = Lens.lens (\CreateAnalysisResponse' {status} -> status) (\s@CreateAnalysisResponse' {} a -> s {status = a} :: CreateAnalysisResponse)++instance Prelude.NFData CreateAnalysisResponse where+  rnf CreateAnalysisResponse' {..} =+    Prelude.rnf analysisId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationStatus+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/CreateDashboard.hs view
@@ -0,0 +1,498 @@+{-# 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.QuickSight.CreateDashboard+-- 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 dashboard from a template. To first create a template, see the+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateTemplate.html CreateTemplate>@ @+-- API operation.+--+-- A dashboard is an entity in Amazon QuickSight that identifies Amazon+-- QuickSight reports, created from analyses. You can share Amazon+-- QuickSight dashboards. With the right permissions, you can create+-- scheduled email reports from them. If you have the correct permissions,+-- you can create a dashboard from a template that exists in a different+-- Amazon Web Services account.+module Amazonka.QuickSight.CreateDashboard+  ( -- * Creating a Request+    CreateDashboard (..),+    newCreateDashboard,++    -- * Request Lenses+    createDashboard_dashboardPublishOptions,+    createDashboard_definition,+    createDashboard_parameters,+    createDashboard_permissions,+    createDashboard_sourceEntity,+    createDashboard_tags,+    createDashboard_themeArn,+    createDashboard_versionDescription,+    createDashboard_awsAccountId,+    createDashboard_dashboardId,+    createDashboard_name,++    -- * Destructuring the Response+    CreateDashboardResponse (..),+    newCreateDashboardResponse,++    -- * Response Lenses+    createDashboardResponse_arn,+    createDashboardResponse_creationStatus,+    createDashboardResponse_dashboardId,+    createDashboardResponse_requestId,+    createDashboardResponse_versionArn,+    createDashboardResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDashboard' smart constructor.+data CreateDashboard = CreateDashboard'+  { -- | Options for publishing the dashboard when you create it:+    --+    -- -   @AvailabilityStatus@ for @AdHocFilteringOption@ - This status can be+    --     either @ENABLED@ or @DISABLED@. When this is set to @DISABLED@,+    --     Amazon QuickSight disables the left filter pane on the published+    --     dashboard, which can be used for ad hoc (one-time) filtering. This+    --     option is @ENABLED@ by default.+    --+    -- -   @AvailabilityStatus@ for @ExportToCSVOption@ - This status can be+    --     either @ENABLED@ or @DISABLED@. The visual option to export data to+    --     .CSV format isn\'t enabled when this is set to @DISABLED@. This+    --     option is @ENABLED@ by default.+    --+    -- -   @VisibilityState@ for @SheetControlsOption@ - This visibility state+    --     can be either @COLLAPSED@ or @EXPANDED@. This option is @COLLAPSED@+    --     by default.+    dashboardPublishOptions :: Prelude.Maybe DashboardPublishOptions,+    -- | The definition of a dashboard.+    --+    -- A definition is the data model of all features in a Dashboard, Template,+    -- or Analysis.+    definition :: Prelude.Maybe DashboardVersionDefinition,+    -- | The parameters for the creation of the dashboard, which you want to use+    -- to override the default settings. A dashboard can have any type of+    -- parameters, and some parameters might accept multiple values.+    parameters :: Prelude.Maybe Parameters,+    -- | A structure that contains the permissions of the dashboard. You can use+    -- this structure for granting permissions by providing a list of IAM+    -- action information for each principal ARN.+    --+    -- To specify no permissions, omit the permissions list.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The entity that you are using as a source when you create the dashboard.+    -- In @SourceEntity@, you specify the type of object you\'re using as+    -- source. You can only create a dashboard from a template, so you use a+    -- @SourceTemplate@ entity. If you need to create a dashboard from an+    -- analysis, first convert the analysis to a template by using the+    -- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateTemplate.html CreateTemplate>@ @+    -- API operation. For @SourceTemplate@, specify the Amazon Resource Name+    -- (ARN) of the source template. The @SourceTemplate@ARN can contain any+    -- Amazon Web Services account and any Amazon QuickSight-supported Amazon+    -- Web Services Region.+    --+    -- Use the @DataSetReferences@ entity within @SourceTemplate@ to list the+    -- replacement datasets for the placeholders listed in the original. The+    -- schema in each dataset must match its placeholder.+    sourceEntity :: Prelude.Maybe DashboardSourceEntity,+    -- | Contains a map of the key-value pairs for the resource tag or tags+    -- assigned to the dashboard.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The Amazon Resource Name (ARN) of the theme that is being used for this+    -- dashboard. If you add a value for this field, it overrides the value+    -- that is used in the source entity. The theme ARN must exist in the same+    -- Amazon Web Services account where you create the dashboard.+    themeArn :: Prelude.Maybe Prelude.Text,+    -- | A description for the first version of the dashboard being created.+    versionDescription :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account where you want to create the+    -- dashboard.+    awsAccountId :: Prelude.Text,+    -- | The ID for the dashboard, also added to the IAM policy.+    dashboardId :: Prelude.Text,+    -- | The display name of the dashboard.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDashboard' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dashboardPublishOptions', 'createDashboard_dashboardPublishOptions' - Options for publishing the dashboard when you create it:+--+-- -   @AvailabilityStatus@ for @AdHocFilteringOption@ - This status can be+--     either @ENABLED@ or @DISABLED@. When this is set to @DISABLED@,+--     Amazon QuickSight disables the left filter pane on the published+--     dashboard, which can be used for ad hoc (one-time) filtering. This+--     option is @ENABLED@ by default.+--+-- -   @AvailabilityStatus@ for @ExportToCSVOption@ - This status can be+--     either @ENABLED@ or @DISABLED@. The visual option to export data to+--     .CSV format isn\'t enabled when this is set to @DISABLED@. This+--     option is @ENABLED@ by default.+--+-- -   @VisibilityState@ for @SheetControlsOption@ - This visibility state+--     can be either @COLLAPSED@ or @EXPANDED@. This option is @COLLAPSED@+--     by default.+--+-- 'definition', 'createDashboard_definition' - The definition of a dashboard.+--+-- A definition is the data model of all features in a Dashboard, Template,+-- or Analysis.+--+-- 'parameters', 'createDashboard_parameters' - The parameters for the creation of the dashboard, which you want to use+-- to override the default settings. A dashboard can have any type of+-- parameters, and some parameters might accept multiple values.+--+-- 'permissions', 'createDashboard_permissions' - A structure that contains the permissions of the dashboard. You can use+-- this structure for granting permissions by providing a list of IAM+-- action information for each principal ARN.+--+-- To specify no permissions, omit the permissions list.+--+-- 'sourceEntity', 'createDashboard_sourceEntity' - The entity that you are using as a source when you create the dashboard.+-- In @SourceEntity@, you specify the type of object you\'re using as+-- source. You can only create a dashboard from a template, so you use a+-- @SourceTemplate@ entity. If you need to create a dashboard from an+-- analysis, first convert the analysis to a template by using the+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateTemplate.html CreateTemplate>@ @+-- API operation. For @SourceTemplate@, specify the Amazon Resource Name+-- (ARN) of the source template. The @SourceTemplate@ARN can contain any+-- Amazon Web Services account and any Amazon QuickSight-supported Amazon+-- Web Services Region.+--+-- Use the @DataSetReferences@ entity within @SourceTemplate@ to list the+-- replacement datasets for the placeholders listed in the original. The+-- schema in each dataset must match its placeholder.+--+-- 'tags', 'createDashboard_tags' - Contains a map of the key-value pairs for the resource tag or tags+-- assigned to the dashboard.+--+-- 'themeArn', 'createDashboard_themeArn' - The Amazon Resource Name (ARN) of the theme that is being used for this+-- dashboard. If you add a value for this field, it overrides the value+-- that is used in the source entity. The theme ARN must exist in the same+-- Amazon Web Services account where you create the dashboard.+--+-- 'versionDescription', 'createDashboard_versionDescription' - A description for the first version of the dashboard being created.+--+-- 'awsAccountId', 'createDashboard_awsAccountId' - The ID of the Amazon Web Services account where you want to create the+-- dashboard.+--+-- 'dashboardId', 'createDashboard_dashboardId' - The ID for the dashboard, also added to the IAM policy.+--+-- 'name', 'createDashboard_name' - The display name of the dashboard.+newCreateDashboard ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dashboardId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  CreateDashboard+newCreateDashboard+  pAwsAccountId_+  pDashboardId_+  pName_ =+    CreateDashboard'+      { dashboardPublishOptions =+          Prelude.Nothing,+        definition = Prelude.Nothing,+        parameters = Prelude.Nothing,+        permissions = Prelude.Nothing,+        sourceEntity = Prelude.Nothing,+        tags = Prelude.Nothing,+        themeArn = Prelude.Nothing,+        versionDescription = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        dashboardId = pDashboardId_,+        name = pName_+      }++-- | Options for publishing the dashboard when you create it:+--+-- -   @AvailabilityStatus@ for @AdHocFilteringOption@ - This status can be+--     either @ENABLED@ or @DISABLED@. When this is set to @DISABLED@,+--     Amazon QuickSight disables the left filter pane on the published+--     dashboard, which can be used for ad hoc (one-time) filtering. This+--     option is @ENABLED@ by default.+--+-- -   @AvailabilityStatus@ for @ExportToCSVOption@ - This status can be+--     either @ENABLED@ or @DISABLED@. The visual option to export data to+--     .CSV format isn\'t enabled when this is set to @DISABLED@. This+--     option is @ENABLED@ by default.+--+-- -   @VisibilityState@ for @SheetControlsOption@ - This visibility state+--     can be either @COLLAPSED@ or @EXPANDED@. This option is @COLLAPSED@+--     by default.+createDashboard_dashboardPublishOptions :: Lens.Lens' CreateDashboard (Prelude.Maybe DashboardPublishOptions)+createDashboard_dashboardPublishOptions = Lens.lens (\CreateDashboard' {dashboardPublishOptions} -> dashboardPublishOptions) (\s@CreateDashboard' {} a -> s {dashboardPublishOptions = a} :: CreateDashboard)++-- | The definition of a dashboard.+--+-- A definition is the data model of all features in a Dashboard, Template,+-- or Analysis.+createDashboard_definition :: Lens.Lens' CreateDashboard (Prelude.Maybe DashboardVersionDefinition)+createDashboard_definition = Lens.lens (\CreateDashboard' {definition} -> definition) (\s@CreateDashboard' {} a -> s {definition = a} :: CreateDashboard)++-- | The parameters for the creation of the dashboard, which you want to use+-- to override the default settings. A dashboard can have any type of+-- parameters, and some parameters might accept multiple values.+createDashboard_parameters :: Lens.Lens' CreateDashboard (Prelude.Maybe Parameters)+createDashboard_parameters = Lens.lens (\CreateDashboard' {parameters} -> parameters) (\s@CreateDashboard' {} a -> s {parameters = a} :: CreateDashboard)++-- | A structure that contains the permissions of the dashboard. You can use+-- this structure for granting permissions by providing a list of IAM+-- action information for each principal ARN.+--+-- To specify no permissions, omit the permissions list.+createDashboard_permissions :: Lens.Lens' CreateDashboard (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+createDashboard_permissions = Lens.lens (\CreateDashboard' {permissions} -> permissions) (\s@CreateDashboard' {} a -> s {permissions = a} :: CreateDashboard) Prelude.. Lens.mapping Lens.coerced++-- | The entity that you are using as a source when you create the dashboard.+-- In @SourceEntity@, you specify the type of object you\'re using as+-- source. You can only create a dashboard from a template, so you use a+-- @SourceTemplate@ entity. If you need to create a dashboard from an+-- analysis, first convert the analysis to a template by using the+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateTemplate.html CreateTemplate>@ @+-- API operation. For @SourceTemplate@, specify the Amazon Resource Name+-- (ARN) of the source template. The @SourceTemplate@ARN can contain any+-- Amazon Web Services account and any Amazon QuickSight-supported Amazon+-- Web Services Region.+--+-- Use the @DataSetReferences@ entity within @SourceTemplate@ to list the+-- replacement datasets for the placeholders listed in the original. The+-- schema in each dataset must match its placeholder.+createDashboard_sourceEntity :: Lens.Lens' CreateDashboard (Prelude.Maybe DashboardSourceEntity)+createDashboard_sourceEntity = Lens.lens (\CreateDashboard' {sourceEntity} -> sourceEntity) (\s@CreateDashboard' {} a -> s {sourceEntity = a} :: CreateDashboard)++-- | Contains a map of the key-value pairs for the resource tag or tags+-- assigned to the dashboard.+createDashboard_tags :: Lens.Lens' CreateDashboard (Prelude.Maybe (Prelude.NonEmpty Tag))+createDashboard_tags = Lens.lens (\CreateDashboard' {tags} -> tags) (\s@CreateDashboard' {} a -> s {tags = a} :: CreateDashboard) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the theme that is being used for this+-- dashboard. If you add a value for this field, it overrides the value+-- that is used in the source entity. The theme ARN must exist in the same+-- Amazon Web Services account where you create the dashboard.+createDashboard_themeArn :: Lens.Lens' CreateDashboard (Prelude.Maybe Prelude.Text)+createDashboard_themeArn = Lens.lens (\CreateDashboard' {themeArn} -> themeArn) (\s@CreateDashboard' {} a -> s {themeArn = a} :: CreateDashboard)++-- | A description for the first version of the dashboard being created.+createDashboard_versionDescription :: Lens.Lens' CreateDashboard (Prelude.Maybe Prelude.Text)+createDashboard_versionDescription = Lens.lens (\CreateDashboard' {versionDescription} -> versionDescription) (\s@CreateDashboard' {} a -> s {versionDescription = a} :: CreateDashboard)++-- | The ID of the Amazon Web Services account where you want to create the+-- dashboard.+createDashboard_awsAccountId :: Lens.Lens' CreateDashboard Prelude.Text+createDashboard_awsAccountId = Lens.lens (\CreateDashboard' {awsAccountId} -> awsAccountId) (\s@CreateDashboard' {} a -> s {awsAccountId = a} :: CreateDashboard)++-- | The ID for the dashboard, also added to the IAM policy.+createDashboard_dashboardId :: Lens.Lens' CreateDashboard Prelude.Text+createDashboard_dashboardId = Lens.lens (\CreateDashboard' {dashboardId} -> dashboardId) (\s@CreateDashboard' {} a -> s {dashboardId = a} :: CreateDashboard)++-- | The display name of the dashboard.+createDashboard_name :: Lens.Lens' CreateDashboard Prelude.Text+createDashboard_name = Lens.lens (\CreateDashboard' {name} -> name) (\s@CreateDashboard' {} a -> s {name = a} :: CreateDashboard)++instance Core.AWSRequest CreateDashboard where+  type+    AWSResponse CreateDashboard =+      CreateDashboardResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateDashboardResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreationStatus")+            Prelude.<*> (x Data..?> "DashboardId")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "VersionArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateDashboard where+  hashWithSalt _salt CreateDashboard' {..} =+    _salt+      `Prelude.hashWithSalt` dashboardPublishOptions+      `Prelude.hashWithSalt` definition+      `Prelude.hashWithSalt` parameters+      `Prelude.hashWithSalt` permissions+      `Prelude.hashWithSalt` sourceEntity+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` themeArn+      `Prelude.hashWithSalt` versionDescription+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dashboardId+      `Prelude.hashWithSalt` name++instance Prelude.NFData CreateDashboard where+  rnf CreateDashboard' {..} =+    Prelude.rnf dashboardPublishOptions+      `Prelude.seq` Prelude.rnf definition+      `Prelude.seq` Prelude.rnf parameters+      `Prelude.seq` Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf sourceEntity+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf themeArn+      `Prelude.seq` Prelude.rnf versionDescription+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dashboardId+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateDashboard where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateDashboard where+  toJSON CreateDashboard' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DashboardPublishOptions" Data..=)+              Prelude.<$> dashboardPublishOptions,+            ("Definition" Data..=) Prelude.<$> definition,+            ("Parameters" Data..=) Prelude.<$> parameters,+            ("Permissions" Data..=) Prelude.<$> permissions,+            ("SourceEntity" Data..=) Prelude.<$> sourceEntity,+            ("Tags" Data..=) Prelude.<$> tags,+            ("ThemeArn" Data..=) Prelude.<$> themeArn,+            ("VersionDescription" Data..=)+              Prelude.<$> versionDescription,+            Prelude.Just ("Name" Data..= name)+          ]+      )++instance Data.ToPath CreateDashboard where+  toPath CreateDashboard' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/dashboards/",+        Data.toBS dashboardId+      ]++instance Data.ToQuery CreateDashboard where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDashboardResponse' smart constructor.+data CreateDashboardResponse = CreateDashboardResponse'+  { -- | The ARN of the dashboard.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The status of the dashboard creation request.+    creationStatus :: Prelude.Maybe ResourceStatus,+    -- | The ID for the dashboard.+    dashboardId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the dashboard, including the version number of the first+    -- version that is created.+    versionArn :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDashboardResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createDashboardResponse_arn' - The ARN of the dashboard.+--+-- 'creationStatus', 'createDashboardResponse_creationStatus' - The status of the dashboard creation request.+--+-- 'dashboardId', 'createDashboardResponse_dashboardId' - The ID for the dashboard.+--+-- 'requestId', 'createDashboardResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'versionArn', 'createDashboardResponse_versionArn' - The ARN of the dashboard, including the version number of the first+-- version that is created.+--+-- 'status', 'createDashboardResponse_status' - The HTTP status of the request.+newCreateDashboardResponse ::+  -- | 'status'+  Prelude.Int ->+  CreateDashboardResponse+newCreateDashboardResponse pStatus_ =+  CreateDashboardResponse'+    { arn = Prelude.Nothing,+      creationStatus = Prelude.Nothing,+      dashboardId = Prelude.Nothing,+      requestId = Prelude.Nothing,+      versionArn = Prelude.Nothing,+      status = pStatus_+    }++-- | The ARN of the dashboard.+createDashboardResponse_arn :: Lens.Lens' CreateDashboardResponse (Prelude.Maybe Prelude.Text)+createDashboardResponse_arn = Lens.lens (\CreateDashboardResponse' {arn} -> arn) (\s@CreateDashboardResponse' {} a -> s {arn = a} :: CreateDashboardResponse)++-- | The status of the dashboard creation request.+createDashboardResponse_creationStatus :: Lens.Lens' CreateDashboardResponse (Prelude.Maybe ResourceStatus)+createDashboardResponse_creationStatus = Lens.lens (\CreateDashboardResponse' {creationStatus} -> creationStatus) (\s@CreateDashboardResponse' {} a -> s {creationStatus = a} :: CreateDashboardResponse)++-- | The ID for the dashboard.+createDashboardResponse_dashboardId :: Lens.Lens' CreateDashboardResponse (Prelude.Maybe Prelude.Text)+createDashboardResponse_dashboardId = Lens.lens (\CreateDashboardResponse' {dashboardId} -> dashboardId) (\s@CreateDashboardResponse' {} a -> s {dashboardId = a} :: CreateDashboardResponse)++-- | The Amazon Web Services request ID for this operation.+createDashboardResponse_requestId :: Lens.Lens' CreateDashboardResponse (Prelude.Maybe Prelude.Text)+createDashboardResponse_requestId = Lens.lens (\CreateDashboardResponse' {requestId} -> requestId) (\s@CreateDashboardResponse' {} a -> s {requestId = a} :: CreateDashboardResponse)++-- | The ARN of the dashboard, including the version number of the first+-- version that is created.+createDashboardResponse_versionArn :: Lens.Lens' CreateDashboardResponse (Prelude.Maybe Prelude.Text)+createDashboardResponse_versionArn = Lens.lens (\CreateDashboardResponse' {versionArn} -> versionArn) (\s@CreateDashboardResponse' {} a -> s {versionArn = a} :: CreateDashboardResponse)++-- | The HTTP status of the request.+createDashboardResponse_status :: Lens.Lens' CreateDashboardResponse Prelude.Int+createDashboardResponse_status = Lens.lens (\CreateDashboardResponse' {status} -> status) (\s@CreateDashboardResponse' {} a -> s {status = a} :: CreateDashboardResponse)++instance Prelude.NFData CreateDashboardResponse where+  rnf CreateDashboardResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationStatus+      `Prelude.seq` Prelude.rnf dashboardId+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf versionArn+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/CreateDataSet.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.QuickSight.CreateDataSet+-- 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 dataset. This operation doesn\'t support datasets that include+-- uploaded files as a source.+module Amazonka.QuickSight.CreateDataSet+  ( -- * Creating a Request+    CreateDataSet (..),+    newCreateDataSet,++    -- * Request Lenses+    createDataSet_columnGroups,+    createDataSet_columnLevelPermissionRules,+    createDataSet_dataSetUsageConfiguration,+    createDataSet_fieldFolders,+    createDataSet_logicalTableMap,+    createDataSet_permissions,+    createDataSet_rowLevelPermissionDataSet,+    createDataSet_rowLevelPermissionTagConfiguration,+    createDataSet_tags,+    createDataSet_awsAccountId,+    createDataSet_dataSetId,+    createDataSet_name,+    createDataSet_physicalTableMap,+    createDataSet_importMode,++    -- * Destructuring the Response+    CreateDataSetResponse (..),+    newCreateDataSetResponse,++    -- * Response Lenses+    createDataSetResponse_arn,+    createDataSetResponse_dataSetId,+    createDataSetResponse_ingestionArn,+    createDataSetResponse_ingestionId,+    createDataSetResponse_requestId,+    createDataSetResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDataSet' smart constructor.+data CreateDataSet = CreateDataSet'+  { -- | Groupings of columns that work together in certain Amazon QuickSight+    -- features. Currently, only geospatial hierarchy is supported.+    columnGroups :: Prelude.Maybe (Prelude.NonEmpty ColumnGroup),+    -- | A set of one or more definitions of a+    -- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html ColumnLevelPermissionRule>@ @.+    columnLevelPermissionRules :: Prelude.Maybe (Prelude.NonEmpty ColumnLevelPermissionRule),+    dataSetUsageConfiguration :: Prelude.Maybe DataSetUsageConfiguration,+    -- | The folder that contains fields and nested subfolders for your dataset.+    fieldFolders :: Prelude.Maybe (Prelude.HashMap Prelude.Text FieldFolder),+    -- | Configures the combination and transformation of the data from the+    -- physical tables.+    logicalTableMap :: Prelude.Maybe (Prelude.HashMap Prelude.Text LogicalTable),+    -- | A list of resource permissions on the dataset.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The row-level security configuration for the data that you want to+    -- create.+    rowLevelPermissionDataSet :: Prelude.Maybe RowLevelPermissionDataSet,+    -- | The configuration of tags on a dataset to set row-level security.+    -- Row-level security tags are currently supported for anonymous embedding+    -- only.+    rowLevelPermissionTagConfiguration :: Prelude.Maybe RowLevelPermissionTagConfiguration,+    -- | Contains a map of the key-value pairs for the resource tag or tags+    -- assigned to the dataset.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text,+    -- | An ID for the dataset that you want to create. This ID is unique per+    -- Amazon Web Services Region for each Amazon Web Services account.+    dataSetId :: Prelude.Text,+    -- | The display name for the dataset.+    name :: Prelude.Text,+    -- | Declares the physical tables that are available in the underlying data+    -- sources.+    physicalTableMap :: Prelude.HashMap Prelude.Text PhysicalTable,+    -- | Indicates whether you want to import the data into SPICE.+    importMode :: DataSetImportMode+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDataSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columnGroups', 'createDataSet_columnGroups' - Groupings of columns that work together in certain Amazon QuickSight+-- features. Currently, only geospatial hierarchy is supported.+--+-- 'columnLevelPermissionRules', 'createDataSet_columnLevelPermissionRules' - A set of one or more definitions of a+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html ColumnLevelPermissionRule>@ @.+--+-- 'dataSetUsageConfiguration', 'createDataSet_dataSetUsageConfiguration' - Undocumented member.+--+-- 'fieldFolders', 'createDataSet_fieldFolders' - The folder that contains fields and nested subfolders for your dataset.+--+-- 'logicalTableMap', 'createDataSet_logicalTableMap' - Configures the combination and transformation of the data from the+-- physical tables.+--+-- 'permissions', 'createDataSet_permissions' - A list of resource permissions on the dataset.+--+-- 'rowLevelPermissionDataSet', 'createDataSet_rowLevelPermissionDataSet' - The row-level security configuration for the data that you want to+-- create.+--+-- 'rowLevelPermissionTagConfiguration', 'createDataSet_rowLevelPermissionTagConfiguration' - The configuration of tags on a dataset to set row-level security.+-- Row-level security tags are currently supported for anonymous embedding+-- only.+--+-- 'tags', 'createDataSet_tags' - Contains a map of the key-value pairs for the resource tag or tags+-- assigned to the dataset.+--+-- 'awsAccountId', 'createDataSet_awsAccountId' - The Amazon Web Services account ID.+--+-- 'dataSetId', 'createDataSet_dataSetId' - An ID for the dataset that you want to create. This ID is unique per+-- Amazon Web Services Region for each Amazon Web Services account.+--+-- 'name', 'createDataSet_name' - The display name for the dataset.+--+-- 'physicalTableMap', 'createDataSet_physicalTableMap' - Declares the physical tables that are available in the underlying data+-- sources.+--+-- 'importMode', 'createDataSet_importMode' - Indicates whether you want to import the data into SPICE.+newCreateDataSet ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dataSetId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'importMode'+  DataSetImportMode ->+  CreateDataSet+newCreateDataSet+  pAwsAccountId_+  pDataSetId_+  pName_+  pImportMode_ =+    CreateDataSet'+      { columnGroups = Prelude.Nothing,+        columnLevelPermissionRules = Prelude.Nothing,+        dataSetUsageConfiguration = Prelude.Nothing,+        fieldFolders = Prelude.Nothing,+        logicalTableMap = Prelude.Nothing,+        permissions = Prelude.Nothing,+        rowLevelPermissionDataSet = Prelude.Nothing,+        rowLevelPermissionTagConfiguration = Prelude.Nothing,+        tags = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        dataSetId = pDataSetId_,+        name = pName_,+        physicalTableMap = Prelude.mempty,+        importMode = pImportMode_+      }++-- | Groupings of columns that work together in certain Amazon QuickSight+-- features. Currently, only geospatial hierarchy is supported.+createDataSet_columnGroups :: Lens.Lens' CreateDataSet (Prelude.Maybe (Prelude.NonEmpty ColumnGroup))+createDataSet_columnGroups = Lens.lens (\CreateDataSet' {columnGroups} -> columnGroups) (\s@CreateDataSet' {} a -> s {columnGroups = a} :: CreateDataSet) Prelude.. Lens.mapping Lens.coerced++-- | A set of one or more definitions of a+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html ColumnLevelPermissionRule>@ @.+createDataSet_columnLevelPermissionRules :: Lens.Lens' CreateDataSet (Prelude.Maybe (Prelude.NonEmpty ColumnLevelPermissionRule))+createDataSet_columnLevelPermissionRules = Lens.lens (\CreateDataSet' {columnLevelPermissionRules} -> columnLevelPermissionRules) (\s@CreateDataSet' {} a -> s {columnLevelPermissionRules = a} :: CreateDataSet) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createDataSet_dataSetUsageConfiguration :: Lens.Lens' CreateDataSet (Prelude.Maybe DataSetUsageConfiguration)+createDataSet_dataSetUsageConfiguration = Lens.lens (\CreateDataSet' {dataSetUsageConfiguration} -> dataSetUsageConfiguration) (\s@CreateDataSet' {} a -> s {dataSetUsageConfiguration = a} :: CreateDataSet)++-- | The folder that contains fields and nested subfolders for your dataset.+createDataSet_fieldFolders :: Lens.Lens' CreateDataSet (Prelude.Maybe (Prelude.HashMap Prelude.Text FieldFolder))+createDataSet_fieldFolders = Lens.lens (\CreateDataSet' {fieldFolders} -> fieldFolders) (\s@CreateDataSet' {} a -> s {fieldFolders = a} :: CreateDataSet) Prelude.. Lens.mapping Lens.coerced++-- | Configures the combination and transformation of the data from the+-- physical tables.+createDataSet_logicalTableMap :: Lens.Lens' CreateDataSet (Prelude.Maybe (Prelude.HashMap Prelude.Text LogicalTable))+createDataSet_logicalTableMap = Lens.lens (\CreateDataSet' {logicalTableMap} -> logicalTableMap) (\s@CreateDataSet' {} a -> s {logicalTableMap = a} :: CreateDataSet) Prelude.. Lens.mapping Lens.coerced++-- | A list of resource permissions on the dataset.+createDataSet_permissions :: Lens.Lens' CreateDataSet (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+createDataSet_permissions = Lens.lens (\CreateDataSet' {permissions} -> permissions) (\s@CreateDataSet' {} a -> s {permissions = a} :: CreateDataSet) Prelude.. Lens.mapping Lens.coerced++-- | The row-level security configuration for the data that you want to+-- create.+createDataSet_rowLevelPermissionDataSet :: Lens.Lens' CreateDataSet (Prelude.Maybe RowLevelPermissionDataSet)+createDataSet_rowLevelPermissionDataSet = Lens.lens (\CreateDataSet' {rowLevelPermissionDataSet} -> rowLevelPermissionDataSet) (\s@CreateDataSet' {} a -> s {rowLevelPermissionDataSet = a} :: CreateDataSet)++-- | The configuration of tags on a dataset to set row-level security.+-- Row-level security tags are currently supported for anonymous embedding+-- only.+createDataSet_rowLevelPermissionTagConfiguration :: Lens.Lens' CreateDataSet (Prelude.Maybe RowLevelPermissionTagConfiguration)+createDataSet_rowLevelPermissionTagConfiguration = Lens.lens (\CreateDataSet' {rowLevelPermissionTagConfiguration} -> rowLevelPermissionTagConfiguration) (\s@CreateDataSet' {} a -> s {rowLevelPermissionTagConfiguration = a} :: CreateDataSet)++-- | Contains a map of the key-value pairs for the resource tag or tags+-- assigned to the dataset.+createDataSet_tags :: Lens.Lens' CreateDataSet (Prelude.Maybe (Prelude.NonEmpty Tag))+createDataSet_tags = Lens.lens (\CreateDataSet' {tags} -> tags) (\s@CreateDataSet' {} a -> s {tags = a} :: CreateDataSet) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services account ID.+createDataSet_awsAccountId :: Lens.Lens' CreateDataSet Prelude.Text+createDataSet_awsAccountId = Lens.lens (\CreateDataSet' {awsAccountId} -> awsAccountId) (\s@CreateDataSet' {} a -> s {awsAccountId = a} :: CreateDataSet)++-- | An ID for the dataset that you want to create. This ID is unique per+-- Amazon Web Services Region for each Amazon Web Services account.+createDataSet_dataSetId :: Lens.Lens' CreateDataSet Prelude.Text+createDataSet_dataSetId = Lens.lens (\CreateDataSet' {dataSetId} -> dataSetId) (\s@CreateDataSet' {} a -> s {dataSetId = a} :: CreateDataSet)++-- | The display name for the dataset.+createDataSet_name :: Lens.Lens' CreateDataSet Prelude.Text+createDataSet_name = Lens.lens (\CreateDataSet' {name} -> name) (\s@CreateDataSet' {} a -> s {name = a} :: CreateDataSet)++-- | Declares the physical tables that are available in the underlying data+-- sources.+createDataSet_physicalTableMap :: Lens.Lens' CreateDataSet (Prelude.HashMap Prelude.Text PhysicalTable)+createDataSet_physicalTableMap = Lens.lens (\CreateDataSet' {physicalTableMap} -> physicalTableMap) (\s@CreateDataSet' {} a -> s {physicalTableMap = a} :: CreateDataSet) Prelude.. Lens.coerced++-- | Indicates whether you want to import the data into SPICE.+createDataSet_importMode :: Lens.Lens' CreateDataSet DataSetImportMode+createDataSet_importMode = Lens.lens (\CreateDataSet' {importMode} -> importMode) (\s@CreateDataSet' {} a -> s {importMode = a} :: CreateDataSet)++instance Core.AWSRequest CreateDataSet where+  type+    AWSResponse CreateDataSet =+      CreateDataSetResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateDataSetResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "DataSetId")+            Prelude.<*> (x Data..?> "IngestionArn")+            Prelude.<*> (x Data..?> "IngestionId")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateDataSet where+  hashWithSalt _salt CreateDataSet' {..} =+    _salt+      `Prelude.hashWithSalt` columnGroups+      `Prelude.hashWithSalt` columnLevelPermissionRules+      `Prelude.hashWithSalt` dataSetUsageConfiguration+      `Prelude.hashWithSalt` fieldFolders+      `Prelude.hashWithSalt` logicalTableMap+      `Prelude.hashWithSalt` permissions+      `Prelude.hashWithSalt` rowLevelPermissionDataSet+      `Prelude.hashWithSalt` rowLevelPermissionTagConfiguration+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dataSetId+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` physicalTableMap+      `Prelude.hashWithSalt` importMode++instance Prelude.NFData CreateDataSet where+  rnf CreateDataSet' {..} =+    Prelude.rnf columnGroups+      `Prelude.seq` Prelude.rnf columnLevelPermissionRules+      `Prelude.seq` Prelude.rnf dataSetUsageConfiguration+      `Prelude.seq` Prelude.rnf fieldFolders+      `Prelude.seq` Prelude.rnf logicalTableMap+      `Prelude.seq` Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf rowLevelPermissionDataSet+      `Prelude.seq` Prelude.rnf rowLevelPermissionTagConfiguration+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dataSetId+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf physicalTableMap+      `Prelude.seq` Prelude.rnf importMode++instance Data.ToHeaders CreateDataSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateDataSet where+  toJSON CreateDataSet' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ColumnGroups" Data..=) Prelude.<$> columnGroups,+            ("ColumnLevelPermissionRules" Data..=)+              Prelude.<$> columnLevelPermissionRules,+            ("DataSetUsageConfiguration" Data..=)+              Prelude.<$> dataSetUsageConfiguration,+            ("FieldFolders" Data..=) Prelude.<$> fieldFolders,+            ("LogicalTableMap" Data..=)+              Prelude.<$> logicalTableMap,+            ("Permissions" Data..=) Prelude.<$> permissions,+            ("RowLevelPermissionDataSet" Data..=)+              Prelude.<$> rowLevelPermissionDataSet,+            ("RowLevelPermissionTagConfiguration" Data..=)+              Prelude.<$> rowLevelPermissionTagConfiguration,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("DataSetId" Data..= dataSetId),+            Prelude.Just ("Name" Data..= name),+            Prelude.Just+              ("PhysicalTableMap" Data..= physicalTableMap),+            Prelude.Just ("ImportMode" Data..= importMode)+          ]+      )++instance Data.ToPath CreateDataSet where+  toPath CreateDataSet' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS awsAccountId, "/data-sets"]++instance Data.ToQuery CreateDataSet where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDataSetResponse' smart constructor.+data CreateDataSetResponse = CreateDataSetResponse'+  { -- | The Amazon Resource Name (ARN) of the dataset.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID for the dataset that you want to create. This ID is unique per+    -- Amazon Web Services Region for each Amazon Web Services account.+    dataSetId :: Prelude.Maybe Prelude.Text,+    -- | The ARN for the ingestion, which is triggered as a result of dataset+    -- creation if the import mode is SPICE.+    ingestionArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the ingestion, which is triggered as a result of dataset+    -- creation if the import mode is SPICE.+    ingestionId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDataSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createDataSetResponse_arn' - The Amazon Resource Name (ARN) of the dataset.+--+-- 'dataSetId', 'createDataSetResponse_dataSetId' - The ID for the dataset that you want to create. This ID is unique per+-- Amazon Web Services Region for each Amazon Web Services account.+--+-- 'ingestionArn', 'createDataSetResponse_ingestionArn' - The ARN for the ingestion, which is triggered as a result of dataset+-- creation if the import mode is SPICE.+--+-- 'ingestionId', 'createDataSetResponse_ingestionId' - The ID of the ingestion, which is triggered as a result of dataset+-- creation if the import mode is SPICE.+--+-- 'requestId', 'createDataSetResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'createDataSetResponse_status' - The HTTP status of the request.+newCreateDataSetResponse ::+  -- | 'status'+  Prelude.Int ->+  CreateDataSetResponse+newCreateDataSetResponse pStatus_ =+  CreateDataSetResponse'+    { arn = Prelude.Nothing,+      dataSetId = Prelude.Nothing,+      ingestionArn = Prelude.Nothing,+      ingestionId = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) of the dataset.+createDataSetResponse_arn :: Lens.Lens' CreateDataSetResponse (Prelude.Maybe Prelude.Text)+createDataSetResponse_arn = Lens.lens (\CreateDataSetResponse' {arn} -> arn) (\s@CreateDataSetResponse' {} a -> s {arn = a} :: CreateDataSetResponse)++-- | The ID for the dataset that you want to create. This ID is unique per+-- Amazon Web Services Region for each Amazon Web Services account.+createDataSetResponse_dataSetId :: Lens.Lens' CreateDataSetResponse (Prelude.Maybe Prelude.Text)+createDataSetResponse_dataSetId = Lens.lens (\CreateDataSetResponse' {dataSetId} -> dataSetId) (\s@CreateDataSetResponse' {} a -> s {dataSetId = a} :: CreateDataSetResponse)++-- | The ARN for the ingestion, which is triggered as a result of dataset+-- creation if the import mode is SPICE.+createDataSetResponse_ingestionArn :: Lens.Lens' CreateDataSetResponse (Prelude.Maybe Prelude.Text)+createDataSetResponse_ingestionArn = Lens.lens (\CreateDataSetResponse' {ingestionArn} -> ingestionArn) (\s@CreateDataSetResponse' {} a -> s {ingestionArn = a} :: CreateDataSetResponse)++-- | The ID of the ingestion, which is triggered as a result of dataset+-- creation if the import mode is SPICE.+createDataSetResponse_ingestionId :: Lens.Lens' CreateDataSetResponse (Prelude.Maybe Prelude.Text)+createDataSetResponse_ingestionId = Lens.lens (\CreateDataSetResponse' {ingestionId} -> ingestionId) (\s@CreateDataSetResponse' {} a -> s {ingestionId = a} :: CreateDataSetResponse)++-- | The Amazon Web Services request ID for this operation.+createDataSetResponse_requestId :: Lens.Lens' CreateDataSetResponse (Prelude.Maybe Prelude.Text)+createDataSetResponse_requestId = Lens.lens (\CreateDataSetResponse' {requestId} -> requestId) (\s@CreateDataSetResponse' {} a -> s {requestId = a} :: CreateDataSetResponse)++-- | The HTTP status of the request.+createDataSetResponse_status :: Lens.Lens' CreateDataSetResponse Prelude.Int+createDataSetResponse_status = Lens.lens (\CreateDataSetResponse' {status} -> status) (\s@CreateDataSetResponse' {} a -> s {status = a} :: CreateDataSetResponse)++instance Prelude.NFData CreateDataSetResponse where+  rnf CreateDataSetResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf dataSetId+      `Prelude.seq` Prelude.rnf ingestionArn+      `Prelude.seq` Prelude.rnf ingestionId+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/CreateDataSource.hs view
@@ -0,0 +1,370 @@+{-# 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.QuickSight.CreateDataSource+-- 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 data source.+module Amazonka.QuickSight.CreateDataSource+  ( -- * Creating a Request+    CreateDataSource (..),+    newCreateDataSource,++    -- * Request Lenses+    createDataSource_credentials,+    createDataSource_dataSourceParameters,+    createDataSource_permissions,+    createDataSource_sslProperties,+    createDataSource_tags,+    createDataSource_vpcConnectionProperties,+    createDataSource_awsAccountId,+    createDataSource_dataSourceId,+    createDataSource_name,+    createDataSource_type,++    -- * Destructuring the Response+    CreateDataSourceResponse (..),+    newCreateDataSourceResponse,++    -- * Response Lenses+    createDataSourceResponse_arn,+    createDataSourceResponse_creationStatus,+    createDataSourceResponse_dataSourceId,+    createDataSourceResponse_requestId,+    createDataSourceResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDataSource' smart constructor.+data CreateDataSource = CreateDataSource'+  { -- | The credentials Amazon QuickSight that uses to connect to your+    -- underlying source. Currently, only credentials based on user name and+    -- password are supported.+    credentials :: Prelude.Maybe (Data.Sensitive DataSourceCredentials),+    -- | The parameters that Amazon QuickSight uses to connect to your underlying+    -- source.+    dataSourceParameters :: Prelude.Maybe DataSourceParameters,+    -- | A list of resource permissions on the data source.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | Secure Socket Layer (SSL) properties that apply when Amazon QuickSight+    -- connects to your underlying source.+    sslProperties :: Prelude.Maybe SslProperties,+    -- | Contains a map of the key-value pairs for the resource tag or tags+    -- assigned to the data source.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | Use this parameter only when you want Amazon QuickSight to use a VPC+    -- connection when connecting to your underlying source.+    vpcConnectionProperties :: Prelude.Maybe VpcConnectionProperties,+    -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text,+    -- | An ID for the data source. This ID is unique per Amazon Web Services+    -- Region for each Amazon Web Services account.+    dataSourceId :: Prelude.Text,+    -- | A display name for the data source.+    name :: Prelude.Text,+    -- | The type of the data source. To return a list of all data sources, use+    -- @ListDataSources@.+    --+    -- Use @AMAZON_ELASTICSEARCH@ for Amazon OpenSearch Service.+    type' :: DataSourceType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDataSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'credentials', 'createDataSource_credentials' - The credentials Amazon QuickSight that uses to connect to your+-- underlying source. Currently, only credentials based on user name and+-- password are supported.+--+-- 'dataSourceParameters', 'createDataSource_dataSourceParameters' - The parameters that Amazon QuickSight uses to connect to your underlying+-- source.+--+-- 'permissions', 'createDataSource_permissions' - A list of resource permissions on the data source.+--+-- 'sslProperties', 'createDataSource_sslProperties' - Secure Socket Layer (SSL) properties that apply when Amazon QuickSight+-- connects to your underlying source.+--+-- 'tags', 'createDataSource_tags' - Contains a map of the key-value pairs for the resource tag or tags+-- assigned to the data source.+--+-- 'vpcConnectionProperties', 'createDataSource_vpcConnectionProperties' - Use this parameter only when you want Amazon QuickSight to use a VPC+-- connection when connecting to your underlying source.+--+-- 'awsAccountId', 'createDataSource_awsAccountId' - The Amazon Web Services account ID.+--+-- 'dataSourceId', 'createDataSource_dataSourceId' - An ID for the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+--+-- 'name', 'createDataSource_name' - A display name for the data source.+--+-- 'type'', 'createDataSource_type' - The type of the data source. To return a list of all data sources, use+-- @ListDataSources@.+--+-- Use @AMAZON_ELASTICSEARCH@ for Amazon OpenSearch Service.+newCreateDataSource ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dataSourceId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'type''+  DataSourceType ->+  CreateDataSource+newCreateDataSource+  pAwsAccountId_+  pDataSourceId_+  pName_+  pType_ =+    CreateDataSource'+      { credentials = Prelude.Nothing,+        dataSourceParameters = Prelude.Nothing,+        permissions = Prelude.Nothing,+        sslProperties = Prelude.Nothing,+        tags = Prelude.Nothing,+        vpcConnectionProperties = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        dataSourceId = pDataSourceId_,+        name = pName_,+        type' = pType_+      }++-- | The credentials Amazon QuickSight that uses to connect to your+-- underlying source. Currently, only credentials based on user name and+-- password are supported.+createDataSource_credentials :: Lens.Lens' CreateDataSource (Prelude.Maybe DataSourceCredentials)+createDataSource_credentials = Lens.lens (\CreateDataSource' {credentials} -> credentials) (\s@CreateDataSource' {} a -> s {credentials = a} :: CreateDataSource) Prelude.. Lens.mapping Data._Sensitive++-- | The parameters that Amazon QuickSight uses to connect to your underlying+-- source.+createDataSource_dataSourceParameters :: Lens.Lens' CreateDataSource (Prelude.Maybe DataSourceParameters)+createDataSource_dataSourceParameters = Lens.lens (\CreateDataSource' {dataSourceParameters} -> dataSourceParameters) (\s@CreateDataSource' {} a -> s {dataSourceParameters = a} :: CreateDataSource)++-- | A list of resource permissions on the data source.+createDataSource_permissions :: Lens.Lens' CreateDataSource (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+createDataSource_permissions = Lens.lens (\CreateDataSource' {permissions} -> permissions) (\s@CreateDataSource' {} a -> s {permissions = a} :: CreateDataSource) Prelude.. Lens.mapping Lens.coerced++-- | Secure Socket Layer (SSL) properties that apply when Amazon QuickSight+-- connects to your underlying source.+createDataSource_sslProperties :: Lens.Lens' CreateDataSource (Prelude.Maybe SslProperties)+createDataSource_sslProperties = Lens.lens (\CreateDataSource' {sslProperties} -> sslProperties) (\s@CreateDataSource' {} a -> s {sslProperties = a} :: CreateDataSource)++-- | Contains a map of the key-value pairs for the resource tag or tags+-- assigned to the data source.+createDataSource_tags :: Lens.Lens' CreateDataSource (Prelude.Maybe (Prelude.NonEmpty Tag))+createDataSource_tags = Lens.lens (\CreateDataSource' {tags} -> tags) (\s@CreateDataSource' {} a -> s {tags = a} :: CreateDataSource) Prelude.. Lens.mapping Lens.coerced++-- | Use this parameter only when you want Amazon QuickSight to use a VPC+-- connection when connecting to your underlying source.+createDataSource_vpcConnectionProperties :: Lens.Lens' CreateDataSource (Prelude.Maybe VpcConnectionProperties)+createDataSource_vpcConnectionProperties = Lens.lens (\CreateDataSource' {vpcConnectionProperties} -> vpcConnectionProperties) (\s@CreateDataSource' {} a -> s {vpcConnectionProperties = a} :: CreateDataSource)++-- | The Amazon Web Services account ID.+createDataSource_awsAccountId :: Lens.Lens' CreateDataSource Prelude.Text+createDataSource_awsAccountId = Lens.lens (\CreateDataSource' {awsAccountId} -> awsAccountId) (\s@CreateDataSource' {} a -> s {awsAccountId = a} :: CreateDataSource)++-- | An ID for the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+createDataSource_dataSourceId :: Lens.Lens' CreateDataSource Prelude.Text+createDataSource_dataSourceId = Lens.lens (\CreateDataSource' {dataSourceId} -> dataSourceId) (\s@CreateDataSource' {} a -> s {dataSourceId = a} :: CreateDataSource)++-- | A display name for the data source.+createDataSource_name :: Lens.Lens' CreateDataSource Prelude.Text+createDataSource_name = Lens.lens (\CreateDataSource' {name} -> name) (\s@CreateDataSource' {} a -> s {name = a} :: CreateDataSource)++-- | The type of the data source. To return a list of all data sources, use+-- @ListDataSources@.+--+-- Use @AMAZON_ELASTICSEARCH@ for Amazon OpenSearch Service.+createDataSource_type :: Lens.Lens' CreateDataSource DataSourceType+createDataSource_type = Lens.lens (\CreateDataSource' {type'} -> type') (\s@CreateDataSource' {} a -> s {type' = a} :: CreateDataSource)++instance Core.AWSRequest CreateDataSource where+  type+    AWSResponse CreateDataSource =+      CreateDataSourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateDataSourceResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreationStatus")+            Prelude.<*> (x Data..?> "DataSourceId")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateDataSource where+  hashWithSalt _salt CreateDataSource' {..} =+    _salt+      `Prelude.hashWithSalt` credentials+      `Prelude.hashWithSalt` dataSourceParameters+      `Prelude.hashWithSalt` permissions+      `Prelude.hashWithSalt` sslProperties+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` vpcConnectionProperties+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dataSourceId+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` type'++instance Prelude.NFData CreateDataSource where+  rnf CreateDataSource' {..} =+    Prelude.rnf credentials+      `Prelude.seq` Prelude.rnf dataSourceParameters+      `Prelude.seq` Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf sslProperties+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf vpcConnectionProperties+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dataSourceId+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf type'++instance Data.ToHeaders CreateDataSource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateDataSource where+  toJSON CreateDataSource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Credentials" Data..=) Prelude.<$> credentials,+            ("DataSourceParameters" Data..=)+              Prelude.<$> dataSourceParameters,+            ("Permissions" Data..=) Prelude.<$> permissions,+            ("SslProperties" Data..=) Prelude.<$> sslProperties,+            ("Tags" Data..=) Prelude.<$> tags,+            ("VpcConnectionProperties" Data..=)+              Prelude.<$> vpcConnectionProperties,+            Prelude.Just ("DataSourceId" Data..= dataSourceId),+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Type" Data..= type')+          ]+      )++instance Data.ToPath CreateDataSource where+  toPath CreateDataSource' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/data-sources"+      ]++instance Data.ToQuery CreateDataSource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDataSourceResponse' smart constructor.+data CreateDataSourceResponse = CreateDataSourceResponse'+  { -- | The Amazon Resource Name (ARN) of the data source.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The status of creating the data source.+    creationStatus :: Prelude.Maybe ResourceStatus,+    -- | The ID of the data source. This ID is unique per Amazon Web Services+    -- Region for each Amazon Web Services account.+    dataSourceId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDataSourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createDataSourceResponse_arn' - The Amazon Resource Name (ARN) of the data source.+--+-- 'creationStatus', 'createDataSourceResponse_creationStatus' - The status of creating the data source.+--+-- 'dataSourceId', 'createDataSourceResponse_dataSourceId' - The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+--+-- 'requestId', 'createDataSourceResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'createDataSourceResponse_status' - The HTTP status of the request.+newCreateDataSourceResponse ::+  -- | 'status'+  Prelude.Int ->+  CreateDataSourceResponse+newCreateDataSourceResponse pStatus_ =+  CreateDataSourceResponse'+    { arn = Prelude.Nothing,+      creationStatus = Prelude.Nothing,+      dataSourceId = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) of the data source.+createDataSourceResponse_arn :: Lens.Lens' CreateDataSourceResponse (Prelude.Maybe Prelude.Text)+createDataSourceResponse_arn = Lens.lens (\CreateDataSourceResponse' {arn} -> arn) (\s@CreateDataSourceResponse' {} a -> s {arn = a} :: CreateDataSourceResponse)++-- | The status of creating the data source.+createDataSourceResponse_creationStatus :: Lens.Lens' CreateDataSourceResponse (Prelude.Maybe ResourceStatus)+createDataSourceResponse_creationStatus = Lens.lens (\CreateDataSourceResponse' {creationStatus} -> creationStatus) (\s@CreateDataSourceResponse' {} a -> s {creationStatus = a} :: CreateDataSourceResponse)++-- | The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+createDataSourceResponse_dataSourceId :: Lens.Lens' CreateDataSourceResponse (Prelude.Maybe Prelude.Text)+createDataSourceResponse_dataSourceId = Lens.lens (\CreateDataSourceResponse' {dataSourceId} -> dataSourceId) (\s@CreateDataSourceResponse' {} a -> s {dataSourceId = a} :: CreateDataSourceResponse)++-- | The Amazon Web Services request ID for this operation.+createDataSourceResponse_requestId :: Lens.Lens' CreateDataSourceResponse (Prelude.Maybe Prelude.Text)+createDataSourceResponse_requestId = Lens.lens (\CreateDataSourceResponse' {requestId} -> requestId) (\s@CreateDataSourceResponse' {} a -> s {requestId = a} :: CreateDataSourceResponse)++-- | The HTTP status of the request.+createDataSourceResponse_status :: Lens.Lens' CreateDataSourceResponse Prelude.Int+createDataSourceResponse_status = Lens.lens (\CreateDataSourceResponse' {status} -> status) (\s@CreateDataSourceResponse' {} a -> s {status = a} :: CreateDataSourceResponse)++instance Prelude.NFData CreateDataSourceResponse where+  rnf CreateDataSourceResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationStatus+      `Prelude.seq` Prelude.rnf dataSourceId+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/CreateFolder.hs view
@@ -0,0 +1,296 @@+{-# 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.QuickSight.CreateFolder+-- 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 empty shared folder.+module Amazonka.QuickSight.CreateFolder+  ( -- * Creating a Request+    CreateFolder (..),+    newCreateFolder,++    -- * Request Lenses+    createFolder_folderType,+    createFolder_name,+    createFolder_parentFolderArn,+    createFolder_permissions,+    createFolder_tags,+    createFolder_awsAccountId,+    createFolder_folderId,++    -- * Destructuring the Response+    CreateFolderResponse (..),+    newCreateFolderResponse,++    -- * Response Lenses+    createFolderResponse_arn,+    createFolderResponse_folderId,+    createFolderResponse_requestId,+    createFolderResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateFolder' smart constructor.+data CreateFolder = CreateFolder'+  { -- | The type of folder. By default, @folderType@ is @SHARED@.+    folderType :: Prelude.Maybe FolderType,+    -- | The name of the folder.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) for the parent folder.+    --+    -- @ParentFolderArn@ can be null. An empty @parentFolderArn@ creates a+    -- root-level folder.+    parentFolderArn :: Prelude.Maybe Prelude.Text,+    -- | A structure that describes the principals and the resource-level+    -- permissions of a folder.+    --+    -- To specify no permissions, omit @Permissions@.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | Tags for the folder.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The ID for the Amazon Web Services account where you want to create the+    -- folder.+    awsAccountId :: Prelude.Text,+    -- | The ID of the folder.+    folderId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFolder' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'folderType', 'createFolder_folderType' - The type of folder. By default, @folderType@ is @SHARED@.+--+-- 'name', 'createFolder_name' - The name of the folder.+--+-- 'parentFolderArn', 'createFolder_parentFolderArn' - The Amazon Resource Name (ARN) for the parent folder.+--+-- @ParentFolderArn@ can be null. An empty @parentFolderArn@ creates a+-- root-level folder.+--+-- 'permissions', 'createFolder_permissions' - A structure that describes the principals and the resource-level+-- permissions of a folder.+--+-- To specify no permissions, omit @Permissions@.+--+-- 'tags', 'createFolder_tags' - Tags for the folder.+--+-- 'awsAccountId', 'createFolder_awsAccountId' - The ID for the Amazon Web Services account where you want to create the+-- folder.+--+-- 'folderId', 'createFolder_folderId' - The ID of the folder.+newCreateFolder ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'folderId'+  Prelude.Text ->+  CreateFolder+newCreateFolder pAwsAccountId_ pFolderId_ =+  CreateFolder'+    { folderType = Prelude.Nothing,+      name = Prelude.Nothing,+      parentFolderArn = Prelude.Nothing,+      permissions = Prelude.Nothing,+      tags = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      folderId = pFolderId_+    }++-- | The type of folder. By default, @folderType@ is @SHARED@.+createFolder_folderType :: Lens.Lens' CreateFolder (Prelude.Maybe FolderType)+createFolder_folderType = Lens.lens (\CreateFolder' {folderType} -> folderType) (\s@CreateFolder' {} a -> s {folderType = a} :: CreateFolder)++-- | The name of the folder.+createFolder_name :: Lens.Lens' CreateFolder (Prelude.Maybe Prelude.Text)+createFolder_name = Lens.lens (\CreateFolder' {name} -> name) (\s@CreateFolder' {} a -> s {name = a} :: CreateFolder)++-- | The Amazon Resource Name (ARN) for the parent folder.+--+-- @ParentFolderArn@ can be null. An empty @parentFolderArn@ creates a+-- root-level folder.+createFolder_parentFolderArn :: Lens.Lens' CreateFolder (Prelude.Maybe Prelude.Text)+createFolder_parentFolderArn = Lens.lens (\CreateFolder' {parentFolderArn} -> parentFolderArn) (\s@CreateFolder' {} a -> s {parentFolderArn = a} :: CreateFolder)++-- | A structure that describes the principals and the resource-level+-- permissions of a folder.+--+-- To specify no permissions, omit @Permissions@.+createFolder_permissions :: Lens.Lens' CreateFolder (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+createFolder_permissions = Lens.lens (\CreateFolder' {permissions} -> permissions) (\s@CreateFolder' {} a -> s {permissions = a} :: CreateFolder) Prelude.. Lens.mapping Lens.coerced++-- | Tags for the folder.+createFolder_tags :: Lens.Lens' CreateFolder (Prelude.Maybe (Prelude.NonEmpty Tag))+createFolder_tags = Lens.lens (\CreateFolder' {tags} -> tags) (\s@CreateFolder' {} a -> s {tags = a} :: CreateFolder) Prelude.. Lens.mapping Lens.coerced++-- | The ID for the Amazon Web Services account where you want to create the+-- folder.+createFolder_awsAccountId :: Lens.Lens' CreateFolder Prelude.Text+createFolder_awsAccountId = Lens.lens (\CreateFolder' {awsAccountId} -> awsAccountId) (\s@CreateFolder' {} a -> s {awsAccountId = a} :: CreateFolder)++-- | The ID of the folder.+createFolder_folderId :: Lens.Lens' CreateFolder Prelude.Text+createFolder_folderId = Lens.lens (\CreateFolder' {folderId} -> folderId) (\s@CreateFolder' {} a -> s {folderId = a} :: CreateFolder)++instance Core.AWSRequest CreateFolder where+  type AWSResponse CreateFolder = CreateFolderResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateFolderResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "FolderId")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateFolder where+  hashWithSalt _salt CreateFolder' {..} =+    _salt+      `Prelude.hashWithSalt` folderType+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` parentFolderArn+      `Prelude.hashWithSalt` permissions+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` folderId++instance Prelude.NFData CreateFolder where+  rnf CreateFolder' {..} =+    Prelude.rnf folderType+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf parentFolderArn+      `Prelude.seq` Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf folderId++instance Data.ToHeaders CreateFolder where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateFolder where+  toJSON CreateFolder' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FolderType" Data..=) Prelude.<$> folderType,+            ("Name" Data..=) Prelude.<$> name,+            ("ParentFolderArn" Data..=)+              Prelude.<$> parentFolderArn,+            ("Permissions" Data..=) Prelude.<$> permissions,+            ("Tags" Data..=) Prelude.<$> tags+          ]+      )++instance Data.ToPath CreateFolder where+  toPath CreateFolder' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/folders/",+        Data.toBS folderId+      ]++instance Data.ToQuery CreateFolder where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateFolderResponse' smart constructor.+data CreateFolderResponse = CreateFolderResponse'+  { -- | The Amazon Resource Name (ARN) for the newly created folder.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The folder ID for the newly created folder.+    folderId :: Prelude.Maybe Prelude.Text,+    -- | The request ID for the newly created folder.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFolderResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createFolderResponse_arn' - The Amazon Resource Name (ARN) for the newly created folder.+--+-- 'folderId', 'createFolderResponse_folderId' - The folder ID for the newly created folder.+--+-- 'requestId', 'createFolderResponse_requestId' - The request ID for the newly created folder.+--+-- 'status', 'createFolderResponse_status' - The HTTP status of the request.+newCreateFolderResponse ::+  -- | 'status'+  Prelude.Int ->+  CreateFolderResponse+newCreateFolderResponse pStatus_ =+  CreateFolderResponse'+    { arn = Prelude.Nothing,+      folderId = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) for the newly created folder.+createFolderResponse_arn :: Lens.Lens' CreateFolderResponse (Prelude.Maybe Prelude.Text)+createFolderResponse_arn = Lens.lens (\CreateFolderResponse' {arn} -> arn) (\s@CreateFolderResponse' {} a -> s {arn = a} :: CreateFolderResponse)++-- | The folder ID for the newly created folder.+createFolderResponse_folderId :: Lens.Lens' CreateFolderResponse (Prelude.Maybe Prelude.Text)+createFolderResponse_folderId = Lens.lens (\CreateFolderResponse' {folderId} -> folderId) (\s@CreateFolderResponse' {} a -> s {folderId = a} :: CreateFolderResponse)++-- | The request ID for the newly created folder.+createFolderResponse_requestId :: Lens.Lens' CreateFolderResponse (Prelude.Maybe Prelude.Text)+createFolderResponse_requestId = Lens.lens (\CreateFolderResponse' {requestId} -> requestId) (\s@CreateFolderResponse' {} a -> s {requestId = a} :: CreateFolderResponse)++-- | The HTTP status of the request.+createFolderResponse_status :: Lens.Lens' CreateFolderResponse Prelude.Int+createFolderResponse_status = Lens.lens (\CreateFolderResponse' {status} -> status) (\s@CreateFolderResponse' {} a -> s {status = a} :: CreateFolderResponse)++instance Prelude.NFData CreateFolderResponse where+  rnf CreateFolderResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf folderId+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/CreateFolderMembership.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.QuickSight.CreateFolderMembership+-- 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 asset, such as a dashboard, analysis, or dataset into a folder.+module Amazonka.QuickSight.CreateFolderMembership+  ( -- * Creating a Request+    CreateFolderMembership (..),+    newCreateFolderMembership,++    -- * Request Lenses+    createFolderMembership_awsAccountId,+    createFolderMembership_folderId,+    createFolderMembership_memberId,+    createFolderMembership_memberType,++    -- * Destructuring the Response+    CreateFolderMembershipResponse (..),+    newCreateFolderMembershipResponse,++    -- * Response Lenses+    createFolderMembershipResponse_folderMember,+    createFolderMembershipResponse_requestId,+    createFolderMembershipResponse_status,+    createFolderMembershipResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateFolderMembership' smart constructor.+data CreateFolderMembership = CreateFolderMembership'+  { -- | The ID for the Amazon Web Services account that contains the folder.+    awsAccountId :: Prelude.Text,+    -- | The ID of the folder.+    folderId :: Prelude.Text,+    -- | The ID of the asset (the dashboard, analysis, or dataset).+    memberId :: Prelude.Text,+    -- | The type of the member, including @DASHBOARD@, @ANALYSIS@, and+    -- @DATASET@.+    memberType :: MemberType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFolderMembership' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'createFolderMembership_awsAccountId' - The ID for the Amazon Web Services account that contains the folder.+--+-- 'folderId', 'createFolderMembership_folderId' - The ID of the folder.+--+-- 'memberId', 'createFolderMembership_memberId' - The ID of the asset (the dashboard, analysis, or dataset).+--+-- 'memberType', 'createFolderMembership_memberType' - The type of the member, including @DASHBOARD@, @ANALYSIS@, and+-- @DATASET@.+newCreateFolderMembership ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'folderId'+  Prelude.Text ->+  -- | 'memberId'+  Prelude.Text ->+  -- | 'memberType'+  MemberType ->+  CreateFolderMembership+newCreateFolderMembership+  pAwsAccountId_+  pFolderId_+  pMemberId_+  pMemberType_ =+    CreateFolderMembership'+      { awsAccountId =+          pAwsAccountId_,+        folderId = pFolderId_,+        memberId = pMemberId_,+        memberType = pMemberType_+      }++-- | The ID for the Amazon Web Services account that contains the folder.+createFolderMembership_awsAccountId :: Lens.Lens' CreateFolderMembership Prelude.Text+createFolderMembership_awsAccountId = Lens.lens (\CreateFolderMembership' {awsAccountId} -> awsAccountId) (\s@CreateFolderMembership' {} a -> s {awsAccountId = a} :: CreateFolderMembership)++-- | The ID of the folder.+createFolderMembership_folderId :: Lens.Lens' CreateFolderMembership Prelude.Text+createFolderMembership_folderId = Lens.lens (\CreateFolderMembership' {folderId} -> folderId) (\s@CreateFolderMembership' {} a -> s {folderId = a} :: CreateFolderMembership)++-- | The ID of the asset (the dashboard, analysis, or dataset).+createFolderMembership_memberId :: Lens.Lens' CreateFolderMembership Prelude.Text+createFolderMembership_memberId = Lens.lens (\CreateFolderMembership' {memberId} -> memberId) (\s@CreateFolderMembership' {} a -> s {memberId = a} :: CreateFolderMembership)++-- | The type of the member, including @DASHBOARD@, @ANALYSIS@, and+-- @DATASET@.+createFolderMembership_memberType :: Lens.Lens' CreateFolderMembership MemberType+createFolderMembership_memberType = Lens.lens (\CreateFolderMembership' {memberType} -> memberType) (\s@CreateFolderMembership' {} a -> s {memberType = a} :: CreateFolderMembership)++instance Core.AWSRequest CreateFolderMembership where+  type+    AWSResponse CreateFolderMembership =+      CreateFolderMembershipResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateFolderMembershipResponse'+            Prelude.<$> (x Data..?> "FolderMember")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateFolderMembership where+  hashWithSalt _salt CreateFolderMembership' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` folderId+      `Prelude.hashWithSalt` memberId+      `Prelude.hashWithSalt` memberType++instance Prelude.NFData CreateFolderMembership where+  rnf CreateFolderMembership' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf folderId+      `Prelude.seq` Prelude.rnf memberId+      `Prelude.seq` Prelude.rnf memberType++instance Data.ToHeaders CreateFolderMembership where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateFolderMembership where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath CreateFolderMembership where+  toPath CreateFolderMembership' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/folders/",+        Data.toBS folderId,+        "/members/",+        Data.toBS memberType,+        "/",+        Data.toBS memberId+      ]++instance Data.ToQuery CreateFolderMembership where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateFolderMembershipResponse' smart constructor.+data CreateFolderMembershipResponse = CreateFolderMembershipResponse'+  { -- | Information about the member in the folder.+    folderMember :: Prelude.Maybe FolderMember,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Maybe Prelude.Int,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFolderMembershipResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'folderMember', 'createFolderMembershipResponse_folderMember' - Information about the member in the folder.+--+-- 'requestId', 'createFolderMembershipResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'createFolderMembershipResponse_status' - The HTTP status of the request.+--+-- 'httpStatus', 'createFolderMembershipResponse_httpStatus' - The response's http status code.+newCreateFolderMembershipResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateFolderMembershipResponse+newCreateFolderMembershipResponse pHttpStatus_ =+  CreateFolderMembershipResponse'+    { folderMember =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the member in the folder.+createFolderMembershipResponse_folderMember :: Lens.Lens' CreateFolderMembershipResponse (Prelude.Maybe FolderMember)+createFolderMembershipResponse_folderMember = Lens.lens (\CreateFolderMembershipResponse' {folderMember} -> folderMember) (\s@CreateFolderMembershipResponse' {} a -> s {folderMember = a} :: CreateFolderMembershipResponse)++-- | The Amazon Web Services request ID for this operation.+createFolderMembershipResponse_requestId :: Lens.Lens' CreateFolderMembershipResponse (Prelude.Maybe Prelude.Text)+createFolderMembershipResponse_requestId = Lens.lens (\CreateFolderMembershipResponse' {requestId} -> requestId) (\s@CreateFolderMembershipResponse' {} a -> s {requestId = a} :: CreateFolderMembershipResponse)++-- | The HTTP status of the request.+createFolderMembershipResponse_status :: Lens.Lens' CreateFolderMembershipResponse (Prelude.Maybe Prelude.Int)+createFolderMembershipResponse_status = Lens.lens (\CreateFolderMembershipResponse' {status} -> status) (\s@CreateFolderMembershipResponse' {} a -> s {status = a} :: CreateFolderMembershipResponse)++-- | The response's http status code.+createFolderMembershipResponse_httpStatus :: Lens.Lens' CreateFolderMembershipResponse Prelude.Int+createFolderMembershipResponse_httpStatus = Lens.lens (\CreateFolderMembershipResponse' {httpStatus} -> httpStatus) (\s@CreateFolderMembershipResponse' {} a -> s {httpStatus = a} :: CreateFolderMembershipResponse)++instance+  Prelude.NFData+    CreateFolderMembershipResponse+  where+  rnf CreateFolderMembershipResponse' {..} =+    Prelude.rnf folderMember+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/QuickSight/CreateGroup.hs view
@@ -0,0 +1,243 @@+{-# 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.QuickSight.CreateGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use the @CreateGroup@ operation to create a group in Amazon QuickSight.+-- You can create up to 10,000 groups in a namespace. If you want to create+-- more than 10,000 groups in a namespace, contact AWS Support.+--+-- The permissions resource is+-- @arn:aws:quicksight:\<your-region>:@/@\<relevant-aws-account-id>@/@:group\/default\/@/@\<group-name>@/@ @.+--+-- The response is a group object.+module Amazonka.QuickSight.CreateGroup+  ( -- * Creating a Request+    CreateGroup (..),+    newCreateGroup,++    -- * Request Lenses+    createGroup_description,+    createGroup_groupName,+    createGroup_awsAccountId,+    createGroup_namespace,++    -- * Destructuring the Response+    CreateGroupResponse (..),+    newCreateGroupResponse,++    -- * Response Lenses+    createGroupResponse_group,+    createGroupResponse_requestId,+    createGroupResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The request object for this operation.+--+-- /See:/ 'newCreateGroup' smart constructor.+data CreateGroup = CreateGroup'+  { -- | A description for the group that you want to create.+    description :: Prelude.Maybe Prelude.Text,+    -- | A name for the group that you want to create.+    groupName :: Prelude.Text,+    -- | The ID for the Amazon Web Services account that the group is in.+    -- Currently, you use the ID for the Amazon Web Services account that+    -- contains your Amazon QuickSight account.+    awsAccountId :: Prelude.Text,+    -- | The namespace that you want the group to be a part of.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createGroup_description' - A description for the group that you want to create.+--+-- 'groupName', 'createGroup_groupName' - A name for the group that you want to create.+--+-- 'awsAccountId', 'createGroup_awsAccountId' - The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+--+-- 'namespace', 'createGroup_namespace' - The namespace that you want the group to be a part of.+newCreateGroup ::+  -- | 'groupName'+  Prelude.Text ->+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  CreateGroup+newCreateGroup pGroupName_ pAwsAccountId_ pNamespace_ =+  CreateGroup'+    { description = Prelude.Nothing,+      groupName = pGroupName_,+      awsAccountId = pAwsAccountId_,+      namespace = pNamespace_+    }++-- | A description for the group that you want to create.+createGroup_description :: Lens.Lens' CreateGroup (Prelude.Maybe Prelude.Text)+createGroup_description = Lens.lens (\CreateGroup' {description} -> description) (\s@CreateGroup' {} a -> s {description = a} :: CreateGroup)++-- | A name for the group that you want to create.+createGroup_groupName :: Lens.Lens' CreateGroup Prelude.Text+createGroup_groupName = Lens.lens (\CreateGroup' {groupName} -> groupName) (\s@CreateGroup' {} a -> s {groupName = a} :: CreateGroup)++-- | The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+createGroup_awsAccountId :: Lens.Lens' CreateGroup Prelude.Text+createGroup_awsAccountId = Lens.lens (\CreateGroup' {awsAccountId} -> awsAccountId) (\s@CreateGroup' {} a -> s {awsAccountId = a} :: CreateGroup)++-- | The namespace that you want the group to be a part of.+createGroup_namespace :: Lens.Lens' CreateGroup Prelude.Text+createGroup_namespace = Lens.lens (\CreateGroup' {namespace} -> namespace) (\s@CreateGroup' {} a -> s {namespace = a} :: CreateGroup)++instance Core.AWSRequest CreateGroup where+  type AWSResponse CreateGroup = CreateGroupResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateGroupResponse'+            Prelude.<$> (x Data..?> "Group")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateGroup where+  hashWithSalt _salt CreateGroup' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` groupName+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData CreateGroup where+  rnf CreateGroup' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf groupName+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders CreateGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateGroup where+  toJSON CreateGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            Prelude.Just ("GroupName" Data..= groupName)+          ]+      )++instance Data.ToPath CreateGroup where+  toPath CreateGroup' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/groups"+      ]++instance Data.ToQuery CreateGroup where+  toQuery = Prelude.const Prelude.mempty++-- | The response object for this operation.+--+-- /See:/ 'newCreateGroupResponse' smart constructor.+data CreateGroupResponse = CreateGroupResponse'+  { -- | The name of the group.+    group' :: Prelude.Maybe Group,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'group'', 'createGroupResponse_group' - The name of the group.+--+-- 'requestId', 'createGroupResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'createGroupResponse_status' - The HTTP status of the request.+newCreateGroupResponse ::+  -- | 'status'+  Prelude.Int ->+  CreateGroupResponse+newCreateGroupResponse pStatus_ =+  CreateGroupResponse'+    { group' = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The name of the group.+createGroupResponse_group :: Lens.Lens' CreateGroupResponse (Prelude.Maybe Group)+createGroupResponse_group = Lens.lens (\CreateGroupResponse' {group'} -> group') (\s@CreateGroupResponse' {} a -> s {group' = a} :: CreateGroupResponse)++-- | The Amazon Web Services request ID for this operation.+createGroupResponse_requestId :: Lens.Lens' CreateGroupResponse (Prelude.Maybe Prelude.Text)+createGroupResponse_requestId = Lens.lens (\CreateGroupResponse' {requestId} -> requestId) (\s@CreateGroupResponse' {} a -> s {requestId = a} :: CreateGroupResponse)++-- | The HTTP status of the request.+createGroupResponse_status :: Lens.Lens' CreateGroupResponse Prelude.Int+createGroupResponse_status = Lens.lens (\CreateGroupResponse' {status} -> status) (\s@CreateGroupResponse' {} a -> s {status = a} :: CreateGroupResponse)++instance Prelude.NFData CreateGroupResponse where+  rnf CreateGroupResponse' {..} =+    Prelude.rnf group'+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/CreateGroupMembership.hs view
@@ -0,0 +1,238 @@+{-# 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.QuickSight.CreateGroupMembership+-- 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 Amazon QuickSight user to an Amazon QuickSight group.+module Amazonka.QuickSight.CreateGroupMembership+  ( -- * Creating a Request+    CreateGroupMembership (..),+    newCreateGroupMembership,++    -- * Request Lenses+    createGroupMembership_memberName,+    createGroupMembership_groupName,+    createGroupMembership_awsAccountId,+    createGroupMembership_namespace,++    -- * Destructuring the Response+    CreateGroupMembershipResponse (..),+    newCreateGroupMembershipResponse,++    -- * Response Lenses+    createGroupMembershipResponse_groupMember,+    createGroupMembershipResponse_requestId,+    createGroupMembershipResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateGroupMembership' smart constructor.+data CreateGroupMembership = CreateGroupMembership'+  { -- | The name of the user that you want to add to the group membership.+    memberName :: Prelude.Text,+    -- | The name of the group that you want to add the user to.+    groupName :: Prelude.Text,+    -- | The ID for the Amazon Web Services account that the group is in.+    -- Currently, you use the ID for the Amazon Web Services account that+    -- contains your Amazon QuickSight account.+    awsAccountId :: Prelude.Text,+    -- | The namespace that you want the user to be a part of.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGroupMembership' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'memberName', 'createGroupMembership_memberName' - The name of the user that you want to add to the group membership.+--+-- 'groupName', 'createGroupMembership_groupName' - The name of the group that you want to add the user to.+--+-- 'awsAccountId', 'createGroupMembership_awsAccountId' - The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+--+-- 'namespace', 'createGroupMembership_namespace' - The namespace that you want the user to be a part of.+newCreateGroupMembership ::+  -- | 'memberName'+  Prelude.Text ->+  -- | 'groupName'+  Prelude.Text ->+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  CreateGroupMembership+newCreateGroupMembership+  pMemberName_+  pGroupName_+  pAwsAccountId_+  pNamespace_ =+    CreateGroupMembership'+      { memberName = pMemberName_,+        groupName = pGroupName_,+        awsAccountId = pAwsAccountId_,+        namespace = pNamespace_+      }++-- | The name of the user that you want to add to the group membership.+createGroupMembership_memberName :: Lens.Lens' CreateGroupMembership Prelude.Text+createGroupMembership_memberName = Lens.lens (\CreateGroupMembership' {memberName} -> memberName) (\s@CreateGroupMembership' {} a -> s {memberName = a} :: CreateGroupMembership)++-- | The name of the group that you want to add the user to.+createGroupMembership_groupName :: Lens.Lens' CreateGroupMembership Prelude.Text+createGroupMembership_groupName = Lens.lens (\CreateGroupMembership' {groupName} -> groupName) (\s@CreateGroupMembership' {} a -> s {groupName = a} :: CreateGroupMembership)++-- | The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+createGroupMembership_awsAccountId :: Lens.Lens' CreateGroupMembership Prelude.Text+createGroupMembership_awsAccountId = Lens.lens (\CreateGroupMembership' {awsAccountId} -> awsAccountId) (\s@CreateGroupMembership' {} a -> s {awsAccountId = a} :: CreateGroupMembership)++-- | The namespace that you want the user to be a part of.+createGroupMembership_namespace :: Lens.Lens' CreateGroupMembership Prelude.Text+createGroupMembership_namespace = Lens.lens (\CreateGroupMembership' {namespace} -> namespace) (\s@CreateGroupMembership' {} a -> s {namespace = a} :: CreateGroupMembership)++instance Core.AWSRequest CreateGroupMembership where+  type+    AWSResponse CreateGroupMembership =+      CreateGroupMembershipResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateGroupMembershipResponse'+            Prelude.<$> (x Data..?> "GroupMember")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateGroupMembership where+  hashWithSalt _salt CreateGroupMembership' {..} =+    _salt+      `Prelude.hashWithSalt` memberName+      `Prelude.hashWithSalt` groupName+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData CreateGroupMembership where+  rnf CreateGroupMembership' {..} =+    Prelude.rnf memberName+      `Prelude.seq` Prelude.rnf groupName+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders CreateGroupMembership where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateGroupMembership where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath CreateGroupMembership where+  toPath CreateGroupMembership' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/groups/",+        Data.toBS groupName,+        "/members/",+        Data.toBS memberName+      ]++instance Data.ToQuery CreateGroupMembership where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateGroupMembershipResponse' smart constructor.+data CreateGroupMembershipResponse = CreateGroupMembershipResponse'+  { -- | The group member.+    groupMember :: Prelude.Maybe GroupMember,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGroupMembershipResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'groupMember', 'createGroupMembershipResponse_groupMember' - The group member.+--+-- 'requestId', 'createGroupMembershipResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'createGroupMembershipResponse_status' - The HTTP status of the request.+newCreateGroupMembershipResponse ::+  -- | 'status'+  Prelude.Int ->+  CreateGroupMembershipResponse+newCreateGroupMembershipResponse pStatus_ =+  CreateGroupMembershipResponse'+    { groupMember =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The group member.+createGroupMembershipResponse_groupMember :: Lens.Lens' CreateGroupMembershipResponse (Prelude.Maybe GroupMember)+createGroupMembershipResponse_groupMember = Lens.lens (\CreateGroupMembershipResponse' {groupMember} -> groupMember) (\s@CreateGroupMembershipResponse' {} a -> s {groupMember = a} :: CreateGroupMembershipResponse)++-- | The Amazon Web Services request ID for this operation.+createGroupMembershipResponse_requestId :: Lens.Lens' CreateGroupMembershipResponse (Prelude.Maybe Prelude.Text)+createGroupMembershipResponse_requestId = Lens.lens (\CreateGroupMembershipResponse' {requestId} -> requestId) (\s@CreateGroupMembershipResponse' {} a -> s {requestId = a} :: CreateGroupMembershipResponse)++-- | The HTTP status of the request.+createGroupMembershipResponse_status :: Lens.Lens' CreateGroupMembershipResponse Prelude.Int+createGroupMembershipResponse_status = Lens.lens (\CreateGroupMembershipResponse' {status} -> status) (\s@CreateGroupMembershipResponse' {} a -> s {status = a} :: CreateGroupMembershipResponse)++instance Prelude.NFData CreateGroupMembershipResponse where+  rnf CreateGroupMembershipResponse' {..} =+    Prelude.rnf groupMember+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/CreateIAMPolicyAssignment.hs view
@@ -0,0 +1,394 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.CreateIAMPolicyAssignment+-- 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 assignment with one specified IAM policy, identified by its+-- Amazon Resource Name (ARN). This policy assignment is attached to the+-- specified groups or users of Amazon QuickSight. Assignment names are+-- unique per Amazon Web Services account. To avoid overwriting rules in+-- other namespaces, use assignment names that are unique.+module Amazonka.QuickSight.CreateIAMPolicyAssignment+  ( -- * Creating a Request+    CreateIAMPolicyAssignment (..),+    newCreateIAMPolicyAssignment,++    -- * Request Lenses+    createIAMPolicyAssignment_identities,+    createIAMPolicyAssignment_policyArn,+    createIAMPolicyAssignment_awsAccountId,+    createIAMPolicyAssignment_assignmentName,+    createIAMPolicyAssignment_assignmentStatus,+    createIAMPolicyAssignment_namespace,++    -- * Destructuring the Response+    CreateIAMPolicyAssignmentResponse (..),+    newCreateIAMPolicyAssignmentResponse,++    -- * Response Lenses+    createIAMPolicyAssignmentResponse_assignmentId,+    createIAMPolicyAssignmentResponse_assignmentName,+    createIAMPolicyAssignmentResponse_assignmentStatus,+    createIAMPolicyAssignmentResponse_identities,+    createIAMPolicyAssignmentResponse_policyArn,+    createIAMPolicyAssignmentResponse_requestId,+    createIAMPolicyAssignmentResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateIAMPolicyAssignment' smart constructor.+data CreateIAMPolicyAssignment = CreateIAMPolicyAssignment'+  { -- | The Amazon QuickSight users, groups, or both that you want to assign the+    -- policy to.+    identities :: Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]),+    -- | The ARN for the IAM policy to apply to the Amazon QuickSight users and+    -- groups specified in this assignment.+    policyArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account where you want to assign an+    -- IAM policy to Amazon QuickSight users or groups.+    awsAccountId :: Prelude.Text,+    -- | The name of the assignment, also called a rule. It must be unique within+    -- an Amazon Web Services account.+    assignmentName :: Prelude.Text,+    -- | The status of the assignment. Possible values are as follows:+    --+    -- -   @ENABLED@ - Anything specified in this assignment is used when+    --     creating the data source.+    --+    -- -   @DISABLED@ - This assignment isn\'t used when creating the data+    --     source.+    --+    -- -   @DRAFT@ - This assignment is an unfinished draft and isn\'t used+    --     when creating the data source.+    assignmentStatus :: AssignmentStatus,+    -- | The namespace that contains the assignment.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateIAMPolicyAssignment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identities', 'createIAMPolicyAssignment_identities' - The Amazon QuickSight users, groups, or both that you want to assign the+-- policy to.+--+-- 'policyArn', 'createIAMPolicyAssignment_policyArn' - The ARN for the IAM policy to apply to the Amazon QuickSight users and+-- groups specified in this assignment.+--+-- 'awsAccountId', 'createIAMPolicyAssignment_awsAccountId' - The ID of the Amazon Web Services account where you want to assign an+-- IAM policy to Amazon QuickSight users or groups.+--+-- 'assignmentName', 'createIAMPolicyAssignment_assignmentName' - The name of the assignment, also called a rule. It must be unique within+-- an Amazon Web Services account.+--+-- 'assignmentStatus', 'createIAMPolicyAssignment_assignmentStatus' - The status of the assignment. Possible values are as follows:+--+-- -   @ENABLED@ - Anything specified in this assignment is used when+--     creating the data source.+--+-- -   @DISABLED@ - This assignment isn\'t used when creating the data+--     source.+--+-- -   @DRAFT@ - This assignment is an unfinished draft and isn\'t used+--     when creating the data source.+--+-- 'namespace', 'createIAMPolicyAssignment_namespace' - The namespace that contains the assignment.+newCreateIAMPolicyAssignment ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'assignmentName'+  Prelude.Text ->+  -- | 'assignmentStatus'+  AssignmentStatus ->+  -- | 'namespace'+  Prelude.Text ->+  CreateIAMPolicyAssignment+newCreateIAMPolicyAssignment+  pAwsAccountId_+  pAssignmentName_+  pAssignmentStatus_+  pNamespace_ =+    CreateIAMPolicyAssignment'+      { identities =+          Prelude.Nothing,+        policyArn = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        assignmentName = pAssignmentName_,+        assignmentStatus = pAssignmentStatus_,+        namespace = pNamespace_+      }++-- | The Amazon QuickSight users, groups, or both that you want to assign the+-- policy to.+createIAMPolicyAssignment_identities :: Lens.Lens' CreateIAMPolicyAssignment (Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]))+createIAMPolicyAssignment_identities = Lens.lens (\CreateIAMPolicyAssignment' {identities} -> identities) (\s@CreateIAMPolicyAssignment' {} a -> s {identities = a} :: CreateIAMPolicyAssignment) Prelude.. Lens.mapping Lens.coerced++-- | The ARN for the IAM policy to apply to the Amazon QuickSight users and+-- groups specified in this assignment.+createIAMPolicyAssignment_policyArn :: Lens.Lens' CreateIAMPolicyAssignment (Prelude.Maybe Prelude.Text)+createIAMPolicyAssignment_policyArn = Lens.lens (\CreateIAMPolicyAssignment' {policyArn} -> policyArn) (\s@CreateIAMPolicyAssignment' {} a -> s {policyArn = a} :: CreateIAMPolicyAssignment)++-- | The ID of the Amazon Web Services account where you want to assign an+-- IAM policy to Amazon QuickSight users or groups.+createIAMPolicyAssignment_awsAccountId :: Lens.Lens' CreateIAMPolicyAssignment Prelude.Text+createIAMPolicyAssignment_awsAccountId = Lens.lens (\CreateIAMPolicyAssignment' {awsAccountId} -> awsAccountId) (\s@CreateIAMPolicyAssignment' {} a -> s {awsAccountId = a} :: CreateIAMPolicyAssignment)++-- | The name of the assignment, also called a rule. It must be unique within+-- an Amazon Web Services account.+createIAMPolicyAssignment_assignmentName :: Lens.Lens' CreateIAMPolicyAssignment Prelude.Text+createIAMPolicyAssignment_assignmentName = Lens.lens (\CreateIAMPolicyAssignment' {assignmentName} -> assignmentName) (\s@CreateIAMPolicyAssignment' {} a -> s {assignmentName = a} :: CreateIAMPolicyAssignment)++-- | The status of the assignment. Possible values are as follows:+--+-- -   @ENABLED@ - Anything specified in this assignment is used when+--     creating the data source.+--+-- -   @DISABLED@ - This assignment isn\'t used when creating the data+--     source.+--+-- -   @DRAFT@ - This assignment is an unfinished draft and isn\'t used+--     when creating the data source.+createIAMPolicyAssignment_assignmentStatus :: Lens.Lens' CreateIAMPolicyAssignment AssignmentStatus+createIAMPolicyAssignment_assignmentStatus = Lens.lens (\CreateIAMPolicyAssignment' {assignmentStatus} -> assignmentStatus) (\s@CreateIAMPolicyAssignment' {} a -> s {assignmentStatus = a} :: CreateIAMPolicyAssignment)++-- | The namespace that contains the assignment.+createIAMPolicyAssignment_namespace :: Lens.Lens' CreateIAMPolicyAssignment Prelude.Text+createIAMPolicyAssignment_namespace = Lens.lens (\CreateIAMPolicyAssignment' {namespace} -> namespace) (\s@CreateIAMPolicyAssignment' {} a -> s {namespace = a} :: CreateIAMPolicyAssignment)++instance Core.AWSRequest CreateIAMPolicyAssignment where+  type+    AWSResponse CreateIAMPolicyAssignment =+      CreateIAMPolicyAssignmentResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateIAMPolicyAssignmentResponse'+            Prelude.<$> (x Data..?> "AssignmentId")+            Prelude.<*> (x Data..?> "AssignmentName")+            Prelude.<*> (x Data..?> "AssignmentStatus")+            Prelude.<*> (x Data..?> "Identities" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "PolicyArn")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateIAMPolicyAssignment where+  hashWithSalt _salt CreateIAMPolicyAssignment' {..} =+    _salt+      `Prelude.hashWithSalt` identities+      `Prelude.hashWithSalt` policyArn+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` assignmentName+      `Prelude.hashWithSalt` assignmentStatus+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData CreateIAMPolicyAssignment where+  rnf CreateIAMPolicyAssignment' {..} =+    Prelude.rnf identities+      `Prelude.seq` Prelude.rnf policyArn+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf assignmentName+      `Prelude.seq` Prelude.rnf assignmentStatus+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders CreateIAMPolicyAssignment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateIAMPolicyAssignment where+  toJSON CreateIAMPolicyAssignment' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Identities" Data..=) Prelude.<$> identities,+            ("PolicyArn" Data..=) Prelude.<$> policyArn,+            Prelude.Just+              ("AssignmentName" Data..= assignmentName),+            Prelude.Just+              ("AssignmentStatus" Data..= assignmentStatus)+          ]+      )++instance Data.ToPath CreateIAMPolicyAssignment where+  toPath CreateIAMPolicyAssignment' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/iam-policy-assignments/"+      ]++instance Data.ToQuery CreateIAMPolicyAssignment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateIAMPolicyAssignmentResponse' smart constructor.+data CreateIAMPolicyAssignmentResponse = CreateIAMPolicyAssignmentResponse'+  { -- | The ID for the assignment.+    assignmentId :: Prelude.Maybe Prelude.Text,+    -- | The name of the assignment. This name must be unique within the Amazon+    -- Web Services account.+    assignmentName :: Prelude.Maybe Prelude.Text,+    -- | The status of the assignment. Possible values are as follows:+    --+    -- -   @ENABLED@ - Anything specified in this assignment is used when+    --     creating the data source.+    --+    -- -   @DISABLED@ - This assignment isn\'t used when creating the data+    --     source.+    --+    -- -   @DRAFT@ - This assignment is an unfinished draft and isn\'t used+    --     when creating the data source.+    assignmentStatus :: Prelude.Maybe AssignmentStatus,+    -- | The Amazon QuickSight users, groups, or both that the IAM policy is+    -- assigned to.+    identities :: Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]),+    -- | The ARN for the IAM policy that is applied to the Amazon QuickSight+    -- users and groups specified in this assignment.+    policyArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateIAMPolicyAssignmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assignmentId', 'createIAMPolicyAssignmentResponse_assignmentId' - The ID for the assignment.+--+-- 'assignmentName', 'createIAMPolicyAssignmentResponse_assignmentName' - The name of the assignment. This name must be unique within the Amazon+-- Web Services account.+--+-- 'assignmentStatus', 'createIAMPolicyAssignmentResponse_assignmentStatus' - The status of the assignment. Possible values are as follows:+--+-- -   @ENABLED@ - Anything specified in this assignment is used when+--     creating the data source.+--+-- -   @DISABLED@ - This assignment isn\'t used when creating the data+--     source.+--+-- -   @DRAFT@ - This assignment is an unfinished draft and isn\'t used+--     when creating the data source.+--+-- 'identities', 'createIAMPolicyAssignmentResponse_identities' - The Amazon QuickSight users, groups, or both that the IAM policy is+-- assigned to.+--+-- 'policyArn', 'createIAMPolicyAssignmentResponse_policyArn' - The ARN for the IAM policy that is applied to the Amazon QuickSight+-- users and groups specified in this assignment.+--+-- 'requestId', 'createIAMPolicyAssignmentResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'createIAMPolicyAssignmentResponse_status' - The HTTP status of the request.+newCreateIAMPolicyAssignmentResponse ::+  -- | 'status'+  Prelude.Int ->+  CreateIAMPolicyAssignmentResponse+newCreateIAMPolicyAssignmentResponse pStatus_ =+  CreateIAMPolicyAssignmentResponse'+    { assignmentId =+        Prelude.Nothing,+      assignmentName = Prelude.Nothing,+      assignmentStatus = Prelude.Nothing,+      identities = Prelude.Nothing,+      policyArn = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The ID for the assignment.+createIAMPolicyAssignmentResponse_assignmentId :: Lens.Lens' CreateIAMPolicyAssignmentResponse (Prelude.Maybe Prelude.Text)+createIAMPolicyAssignmentResponse_assignmentId = Lens.lens (\CreateIAMPolicyAssignmentResponse' {assignmentId} -> assignmentId) (\s@CreateIAMPolicyAssignmentResponse' {} a -> s {assignmentId = a} :: CreateIAMPolicyAssignmentResponse)++-- | The name of the assignment. This name must be unique within the Amazon+-- Web Services account.+createIAMPolicyAssignmentResponse_assignmentName :: Lens.Lens' CreateIAMPolicyAssignmentResponse (Prelude.Maybe Prelude.Text)+createIAMPolicyAssignmentResponse_assignmentName = Lens.lens (\CreateIAMPolicyAssignmentResponse' {assignmentName} -> assignmentName) (\s@CreateIAMPolicyAssignmentResponse' {} a -> s {assignmentName = a} :: CreateIAMPolicyAssignmentResponse)++-- | The status of the assignment. Possible values are as follows:+--+-- -   @ENABLED@ - Anything specified in this assignment is used when+--     creating the data source.+--+-- -   @DISABLED@ - This assignment isn\'t used when creating the data+--     source.+--+-- -   @DRAFT@ - This assignment is an unfinished draft and isn\'t used+--     when creating the data source.+createIAMPolicyAssignmentResponse_assignmentStatus :: Lens.Lens' CreateIAMPolicyAssignmentResponse (Prelude.Maybe AssignmentStatus)+createIAMPolicyAssignmentResponse_assignmentStatus = Lens.lens (\CreateIAMPolicyAssignmentResponse' {assignmentStatus} -> assignmentStatus) (\s@CreateIAMPolicyAssignmentResponse' {} a -> s {assignmentStatus = a} :: CreateIAMPolicyAssignmentResponse)++-- | The Amazon QuickSight users, groups, or both that the IAM policy is+-- assigned to.+createIAMPolicyAssignmentResponse_identities :: Lens.Lens' CreateIAMPolicyAssignmentResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]))+createIAMPolicyAssignmentResponse_identities = Lens.lens (\CreateIAMPolicyAssignmentResponse' {identities} -> identities) (\s@CreateIAMPolicyAssignmentResponse' {} a -> s {identities = a} :: CreateIAMPolicyAssignmentResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ARN for the IAM policy that is applied to the Amazon QuickSight+-- users and groups specified in this assignment.+createIAMPolicyAssignmentResponse_policyArn :: Lens.Lens' CreateIAMPolicyAssignmentResponse (Prelude.Maybe Prelude.Text)+createIAMPolicyAssignmentResponse_policyArn = Lens.lens (\CreateIAMPolicyAssignmentResponse' {policyArn} -> policyArn) (\s@CreateIAMPolicyAssignmentResponse' {} a -> s {policyArn = a} :: CreateIAMPolicyAssignmentResponse)++-- | The Amazon Web Services request ID for this operation.+createIAMPolicyAssignmentResponse_requestId :: Lens.Lens' CreateIAMPolicyAssignmentResponse (Prelude.Maybe Prelude.Text)+createIAMPolicyAssignmentResponse_requestId = Lens.lens (\CreateIAMPolicyAssignmentResponse' {requestId} -> requestId) (\s@CreateIAMPolicyAssignmentResponse' {} a -> s {requestId = a} :: CreateIAMPolicyAssignmentResponse)++-- | The HTTP status of the request.+createIAMPolicyAssignmentResponse_status :: Lens.Lens' CreateIAMPolicyAssignmentResponse Prelude.Int+createIAMPolicyAssignmentResponse_status = Lens.lens (\CreateIAMPolicyAssignmentResponse' {status} -> status) (\s@CreateIAMPolicyAssignmentResponse' {} a -> s {status = a} :: CreateIAMPolicyAssignmentResponse)++instance+  Prelude.NFData+    CreateIAMPolicyAssignmentResponse+  where+  rnf CreateIAMPolicyAssignmentResponse' {..} =+    Prelude.rnf assignmentId+      `Prelude.seq` Prelude.rnf assignmentName+      `Prelude.seq` Prelude.rnf assignmentStatus+      `Prelude.seq` Prelude.rnf identities+      `Prelude.seq` Prelude.rnf policyArn+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/CreateIngestion.hs view
@@ -0,0 +1,266 @@+{-# 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.QuickSight.CreateIngestion+-- 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 and starts a new SPICE ingestion for a dataset. You can manually+-- refresh datasets in an Enterprise edition account 32 times in a 24-hour+-- period. You can manually refresh datasets in a Standard edition account+-- 8 times in a 24-hour period. Each 24-hour period is measured starting 24+-- hours before the current date and time.+--+-- Any ingestions operating on tagged datasets inherit the same tags+-- automatically for use in access control. For an example, see+-- <http://aws.amazon.com/premiumsupport/knowledge-center/iam-ec2-resource-tags/ How do I create an IAM policy to control access to Amazon EC2 resources using tags?>+-- in the Amazon Web Services Knowledge Center. Tags are visible on the+-- tagged dataset, but not on the ingestion resource.+module Amazonka.QuickSight.CreateIngestion+  ( -- * Creating a Request+    CreateIngestion (..),+    newCreateIngestion,++    -- * Request Lenses+    createIngestion_ingestionType,+    createIngestion_dataSetId,+    createIngestion_ingestionId,+    createIngestion_awsAccountId,++    -- * Destructuring the Response+    CreateIngestionResponse (..),+    newCreateIngestionResponse,++    -- * Response Lenses+    createIngestionResponse_arn,+    createIngestionResponse_ingestionId,+    createIngestionResponse_ingestionStatus,+    createIngestionResponse_requestId,+    createIngestionResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateIngestion' smart constructor.+data CreateIngestion = CreateIngestion'+  { -- | The type of ingestion that you want to create.+    ingestionType :: Prelude.Maybe IngestionType,+    -- | The ID of the dataset used in the ingestion.+    dataSetId :: Prelude.Text,+    -- | An ID for the ingestion.+    ingestionId :: Prelude.Text,+    -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateIngestion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ingestionType', 'createIngestion_ingestionType' - The type of ingestion that you want to create.+--+-- 'dataSetId', 'createIngestion_dataSetId' - The ID of the dataset used in the ingestion.+--+-- 'ingestionId', 'createIngestion_ingestionId' - An ID for the ingestion.+--+-- 'awsAccountId', 'createIngestion_awsAccountId' - The Amazon Web Services account ID.+newCreateIngestion ::+  -- | 'dataSetId'+  Prelude.Text ->+  -- | 'ingestionId'+  Prelude.Text ->+  -- | 'awsAccountId'+  Prelude.Text ->+  CreateIngestion+newCreateIngestion+  pDataSetId_+  pIngestionId_+  pAwsAccountId_ =+    CreateIngestion'+      { ingestionType = Prelude.Nothing,+        dataSetId = pDataSetId_,+        ingestionId = pIngestionId_,+        awsAccountId = pAwsAccountId_+      }++-- | The type of ingestion that you want to create.+createIngestion_ingestionType :: Lens.Lens' CreateIngestion (Prelude.Maybe IngestionType)+createIngestion_ingestionType = Lens.lens (\CreateIngestion' {ingestionType} -> ingestionType) (\s@CreateIngestion' {} a -> s {ingestionType = a} :: CreateIngestion)++-- | The ID of the dataset used in the ingestion.+createIngestion_dataSetId :: Lens.Lens' CreateIngestion Prelude.Text+createIngestion_dataSetId = Lens.lens (\CreateIngestion' {dataSetId} -> dataSetId) (\s@CreateIngestion' {} a -> s {dataSetId = a} :: CreateIngestion)++-- | An ID for the ingestion.+createIngestion_ingestionId :: Lens.Lens' CreateIngestion Prelude.Text+createIngestion_ingestionId = Lens.lens (\CreateIngestion' {ingestionId} -> ingestionId) (\s@CreateIngestion' {} a -> s {ingestionId = a} :: CreateIngestion)++-- | The Amazon Web Services account ID.+createIngestion_awsAccountId :: Lens.Lens' CreateIngestion Prelude.Text+createIngestion_awsAccountId = Lens.lens (\CreateIngestion' {awsAccountId} -> awsAccountId) (\s@CreateIngestion' {} a -> s {awsAccountId = a} :: CreateIngestion)++instance Core.AWSRequest CreateIngestion where+  type+    AWSResponse CreateIngestion =+      CreateIngestionResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateIngestionResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "IngestionId")+            Prelude.<*> (x Data..?> "IngestionStatus")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateIngestion where+  hashWithSalt _salt CreateIngestion' {..} =+    _salt+      `Prelude.hashWithSalt` ingestionType+      `Prelude.hashWithSalt` dataSetId+      `Prelude.hashWithSalt` ingestionId+      `Prelude.hashWithSalt` awsAccountId++instance Prelude.NFData CreateIngestion where+  rnf CreateIngestion' {..} =+    Prelude.rnf ingestionType+      `Prelude.seq` Prelude.rnf dataSetId+      `Prelude.seq` Prelude.rnf ingestionId+      `Prelude.seq` Prelude.rnf awsAccountId++instance Data.ToHeaders CreateIngestion where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateIngestion where+  toJSON CreateIngestion' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("IngestionType" Data..=)+              Prelude.<$> ingestionType+          ]+      )++instance Data.ToPath CreateIngestion where+  toPath CreateIngestion' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/data-sets/",+        Data.toBS dataSetId,+        "/ingestions/",+        Data.toBS ingestionId+      ]++instance Data.ToQuery CreateIngestion where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateIngestionResponse' smart constructor.+data CreateIngestionResponse = CreateIngestionResponse'+  { -- | The Amazon Resource Name (ARN) for the data ingestion.+    arn :: Prelude.Maybe Prelude.Text,+    -- | An ID for the ingestion.+    ingestionId :: Prelude.Maybe Prelude.Text,+    -- | The ingestion status.+    ingestionStatus :: Prelude.Maybe IngestionStatus,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateIngestionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createIngestionResponse_arn' - The Amazon Resource Name (ARN) for the data ingestion.+--+-- 'ingestionId', 'createIngestionResponse_ingestionId' - An ID for the ingestion.+--+-- 'ingestionStatus', 'createIngestionResponse_ingestionStatus' - The ingestion status.+--+-- 'requestId', 'createIngestionResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'createIngestionResponse_status' - The HTTP status of the request.+newCreateIngestionResponse ::+  -- | 'status'+  Prelude.Int ->+  CreateIngestionResponse+newCreateIngestionResponse pStatus_ =+  CreateIngestionResponse'+    { arn = Prelude.Nothing,+      ingestionId = Prelude.Nothing,+      ingestionStatus = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) for the data ingestion.+createIngestionResponse_arn :: Lens.Lens' CreateIngestionResponse (Prelude.Maybe Prelude.Text)+createIngestionResponse_arn = Lens.lens (\CreateIngestionResponse' {arn} -> arn) (\s@CreateIngestionResponse' {} a -> s {arn = a} :: CreateIngestionResponse)++-- | An ID for the ingestion.+createIngestionResponse_ingestionId :: Lens.Lens' CreateIngestionResponse (Prelude.Maybe Prelude.Text)+createIngestionResponse_ingestionId = Lens.lens (\CreateIngestionResponse' {ingestionId} -> ingestionId) (\s@CreateIngestionResponse' {} a -> s {ingestionId = a} :: CreateIngestionResponse)++-- | The ingestion status.+createIngestionResponse_ingestionStatus :: Lens.Lens' CreateIngestionResponse (Prelude.Maybe IngestionStatus)+createIngestionResponse_ingestionStatus = Lens.lens (\CreateIngestionResponse' {ingestionStatus} -> ingestionStatus) (\s@CreateIngestionResponse' {} a -> s {ingestionStatus = a} :: CreateIngestionResponse)++-- | The Amazon Web Services request ID for this operation.+createIngestionResponse_requestId :: Lens.Lens' CreateIngestionResponse (Prelude.Maybe Prelude.Text)+createIngestionResponse_requestId = Lens.lens (\CreateIngestionResponse' {requestId} -> requestId) (\s@CreateIngestionResponse' {} a -> s {requestId = a} :: CreateIngestionResponse)++-- | The HTTP status of the request.+createIngestionResponse_status :: Lens.Lens' CreateIngestionResponse Prelude.Int+createIngestionResponse_status = Lens.lens (\CreateIngestionResponse' {status} -> status) (\s@CreateIngestionResponse' {} a -> s {status = a} :: CreateIngestionResponse)++instance Prelude.NFData CreateIngestionResponse where+  rnf CreateIngestionResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf ingestionId+      `Prelude.seq` Prelude.rnf ingestionStatus+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/CreateNamespace.hs view
@@ -0,0 +1,317 @@+{-# 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.QuickSight.CreateNamespace+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- (Enterprise edition only) Creates a new namespace for you to use with+-- Amazon QuickSight.+--+-- A namespace allows you to isolate the Amazon QuickSight users and groups+-- that are registered for that namespace. Users that access the namespace+-- can share assets only with other users or groups in the same namespace.+-- They can\'t see users and groups in other namespaces. You can create a+-- namespace after your Amazon Web Services account is subscribed to Amazon+-- QuickSight. The namespace must be unique within the Amazon Web Services+-- account. By default, there is a limit of 100 namespaces per Amazon Web+-- Services account. To increase your limit, create a ticket with Amazon+-- Web Services Support.+module Amazonka.QuickSight.CreateNamespace+  ( -- * Creating a Request+    CreateNamespace (..),+    newCreateNamespace,++    -- * Request Lenses+    createNamespace_tags,+    createNamespace_awsAccountId,+    createNamespace_namespace,+    createNamespace_identityStore,++    -- * Destructuring the Response+    CreateNamespaceResponse (..),+    newCreateNamespaceResponse,++    -- * Response Lenses+    createNamespaceResponse_arn,+    createNamespaceResponse_capacityRegion,+    createNamespaceResponse_creationStatus,+    createNamespaceResponse_identityStore,+    createNamespaceResponse_name,+    createNamespaceResponse_requestId,+    createNamespaceResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateNamespace' smart constructor.+data CreateNamespace = CreateNamespace'+  { -- | The tags that you want to associate with the namespace that you\'re+    -- creating.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The ID for the Amazon Web Services account that you want to create the+    -- Amazon QuickSight namespace in.+    awsAccountId :: Prelude.Text,+    -- | The name that you want to use to describe the new namespace.+    namespace :: Prelude.Text,+    -- | Specifies the type of your user identity directory. Currently, this+    -- supports users with an identity type of @QUICKSIGHT@.+    identityStore :: IdentityStore+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateNamespace' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createNamespace_tags' - The tags that you want to associate with the namespace that you\'re+-- creating.+--+-- 'awsAccountId', 'createNamespace_awsAccountId' - The ID for the Amazon Web Services account that you want to create the+-- Amazon QuickSight namespace in.+--+-- 'namespace', 'createNamespace_namespace' - The name that you want to use to describe the new namespace.+--+-- 'identityStore', 'createNamespace_identityStore' - Specifies the type of your user identity directory. Currently, this+-- supports users with an identity type of @QUICKSIGHT@.+newCreateNamespace ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  -- | 'identityStore'+  IdentityStore ->+  CreateNamespace+newCreateNamespace+  pAwsAccountId_+  pNamespace_+  pIdentityStore_ =+    CreateNamespace'+      { tags = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        namespace = pNamespace_,+        identityStore = pIdentityStore_+      }++-- | The tags that you want to associate with the namespace that you\'re+-- creating.+createNamespace_tags :: Lens.Lens' CreateNamespace (Prelude.Maybe (Prelude.NonEmpty Tag))+createNamespace_tags = Lens.lens (\CreateNamespace' {tags} -> tags) (\s@CreateNamespace' {} a -> s {tags = a} :: CreateNamespace) Prelude.. Lens.mapping Lens.coerced++-- | The ID for the Amazon Web Services account that you want to create the+-- Amazon QuickSight namespace in.+createNamespace_awsAccountId :: Lens.Lens' CreateNamespace Prelude.Text+createNamespace_awsAccountId = Lens.lens (\CreateNamespace' {awsAccountId} -> awsAccountId) (\s@CreateNamespace' {} a -> s {awsAccountId = a} :: CreateNamespace)++-- | The name that you want to use to describe the new namespace.+createNamespace_namespace :: Lens.Lens' CreateNamespace Prelude.Text+createNamespace_namespace = Lens.lens (\CreateNamespace' {namespace} -> namespace) (\s@CreateNamespace' {} a -> s {namespace = a} :: CreateNamespace)++-- | Specifies the type of your user identity directory. Currently, this+-- supports users with an identity type of @QUICKSIGHT@.+createNamespace_identityStore :: Lens.Lens' CreateNamespace IdentityStore+createNamespace_identityStore = Lens.lens (\CreateNamespace' {identityStore} -> identityStore) (\s@CreateNamespace' {} a -> s {identityStore = a} :: CreateNamespace)++instance Core.AWSRequest CreateNamespace where+  type+    AWSResponse CreateNamespace =+      CreateNamespaceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateNamespaceResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CapacityRegion")+            Prelude.<*> (x Data..?> "CreationStatus")+            Prelude.<*> (x Data..?> "IdentityStore")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateNamespace where+  hashWithSalt _salt CreateNamespace' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` identityStore++instance Prelude.NFData CreateNamespace where+  rnf CreateNamespace' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf identityStore++instance Data.ToHeaders CreateNamespace where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateNamespace where+  toJSON CreateNamespace' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("Namespace" Data..= namespace),+            Prelude.Just+              ("IdentityStore" Data..= identityStore)+          ]+      )++instance Data.ToPath CreateNamespace where+  toPath CreateNamespace' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS awsAccountId]++instance Data.ToQuery CreateNamespace where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateNamespaceResponse' smart constructor.+data CreateNamespaceResponse = CreateNamespaceResponse'+  { -- | The ARN of the Amazon QuickSight namespace you created.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services Region; that you want to use for the free SPICE+    -- capacity for the new namespace. This is set to the region that you run+    -- CreateNamespace in.+    capacityRegion :: Prelude.Maybe Prelude.Text,+    -- | The status of the creation of the namespace. This is an asynchronous+    -- process. A status of @CREATED@ means that your namespace is ready to+    -- use. If an error occurs, it indicates if the process is @retryable@ or+    -- @non-retryable@. In the case of a non-retryable error, refer to the+    -- error message for follow-up tasks.+    creationStatus :: Prelude.Maybe NamespaceStatus,+    -- | Specifies the type of your user identity directory. Currently, this+    -- supports users with an identity type of @QUICKSIGHT@.+    identityStore :: Prelude.Maybe IdentityStore,+    -- | The name of the new namespace that you created.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateNamespaceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createNamespaceResponse_arn' - The ARN of the Amazon QuickSight namespace you created.+--+-- 'capacityRegion', 'createNamespaceResponse_capacityRegion' - The Amazon Web Services Region; that you want to use for the free SPICE+-- capacity for the new namespace. This is set to the region that you run+-- CreateNamespace in.+--+-- 'creationStatus', 'createNamespaceResponse_creationStatus' - The status of the creation of the namespace. This is an asynchronous+-- process. A status of @CREATED@ means that your namespace is ready to+-- use. If an error occurs, it indicates if the process is @retryable@ or+-- @non-retryable@. In the case of a non-retryable error, refer to the+-- error message for follow-up tasks.+--+-- 'identityStore', 'createNamespaceResponse_identityStore' - Specifies the type of your user identity directory. Currently, this+-- supports users with an identity type of @QUICKSIGHT@.+--+-- 'name', 'createNamespaceResponse_name' - The name of the new namespace that you created.+--+-- 'requestId', 'createNamespaceResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'createNamespaceResponse_status' - The HTTP status of the request.+newCreateNamespaceResponse ::+  -- | 'status'+  Prelude.Int ->+  CreateNamespaceResponse+newCreateNamespaceResponse pStatus_ =+  CreateNamespaceResponse'+    { arn = Prelude.Nothing,+      capacityRegion = Prelude.Nothing,+      creationStatus = Prelude.Nothing,+      identityStore = Prelude.Nothing,+      name = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The ARN of the Amazon QuickSight namespace you created.+createNamespaceResponse_arn :: Lens.Lens' CreateNamespaceResponse (Prelude.Maybe Prelude.Text)+createNamespaceResponse_arn = Lens.lens (\CreateNamespaceResponse' {arn} -> arn) (\s@CreateNamespaceResponse' {} a -> s {arn = a} :: CreateNamespaceResponse)++-- | The Amazon Web Services Region; that you want to use for the free SPICE+-- capacity for the new namespace. This is set to the region that you run+-- CreateNamespace in.+createNamespaceResponse_capacityRegion :: Lens.Lens' CreateNamespaceResponse (Prelude.Maybe Prelude.Text)+createNamespaceResponse_capacityRegion = Lens.lens (\CreateNamespaceResponse' {capacityRegion} -> capacityRegion) (\s@CreateNamespaceResponse' {} a -> s {capacityRegion = a} :: CreateNamespaceResponse)++-- | The status of the creation of the namespace. This is an asynchronous+-- process. A status of @CREATED@ means that your namespace is ready to+-- use. If an error occurs, it indicates if the process is @retryable@ or+-- @non-retryable@. In the case of a non-retryable error, refer to the+-- error message for follow-up tasks.+createNamespaceResponse_creationStatus :: Lens.Lens' CreateNamespaceResponse (Prelude.Maybe NamespaceStatus)+createNamespaceResponse_creationStatus = Lens.lens (\CreateNamespaceResponse' {creationStatus} -> creationStatus) (\s@CreateNamespaceResponse' {} a -> s {creationStatus = a} :: CreateNamespaceResponse)++-- | Specifies the type of your user identity directory. Currently, this+-- supports users with an identity type of @QUICKSIGHT@.+createNamespaceResponse_identityStore :: Lens.Lens' CreateNamespaceResponse (Prelude.Maybe IdentityStore)+createNamespaceResponse_identityStore = Lens.lens (\CreateNamespaceResponse' {identityStore} -> identityStore) (\s@CreateNamespaceResponse' {} a -> s {identityStore = a} :: CreateNamespaceResponse)++-- | The name of the new namespace that you created.+createNamespaceResponse_name :: Lens.Lens' CreateNamespaceResponse (Prelude.Maybe Prelude.Text)+createNamespaceResponse_name = Lens.lens (\CreateNamespaceResponse' {name} -> name) (\s@CreateNamespaceResponse' {} a -> s {name = a} :: CreateNamespaceResponse)++-- | The Amazon Web Services request ID for this operation.+createNamespaceResponse_requestId :: Lens.Lens' CreateNamespaceResponse (Prelude.Maybe Prelude.Text)+createNamespaceResponse_requestId = Lens.lens (\CreateNamespaceResponse' {requestId} -> requestId) (\s@CreateNamespaceResponse' {} a -> s {requestId = a} :: CreateNamespaceResponse)++-- | The HTTP status of the request.+createNamespaceResponse_status :: Lens.Lens' CreateNamespaceResponse Prelude.Int+createNamespaceResponse_status = Lens.lens (\CreateNamespaceResponse' {status} -> status) (\s@CreateNamespaceResponse' {} a -> s {status = a} :: CreateNamespaceResponse)++instance Prelude.NFData CreateNamespaceResponse where+  rnf CreateNamespaceResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf capacityRegion+      `Prelude.seq` Prelude.rnf creationStatus+      `Prelude.seq` Prelude.rnf identityStore+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/CreateTemplate.hs view
@@ -0,0 +1,395 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.CreateTemplate+-- 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 template from an existing Amazon QuickSight analysis or+-- template. You can use the resulting template to create a dashboard.+--+-- A /template/ is an entity in Amazon QuickSight that encapsulates the+-- metadata required to create an analysis and that you can use to create s+-- dashboard. A template adds a layer of abstraction by using placeholders+-- to replace the dataset associated with the analysis. You can use+-- templates to create dashboards by replacing dataset placeholders with+-- datasets that follow the same schema that was used to create the source+-- analysis and template.+module Amazonka.QuickSight.CreateTemplate+  ( -- * Creating a Request+    CreateTemplate (..),+    newCreateTemplate,++    -- * Request Lenses+    createTemplate_definition,+    createTemplate_name,+    createTemplate_permissions,+    createTemplate_sourceEntity,+    createTemplate_tags,+    createTemplate_versionDescription,+    createTemplate_awsAccountId,+    createTemplate_templateId,++    -- * Destructuring the Response+    CreateTemplateResponse (..),+    newCreateTemplateResponse,++    -- * Response Lenses+    createTemplateResponse_arn,+    createTemplateResponse_creationStatus,+    createTemplateResponse_requestId,+    createTemplateResponse_templateId,+    createTemplateResponse_versionArn,+    createTemplateResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateTemplate' smart constructor.+data CreateTemplate = CreateTemplate'+  { -- | The definition of a template.+    --+    -- A definition is the data model of all features in a Dashboard, Template,+    -- or Analysis.+    definition :: Prelude.Maybe TemplateVersionDefinition,+    -- | A display name for the template.+    name :: Prelude.Maybe Prelude.Text,+    -- | A list of resource permissions to be set on the template.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The entity that you are using as a source when you create the template.+    -- In @SourceEntity@, you specify the type of object you\'re using as+    -- source: @SourceTemplate@ for a template or @SourceAnalysis@ for an+    -- analysis. Both of these require an Amazon Resource Name (ARN). For+    -- @SourceTemplate@, specify the ARN of the source template. For+    -- @SourceAnalysis@, specify the ARN of the source analysis. The+    -- @SourceTemplate@ ARN can contain any Amazon Web Services account and any+    -- Amazon QuickSight-supported Amazon Web Services Region.+    --+    -- Use the @DataSetReferences@ entity within @SourceTemplate@ or+    -- @SourceAnalysis@ to list the replacement datasets for the placeholders+    -- listed in the original. The schema in each dataset must match its+    -- placeholder.+    sourceEntity :: Prelude.Maybe TemplateSourceEntity,+    -- | Contains a map of the key-value pairs for the resource tag or tags+    -- assigned to the resource.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | A description of the current template version being created. This API+    -- operation creates the first version of the template. Every time+    -- @UpdateTemplate@ is called, a new version is created. Each version of+    -- the template maintains a description of the version in the+    -- @VersionDescription@ field.+    versionDescription :: Prelude.Maybe Prelude.Text,+    -- | The ID for the Amazon Web Services account that the group is in. You use+    -- the ID for the Amazon Web Services account that contains your Amazon+    -- QuickSight account.+    awsAccountId :: Prelude.Text,+    -- | An ID for the template that you want to create. This template is unique+    -- per Amazon Web Services Region; in each Amazon Web Services account.+    templateId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'definition', 'createTemplate_definition' - The definition of a template.+--+-- A definition is the data model of all features in a Dashboard, Template,+-- or Analysis.+--+-- 'name', 'createTemplate_name' - A display name for the template.+--+-- 'permissions', 'createTemplate_permissions' - A list of resource permissions to be set on the template.+--+-- 'sourceEntity', 'createTemplate_sourceEntity' - The entity that you are using as a source when you create the template.+-- In @SourceEntity@, you specify the type of object you\'re using as+-- source: @SourceTemplate@ for a template or @SourceAnalysis@ for an+-- analysis. Both of these require an Amazon Resource Name (ARN). For+-- @SourceTemplate@, specify the ARN of the source template. For+-- @SourceAnalysis@, specify the ARN of the source analysis. The+-- @SourceTemplate@ ARN can contain any Amazon Web Services account and any+-- Amazon QuickSight-supported Amazon Web Services Region.+--+-- Use the @DataSetReferences@ entity within @SourceTemplate@ or+-- @SourceAnalysis@ to list the replacement datasets for the placeholders+-- listed in the original. The schema in each dataset must match its+-- placeholder.+--+-- 'tags', 'createTemplate_tags' - Contains a map of the key-value pairs for the resource tag or tags+-- assigned to the resource.+--+-- 'versionDescription', 'createTemplate_versionDescription' - A description of the current template version being created. This API+-- operation creates the first version of the template. Every time+-- @UpdateTemplate@ is called, a new version is created. Each version of+-- the template maintains a description of the version in the+-- @VersionDescription@ field.+--+-- 'awsAccountId', 'createTemplate_awsAccountId' - The ID for the Amazon Web Services account that the group is in. You use+-- the ID for the Amazon Web Services account that contains your Amazon+-- QuickSight account.+--+-- 'templateId', 'createTemplate_templateId' - An ID for the template that you want to create. This template is unique+-- per Amazon Web Services Region; in each Amazon Web Services account.+newCreateTemplate ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'templateId'+  Prelude.Text ->+  CreateTemplate+newCreateTemplate pAwsAccountId_ pTemplateId_ =+  CreateTemplate'+    { definition = Prelude.Nothing,+      name = Prelude.Nothing,+      permissions = Prelude.Nothing,+      sourceEntity = Prelude.Nothing,+      tags = Prelude.Nothing,+      versionDescription = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      templateId = pTemplateId_+    }++-- | The definition of a template.+--+-- A definition is the data model of all features in a Dashboard, Template,+-- or Analysis.+createTemplate_definition :: Lens.Lens' CreateTemplate (Prelude.Maybe TemplateVersionDefinition)+createTemplate_definition = Lens.lens (\CreateTemplate' {definition} -> definition) (\s@CreateTemplate' {} a -> s {definition = a} :: CreateTemplate)++-- | A display name for the template.+createTemplate_name :: Lens.Lens' CreateTemplate (Prelude.Maybe Prelude.Text)+createTemplate_name = Lens.lens (\CreateTemplate' {name} -> name) (\s@CreateTemplate' {} a -> s {name = a} :: CreateTemplate)++-- | A list of resource permissions to be set on the template.+createTemplate_permissions :: Lens.Lens' CreateTemplate (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+createTemplate_permissions = Lens.lens (\CreateTemplate' {permissions} -> permissions) (\s@CreateTemplate' {} a -> s {permissions = a} :: CreateTemplate) Prelude.. Lens.mapping Lens.coerced++-- | The entity that you are using as a source when you create the template.+-- In @SourceEntity@, you specify the type of object you\'re using as+-- source: @SourceTemplate@ for a template or @SourceAnalysis@ for an+-- analysis. Both of these require an Amazon Resource Name (ARN). For+-- @SourceTemplate@, specify the ARN of the source template. For+-- @SourceAnalysis@, specify the ARN of the source analysis. The+-- @SourceTemplate@ ARN can contain any Amazon Web Services account and any+-- Amazon QuickSight-supported Amazon Web Services Region.+--+-- Use the @DataSetReferences@ entity within @SourceTemplate@ or+-- @SourceAnalysis@ to list the replacement datasets for the placeholders+-- listed in the original. The schema in each dataset must match its+-- placeholder.+createTemplate_sourceEntity :: Lens.Lens' CreateTemplate (Prelude.Maybe TemplateSourceEntity)+createTemplate_sourceEntity = Lens.lens (\CreateTemplate' {sourceEntity} -> sourceEntity) (\s@CreateTemplate' {} a -> s {sourceEntity = a} :: CreateTemplate)++-- | Contains a map of the key-value pairs for the resource tag or tags+-- assigned to the resource.+createTemplate_tags :: Lens.Lens' CreateTemplate (Prelude.Maybe (Prelude.NonEmpty Tag))+createTemplate_tags = Lens.lens (\CreateTemplate' {tags} -> tags) (\s@CreateTemplate' {} a -> s {tags = a} :: CreateTemplate) Prelude.. Lens.mapping Lens.coerced++-- | A description of the current template version being created. This API+-- operation creates the first version of the template. Every time+-- @UpdateTemplate@ is called, a new version is created. Each version of+-- the template maintains a description of the version in the+-- @VersionDescription@ field.+createTemplate_versionDescription :: Lens.Lens' CreateTemplate (Prelude.Maybe Prelude.Text)+createTemplate_versionDescription = Lens.lens (\CreateTemplate' {versionDescription} -> versionDescription) (\s@CreateTemplate' {} a -> s {versionDescription = a} :: CreateTemplate)++-- | The ID for the Amazon Web Services account that the group is in. You use+-- the ID for the Amazon Web Services account that contains your Amazon+-- QuickSight account.+createTemplate_awsAccountId :: Lens.Lens' CreateTemplate Prelude.Text+createTemplate_awsAccountId = Lens.lens (\CreateTemplate' {awsAccountId} -> awsAccountId) (\s@CreateTemplate' {} a -> s {awsAccountId = a} :: CreateTemplate)++-- | An ID for the template that you want to create. This template is unique+-- per Amazon Web Services Region; in each Amazon Web Services account.+createTemplate_templateId :: Lens.Lens' CreateTemplate Prelude.Text+createTemplate_templateId = Lens.lens (\CreateTemplate' {templateId} -> templateId) (\s@CreateTemplate' {} a -> s {templateId = a} :: CreateTemplate)++instance Core.AWSRequest CreateTemplate where+  type+    AWSResponse CreateTemplate =+      CreateTemplateResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateTemplateResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreationStatus")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "TemplateId")+            Prelude.<*> (x Data..?> "VersionArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateTemplate where+  hashWithSalt _salt CreateTemplate' {..} =+    _salt+      `Prelude.hashWithSalt` definition+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` permissions+      `Prelude.hashWithSalt` sourceEntity+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` versionDescription+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` templateId++instance Prelude.NFData CreateTemplate where+  rnf CreateTemplate' {..} =+    Prelude.rnf definition+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf sourceEntity+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf versionDescription+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf templateId++instance Data.ToHeaders CreateTemplate where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateTemplate where+  toJSON CreateTemplate' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Definition" Data..=) Prelude.<$> definition,+            ("Name" Data..=) Prelude.<$> name,+            ("Permissions" Data..=) Prelude.<$> permissions,+            ("SourceEntity" Data..=) Prelude.<$> sourceEntity,+            ("Tags" Data..=) Prelude.<$> tags,+            ("VersionDescription" Data..=)+              Prelude.<$> versionDescription+          ]+      )++instance Data.ToPath CreateTemplate where+  toPath CreateTemplate' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/templates/",+        Data.toBS templateId+      ]++instance Data.ToQuery CreateTemplate where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateTemplateResponse' smart constructor.+data CreateTemplateResponse = CreateTemplateResponse'+  { -- | The ARN for the template.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The template creation status.+    creationStatus :: Prelude.Maybe ResourceStatus,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the template.+    templateId :: Prelude.Maybe Prelude.Text,+    -- | The ARN for the template, including the version information of the first+    -- version.+    versionArn :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateTemplateResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createTemplateResponse_arn' - The ARN for the template.+--+-- 'creationStatus', 'createTemplateResponse_creationStatus' - The template creation status.+--+-- 'requestId', 'createTemplateResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'templateId', 'createTemplateResponse_templateId' - The ID of the template.+--+-- 'versionArn', 'createTemplateResponse_versionArn' - The ARN for the template, including the version information of the first+-- version.+--+-- 'status', 'createTemplateResponse_status' - The HTTP status of the request.+newCreateTemplateResponse ::+  -- | 'status'+  Prelude.Int ->+  CreateTemplateResponse+newCreateTemplateResponse pStatus_ =+  CreateTemplateResponse'+    { arn = Prelude.Nothing,+      creationStatus = Prelude.Nothing,+      requestId = Prelude.Nothing,+      templateId = Prelude.Nothing,+      versionArn = Prelude.Nothing,+      status = pStatus_+    }++-- | The ARN for the template.+createTemplateResponse_arn :: Lens.Lens' CreateTemplateResponse (Prelude.Maybe Prelude.Text)+createTemplateResponse_arn = Lens.lens (\CreateTemplateResponse' {arn} -> arn) (\s@CreateTemplateResponse' {} a -> s {arn = a} :: CreateTemplateResponse)++-- | The template creation status.+createTemplateResponse_creationStatus :: Lens.Lens' CreateTemplateResponse (Prelude.Maybe ResourceStatus)+createTemplateResponse_creationStatus = Lens.lens (\CreateTemplateResponse' {creationStatus} -> creationStatus) (\s@CreateTemplateResponse' {} a -> s {creationStatus = a} :: CreateTemplateResponse)++-- | The Amazon Web Services request ID for this operation.+createTemplateResponse_requestId :: Lens.Lens' CreateTemplateResponse (Prelude.Maybe Prelude.Text)+createTemplateResponse_requestId = Lens.lens (\CreateTemplateResponse' {requestId} -> requestId) (\s@CreateTemplateResponse' {} a -> s {requestId = a} :: CreateTemplateResponse)++-- | The ID of the template.+createTemplateResponse_templateId :: Lens.Lens' CreateTemplateResponse (Prelude.Maybe Prelude.Text)+createTemplateResponse_templateId = Lens.lens (\CreateTemplateResponse' {templateId} -> templateId) (\s@CreateTemplateResponse' {} a -> s {templateId = a} :: CreateTemplateResponse)++-- | The ARN for the template, including the version information of the first+-- version.+createTemplateResponse_versionArn :: Lens.Lens' CreateTemplateResponse (Prelude.Maybe Prelude.Text)+createTemplateResponse_versionArn = Lens.lens (\CreateTemplateResponse' {versionArn} -> versionArn) (\s@CreateTemplateResponse' {} a -> s {versionArn = a} :: CreateTemplateResponse)++-- | The HTTP status of the request.+createTemplateResponse_status :: Lens.Lens' CreateTemplateResponse Prelude.Int+createTemplateResponse_status = Lens.lens (\CreateTemplateResponse' {status} -> status) (\s@CreateTemplateResponse' {} a -> s {status = a} :: CreateTemplateResponse)++instance Prelude.NFData CreateTemplateResponse where+  rnf CreateTemplateResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationStatus+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf versionArn+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/CreateTemplateAlias.hs view
@@ -0,0 +1,247 @@+{-# 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.QuickSight.CreateTemplateAlias+-- 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 template alias for a template.+module Amazonka.QuickSight.CreateTemplateAlias+  ( -- * Creating a Request+    CreateTemplateAlias (..),+    newCreateTemplateAlias,++    -- * Request Lenses+    createTemplateAlias_awsAccountId,+    createTemplateAlias_templateId,+    createTemplateAlias_aliasName,+    createTemplateAlias_templateVersionNumber,++    -- * Destructuring the Response+    CreateTemplateAliasResponse (..),+    newCreateTemplateAliasResponse,++    -- * Response Lenses+    createTemplateAliasResponse_requestId,+    createTemplateAliasResponse_templateAlias,+    createTemplateAliasResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateTemplateAlias' smart constructor.+data CreateTemplateAlias = CreateTemplateAlias'+  { -- | The ID of the Amazon Web Services account that contains the template+    -- that you creating an alias for.+    awsAccountId :: Prelude.Text,+    -- | An ID for the template.+    templateId :: Prelude.Text,+    -- | The name that you want to give to the template alias that you\'re+    -- creating. Don\'t start the alias name with the @$@ character. Alias+    -- names that start with @$@ are reserved by Amazon QuickSight.+    aliasName :: Prelude.Text,+    -- | The version number of the template.+    templateVersionNumber :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateTemplateAlias' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'createTemplateAlias_awsAccountId' - The ID of the Amazon Web Services account that contains the template+-- that you creating an alias for.+--+-- 'templateId', 'createTemplateAlias_templateId' - An ID for the template.+--+-- 'aliasName', 'createTemplateAlias_aliasName' - The name that you want to give to the template alias that you\'re+-- creating. Don\'t start the alias name with the @$@ character. Alias+-- names that start with @$@ are reserved by Amazon QuickSight.+--+-- 'templateVersionNumber', 'createTemplateAlias_templateVersionNumber' - The version number of the template.+newCreateTemplateAlias ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'templateId'+  Prelude.Text ->+  -- | 'aliasName'+  Prelude.Text ->+  -- | 'templateVersionNumber'+  Prelude.Natural ->+  CreateTemplateAlias+newCreateTemplateAlias+  pAwsAccountId_+  pTemplateId_+  pAliasName_+  pTemplateVersionNumber_ =+    CreateTemplateAlias'+      { awsAccountId = pAwsAccountId_,+        templateId = pTemplateId_,+        aliasName = pAliasName_,+        templateVersionNumber = pTemplateVersionNumber_+      }++-- | The ID of the Amazon Web Services account that contains the template+-- that you creating an alias for.+createTemplateAlias_awsAccountId :: Lens.Lens' CreateTemplateAlias Prelude.Text+createTemplateAlias_awsAccountId = Lens.lens (\CreateTemplateAlias' {awsAccountId} -> awsAccountId) (\s@CreateTemplateAlias' {} a -> s {awsAccountId = a} :: CreateTemplateAlias)++-- | An ID for the template.+createTemplateAlias_templateId :: Lens.Lens' CreateTemplateAlias Prelude.Text+createTemplateAlias_templateId = Lens.lens (\CreateTemplateAlias' {templateId} -> templateId) (\s@CreateTemplateAlias' {} a -> s {templateId = a} :: CreateTemplateAlias)++-- | The name that you want to give to the template alias that you\'re+-- creating. Don\'t start the alias name with the @$@ character. Alias+-- names that start with @$@ are reserved by Amazon QuickSight.+createTemplateAlias_aliasName :: Lens.Lens' CreateTemplateAlias Prelude.Text+createTemplateAlias_aliasName = Lens.lens (\CreateTemplateAlias' {aliasName} -> aliasName) (\s@CreateTemplateAlias' {} a -> s {aliasName = a} :: CreateTemplateAlias)++-- | The version number of the template.+createTemplateAlias_templateVersionNumber :: Lens.Lens' CreateTemplateAlias Prelude.Natural+createTemplateAlias_templateVersionNumber = Lens.lens (\CreateTemplateAlias' {templateVersionNumber} -> templateVersionNumber) (\s@CreateTemplateAlias' {} a -> s {templateVersionNumber = a} :: CreateTemplateAlias)++instance Core.AWSRequest CreateTemplateAlias where+  type+    AWSResponse CreateTemplateAlias =+      CreateTemplateAliasResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateTemplateAliasResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "TemplateAlias")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateTemplateAlias where+  hashWithSalt _salt CreateTemplateAlias' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` templateId+      `Prelude.hashWithSalt` aliasName+      `Prelude.hashWithSalt` templateVersionNumber++instance Prelude.NFData CreateTemplateAlias where+  rnf CreateTemplateAlias' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf aliasName+      `Prelude.seq` Prelude.rnf templateVersionNumber++instance Data.ToHeaders CreateTemplateAlias where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateTemplateAlias where+  toJSON CreateTemplateAlias' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "TemplateVersionNumber"+                  Data..= templateVersionNumber+              )+          ]+      )++instance Data.ToPath CreateTemplateAlias where+  toPath CreateTemplateAlias' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/templates/",+        Data.toBS templateId,+        "/aliases/",+        Data.toBS aliasName+      ]++instance Data.ToQuery CreateTemplateAlias where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateTemplateAliasResponse' smart constructor.+data CreateTemplateAliasResponse = CreateTemplateAliasResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | Information about the template alias.+    templateAlias :: Prelude.Maybe TemplateAlias,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateTemplateAliasResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'createTemplateAliasResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'templateAlias', 'createTemplateAliasResponse_templateAlias' - Information about the template alias.+--+-- 'status', 'createTemplateAliasResponse_status' - The HTTP status of the request.+newCreateTemplateAliasResponse ::+  -- | 'status'+  Prelude.Int ->+  CreateTemplateAliasResponse+newCreateTemplateAliasResponse pStatus_ =+  CreateTemplateAliasResponse'+    { requestId =+        Prelude.Nothing,+      templateAlias = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+createTemplateAliasResponse_requestId :: Lens.Lens' CreateTemplateAliasResponse (Prelude.Maybe Prelude.Text)+createTemplateAliasResponse_requestId = Lens.lens (\CreateTemplateAliasResponse' {requestId} -> requestId) (\s@CreateTemplateAliasResponse' {} a -> s {requestId = a} :: CreateTemplateAliasResponse)++-- | Information about the template alias.+createTemplateAliasResponse_templateAlias :: Lens.Lens' CreateTemplateAliasResponse (Prelude.Maybe TemplateAlias)+createTemplateAliasResponse_templateAlias = Lens.lens (\CreateTemplateAliasResponse' {templateAlias} -> templateAlias) (\s@CreateTemplateAliasResponse' {} a -> s {templateAlias = a} :: CreateTemplateAliasResponse)++-- | The HTTP status of the request.+createTemplateAliasResponse_status :: Lens.Lens' CreateTemplateAliasResponse Prelude.Int+createTemplateAliasResponse_status = Lens.lens (\CreateTemplateAliasResponse' {status} -> status) (\s@CreateTemplateAliasResponse' {} a -> s {status = a} :: CreateTemplateAliasResponse)++instance Prelude.NFData CreateTemplateAliasResponse where+  rnf CreateTemplateAliasResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf templateAlias+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/CreateTheme.hs view
@@ -0,0 +1,356 @@+{-# 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.QuickSight.CreateTheme+-- 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 theme.+--+-- A /theme/ is set of configuration options for color and layout. Themes+-- apply to analyses and dashboards. For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/themes-in-quicksight.html Using Themes in Amazon QuickSight>+-- in the /Amazon QuickSight User Guide/.+module Amazonka.QuickSight.CreateTheme+  ( -- * Creating a Request+    CreateTheme (..),+    newCreateTheme,++    -- * Request Lenses+    createTheme_permissions,+    createTheme_tags,+    createTheme_versionDescription,+    createTheme_awsAccountId,+    createTheme_themeId,+    createTheme_name,+    createTheme_baseThemeId,+    createTheme_configuration,++    -- * Destructuring the Response+    CreateThemeResponse (..),+    newCreateThemeResponse,++    -- * Response Lenses+    createThemeResponse_arn,+    createThemeResponse_creationStatus,+    createThemeResponse_requestId,+    createThemeResponse_themeId,+    createThemeResponse_versionArn,+    createThemeResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateTheme' smart constructor.+data CreateTheme = CreateTheme'+  { -- | A valid grouping of resource permissions to apply to the new theme.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | A map of the key-value pairs for the resource tag or tags that you want+    -- to add to the resource.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | A description of the first version of the theme that you\'re creating.+    -- Every time @UpdateTheme@ is called, a new version is created. Each+    -- version of the theme has a description of the version in the+    -- @VersionDescription@ field.+    versionDescription :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account where you want to store the+    -- new theme.+    awsAccountId :: Prelude.Text,+    -- | An ID for the theme that you want to create. The theme ID is unique per+    -- Amazon Web Services Region in each Amazon Web Services account.+    themeId :: Prelude.Text,+    -- | A display name for the theme.+    name :: Prelude.Text,+    -- | The ID of the theme that a custom theme will inherit from. All themes+    -- inherit from one of the starting themes defined by Amazon QuickSight.+    -- For a list of the starting themes, use @ListThemes@ or choose __Themes__+    -- from within an analysis.+    baseThemeId :: Prelude.Text,+    -- | The theme configuration, which contains the theme display properties.+    configuration :: ThemeConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateTheme' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'permissions', 'createTheme_permissions' - A valid grouping of resource permissions to apply to the new theme.+--+-- 'tags', 'createTheme_tags' - A map of the key-value pairs for the resource tag or tags that you want+-- to add to the resource.+--+-- 'versionDescription', 'createTheme_versionDescription' - A description of the first version of the theme that you\'re creating.+-- Every time @UpdateTheme@ is called, a new version is created. Each+-- version of the theme has a description of the version in the+-- @VersionDescription@ field.+--+-- 'awsAccountId', 'createTheme_awsAccountId' - The ID of the Amazon Web Services account where you want to store the+-- new theme.+--+-- 'themeId', 'createTheme_themeId' - An ID for the theme that you want to create. The theme ID is unique per+-- Amazon Web Services Region in each Amazon Web Services account.+--+-- 'name', 'createTheme_name' - A display name for the theme.+--+-- 'baseThemeId', 'createTheme_baseThemeId' - The ID of the theme that a custom theme will inherit from. All themes+-- inherit from one of the starting themes defined by Amazon QuickSight.+-- For a list of the starting themes, use @ListThemes@ or choose __Themes__+-- from within an analysis.+--+-- 'configuration', 'createTheme_configuration' - The theme configuration, which contains the theme display properties.+newCreateTheme ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'themeId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'baseThemeId'+  Prelude.Text ->+  -- | 'configuration'+  ThemeConfiguration ->+  CreateTheme+newCreateTheme+  pAwsAccountId_+  pThemeId_+  pName_+  pBaseThemeId_+  pConfiguration_ =+    CreateTheme'+      { permissions = Prelude.Nothing,+        tags = Prelude.Nothing,+        versionDescription = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        themeId = pThemeId_,+        name = pName_,+        baseThemeId = pBaseThemeId_,+        configuration = pConfiguration_+      }++-- | A valid grouping of resource permissions to apply to the new theme.+createTheme_permissions :: Lens.Lens' CreateTheme (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+createTheme_permissions = Lens.lens (\CreateTheme' {permissions} -> permissions) (\s@CreateTheme' {} a -> s {permissions = a} :: CreateTheme) Prelude.. Lens.mapping Lens.coerced++-- | A map of the key-value pairs for the resource tag or tags that you want+-- to add to the resource.+createTheme_tags :: Lens.Lens' CreateTheme (Prelude.Maybe (Prelude.NonEmpty Tag))+createTheme_tags = Lens.lens (\CreateTheme' {tags} -> tags) (\s@CreateTheme' {} a -> s {tags = a} :: CreateTheme) Prelude.. Lens.mapping Lens.coerced++-- | A description of the first version of the theme that you\'re creating.+-- Every time @UpdateTheme@ is called, a new version is created. Each+-- version of the theme has a description of the version in the+-- @VersionDescription@ field.+createTheme_versionDescription :: Lens.Lens' CreateTheme (Prelude.Maybe Prelude.Text)+createTheme_versionDescription = Lens.lens (\CreateTheme' {versionDescription} -> versionDescription) (\s@CreateTheme' {} a -> s {versionDescription = a} :: CreateTheme)++-- | The ID of the Amazon Web Services account where you want to store the+-- new theme.+createTheme_awsAccountId :: Lens.Lens' CreateTheme Prelude.Text+createTheme_awsAccountId = Lens.lens (\CreateTheme' {awsAccountId} -> awsAccountId) (\s@CreateTheme' {} a -> s {awsAccountId = a} :: CreateTheme)++-- | An ID for the theme that you want to create. The theme ID is unique per+-- Amazon Web Services Region in each Amazon Web Services account.+createTheme_themeId :: Lens.Lens' CreateTheme Prelude.Text+createTheme_themeId = Lens.lens (\CreateTheme' {themeId} -> themeId) (\s@CreateTheme' {} a -> s {themeId = a} :: CreateTheme)++-- | A display name for the theme.+createTheme_name :: Lens.Lens' CreateTheme Prelude.Text+createTheme_name = Lens.lens (\CreateTheme' {name} -> name) (\s@CreateTheme' {} a -> s {name = a} :: CreateTheme)++-- | The ID of the theme that a custom theme will inherit from. All themes+-- inherit from one of the starting themes defined by Amazon QuickSight.+-- For a list of the starting themes, use @ListThemes@ or choose __Themes__+-- from within an analysis.+createTheme_baseThemeId :: Lens.Lens' CreateTheme Prelude.Text+createTheme_baseThemeId = Lens.lens (\CreateTheme' {baseThemeId} -> baseThemeId) (\s@CreateTheme' {} a -> s {baseThemeId = a} :: CreateTheme)++-- | The theme configuration, which contains the theme display properties.+createTheme_configuration :: Lens.Lens' CreateTheme ThemeConfiguration+createTheme_configuration = Lens.lens (\CreateTheme' {configuration} -> configuration) (\s@CreateTheme' {} a -> s {configuration = a} :: CreateTheme)++instance Core.AWSRequest CreateTheme where+  type AWSResponse CreateTheme = CreateThemeResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateThemeResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreationStatus")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "ThemeId")+            Prelude.<*> (x Data..?> "VersionArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateTheme where+  hashWithSalt _salt CreateTheme' {..} =+    _salt+      `Prelude.hashWithSalt` permissions+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` versionDescription+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` themeId+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` baseThemeId+      `Prelude.hashWithSalt` configuration++instance Prelude.NFData CreateTheme where+  rnf CreateTheme' {..} =+    Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf versionDescription+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf themeId+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf baseThemeId+      `Prelude.seq` Prelude.rnf configuration++instance Data.ToHeaders CreateTheme where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateTheme where+  toJSON CreateTheme' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Permissions" Data..=) Prelude.<$> permissions,+            ("Tags" Data..=) Prelude.<$> tags,+            ("VersionDescription" Data..=)+              Prelude.<$> versionDescription,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("BaseThemeId" Data..= baseThemeId),+            Prelude.Just+              ("Configuration" Data..= configuration)+          ]+      )++instance Data.ToPath CreateTheme where+  toPath CreateTheme' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/themes/",+        Data.toBS themeId+      ]++instance Data.ToQuery CreateTheme where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateThemeResponse' smart constructor.+data CreateThemeResponse = CreateThemeResponse'+  { -- | The Amazon Resource Name (ARN) for the theme.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The theme creation status.+    creationStatus :: Prelude.Maybe ResourceStatus,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the theme.+    themeId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) for the new theme.+    versionArn :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateThemeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createThemeResponse_arn' - The Amazon Resource Name (ARN) for the theme.+--+-- 'creationStatus', 'createThemeResponse_creationStatus' - The theme creation status.+--+-- 'requestId', 'createThemeResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'themeId', 'createThemeResponse_themeId' - The ID of the theme.+--+-- 'versionArn', 'createThemeResponse_versionArn' - The Amazon Resource Name (ARN) for the new theme.+--+-- 'status', 'createThemeResponse_status' - The HTTP status of the request.+newCreateThemeResponse ::+  -- | 'status'+  Prelude.Int ->+  CreateThemeResponse+newCreateThemeResponse pStatus_ =+  CreateThemeResponse'+    { arn = Prelude.Nothing,+      creationStatus = Prelude.Nothing,+      requestId = Prelude.Nothing,+      themeId = Prelude.Nothing,+      versionArn = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) for the theme.+createThemeResponse_arn :: Lens.Lens' CreateThemeResponse (Prelude.Maybe Prelude.Text)+createThemeResponse_arn = Lens.lens (\CreateThemeResponse' {arn} -> arn) (\s@CreateThemeResponse' {} a -> s {arn = a} :: CreateThemeResponse)++-- | The theme creation status.+createThemeResponse_creationStatus :: Lens.Lens' CreateThemeResponse (Prelude.Maybe ResourceStatus)+createThemeResponse_creationStatus = Lens.lens (\CreateThemeResponse' {creationStatus} -> creationStatus) (\s@CreateThemeResponse' {} a -> s {creationStatus = a} :: CreateThemeResponse)++-- | The Amazon Web Services request ID for this operation.+createThemeResponse_requestId :: Lens.Lens' CreateThemeResponse (Prelude.Maybe Prelude.Text)+createThemeResponse_requestId = Lens.lens (\CreateThemeResponse' {requestId} -> requestId) (\s@CreateThemeResponse' {} a -> s {requestId = a} :: CreateThemeResponse)++-- | The ID of the theme.+createThemeResponse_themeId :: Lens.Lens' CreateThemeResponse (Prelude.Maybe Prelude.Text)+createThemeResponse_themeId = Lens.lens (\CreateThemeResponse' {themeId} -> themeId) (\s@CreateThemeResponse' {} a -> s {themeId = a} :: CreateThemeResponse)++-- | The Amazon Resource Name (ARN) for the new theme.+createThemeResponse_versionArn :: Lens.Lens' CreateThemeResponse (Prelude.Maybe Prelude.Text)+createThemeResponse_versionArn = Lens.lens (\CreateThemeResponse' {versionArn} -> versionArn) (\s@CreateThemeResponse' {} a -> s {versionArn = a} :: CreateThemeResponse)++-- | The HTTP status of the request.+createThemeResponse_status :: Lens.Lens' CreateThemeResponse Prelude.Int+createThemeResponse_status = Lens.lens (\CreateThemeResponse' {status} -> status) (\s@CreateThemeResponse' {} a -> s {status = a} :: CreateThemeResponse)++instance Prelude.NFData CreateThemeResponse where+  rnf CreateThemeResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationStatus+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf themeId+      `Prelude.seq` Prelude.rnf versionArn+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/CreateThemeAlias.hs view
@@ -0,0 +1,245 @@+{-# 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.QuickSight.CreateThemeAlias+-- 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 theme alias for a theme.+module Amazonka.QuickSight.CreateThemeAlias+  ( -- * Creating a Request+    CreateThemeAlias (..),+    newCreateThemeAlias,++    -- * Request Lenses+    createThemeAlias_awsAccountId,+    createThemeAlias_themeId,+    createThemeAlias_aliasName,+    createThemeAlias_themeVersionNumber,++    -- * Destructuring the Response+    CreateThemeAliasResponse (..),+    newCreateThemeAliasResponse,++    -- * Response Lenses+    createThemeAliasResponse_requestId,+    createThemeAliasResponse_themeAlias,+    createThemeAliasResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateThemeAlias' smart constructor.+data CreateThemeAlias = CreateThemeAlias'+  { -- | The ID of the Amazon Web Services account that contains the theme for+    -- the new theme alias.+    awsAccountId :: Prelude.Text,+    -- | An ID for the theme alias.+    themeId :: Prelude.Text,+    -- | The name that you want to give to the theme alias that you are creating.+    -- The alias name can\'t begin with a @$@. Alias names that start with @$@+    -- are reserved by Amazon QuickSight.+    aliasName :: Prelude.Text,+    -- | The version number of the theme.+    themeVersionNumber :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateThemeAlias' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'createThemeAlias_awsAccountId' - The ID of the Amazon Web Services account that contains the theme for+-- the new theme alias.+--+-- 'themeId', 'createThemeAlias_themeId' - An ID for the theme alias.+--+-- 'aliasName', 'createThemeAlias_aliasName' - The name that you want to give to the theme alias that you are creating.+-- The alias name can\'t begin with a @$@. Alias names that start with @$@+-- are reserved by Amazon QuickSight.+--+-- 'themeVersionNumber', 'createThemeAlias_themeVersionNumber' - The version number of the theme.+newCreateThemeAlias ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'themeId'+  Prelude.Text ->+  -- | 'aliasName'+  Prelude.Text ->+  -- | 'themeVersionNumber'+  Prelude.Natural ->+  CreateThemeAlias+newCreateThemeAlias+  pAwsAccountId_+  pThemeId_+  pAliasName_+  pThemeVersionNumber_ =+    CreateThemeAlias'+      { awsAccountId = pAwsAccountId_,+        themeId = pThemeId_,+        aliasName = pAliasName_,+        themeVersionNumber = pThemeVersionNumber_+      }++-- | The ID of the Amazon Web Services account that contains the theme for+-- the new theme alias.+createThemeAlias_awsAccountId :: Lens.Lens' CreateThemeAlias Prelude.Text+createThemeAlias_awsAccountId = Lens.lens (\CreateThemeAlias' {awsAccountId} -> awsAccountId) (\s@CreateThemeAlias' {} a -> s {awsAccountId = a} :: CreateThemeAlias)++-- | An ID for the theme alias.+createThemeAlias_themeId :: Lens.Lens' CreateThemeAlias Prelude.Text+createThemeAlias_themeId = Lens.lens (\CreateThemeAlias' {themeId} -> themeId) (\s@CreateThemeAlias' {} a -> s {themeId = a} :: CreateThemeAlias)++-- | The name that you want to give to the theme alias that you are creating.+-- The alias name can\'t begin with a @$@. Alias names that start with @$@+-- are reserved by Amazon QuickSight.+createThemeAlias_aliasName :: Lens.Lens' CreateThemeAlias Prelude.Text+createThemeAlias_aliasName = Lens.lens (\CreateThemeAlias' {aliasName} -> aliasName) (\s@CreateThemeAlias' {} a -> s {aliasName = a} :: CreateThemeAlias)++-- | The version number of the theme.+createThemeAlias_themeVersionNumber :: Lens.Lens' CreateThemeAlias Prelude.Natural+createThemeAlias_themeVersionNumber = Lens.lens (\CreateThemeAlias' {themeVersionNumber} -> themeVersionNumber) (\s@CreateThemeAlias' {} a -> s {themeVersionNumber = a} :: CreateThemeAlias)++instance Core.AWSRequest CreateThemeAlias where+  type+    AWSResponse CreateThemeAlias =+      CreateThemeAliasResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateThemeAliasResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "ThemeAlias")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateThemeAlias where+  hashWithSalt _salt CreateThemeAlias' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` themeId+      `Prelude.hashWithSalt` aliasName+      `Prelude.hashWithSalt` themeVersionNumber++instance Prelude.NFData CreateThemeAlias where+  rnf CreateThemeAlias' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf themeId+      `Prelude.seq` Prelude.rnf aliasName+      `Prelude.seq` Prelude.rnf themeVersionNumber++instance Data.ToHeaders CreateThemeAlias where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateThemeAlias where+  toJSON CreateThemeAlias' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ThemeVersionNumber" Data..= themeVersionNumber)+          ]+      )++instance Data.ToPath CreateThemeAlias where+  toPath CreateThemeAlias' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/themes/",+        Data.toBS themeId,+        "/aliases/",+        Data.toBS aliasName+      ]++instance Data.ToQuery CreateThemeAlias where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateThemeAliasResponse' smart constructor.+data CreateThemeAliasResponse = CreateThemeAliasResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | Information about the theme alias.+    themeAlias :: Prelude.Maybe ThemeAlias,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateThemeAliasResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'createThemeAliasResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'themeAlias', 'createThemeAliasResponse_themeAlias' - Information about the theme alias.+--+-- 'status', 'createThemeAliasResponse_status' - The HTTP status of the request.+newCreateThemeAliasResponse ::+  -- | 'status'+  Prelude.Int ->+  CreateThemeAliasResponse+newCreateThemeAliasResponse pStatus_ =+  CreateThemeAliasResponse'+    { requestId =+        Prelude.Nothing,+      themeAlias = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+createThemeAliasResponse_requestId :: Lens.Lens' CreateThemeAliasResponse (Prelude.Maybe Prelude.Text)+createThemeAliasResponse_requestId = Lens.lens (\CreateThemeAliasResponse' {requestId} -> requestId) (\s@CreateThemeAliasResponse' {} a -> s {requestId = a} :: CreateThemeAliasResponse)++-- | Information about the theme alias.+createThemeAliasResponse_themeAlias :: Lens.Lens' CreateThemeAliasResponse (Prelude.Maybe ThemeAlias)+createThemeAliasResponse_themeAlias = Lens.lens (\CreateThemeAliasResponse' {themeAlias} -> themeAlias) (\s@CreateThemeAliasResponse' {} a -> s {themeAlias = a} :: CreateThemeAliasResponse)++-- | The HTTP status of the request.+createThemeAliasResponse_status :: Lens.Lens' CreateThemeAliasResponse Prelude.Int+createThemeAliasResponse_status = Lens.lens (\CreateThemeAliasResponse' {status} -> status) (\s@CreateThemeAliasResponse' {} a -> s {status = a} :: CreateThemeAliasResponse)++instance Prelude.NFData CreateThemeAliasResponse where+  rnf CreateThemeAliasResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf themeAlias+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DeleteAccountCustomization.hs view
@@ -0,0 +1,194 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DeleteAccountCustomization+-- 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 all Amazon QuickSight customizations in this Amazon Web Services+-- Region for the specified Amazon Web Services account and Amazon+-- QuickSight namespace.+module Amazonka.QuickSight.DeleteAccountCustomization+  ( -- * Creating a Request+    DeleteAccountCustomization (..),+    newDeleteAccountCustomization,++    -- * Request Lenses+    deleteAccountCustomization_namespace,+    deleteAccountCustomization_awsAccountId,++    -- * Destructuring the Response+    DeleteAccountCustomizationResponse (..),+    newDeleteAccountCustomizationResponse,++    -- * Response Lenses+    deleteAccountCustomizationResponse_requestId,+    deleteAccountCustomizationResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteAccountCustomization' smart constructor.+data DeleteAccountCustomization = DeleteAccountCustomization'+  { -- | The Amazon QuickSight namespace that you\'re deleting the customizations+    -- from.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The ID for the Amazon Web Services account that you want to delete+    -- Amazon QuickSight customizations from in this Amazon Web Services+    -- Region.+    awsAccountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAccountCustomization' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'namespace', 'deleteAccountCustomization_namespace' - The Amazon QuickSight namespace that you\'re deleting the customizations+-- from.+--+-- 'awsAccountId', 'deleteAccountCustomization_awsAccountId' - The ID for the Amazon Web Services account that you want to delete+-- Amazon QuickSight customizations from in this Amazon Web Services+-- Region.+newDeleteAccountCustomization ::+  -- | 'awsAccountId'+  Prelude.Text ->+  DeleteAccountCustomization+newDeleteAccountCustomization pAwsAccountId_ =+  DeleteAccountCustomization'+    { namespace =+        Prelude.Nothing,+      awsAccountId = pAwsAccountId_+    }++-- | The Amazon QuickSight namespace that you\'re deleting the customizations+-- from.+deleteAccountCustomization_namespace :: Lens.Lens' DeleteAccountCustomization (Prelude.Maybe Prelude.Text)+deleteAccountCustomization_namespace = Lens.lens (\DeleteAccountCustomization' {namespace} -> namespace) (\s@DeleteAccountCustomization' {} a -> s {namespace = a} :: DeleteAccountCustomization)++-- | The ID for the Amazon Web Services account that you want to delete+-- Amazon QuickSight customizations from in this Amazon Web Services+-- Region.+deleteAccountCustomization_awsAccountId :: Lens.Lens' DeleteAccountCustomization Prelude.Text+deleteAccountCustomization_awsAccountId = Lens.lens (\DeleteAccountCustomization' {awsAccountId} -> awsAccountId) (\s@DeleteAccountCustomization' {} a -> s {awsAccountId = a} :: DeleteAccountCustomization)++instance Core.AWSRequest DeleteAccountCustomization where+  type+    AWSResponse DeleteAccountCustomization =+      DeleteAccountCustomizationResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteAccountCustomizationResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteAccountCustomization where+  hashWithSalt _salt DeleteAccountCustomization' {..} =+    _salt+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` awsAccountId++instance Prelude.NFData DeleteAccountCustomization where+  rnf DeleteAccountCustomization' {..} =+    Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf awsAccountId++instance Data.ToHeaders DeleteAccountCustomization where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteAccountCustomization where+  toPath DeleteAccountCustomization' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/customizations"+      ]++instance Data.ToQuery DeleteAccountCustomization where+  toQuery DeleteAccountCustomization' {..} =+    Prelude.mconcat ["namespace" Data.=: namespace]++-- | /See:/ 'newDeleteAccountCustomizationResponse' smart constructor.+data DeleteAccountCustomizationResponse = DeleteAccountCustomizationResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAccountCustomizationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'deleteAccountCustomizationResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'deleteAccountCustomizationResponse_status' - The HTTP status of the request.+newDeleteAccountCustomizationResponse ::+  -- | 'status'+  Prelude.Int ->+  DeleteAccountCustomizationResponse+newDeleteAccountCustomizationResponse pStatus_ =+  DeleteAccountCustomizationResponse'+    { requestId =+        Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+deleteAccountCustomizationResponse_requestId :: Lens.Lens' DeleteAccountCustomizationResponse (Prelude.Maybe Prelude.Text)+deleteAccountCustomizationResponse_requestId = Lens.lens (\DeleteAccountCustomizationResponse' {requestId} -> requestId) (\s@DeleteAccountCustomizationResponse' {} a -> s {requestId = a} :: DeleteAccountCustomizationResponse)++-- | The HTTP status of the request.+deleteAccountCustomizationResponse_status :: Lens.Lens' DeleteAccountCustomizationResponse Prelude.Int+deleteAccountCustomizationResponse_status = Lens.lens (\DeleteAccountCustomizationResponse' {status} -> status) (\s@DeleteAccountCustomizationResponse' {} a -> s {status = a} :: DeleteAccountCustomizationResponse)++instance+  Prelude.NFData+    DeleteAccountCustomizationResponse+  where+  rnf DeleteAccountCustomizationResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DeleteAccountSubscription.hs view
@@ -0,0 +1,175 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DeleteAccountSubscription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use the @DeleteAccountSubscription@ operation to delete an Amazon+-- QuickSight account. This operation will result in an error message if+-- you have configured your account termination protection settings to+-- @True@. To change this setting and delete your account, call the+-- @UpdateAccountSettings@ API and set the value of the+-- @TerminationProtectionEnabled@ parameter to @False@, then make another+-- call to the @DeleteAccountSubscription@ API.+module Amazonka.QuickSight.DeleteAccountSubscription+  ( -- * Creating a Request+    DeleteAccountSubscription (..),+    newDeleteAccountSubscription,++    -- * Request Lenses+    deleteAccountSubscription_awsAccountId,++    -- * Destructuring the Response+    DeleteAccountSubscriptionResponse (..),+    newDeleteAccountSubscriptionResponse,++    -- * Response Lenses+    deleteAccountSubscriptionResponse_requestId,+    deleteAccountSubscriptionResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteAccountSubscription' smart constructor.+data DeleteAccountSubscription = DeleteAccountSubscription'+  { -- | The Amazon Web Services account ID of the account that you want to+    -- delete.+    awsAccountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAccountSubscription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'deleteAccountSubscription_awsAccountId' - The Amazon Web Services account ID of the account that you want to+-- delete.+newDeleteAccountSubscription ::+  -- | 'awsAccountId'+  Prelude.Text ->+  DeleteAccountSubscription+newDeleteAccountSubscription pAwsAccountId_ =+  DeleteAccountSubscription'+    { awsAccountId =+        pAwsAccountId_+    }++-- | The Amazon Web Services account ID of the account that you want to+-- delete.+deleteAccountSubscription_awsAccountId :: Lens.Lens' DeleteAccountSubscription Prelude.Text+deleteAccountSubscription_awsAccountId = Lens.lens (\DeleteAccountSubscription' {awsAccountId} -> awsAccountId) (\s@DeleteAccountSubscription' {} a -> s {awsAccountId = a} :: DeleteAccountSubscription)++instance Core.AWSRequest DeleteAccountSubscription where+  type+    AWSResponse DeleteAccountSubscription =+      DeleteAccountSubscriptionResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteAccountSubscriptionResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteAccountSubscription where+  hashWithSalt _salt DeleteAccountSubscription' {..} =+    _salt `Prelude.hashWithSalt` awsAccountId++instance Prelude.NFData DeleteAccountSubscription where+  rnf DeleteAccountSubscription' {..} =+    Prelude.rnf awsAccountId++instance Data.ToHeaders DeleteAccountSubscription where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteAccountSubscription where+  toPath DeleteAccountSubscription' {..} =+    Prelude.mconcat+      ["/account/", Data.toBS awsAccountId]++instance Data.ToQuery DeleteAccountSubscription where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAccountSubscriptionResponse' smart constructor.+data DeleteAccountSubscriptionResponse = DeleteAccountSubscriptionResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAccountSubscriptionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'deleteAccountSubscriptionResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'deleteAccountSubscriptionResponse_status' - The HTTP status of the request.+newDeleteAccountSubscriptionResponse ::+  -- | 'status'+  Prelude.Int ->+  DeleteAccountSubscriptionResponse+newDeleteAccountSubscriptionResponse pStatus_ =+  DeleteAccountSubscriptionResponse'+    { requestId =+        Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+deleteAccountSubscriptionResponse_requestId :: Lens.Lens' DeleteAccountSubscriptionResponse (Prelude.Maybe Prelude.Text)+deleteAccountSubscriptionResponse_requestId = Lens.lens (\DeleteAccountSubscriptionResponse' {requestId} -> requestId) (\s@DeleteAccountSubscriptionResponse' {} a -> s {requestId = a} :: DeleteAccountSubscriptionResponse)++-- | The HTTP status of the request.+deleteAccountSubscriptionResponse_status :: Lens.Lens' DeleteAccountSubscriptionResponse Prelude.Int+deleteAccountSubscriptionResponse_status = Lens.lens (\DeleteAccountSubscriptionResponse' {status} -> status) (\s@DeleteAccountSubscriptionResponse' {} a -> s {status = a} :: DeleteAccountSubscriptionResponse)++instance+  Prelude.NFData+    DeleteAccountSubscriptionResponse+  where+  rnf DeleteAccountSubscriptionResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DeleteAnalysis.hs view
@@ -0,0 +1,282 @@+{-# 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.QuickSight.DeleteAnalysis+-- 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 analysis from Amazon QuickSight. You can optionally include a+-- recovery window during which you can restore the analysis. If you don\'t+-- specify a recovery window value, the operation defaults to 30 days.+-- Amazon QuickSight attaches a @DeletionTime@ stamp to the response that+-- specifies the end of the recovery window. At the end of the recovery+-- window, Amazon QuickSight deletes the analysis permanently.+--+-- At any time before recovery window ends, you can use the+-- @RestoreAnalysis@ API operation to remove the @DeletionTime@ stamp and+-- cancel the deletion of the analysis. The analysis remains visible in the+-- API until it\'s deleted, so you can describe it but you can\'t make a+-- template from it.+--+-- An analysis that\'s scheduled for deletion isn\'t accessible in the+-- Amazon QuickSight console. To access it in the console, restore it.+-- Deleting an analysis doesn\'t delete the dashboards that you publish+-- from it.+module Amazonka.QuickSight.DeleteAnalysis+  ( -- * Creating a Request+    DeleteAnalysis (..),+    newDeleteAnalysis,++    -- * Request Lenses+    deleteAnalysis_forceDeleteWithoutRecovery,+    deleteAnalysis_recoveryWindowInDays,+    deleteAnalysis_awsAccountId,+    deleteAnalysis_analysisId,++    -- * Destructuring the Response+    DeleteAnalysisResponse (..),+    newDeleteAnalysisResponse,++    -- * Response Lenses+    deleteAnalysisResponse_analysisId,+    deleteAnalysisResponse_arn,+    deleteAnalysisResponse_deletionTime,+    deleteAnalysisResponse_requestId,+    deleteAnalysisResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteAnalysis' smart constructor.+data DeleteAnalysis = DeleteAnalysis'+  { -- | This option defaults to the value @NoForceDeleteWithoutRecovery@. To+    -- immediately delete the analysis, add the @ForceDeleteWithoutRecovery@+    -- option. You can\'t restore an analysis after it\'s deleted.+    forceDeleteWithoutRecovery :: Prelude.Maybe Prelude.Bool,+    -- | A value that specifies the number of days that Amazon QuickSight waits+    -- before it deletes the analysis. You can\'t use this parameter with the+    -- @ForceDeleteWithoutRecovery@ option in the same API call. The default+    -- value is 30.+    recoveryWindowInDays :: Prelude.Maybe Prelude.Natural,+    -- | The ID of the Amazon Web Services account where you want to delete an+    -- analysis.+    awsAccountId :: Prelude.Text,+    -- | The ID of the analysis that you\'re deleting.+    analysisId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAnalysis' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'forceDeleteWithoutRecovery', 'deleteAnalysis_forceDeleteWithoutRecovery' - This option defaults to the value @NoForceDeleteWithoutRecovery@. To+-- immediately delete the analysis, add the @ForceDeleteWithoutRecovery@+-- option. You can\'t restore an analysis after it\'s deleted.+--+-- 'recoveryWindowInDays', 'deleteAnalysis_recoveryWindowInDays' - A value that specifies the number of days that Amazon QuickSight waits+-- before it deletes the analysis. You can\'t use this parameter with the+-- @ForceDeleteWithoutRecovery@ option in the same API call. The default+-- value is 30.+--+-- 'awsAccountId', 'deleteAnalysis_awsAccountId' - The ID of the Amazon Web Services account where you want to delete an+-- analysis.+--+-- 'analysisId', 'deleteAnalysis_analysisId' - The ID of the analysis that you\'re deleting.+newDeleteAnalysis ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'analysisId'+  Prelude.Text ->+  DeleteAnalysis+newDeleteAnalysis pAwsAccountId_ pAnalysisId_ =+  DeleteAnalysis'+    { forceDeleteWithoutRecovery =+        Prelude.Nothing,+      recoveryWindowInDays = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      analysisId = pAnalysisId_+    }++-- | This option defaults to the value @NoForceDeleteWithoutRecovery@. To+-- immediately delete the analysis, add the @ForceDeleteWithoutRecovery@+-- option. You can\'t restore an analysis after it\'s deleted.+deleteAnalysis_forceDeleteWithoutRecovery :: Lens.Lens' DeleteAnalysis (Prelude.Maybe Prelude.Bool)+deleteAnalysis_forceDeleteWithoutRecovery = Lens.lens (\DeleteAnalysis' {forceDeleteWithoutRecovery} -> forceDeleteWithoutRecovery) (\s@DeleteAnalysis' {} a -> s {forceDeleteWithoutRecovery = a} :: DeleteAnalysis)++-- | A value that specifies the number of days that Amazon QuickSight waits+-- before it deletes the analysis. You can\'t use this parameter with the+-- @ForceDeleteWithoutRecovery@ option in the same API call. The default+-- value is 30.+deleteAnalysis_recoveryWindowInDays :: Lens.Lens' DeleteAnalysis (Prelude.Maybe Prelude.Natural)+deleteAnalysis_recoveryWindowInDays = Lens.lens (\DeleteAnalysis' {recoveryWindowInDays} -> recoveryWindowInDays) (\s@DeleteAnalysis' {} a -> s {recoveryWindowInDays = a} :: DeleteAnalysis)++-- | The ID of the Amazon Web Services account where you want to delete an+-- analysis.+deleteAnalysis_awsAccountId :: Lens.Lens' DeleteAnalysis Prelude.Text+deleteAnalysis_awsAccountId = Lens.lens (\DeleteAnalysis' {awsAccountId} -> awsAccountId) (\s@DeleteAnalysis' {} a -> s {awsAccountId = a} :: DeleteAnalysis)++-- | The ID of the analysis that you\'re deleting.+deleteAnalysis_analysisId :: Lens.Lens' DeleteAnalysis Prelude.Text+deleteAnalysis_analysisId = Lens.lens (\DeleteAnalysis' {analysisId} -> analysisId) (\s@DeleteAnalysis' {} a -> s {analysisId = a} :: DeleteAnalysis)++instance Core.AWSRequest DeleteAnalysis where+  type+    AWSResponse DeleteAnalysis =+      DeleteAnalysisResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteAnalysisResponse'+            Prelude.<$> (x Data..?> "AnalysisId")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "DeletionTime")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteAnalysis where+  hashWithSalt _salt DeleteAnalysis' {..} =+    _salt+      `Prelude.hashWithSalt` forceDeleteWithoutRecovery+      `Prelude.hashWithSalt` recoveryWindowInDays+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` analysisId++instance Prelude.NFData DeleteAnalysis where+  rnf DeleteAnalysis' {..} =+    Prelude.rnf forceDeleteWithoutRecovery+      `Prelude.seq` Prelude.rnf recoveryWindowInDays+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf analysisId++instance Data.ToHeaders DeleteAnalysis where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteAnalysis where+  toPath DeleteAnalysis' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/analyses/",+        Data.toBS analysisId+      ]++instance Data.ToQuery DeleteAnalysis where+  toQuery DeleteAnalysis' {..} =+    Prelude.mconcat+      [ "force-delete-without-recovery"+          Data.=: forceDeleteWithoutRecovery,+        "recovery-window-in-days"+          Data.=: recoveryWindowInDays+      ]++-- | /See:/ 'newDeleteAnalysisResponse' smart constructor.+data DeleteAnalysisResponse = DeleteAnalysisResponse'+  { -- | The ID of the deleted analysis.+    analysisId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the deleted analysis.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The date and time that the analysis is scheduled to be deleted.+    deletionTime :: Prelude.Maybe Data.POSIX,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAnalysisResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analysisId', 'deleteAnalysisResponse_analysisId' - The ID of the deleted analysis.+--+-- 'arn', 'deleteAnalysisResponse_arn' - The Amazon Resource Name (ARN) of the deleted analysis.+--+-- 'deletionTime', 'deleteAnalysisResponse_deletionTime' - The date and time that the analysis is scheduled to be deleted.+--+-- 'requestId', 'deleteAnalysisResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'deleteAnalysisResponse_status' - The HTTP status of the request.+newDeleteAnalysisResponse ::+  -- | 'status'+  Prelude.Int ->+  DeleteAnalysisResponse+newDeleteAnalysisResponse pStatus_ =+  DeleteAnalysisResponse'+    { analysisId =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      deletionTime = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The ID of the deleted analysis.+deleteAnalysisResponse_analysisId :: Lens.Lens' DeleteAnalysisResponse (Prelude.Maybe Prelude.Text)+deleteAnalysisResponse_analysisId = Lens.lens (\DeleteAnalysisResponse' {analysisId} -> analysisId) (\s@DeleteAnalysisResponse' {} a -> s {analysisId = a} :: DeleteAnalysisResponse)++-- | The Amazon Resource Name (ARN) of the deleted analysis.+deleteAnalysisResponse_arn :: Lens.Lens' DeleteAnalysisResponse (Prelude.Maybe Prelude.Text)+deleteAnalysisResponse_arn = Lens.lens (\DeleteAnalysisResponse' {arn} -> arn) (\s@DeleteAnalysisResponse' {} a -> s {arn = a} :: DeleteAnalysisResponse)++-- | The date and time that the analysis is scheduled to be deleted.+deleteAnalysisResponse_deletionTime :: Lens.Lens' DeleteAnalysisResponse (Prelude.Maybe Prelude.UTCTime)+deleteAnalysisResponse_deletionTime = Lens.lens (\DeleteAnalysisResponse' {deletionTime} -> deletionTime) (\s@DeleteAnalysisResponse' {} a -> s {deletionTime = a} :: DeleteAnalysisResponse) Prelude.. Lens.mapping Data._Time++-- | The Amazon Web Services request ID for this operation.+deleteAnalysisResponse_requestId :: Lens.Lens' DeleteAnalysisResponse (Prelude.Maybe Prelude.Text)+deleteAnalysisResponse_requestId = Lens.lens (\DeleteAnalysisResponse' {requestId} -> requestId) (\s@DeleteAnalysisResponse' {} a -> s {requestId = a} :: DeleteAnalysisResponse)++-- | The HTTP status of the request.+deleteAnalysisResponse_status :: Lens.Lens' DeleteAnalysisResponse Prelude.Int+deleteAnalysisResponse_status = Lens.lens (\DeleteAnalysisResponse' {status} -> status) (\s@DeleteAnalysisResponse' {} a -> s {status = a} :: DeleteAnalysisResponse)++instance Prelude.NFData DeleteAnalysisResponse where+  rnf DeleteAnalysisResponse' {..} =+    Prelude.rnf analysisId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf deletionTime+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DeleteDashboard.hs view
@@ -0,0 +1,224 @@+{-# 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.QuickSight.DeleteDashboard+-- 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 dashboard.+module Amazonka.QuickSight.DeleteDashboard+  ( -- * Creating a Request+    DeleteDashboard (..),+    newDeleteDashboard,++    -- * Request Lenses+    deleteDashboard_versionNumber,+    deleteDashboard_awsAccountId,+    deleteDashboard_dashboardId,++    -- * Destructuring the Response+    DeleteDashboardResponse (..),+    newDeleteDashboardResponse,++    -- * Response Lenses+    deleteDashboardResponse_arn,+    deleteDashboardResponse_dashboardId,+    deleteDashboardResponse_requestId,+    deleteDashboardResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDashboard' smart constructor.+data DeleteDashboard = DeleteDashboard'+  { -- | The version number of the dashboard. If the version number property is+    -- provided, only the specified version of the dashboard is deleted.+    versionNumber :: Prelude.Maybe Prelude.Natural,+    -- | The ID of the Amazon Web Services account that contains the dashboard+    -- that you\'re deleting.+    awsAccountId :: Prelude.Text,+    -- | The ID for the dashboard.+    dashboardId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDashboard' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'versionNumber', 'deleteDashboard_versionNumber' - The version number of the dashboard. If the version number property is+-- provided, only the specified version of the dashboard is deleted.+--+-- 'awsAccountId', 'deleteDashboard_awsAccountId' - The ID of the Amazon Web Services account that contains the dashboard+-- that you\'re deleting.+--+-- 'dashboardId', 'deleteDashboard_dashboardId' - The ID for the dashboard.+newDeleteDashboard ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dashboardId'+  Prelude.Text ->+  DeleteDashboard+newDeleteDashboard pAwsAccountId_ pDashboardId_ =+  DeleteDashboard'+    { versionNumber = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      dashboardId = pDashboardId_+    }++-- | The version number of the dashboard. If the version number property is+-- provided, only the specified version of the dashboard is deleted.+deleteDashboard_versionNumber :: Lens.Lens' DeleteDashboard (Prelude.Maybe Prelude.Natural)+deleteDashboard_versionNumber = Lens.lens (\DeleteDashboard' {versionNumber} -> versionNumber) (\s@DeleteDashboard' {} a -> s {versionNumber = a} :: DeleteDashboard)++-- | The ID of the Amazon Web Services account that contains the dashboard+-- that you\'re deleting.+deleteDashboard_awsAccountId :: Lens.Lens' DeleteDashboard Prelude.Text+deleteDashboard_awsAccountId = Lens.lens (\DeleteDashboard' {awsAccountId} -> awsAccountId) (\s@DeleteDashboard' {} a -> s {awsAccountId = a} :: DeleteDashboard)++-- | The ID for the dashboard.+deleteDashboard_dashboardId :: Lens.Lens' DeleteDashboard Prelude.Text+deleteDashboard_dashboardId = Lens.lens (\DeleteDashboard' {dashboardId} -> dashboardId) (\s@DeleteDashboard' {} a -> s {dashboardId = a} :: DeleteDashboard)++instance Core.AWSRequest DeleteDashboard where+  type+    AWSResponse DeleteDashboard =+      DeleteDashboardResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteDashboardResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "DashboardId")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteDashboard where+  hashWithSalt _salt DeleteDashboard' {..} =+    _salt+      `Prelude.hashWithSalt` versionNumber+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dashboardId++instance Prelude.NFData DeleteDashboard where+  rnf DeleteDashboard' {..} =+    Prelude.rnf versionNumber+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dashboardId++instance Data.ToHeaders DeleteDashboard where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteDashboard where+  toPath DeleteDashboard' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/dashboards/",+        Data.toBS dashboardId+      ]++instance Data.ToQuery DeleteDashboard where+  toQuery DeleteDashboard' {..} =+    Prelude.mconcat+      ["version-number" Data.=: versionNumber]++-- | /See:/ 'newDeleteDashboardResponse' smart constructor.+data DeleteDashboardResponse = DeleteDashboardResponse'+  { -- | The Secure Socket Layer (SSL) properties that apply for the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the dashboard.+    dashboardId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDashboardResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'deleteDashboardResponse_arn' - The Secure Socket Layer (SSL) properties that apply for the resource.+--+-- 'dashboardId', 'deleteDashboardResponse_dashboardId' - The ID of the dashboard.+--+-- 'requestId', 'deleteDashboardResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'deleteDashboardResponse_status' - The HTTP status of the request.+newDeleteDashboardResponse ::+  -- | 'status'+  Prelude.Int ->+  DeleteDashboardResponse+newDeleteDashboardResponse pStatus_ =+  DeleteDashboardResponse'+    { arn = Prelude.Nothing,+      dashboardId = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Secure Socket Layer (SSL) properties that apply for the resource.+deleteDashboardResponse_arn :: Lens.Lens' DeleteDashboardResponse (Prelude.Maybe Prelude.Text)+deleteDashboardResponse_arn = Lens.lens (\DeleteDashboardResponse' {arn} -> arn) (\s@DeleteDashboardResponse' {} a -> s {arn = a} :: DeleteDashboardResponse)++-- | The ID of the dashboard.+deleteDashboardResponse_dashboardId :: Lens.Lens' DeleteDashboardResponse (Prelude.Maybe Prelude.Text)+deleteDashboardResponse_dashboardId = Lens.lens (\DeleteDashboardResponse' {dashboardId} -> dashboardId) (\s@DeleteDashboardResponse' {} a -> s {dashboardId = a} :: DeleteDashboardResponse)++-- | The Amazon Web Services request ID for this operation.+deleteDashboardResponse_requestId :: Lens.Lens' DeleteDashboardResponse (Prelude.Maybe Prelude.Text)+deleteDashboardResponse_requestId = Lens.lens (\DeleteDashboardResponse' {requestId} -> requestId) (\s@DeleteDashboardResponse' {} a -> s {requestId = a} :: DeleteDashboardResponse)++-- | The HTTP status of the request.+deleteDashboardResponse_status :: Lens.Lens' DeleteDashboardResponse Prelude.Int+deleteDashboardResponse_status = Lens.lens (\DeleteDashboardResponse' {status} -> status) (\s@DeleteDashboardResponse' {} a -> s {status = a} :: DeleteDashboardResponse)++instance Prelude.NFData DeleteDashboardResponse where+  rnf DeleteDashboardResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf dashboardId+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DeleteDataSet.hs view
@@ -0,0 +1,210 @@+{-# 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.QuickSight.DeleteDataSet+-- 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 dataset.+module Amazonka.QuickSight.DeleteDataSet+  ( -- * Creating a Request+    DeleteDataSet (..),+    newDeleteDataSet,++    -- * Request Lenses+    deleteDataSet_awsAccountId,+    deleteDataSet_dataSetId,++    -- * Destructuring the Response+    DeleteDataSetResponse (..),+    newDeleteDataSetResponse,++    -- * Response Lenses+    deleteDataSetResponse_arn,+    deleteDataSetResponse_dataSetId,+    deleteDataSetResponse_requestId,+    deleteDataSetResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDataSet' smart constructor.+data DeleteDataSet = DeleteDataSet'+  { -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text,+    -- | The ID for the dataset that you want to create. This ID is unique per+    -- Amazon Web Services Region for each Amazon Web Services account.+    dataSetId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDataSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'deleteDataSet_awsAccountId' - The Amazon Web Services account ID.+--+-- 'dataSetId', 'deleteDataSet_dataSetId' - The ID for the dataset that you want to create. This ID is unique per+-- Amazon Web Services Region for each Amazon Web Services account.+newDeleteDataSet ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dataSetId'+  Prelude.Text ->+  DeleteDataSet+newDeleteDataSet pAwsAccountId_ pDataSetId_ =+  DeleteDataSet'+    { awsAccountId = pAwsAccountId_,+      dataSetId = pDataSetId_+    }++-- | The Amazon Web Services account ID.+deleteDataSet_awsAccountId :: Lens.Lens' DeleteDataSet Prelude.Text+deleteDataSet_awsAccountId = Lens.lens (\DeleteDataSet' {awsAccountId} -> awsAccountId) (\s@DeleteDataSet' {} a -> s {awsAccountId = a} :: DeleteDataSet)++-- | The ID for the dataset that you want to create. This ID is unique per+-- Amazon Web Services Region for each Amazon Web Services account.+deleteDataSet_dataSetId :: Lens.Lens' DeleteDataSet Prelude.Text+deleteDataSet_dataSetId = Lens.lens (\DeleteDataSet' {dataSetId} -> dataSetId) (\s@DeleteDataSet' {} a -> s {dataSetId = a} :: DeleteDataSet)++instance Core.AWSRequest DeleteDataSet where+  type+    AWSResponse DeleteDataSet =+      DeleteDataSetResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteDataSetResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "DataSetId")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteDataSet where+  hashWithSalt _salt DeleteDataSet' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dataSetId++instance Prelude.NFData DeleteDataSet where+  rnf DeleteDataSet' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dataSetId++instance Data.ToHeaders DeleteDataSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteDataSet where+  toPath DeleteDataSet' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/data-sets/",+        Data.toBS dataSetId+      ]++instance Data.ToQuery DeleteDataSet where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDataSetResponse' smart constructor.+data DeleteDataSetResponse = DeleteDataSetResponse'+  { -- | The Amazon Resource Name (ARN) of the dataset.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID for the dataset that you want to create. This ID is unique per+    -- Amazon Web Services Region for each Amazon Web Services account.+    dataSetId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDataSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'deleteDataSetResponse_arn' - The Amazon Resource Name (ARN) of the dataset.+--+-- 'dataSetId', 'deleteDataSetResponse_dataSetId' - The ID for the dataset that you want to create. This ID is unique per+-- Amazon Web Services Region for each Amazon Web Services account.+--+-- 'requestId', 'deleteDataSetResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'deleteDataSetResponse_status' - The HTTP status of the request.+newDeleteDataSetResponse ::+  -- | 'status'+  Prelude.Int ->+  DeleteDataSetResponse+newDeleteDataSetResponse pStatus_ =+  DeleteDataSetResponse'+    { arn = Prelude.Nothing,+      dataSetId = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) of the dataset.+deleteDataSetResponse_arn :: Lens.Lens' DeleteDataSetResponse (Prelude.Maybe Prelude.Text)+deleteDataSetResponse_arn = Lens.lens (\DeleteDataSetResponse' {arn} -> arn) (\s@DeleteDataSetResponse' {} a -> s {arn = a} :: DeleteDataSetResponse)++-- | The ID for the dataset that you want to create. This ID is unique per+-- Amazon Web Services Region for each Amazon Web Services account.+deleteDataSetResponse_dataSetId :: Lens.Lens' DeleteDataSetResponse (Prelude.Maybe Prelude.Text)+deleteDataSetResponse_dataSetId = Lens.lens (\DeleteDataSetResponse' {dataSetId} -> dataSetId) (\s@DeleteDataSetResponse' {} a -> s {dataSetId = a} :: DeleteDataSetResponse)++-- | The Amazon Web Services request ID for this operation.+deleteDataSetResponse_requestId :: Lens.Lens' DeleteDataSetResponse (Prelude.Maybe Prelude.Text)+deleteDataSetResponse_requestId = Lens.lens (\DeleteDataSetResponse' {requestId} -> requestId) (\s@DeleteDataSetResponse' {} a -> s {requestId = a} :: DeleteDataSetResponse)++-- | The HTTP status of the request.+deleteDataSetResponse_status :: Lens.Lens' DeleteDataSetResponse Prelude.Int+deleteDataSetResponse_status = Lens.lens (\DeleteDataSetResponse' {status} -> status) (\s@DeleteDataSetResponse' {} a -> s {status = a} :: DeleteDataSetResponse)++instance Prelude.NFData DeleteDataSetResponse where+  rnf DeleteDataSetResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf dataSetId+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DeleteDataSource.hs view
@@ -0,0 +1,211 @@+{-# 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.QuickSight.DeleteDataSource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the data source permanently. This operation breaks all the+-- datasets that reference the deleted data source.+module Amazonka.QuickSight.DeleteDataSource+  ( -- * Creating a Request+    DeleteDataSource (..),+    newDeleteDataSource,++    -- * Request Lenses+    deleteDataSource_awsAccountId,+    deleteDataSource_dataSourceId,++    -- * Destructuring the Response+    DeleteDataSourceResponse (..),+    newDeleteDataSourceResponse,++    -- * Response Lenses+    deleteDataSourceResponse_arn,+    deleteDataSourceResponse_dataSourceId,+    deleteDataSourceResponse_requestId,+    deleteDataSourceResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDataSource' smart constructor.+data DeleteDataSource = DeleteDataSource'+  { -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text,+    -- | The ID of the data source. This ID is unique per Amazon Web Services+    -- Region for each Amazon Web Services account.+    dataSourceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDataSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'deleteDataSource_awsAccountId' - The Amazon Web Services account ID.+--+-- 'dataSourceId', 'deleteDataSource_dataSourceId' - The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+newDeleteDataSource ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dataSourceId'+  Prelude.Text ->+  DeleteDataSource+newDeleteDataSource pAwsAccountId_ pDataSourceId_ =+  DeleteDataSource'+    { awsAccountId = pAwsAccountId_,+      dataSourceId = pDataSourceId_+    }++-- | The Amazon Web Services account ID.+deleteDataSource_awsAccountId :: Lens.Lens' DeleteDataSource Prelude.Text+deleteDataSource_awsAccountId = Lens.lens (\DeleteDataSource' {awsAccountId} -> awsAccountId) (\s@DeleteDataSource' {} a -> s {awsAccountId = a} :: DeleteDataSource)++-- | The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+deleteDataSource_dataSourceId :: Lens.Lens' DeleteDataSource Prelude.Text+deleteDataSource_dataSourceId = Lens.lens (\DeleteDataSource' {dataSourceId} -> dataSourceId) (\s@DeleteDataSource' {} a -> s {dataSourceId = a} :: DeleteDataSource)++instance Core.AWSRequest DeleteDataSource where+  type+    AWSResponse DeleteDataSource =+      DeleteDataSourceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteDataSourceResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "DataSourceId")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteDataSource where+  hashWithSalt _salt DeleteDataSource' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dataSourceId++instance Prelude.NFData DeleteDataSource where+  rnf DeleteDataSource' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dataSourceId++instance Data.ToHeaders DeleteDataSource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteDataSource where+  toPath DeleteDataSource' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/data-sources/",+        Data.toBS dataSourceId+      ]++instance Data.ToQuery DeleteDataSource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDataSourceResponse' smart constructor.+data DeleteDataSourceResponse = DeleteDataSourceResponse'+  { -- | The Amazon Resource Name (ARN) of the data source that you deleted.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the data source. This ID is unique per Amazon Web Services+    -- Region for each Amazon Web Services account.+    dataSourceId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDataSourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'deleteDataSourceResponse_arn' - The Amazon Resource Name (ARN) of the data source that you deleted.+--+-- 'dataSourceId', 'deleteDataSourceResponse_dataSourceId' - The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+--+-- 'requestId', 'deleteDataSourceResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'deleteDataSourceResponse_status' - The HTTP status of the request.+newDeleteDataSourceResponse ::+  -- | 'status'+  Prelude.Int ->+  DeleteDataSourceResponse+newDeleteDataSourceResponse pStatus_ =+  DeleteDataSourceResponse'+    { arn = Prelude.Nothing,+      dataSourceId = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) of the data source that you deleted.+deleteDataSourceResponse_arn :: Lens.Lens' DeleteDataSourceResponse (Prelude.Maybe Prelude.Text)+deleteDataSourceResponse_arn = Lens.lens (\DeleteDataSourceResponse' {arn} -> arn) (\s@DeleteDataSourceResponse' {} a -> s {arn = a} :: DeleteDataSourceResponse)++-- | The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+deleteDataSourceResponse_dataSourceId :: Lens.Lens' DeleteDataSourceResponse (Prelude.Maybe Prelude.Text)+deleteDataSourceResponse_dataSourceId = Lens.lens (\DeleteDataSourceResponse' {dataSourceId} -> dataSourceId) (\s@DeleteDataSourceResponse' {} a -> s {dataSourceId = a} :: DeleteDataSourceResponse)++-- | The Amazon Web Services request ID for this operation.+deleteDataSourceResponse_requestId :: Lens.Lens' DeleteDataSourceResponse (Prelude.Maybe Prelude.Text)+deleteDataSourceResponse_requestId = Lens.lens (\DeleteDataSourceResponse' {requestId} -> requestId) (\s@DeleteDataSourceResponse' {} a -> s {requestId = a} :: DeleteDataSourceResponse)++-- | The HTTP status of the request.+deleteDataSourceResponse_status :: Lens.Lens' DeleteDataSourceResponse Prelude.Int+deleteDataSourceResponse_status = Lens.lens (\DeleteDataSourceResponse' {status} -> status) (\s@DeleteDataSourceResponse' {} a -> s {status = a} :: DeleteDataSourceResponse)++instance Prelude.NFData DeleteDataSourceResponse where+  rnf DeleteDataSourceResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf dataSourceId+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DeleteFolder.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DeleteFolder+-- 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 empty folder.+module Amazonka.QuickSight.DeleteFolder+  ( -- * Creating a Request+    DeleteFolder (..),+    newDeleteFolder,++    -- * Request Lenses+    deleteFolder_awsAccountId,+    deleteFolder_folderId,++    -- * Destructuring the Response+    DeleteFolderResponse (..),+    newDeleteFolderResponse,++    -- * Response Lenses+    deleteFolderResponse_arn,+    deleteFolderResponse_folderId,+    deleteFolderResponse_requestId,+    deleteFolderResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteFolder' smart constructor.+data DeleteFolder = DeleteFolder'+  { -- | The ID for the Amazon Web Services account that contains the folder.+    awsAccountId :: Prelude.Text,+    -- | The ID of the folder.+    folderId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFolder' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'deleteFolder_awsAccountId' - The ID for the Amazon Web Services account that contains the folder.+--+-- 'folderId', 'deleteFolder_folderId' - The ID of the folder.+newDeleteFolder ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'folderId'+  Prelude.Text ->+  DeleteFolder+newDeleteFolder pAwsAccountId_ pFolderId_ =+  DeleteFolder'+    { awsAccountId = pAwsAccountId_,+      folderId = pFolderId_+    }++-- | The ID for the Amazon Web Services account that contains the folder.+deleteFolder_awsAccountId :: Lens.Lens' DeleteFolder Prelude.Text+deleteFolder_awsAccountId = Lens.lens (\DeleteFolder' {awsAccountId} -> awsAccountId) (\s@DeleteFolder' {} a -> s {awsAccountId = a} :: DeleteFolder)++-- | The ID of the folder.+deleteFolder_folderId :: Lens.Lens' DeleteFolder Prelude.Text+deleteFolder_folderId = Lens.lens (\DeleteFolder' {folderId} -> folderId) (\s@DeleteFolder' {} a -> s {folderId = a} :: DeleteFolder)++instance Core.AWSRequest DeleteFolder where+  type AWSResponse DeleteFolder = DeleteFolderResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteFolderResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "FolderId")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteFolder where+  hashWithSalt _salt DeleteFolder' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` folderId++instance Prelude.NFData DeleteFolder where+  rnf DeleteFolder' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf folderId++instance Data.ToHeaders DeleteFolder where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteFolder where+  toPath DeleteFolder' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/folders/",+        Data.toBS folderId+      ]++instance Data.ToQuery DeleteFolder where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteFolderResponse' smart constructor.+data DeleteFolderResponse = DeleteFolderResponse'+  { -- | The Amazon Resource Name of the deleted folder.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the folder.+    folderId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFolderResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'deleteFolderResponse_arn' - The Amazon Resource Name of the deleted folder.+--+-- 'folderId', 'deleteFolderResponse_folderId' - The ID of the folder.+--+-- 'requestId', 'deleteFolderResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'deleteFolderResponse_status' - The HTTP status of the request.+newDeleteFolderResponse ::+  -- | 'status'+  Prelude.Int ->+  DeleteFolderResponse+newDeleteFolderResponse pStatus_ =+  DeleteFolderResponse'+    { arn = Prelude.Nothing,+      folderId = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name of the deleted folder.+deleteFolderResponse_arn :: Lens.Lens' DeleteFolderResponse (Prelude.Maybe Prelude.Text)+deleteFolderResponse_arn = Lens.lens (\DeleteFolderResponse' {arn} -> arn) (\s@DeleteFolderResponse' {} a -> s {arn = a} :: DeleteFolderResponse)++-- | The ID of the folder.+deleteFolderResponse_folderId :: Lens.Lens' DeleteFolderResponse (Prelude.Maybe Prelude.Text)+deleteFolderResponse_folderId = Lens.lens (\DeleteFolderResponse' {folderId} -> folderId) (\s@DeleteFolderResponse' {} a -> s {folderId = a} :: DeleteFolderResponse)++-- | The Amazon Web Services request ID for this operation.+deleteFolderResponse_requestId :: Lens.Lens' DeleteFolderResponse (Prelude.Maybe Prelude.Text)+deleteFolderResponse_requestId = Lens.lens (\DeleteFolderResponse' {requestId} -> requestId) (\s@DeleteFolderResponse' {} a -> s {requestId = a} :: DeleteFolderResponse)++-- | The HTTP status of the request.+deleteFolderResponse_status :: Lens.Lens' DeleteFolderResponse Prelude.Int+deleteFolderResponse_status = Lens.lens (\DeleteFolderResponse' {status} -> status) (\s@DeleteFolderResponse' {} a -> s {status = a} :: DeleteFolderResponse)++instance Prelude.NFData DeleteFolderResponse where+  rnf DeleteFolderResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf folderId+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DeleteFolderMembership.hs view
@@ -0,0 +1,237 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DeleteFolderMembership+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes an asset, such as a dashboard, analysis, or dataset, from a+-- folder.+module Amazonka.QuickSight.DeleteFolderMembership+  ( -- * Creating a Request+    DeleteFolderMembership (..),+    newDeleteFolderMembership,++    -- * Request Lenses+    deleteFolderMembership_awsAccountId,+    deleteFolderMembership_folderId,+    deleteFolderMembership_memberId,+    deleteFolderMembership_memberType,++    -- * Destructuring the Response+    DeleteFolderMembershipResponse (..),+    newDeleteFolderMembershipResponse,++    -- * Response Lenses+    deleteFolderMembershipResponse_requestId,+    deleteFolderMembershipResponse_status,+    deleteFolderMembershipResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteFolderMembership' smart constructor.+data DeleteFolderMembership = DeleteFolderMembership'+  { -- | The ID for the Amazon Web Services account that contains the folder.+    awsAccountId :: Prelude.Text,+    -- | The Folder ID.+    folderId :: Prelude.Text,+    -- | The ID of the asset (the dashboard, analysis, or dataset) that you want+    -- to delete.+    memberId :: Prelude.Text,+    -- | The type of the member, including @DASHBOARD@, @ANALYSIS@, and @DATASET@+    memberType :: MemberType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFolderMembership' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'deleteFolderMembership_awsAccountId' - The ID for the Amazon Web Services account that contains the folder.+--+-- 'folderId', 'deleteFolderMembership_folderId' - The Folder ID.+--+-- 'memberId', 'deleteFolderMembership_memberId' - The ID of the asset (the dashboard, analysis, or dataset) that you want+-- to delete.+--+-- 'memberType', 'deleteFolderMembership_memberType' - The type of the member, including @DASHBOARD@, @ANALYSIS@, and @DATASET@+newDeleteFolderMembership ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'folderId'+  Prelude.Text ->+  -- | 'memberId'+  Prelude.Text ->+  -- | 'memberType'+  MemberType ->+  DeleteFolderMembership+newDeleteFolderMembership+  pAwsAccountId_+  pFolderId_+  pMemberId_+  pMemberType_ =+    DeleteFolderMembership'+      { awsAccountId =+          pAwsAccountId_,+        folderId = pFolderId_,+        memberId = pMemberId_,+        memberType = pMemberType_+      }++-- | The ID for the Amazon Web Services account that contains the folder.+deleteFolderMembership_awsAccountId :: Lens.Lens' DeleteFolderMembership Prelude.Text+deleteFolderMembership_awsAccountId = Lens.lens (\DeleteFolderMembership' {awsAccountId} -> awsAccountId) (\s@DeleteFolderMembership' {} a -> s {awsAccountId = a} :: DeleteFolderMembership)++-- | The Folder ID.+deleteFolderMembership_folderId :: Lens.Lens' DeleteFolderMembership Prelude.Text+deleteFolderMembership_folderId = Lens.lens (\DeleteFolderMembership' {folderId} -> folderId) (\s@DeleteFolderMembership' {} a -> s {folderId = a} :: DeleteFolderMembership)++-- | The ID of the asset (the dashboard, analysis, or dataset) that you want+-- to delete.+deleteFolderMembership_memberId :: Lens.Lens' DeleteFolderMembership Prelude.Text+deleteFolderMembership_memberId = Lens.lens (\DeleteFolderMembership' {memberId} -> memberId) (\s@DeleteFolderMembership' {} a -> s {memberId = a} :: DeleteFolderMembership)++-- | The type of the member, including @DASHBOARD@, @ANALYSIS@, and @DATASET@+deleteFolderMembership_memberType :: Lens.Lens' DeleteFolderMembership MemberType+deleteFolderMembership_memberType = Lens.lens (\DeleteFolderMembership' {memberType} -> memberType) (\s@DeleteFolderMembership' {} a -> s {memberType = a} :: DeleteFolderMembership)++instance Core.AWSRequest DeleteFolderMembership where+  type+    AWSResponse DeleteFolderMembership =+      DeleteFolderMembershipResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteFolderMembershipResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteFolderMembership where+  hashWithSalt _salt DeleteFolderMembership' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` folderId+      `Prelude.hashWithSalt` memberId+      `Prelude.hashWithSalt` memberType++instance Prelude.NFData DeleteFolderMembership where+  rnf DeleteFolderMembership' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf folderId+      `Prelude.seq` Prelude.rnf memberId+      `Prelude.seq` Prelude.rnf memberType++instance Data.ToHeaders DeleteFolderMembership where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteFolderMembership where+  toPath DeleteFolderMembership' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/folders/",+        Data.toBS folderId,+        "/members/",+        Data.toBS memberType,+        "/",+        Data.toBS memberId+      ]++instance Data.ToQuery DeleteFolderMembership where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteFolderMembershipResponse' smart constructor.+data DeleteFolderMembershipResponse = DeleteFolderMembershipResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Maybe Prelude.Int,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFolderMembershipResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'deleteFolderMembershipResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'deleteFolderMembershipResponse_status' - The HTTP status of the request.+--+-- 'httpStatus', 'deleteFolderMembershipResponse_httpStatus' - The response's http status code.+newDeleteFolderMembershipResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteFolderMembershipResponse+newDeleteFolderMembershipResponse pHttpStatus_ =+  DeleteFolderMembershipResponse'+    { requestId =+        Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Web Services request ID for this operation.+deleteFolderMembershipResponse_requestId :: Lens.Lens' DeleteFolderMembershipResponse (Prelude.Maybe Prelude.Text)+deleteFolderMembershipResponse_requestId = Lens.lens (\DeleteFolderMembershipResponse' {requestId} -> requestId) (\s@DeleteFolderMembershipResponse' {} a -> s {requestId = a} :: DeleteFolderMembershipResponse)++-- | The HTTP status of the request.+deleteFolderMembershipResponse_status :: Lens.Lens' DeleteFolderMembershipResponse (Prelude.Maybe Prelude.Int)+deleteFolderMembershipResponse_status = Lens.lens (\DeleteFolderMembershipResponse' {status} -> status) (\s@DeleteFolderMembershipResponse' {} a -> s {status = a} :: DeleteFolderMembershipResponse)++-- | The response's http status code.+deleteFolderMembershipResponse_httpStatus :: Lens.Lens' DeleteFolderMembershipResponse Prelude.Int+deleteFolderMembershipResponse_httpStatus = Lens.lens (\DeleteFolderMembershipResponse' {httpStatus} -> httpStatus) (\s@DeleteFolderMembershipResponse' {} a -> s {httpStatus = a} :: DeleteFolderMembershipResponse)++instance+  Prelude.NFData+    DeleteFolderMembershipResponse+  where+  rnf DeleteFolderMembershipResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/QuickSight/DeleteGroup.hs view
@@ -0,0 +1,200 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DeleteGroup+-- 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 user group from Amazon QuickSight.+module Amazonka.QuickSight.DeleteGroup+  ( -- * Creating a Request+    DeleteGroup (..),+    newDeleteGroup,++    -- * Request Lenses+    deleteGroup_groupName,+    deleteGroup_awsAccountId,+    deleteGroup_namespace,++    -- * Destructuring the Response+    DeleteGroupResponse (..),+    newDeleteGroupResponse,++    -- * Response Lenses+    deleteGroupResponse_requestId,+    deleteGroupResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteGroup' smart constructor.+data DeleteGroup = DeleteGroup'+  { -- | The name of the group that you want to delete.+    groupName :: Prelude.Text,+    -- | The ID for the Amazon Web Services account that the group is in.+    -- Currently, you use the ID for the Amazon Web Services account that+    -- contains your Amazon QuickSight account.+    awsAccountId :: Prelude.Text,+    -- | The namespace of the group that you want to delete.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'groupName', 'deleteGroup_groupName' - The name of the group that you want to delete.+--+-- 'awsAccountId', 'deleteGroup_awsAccountId' - The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+--+-- 'namespace', 'deleteGroup_namespace' - The namespace of the group that you want to delete.+newDeleteGroup ::+  -- | 'groupName'+  Prelude.Text ->+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  DeleteGroup+newDeleteGroup pGroupName_ pAwsAccountId_ pNamespace_ =+  DeleteGroup'+    { groupName = pGroupName_,+      awsAccountId = pAwsAccountId_,+      namespace = pNamespace_+    }++-- | The name of the group that you want to delete.+deleteGroup_groupName :: Lens.Lens' DeleteGroup Prelude.Text+deleteGroup_groupName = Lens.lens (\DeleteGroup' {groupName} -> groupName) (\s@DeleteGroup' {} a -> s {groupName = a} :: DeleteGroup)++-- | The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+deleteGroup_awsAccountId :: Lens.Lens' DeleteGroup Prelude.Text+deleteGroup_awsAccountId = Lens.lens (\DeleteGroup' {awsAccountId} -> awsAccountId) (\s@DeleteGroup' {} a -> s {awsAccountId = a} :: DeleteGroup)++-- | The namespace of the group that you want to delete.+deleteGroup_namespace :: Lens.Lens' DeleteGroup Prelude.Text+deleteGroup_namespace = Lens.lens (\DeleteGroup' {namespace} -> namespace) (\s@DeleteGroup' {} a -> s {namespace = a} :: DeleteGroup)++instance Core.AWSRequest DeleteGroup where+  type AWSResponse DeleteGroup = DeleteGroupResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteGroupResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteGroup where+  hashWithSalt _salt DeleteGroup' {..} =+    _salt+      `Prelude.hashWithSalt` groupName+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData DeleteGroup where+  rnf DeleteGroup' {..} =+    Prelude.rnf groupName+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders DeleteGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteGroup where+  toPath DeleteGroup' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/groups/",+        Data.toBS groupName+      ]++instance Data.ToQuery DeleteGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteGroupResponse' smart constructor.+data DeleteGroupResponse = DeleteGroupResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'deleteGroupResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'deleteGroupResponse_status' - The HTTP status of the request.+newDeleteGroupResponse ::+  -- | 'status'+  Prelude.Int ->+  DeleteGroupResponse+newDeleteGroupResponse pStatus_ =+  DeleteGroupResponse'+    { requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+deleteGroupResponse_requestId :: Lens.Lens' DeleteGroupResponse (Prelude.Maybe Prelude.Text)+deleteGroupResponse_requestId = Lens.lens (\DeleteGroupResponse' {requestId} -> requestId) (\s@DeleteGroupResponse' {} a -> s {requestId = a} :: DeleteGroupResponse)++-- | The HTTP status of the request.+deleteGroupResponse_status :: Lens.Lens' DeleteGroupResponse Prelude.Int+deleteGroupResponse_status = Lens.lens (\DeleteGroupResponse' {status} -> status) (\s@DeleteGroupResponse' {} a -> s {status = a} :: DeleteGroupResponse)++instance Prelude.NFData DeleteGroupResponse where+  rnf DeleteGroupResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DeleteGroupMembership.hs view
@@ -0,0 +1,224 @@+{-# 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.QuickSight.DeleteGroupMembership+-- 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 user from a group so that the user is no longer a member of+-- the group.+module Amazonka.QuickSight.DeleteGroupMembership+  ( -- * Creating a Request+    DeleteGroupMembership (..),+    newDeleteGroupMembership,++    -- * Request Lenses+    deleteGroupMembership_memberName,+    deleteGroupMembership_groupName,+    deleteGroupMembership_awsAccountId,+    deleteGroupMembership_namespace,++    -- * Destructuring the Response+    DeleteGroupMembershipResponse (..),+    newDeleteGroupMembershipResponse,++    -- * Response Lenses+    deleteGroupMembershipResponse_requestId,+    deleteGroupMembershipResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteGroupMembership' smart constructor.+data DeleteGroupMembership = DeleteGroupMembership'+  { -- | The name of the user that you want to delete from the group membership.+    memberName :: Prelude.Text,+    -- | The name of the group that you want to delete the user from.+    groupName :: Prelude.Text,+    -- | The ID for the Amazon Web Services account that the group is in.+    -- Currently, you use the ID for the Amazon Web Services account that+    -- contains your Amazon QuickSight account.+    awsAccountId :: Prelude.Text,+    -- | The namespace of the group that you want to remove a user from.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGroupMembership' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'memberName', 'deleteGroupMembership_memberName' - The name of the user that you want to delete from the group membership.+--+-- 'groupName', 'deleteGroupMembership_groupName' - The name of the group that you want to delete the user from.+--+-- 'awsAccountId', 'deleteGroupMembership_awsAccountId' - The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+--+-- 'namespace', 'deleteGroupMembership_namespace' - The namespace of the group that you want to remove a user from.+newDeleteGroupMembership ::+  -- | 'memberName'+  Prelude.Text ->+  -- | 'groupName'+  Prelude.Text ->+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  DeleteGroupMembership+newDeleteGroupMembership+  pMemberName_+  pGroupName_+  pAwsAccountId_+  pNamespace_ =+    DeleteGroupMembership'+      { memberName = pMemberName_,+        groupName = pGroupName_,+        awsAccountId = pAwsAccountId_,+        namespace = pNamespace_+      }++-- | The name of the user that you want to delete from the group membership.+deleteGroupMembership_memberName :: Lens.Lens' DeleteGroupMembership Prelude.Text+deleteGroupMembership_memberName = Lens.lens (\DeleteGroupMembership' {memberName} -> memberName) (\s@DeleteGroupMembership' {} a -> s {memberName = a} :: DeleteGroupMembership)++-- | The name of the group that you want to delete the user from.+deleteGroupMembership_groupName :: Lens.Lens' DeleteGroupMembership Prelude.Text+deleteGroupMembership_groupName = Lens.lens (\DeleteGroupMembership' {groupName} -> groupName) (\s@DeleteGroupMembership' {} a -> s {groupName = a} :: DeleteGroupMembership)++-- | The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+deleteGroupMembership_awsAccountId :: Lens.Lens' DeleteGroupMembership Prelude.Text+deleteGroupMembership_awsAccountId = Lens.lens (\DeleteGroupMembership' {awsAccountId} -> awsAccountId) (\s@DeleteGroupMembership' {} a -> s {awsAccountId = a} :: DeleteGroupMembership)++-- | The namespace of the group that you want to remove a user from.+deleteGroupMembership_namespace :: Lens.Lens' DeleteGroupMembership Prelude.Text+deleteGroupMembership_namespace = Lens.lens (\DeleteGroupMembership' {namespace} -> namespace) (\s@DeleteGroupMembership' {} a -> s {namespace = a} :: DeleteGroupMembership)++instance Core.AWSRequest DeleteGroupMembership where+  type+    AWSResponse DeleteGroupMembership =+      DeleteGroupMembershipResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteGroupMembershipResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteGroupMembership where+  hashWithSalt _salt DeleteGroupMembership' {..} =+    _salt+      `Prelude.hashWithSalt` memberName+      `Prelude.hashWithSalt` groupName+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData DeleteGroupMembership where+  rnf DeleteGroupMembership' {..} =+    Prelude.rnf memberName+      `Prelude.seq` Prelude.rnf groupName+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders DeleteGroupMembership where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteGroupMembership where+  toPath DeleteGroupMembership' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/groups/",+        Data.toBS groupName,+        "/members/",+        Data.toBS memberName+      ]++instance Data.ToQuery DeleteGroupMembership where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteGroupMembershipResponse' smart constructor.+data DeleteGroupMembershipResponse = DeleteGroupMembershipResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGroupMembershipResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'deleteGroupMembershipResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'deleteGroupMembershipResponse_status' - The HTTP status of the request.+newDeleteGroupMembershipResponse ::+  -- | 'status'+  Prelude.Int ->+  DeleteGroupMembershipResponse+newDeleteGroupMembershipResponse pStatus_ =+  DeleteGroupMembershipResponse'+    { requestId =+        Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+deleteGroupMembershipResponse_requestId :: Lens.Lens' DeleteGroupMembershipResponse (Prelude.Maybe Prelude.Text)+deleteGroupMembershipResponse_requestId = Lens.lens (\DeleteGroupMembershipResponse' {requestId} -> requestId) (\s@DeleteGroupMembershipResponse' {} a -> s {requestId = a} :: DeleteGroupMembershipResponse)++-- | The HTTP status of the request.+deleteGroupMembershipResponse_status :: Lens.Lens' DeleteGroupMembershipResponse Prelude.Int+deleteGroupMembershipResponse_status = Lens.lens (\DeleteGroupMembershipResponse' {status} -> status) (\s@DeleteGroupMembershipResponse' {} a -> s {status = a} :: DeleteGroupMembershipResponse)++instance Prelude.NFData DeleteGroupMembershipResponse where+  rnf DeleteGroupMembershipResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DeleteIAMPolicyAssignment.hs view
@@ -0,0 +1,219 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DeleteIAMPolicyAssignment+-- 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 existing IAM policy assignment.+module Amazonka.QuickSight.DeleteIAMPolicyAssignment+  ( -- * Creating a Request+    DeleteIAMPolicyAssignment (..),+    newDeleteIAMPolicyAssignment,++    -- * Request Lenses+    deleteIAMPolicyAssignment_awsAccountId,+    deleteIAMPolicyAssignment_assignmentName,+    deleteIAMPolicyAssignment_namespace,++    -- * Destructuring the Response+    DeleteIAMPolicyAssignmentResponse (..),+    newDeleteIAMPolicyAssignmentResponse,++    -- * Response Lenses+    deleteIAMPolicyAssignmentResponse_assignmentName,+    deleteIAMPolicyAssignmentResponse_requestId,+    deleteIAMPolicyAssignmentResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteIAMPolicyAssignment' smart constructor.+data DeleteIAMPolicyAssignment = DeleteIAMPolicyAssignment'+  { -- | The Amazon Web Services account ID where you want to delete the IAM+    -- policy assignment.+    awsAccountId :: Prelude.Text,+    -- | The name of the assignment.+    assignmentName :: Prelude.Text,+    -- | The namespace that contains the assignment.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteIAMPolicyAssignment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'deleteIAMPolicyAssignment_awsAccountId' - The Amazon Web Services account ID where you want to delete the IAM+-- policy assignment.+--+-- 'assignmentName', 'deleteIAMPolicyAssignment_assignmentName' - The name of the assignment.+--+-- 'namespace', 'deleteIAMPolicyAssignment_namespace' - The namespace that contains the assignment.+newDeleteIAMPolicyAssignment ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'assignmentName'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  DeleteIAMPolicyAssignment+newDeleteIAMPolicyAssignment+  pAwsAccountId_+  pAssignmentName_+  pNamespace_ =+    DeleteIAMPolicyAssignment'+      { awsAccountId =+          pAwsAccountId_,+        assignmentName = pAssignmentName_,+        namespace = pNamespace_+      }++-- | The Amazon Web Services account ID where you want to delete the IAM+-- policy assignment.+deleteIAMPolicyAssignment_awsAccountId :: Lens.Lens' DeleteIAMPolicyAssignment Prelude.Text+deleteIAMPolicyAssignment_awsAccountId = Lens.lens (\DeleteIAMPolicyAssignment' {awsAccountId} -> awsAccountId) (\s@DeleteIAMPolicyAssignment' {} a -> s {awsAccountId = a} :: DeleteIAMPolicyAssignment)++-- | The name of the assignment.+deleteIAMPolicyAssignment_assignmentName :: Lens.Lens' DeleteIAMPolicyAssignment Prelude.Text+deleteIAMPolicyAssignment_assignmentName = Lens.lens (\DeleteIAMPolicyAssignment' {assignmentName} -> assignmentName) (\s@DeleteIAMPolicyAssignment' {} a -> s {assignmentName = a} :: DeleteIAMPolicyAssignment)++-- | The namespace that contains the assignment.+deleteIAMPolicyAssignment_namespace :: Lens.Lens' DeleteIAMPolicyAssignment Prelude.Text+deleteIAMPolicyAssignment_namespace = Lens.lens (\DeleteIAMPolicyAssignment' {namespace} -> namespace) (\s@DeleteIAMPolicyAssignment' {} a -> s {namespace = a} :: DeleteIAMPolicyAssignment)++instance Core.AWSRequest DeleteIAMPolicyAssignment where+  type+    AWSResponse DeleteIAMPolicyAssignment =+      DeleteIAMPolicyAssignmentResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteIAMPolicyAssignmentResponse'+            Prelude.<$> (x Data..?> "AssignmentName")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteIAMPolicyAssignment where+  hashWithSalt _salt DeleteIAMPolicyAssignment' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` assignmentName+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData DeleteIAMPolicyAssignment where+  rnf DeleteIAMPolicyAssignment' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf assignmentName+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders DeleteIAMPolicyAssignment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteIAMPolicyAssignment where+  toPath DeleteIAMPolicyAssignment' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespace/",+        Data.toBS namespace,+        "/iam-policy-assignments/",+        Data.toBS assignmentName+      ]++instance Data.ToQuery DeleteIAMPolicyAssignment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteIAMPolicyAssignmentResponse' smart constructor.+data DeleteIAMPolicyAssignmentResponse = DeleteIAMPolicyAssignmentResponse'+  { -- | The name of the assignment.+    assignmentName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteIAMPolicyAssignmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assignmentName', 'deleteIAMPolicyAssignmentResponse_assignmentName' - The name of the assignment.+--+-- 'requestId', 'deleteIAMPolicyAssignmentResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'deleteIAMPolicyAssignmentResponse_status' - The HTTP status of the request.+newDeleteIAMPolicyAssignmentResponse ::+  -- | 'status'+  Prelude.Int ->+  DeleteIAMPolicyAssignmentResponse+newDeleteIAMPolicyAssignmentResponse pStatus_ =+  DeleteIAMPolicyAssignmentResponse'+    { assignmentName =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The name of the assignment.+deleteIAMPolicyAssignmentResponse_assignmentName :: Lens.Lens' DeleteIAMPolicyAssignmentResponse (Prelude.Maybe Prelude.Text)+deleteIAMPolicyAssignmentResponse_assignmentName = Lens.lens (\DeleteIAMPolicyAssignmentResponse' {assignmentName} -> assignmentName) (\s@DeleteIAMPolicyAssignmentResponse' {} a -> s {assignmentName = a} :: DeleteIAMPolicyAssignmentResponse)++-- | The Amazon Web Services request ID for this operation.+deleteIAMPolicyAssignmentResponse_requestId :: Lens.Lens' DeleteIAMPolicyAssignmentResponse (Prelude.Maybe Prelude.Text)+deleteIAMPolicyAssignmentResponse_requestId = Lens.lens (\DeleteIAMPolicyAssignmentResponse' {requestId} -> requestId) (\s@DeleteIAMPolicyAssignmentResponse' {} a -> s {requestId = a} :: DeleteIAMPolicyAssignmentResponse)++-- | The HTTP status of the request.+deleteIAMPolicyAssignmentResponse_status :: Lens.Lens' DeleteIAMPolicyAssignmentResponse Prelude.Int+deleteIAMPolicyAssignmentResponse_status = Lens.lens (\DeleteIAMPolicyAssignmentResponse' {status} -> status) (\s@DeleteIAMPolicyAssignmentResponse' {} a -> s {status = a} :: DeleteIAMPolicyAssignmentResponse)++instance+  Prelude.NFData+    DeleteIAMPolicyAssignmentResponse+  where+  rnf DeleteIAMPolicyAssignmentResponse' {..} =+    Prelude.rnf assignmentName+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DeleteNamespace.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DeleteNamespace+-- 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 namespace and the users and groups that are associated with+-- the namespace. This is an asynchronous process. Assets including+-- dashboards, analyses, datasets and data sources are not deleted. To+-- delete these assets, you use the API operations for the relevant asset.+module Amazonka.QuickSight.DeleteNamespace+  ( -- * Creating a Request+    DeleteNamespace (..),+    newDeleteNamespace,++    -- * Request Lenses+    deleteNamespace_awsAccountId,+    deleteNamespace_namespace,++    -- * Destructuring the Response+    DeleteNamespaceResponse (..),+    newDeleteNamespaceResponse,++    -- * Response Lenses+    deleteNamespaceResponse_requestId,+    deleteNamespaceResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteNamespace' smart constructor.+data DeleteNamespace = DeleteNamespace'+  { -- | The ID for the Amazon Web Services account that you want to delete the+    -- Amazon QuickSight namespace from.+    awsAccountId :: Prelude.Text,+    -- | The namespace that you want to delete.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteNamespace' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'deleteNamespace_awsAccountId' - The ID for the Amazon Web Services account that you want to delete the+-- Amazon QuickSight namespace from.+--+-- 'namespace', 'deleteNamespace_namespace' - The namespace that you want to delete.+newDeleteNamespace ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  DeleteNamespace+newDeleteNamespace pAwsAccountId_ pNamespace_ =+  DeleteNamespace'+    { awsAccountId = pAwsAccountId_,+      namespace = pNamespace_+    }++-- | The ID for the Amazon Web Services account that you want to delete the+-- Amazon QuickSight namespace from.+deleteNamespace_awsAccountId :: Lens.Lens' DeleteNamespace Prelude.Text+deleteNamespace_awsAccountId = Lens.lens (\DeleteNamespace' {awsAccountId} -> awsAccountId) (\s@DeleteNamespace' {} a -> s {awsAccountId = a} :: DeleteNamespace)++-- | The namespace that you want to delete.+deleteNamespace_namespace :: Lens.Lens' DeleteNamespace Prelude.Text+deleteNamespace_namespace = Lens.lens (\DeleteNamespace' {namespace} -> namespace) (\s@DeleteNamespace' {} a -> s {namespace = a} :: DeleteNamespace)++instance Core.AWSRequest DeleteNamespace where+  type+    AWSResponse DeleteNamespace =+      DeleteNamespaceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteNamespaceResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteNamespace where+  hashWithSalt _salt DeleteNamespace' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData DeleteNamespace where+  rnf DeleteNamespace' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders DeleteNamespace where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteNamespace where+  toPath DeleteNamespace' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace+      ]++instance Data.ToQuery DeleteNamespace where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteNamespaceResponse' smart constructor.+data DeleteNamespaceResponse = DeleteNamespaceResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteNamespaceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'deleteNamespaceResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'deleteNamespaceResponse_status' - The HTTP status of the request.+newDeleteNamespaceResponse ::+  -- | 'status'+  Prelude.Int ->+  DeleteNamespaceResponse+newDeleteNamespaceResponse pStatus_ =+  DeleteNamespaceResponse'+    { requestId =+        Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+deleteNamespaceResponse_requestId :: Lens.Lens' DeleteNamespaceResponse (Prelude.Maybe Prelude.Text)+deleteNamespaceResponse_requestId = Lens.lens (\DeleteNamespaceResponse' {requestId} -> requestId) (\s@DeleteNamespaceResponse' {} a -> s {requestId = a} :: DeleteNamespaceResponse)++-- | The HTTP status of the request.+deleteNamespaceResponse_status :: Lens.Lens' DeleteNamespaceResponse Prelude.Int+deleteNamespaceResponse_status = Lens.lens (\DeleteNamespaceResponse' {status} -> status) (\s@DeleteNamespaceResponse' {} a -> s {status = a} :: DeleteNamespaceResponse)++instance Prelude.NFData DeleteNamespaceResponse where+  rnf DeleteNamespaceResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DeleteTemplate.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.QuickSight.DeleteTemplate+-- 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 template.+module Amazonka.QuickSight.DeleteTemplate+  ( -- * Creating a Request+    DeleteTemplate (..),+    newDeleteTemplate,++    -- * Request Lenses+    deleteTemplate_versionNumber,+    deleteTemplate_awsAccountId,+    deleteTemplate_templateId,++    -- * Destructuring the Response+    DeleteTemplateResponse (..),+    newDeleteTemplateResponse,++    -- * Response Lenses+    deleteTemplateResponse_arn,+    deleteTemplateResponse_requestId,+    deleteTemplateResponse_templateId,+    deleteTemplateResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteTemplate' smart constructor.+data DeleteTemplate = DeleteTemplate'+  { -- | Specifies the version of the template that you want to delete. If you+    -- don\'t provide a version number, @DeleteTemplate@ deletes all versions+    -- of the template.+    versionNumber :: Prelude.Maybe Prelude.Natural,+    -- | The ID of the Amazon Web Services account that contains the template+    -- that you\'re deleting.+    awsAccountId :: Prelude.Text,+    -- | An ID for the template you want to delete.+    templateId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'versionNumber', 'deleteTemplate_versionNumber' - Specifies the version of the template that you want to delete. If you+-- don\'t provide a version number, @DeleteTemplate@ deletes all versions+-- of the template.+--+-- 'awsAccountId', 'deleteTemplate_awsAccountId' - The ID of the Amazon Web Services account that contains the template+-- that you\'re deleting.+--+-- 'templateId', 'deleteTemplate_templateId' - An ID for the template you want to delete.+newDeleteTemplate ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'templateId'+  Prelude.Text ->+  DeleteTemplate+newDeleteTemplate pAwsAccountId_ pTemplateId_ =+  DeleteTemplate'+    { versionNumber = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      templateId = pTemplateId_+    }++-- | Specifies the version of the template that you want to delete. If you+-- don\'t provide a version number, @DeleteTemplate@ deletes all versions+-- of the template.+deleteTemplate_versionNumber :: Lens.Lens' DeleteTemplate (Prelude.Maybe Prelude.Natural)+deleteTemplate_versionNumber = Lens.lens (\DeleteTemplate' {versionNumber} -> versionNumber) (\s@DeleteTemplate' {} a -> s {versionNumber = a} :: DeleteTemplate)++-- | The ID of the Amazon Web Services account that contains the template+-- that you\'re deleting.+deleteTemplate_awsAccountId :: Lens.Lens' DeleteTemplate Prelude.Text+deleteTemplate_awsAccountId = Lens.lens (\DeleteTemplate' {awsAccountId} -> awsAccountId) (\s@DeleteTemplate' {} a -> s {awsAccountId = a} :: DeleteTemplate)++-- | An ID for the template you want to delete.+deleteTemplate_templateId :: Lens.Lens' DeleteTemplate Prelude.Text+deleteTemplate_templateId = Lens.lens (\DeleteTemplate' {templateId} -> templateId) (\s@DeleteTemplate' {} a -> s {templateId = a} :: DeleteTemplate)++instance Core.AWSRequest DeleteTemplate where+  type+    AWSResponse DeleteTemplate =+      DeleteTemplateResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteTemplateResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "TemplateId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteTemplate where+  hashWithSalt _salt DeleteTemplate' {..} =+    _salt+      `Prelude.hashWithSalt` versionNumber+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` templateId++instance Prelude.NFData DeleteTemplate where+  rnf DeleteTemplate' {..} =+    Prelude.rnf versionNumber+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf templateId++instance Data.ToHeaders DeleteTemplate where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteTemplate where+  toPath DeleteTemplate' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/templates/",+        Data.toBS templateId+      ]++instance Data.ToQuery DeleteTemplate where+  toQuery DeleteTemplate' {..} =+    Prelude.mconcat+      ["version-number" Data.=: versionNumber]++-- | /See:/ 'newDeleteTemplateResponse' smart constructor.+data DeleteTemplateResponse = DeleteTemplateResponse'+  { -- | The Amazon Resource Name (ARN) of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | An ID for the template.+    templateId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteTemplateResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'deleteTemplateResponse_arn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'requestId', 'deleteTemplateResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'templateId', 'deleteTemplateResponse_templateId' - An ID for the template.+--+-- 'status', 'deleteTemplateResponse_status' - The HTTP status of the request.+newDeleteTemplateResponse ::+  -- | 'status'+  Prelude.Int ->+  DeleteTemplateResponse+newDeleteTemplateResponse pStatus_ =+  DeleteTemplateResponse'+    { arn = Prelude.Nothing,+      requestId = Prelude.Nothing,+      templateId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) of the resource.+deleteTemplateResponse_arn :: Lens.Lens' DeleteTemplateResponse (Prelude.Maybe Prelude.Text)+deleteTemplateResponse_arn = Lens.lens (\DeleteTemplateResponse' {arn} -> arn) (\s@DeleteTemplateResponse' {} a -> s {arn = a} :: DeleteTemplateResponse)++-- | The Amazon Web Services request ID for this operation.+deleteTemplateResponse_requestId :: Lens.Lens' DeleteTemplateResponse (Prelude.Maybe Prelude.Text)+deleteTemplateResponse_requestId = Lens.lens (\DeleteTemplateResponse' {requestId} -> requestId) (\s@DeleteTemplateResponse' {} a -> s {requestId = a} :: DeleteTemplateResponse)++-- | An ID for the template.+deleteTemplateResponse_templateId :: Lens.Lens' DeleteTemplateResponse (Prelude.Maybe Prelude.Text)+deleteTemplateResponse_templateId = Lens.lens (\DeleteTemplateResponse' {templateId} -> templateId) (\s@DeleteTemplateResponse' {} a -> s {templateId = a} :: DeleteTemplateResponse)++-- | The HTTP status of the request.+deleteTemplateResponse_status :: Lens.Lens' DeleteTemplateResponse Prelude.Int+deleteTemplateResponse_status = Lens.lens (\DeleteTemplateResponse' {status} -> status) (\s@DeleteTemplateResponse' {} a -> s {status = a} :: DeleteTemplateResponse)++instance Prelude.NFData DeleteTemplateResponse where+  rnf DeleteTemplateResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DeleteTemplateAlias.hs view
@@ -0,0 +1,250 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DeleteTemplateAlias+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the item that the specified template alias points to. If you+-- provide a specific alias, you delete the version of the template that+-- the alias points to.+module Amazonka.QuickSight.DeleteTemplateAlias+  ( -- * Creating a Request+    DeleteTemplateAlias (..),+    newDeleteTemplateAlias,++    -- * Request Lenses+    deleteTemplateAlias_awsAccountId,+    deleteTemplateAlias_templateId,+    deleteTemplateAlias_aliasName,++    -- * Destructuring the Response+    DeleteTemplateAliasResponse (..),+    newDeleteTemplateAliasResponse,++    -- * Response Lenses+    deleteTemplateAliasResponse_aliasName,+    deleteTemplateAliasResponse_arn,+    deleteTemplateAliasResponse_requestId,+    deleteTemplateAliasResponse_templateId,+    deleteTemplateAliasResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteTemplateAlias' smart constructor.+data DeleteTemplateAlias = DeleteTemplateAlias'+  { -- | The ID of the Amazon Web Services account that contains the item to+    -- delete.+    awsAccountId :: Prelude.Text,+    -- | The ID for the template that the specified alias is for.+    templateId :: Prelude.Text,+    -- | The name for the template alias. To delete a specific alias, you delete+    -- the version that the alias points to. You can specify the alias name, or+    -- specify the latest version of the template by providing the keyword+    -- @$LATEST@ in the @AliasName@ parameter.+    aliasName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteTemplateAlias' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'deleteTemplateAlias_awsAccountId' - The ID of the Amazon Web Services account that contains the item to+-- delete.+--+-- 'templateId', 'deleteTemplateAlias_templateId' - The ID for the template that the specified alias is for.+--+-- 'aliasName', 'deleteTemplateAlias_aliasName' - The name for the template alias. To delete a specific alias, you delete+-- the version that the alias points to. You can specify the alias name, or+-- specify the latest version of the template by providing the keyword+-- @$LATEST@ in the @AliasName@ parameter.+newDeleteTemplateAlias ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'templateId'+  Prelude.Text ->+  -- | 'aliasName'+  Prelude.Text ->+  DeleteTemplateAlias+newDeleteTemplateAlias+  pAwsAccountId_+  pTemplateId_+  pAliasName_ =+    DeleteTemplateAlias'+      { awsAccountId = pAwsAccountId_,+        templateId = pTemplateId_,+        aliasName = pAliasName_+      }++-- | The ID of the Amazon Web Services account that contains the item to+-- delete.+deleteTemplateAlias_awsAccountId :: Lens.Lens' DeleteTemplateAlias Prelude.Text+deleteTemplateAlias_awsAccountId = Lens.lens (\DeleteTemplateAlias' {awsAccountId} -> awsAccountId) (\s@DeleteTemplateAlias' {} a -> s {awsAccountId = a} :: DeleteTemplateAlias)++-- | The ID for the template that the specified alias is for.+deleteTemplateAlias_templateId :: Lens.Lens' DeleteTemplateAlias Prelude.Text+deleteTemplateAlias_templateId = Lens.lens (\DeleteTemplateAlias' {templateId} -> templateId) (\s@DeleteTemplateAlias' {} a -> s {templateId = a} :: DeleteTemplateAlias)++-- | The name for the template alias. To delete a specific alias, you delete+-- the version that the alias points to. You can specify the alias name, or+-- specify the latest version of the template by providing the keyword+-- @$LATEST@ in the @AliasName@ parameter.+deleteTemplateAlias_aliasName :: Lens.Lens' DeleteTemplateAlias Prelude.Text+deleteTemplateAlias_aliasName = Lens.lens (\DeleteTemplateAlias' {aliasName} -> aliasName) (\s@DeleteTemplateAlias' {} a -> s {aliasName = a} :: DeleteTemplateAlias)++instance Core.AWSRequest DeleteTemplateAlias where+  type+    AWSResponse DeleteTemplateAlias =+      DeleteTemplateAliasResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteTemplateAliasResponse'+            Prelude.<$> (x Data..?> "AliasName")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "TemplateId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteTemplateAlias where+  hashWithSalt _salt DeleteTemplateAlias' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` templateId+      `Prelude.hashWithSalt` aliasName++instance Prelude.NFData DeleteTemplateAlias where+  rnf DeleteTemplateAlias' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf aliasName++instance Data.ToHeaders DeleteTemplateAlias where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteTemplateAlias where+  toPath DeleteTemplateAlias' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/templates/",+        Data.toBS templateId,+        "/aliases/",+        Data.toBS aliasName+      ]++instance Data.ToQuery DeleteTemplateAlias where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteTemplateAliasResponse' smart constructor.+data DeleteTemplateAliasResponse = DeleteTemplateAliasResponse'+  { -- | The name for the template alias.+    aliasName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the template you want to delete.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | An ID for the template associated with the deletion.+    templateId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteTemplateAliasResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aliasName', 'deleteTemplateAliasResponse_aliasName' - The name for the template alias.+--+-- 'arn', 'deleteTemplateAliasResponse_arn' - The Amazon Resource Name (ARN) of the template you want to delete.+--+-- 'requestId', 'deleteTemplateAliasResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'templateId', 'deleteTemplateAliasResponse_templateId' - An ID for the template associated with the deletion.+--+-- 'status', 'deleteTemplateAliasResponse_status' - The HTTP status of the request.+newDeleteTemplateAliasResponse ::+  -- | 'status'+  Prelude.Int ->+  DeleteTemplateAliasResponse+newDeleteTemplateAliasResponse pStatus_ =+  DeleteTemplateAliasResponse'+    { aliasName =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      requestId = Prelude.Nothing,+      templateId = Prelude.Nothing,+      status = pStatus_+    }++-- | The name for the template alias.+deleteTemplateAliasResponse_aliasName :: Lens.Lens' DeleteTemplateAliasResponse (Prelude.Maybe Prelude.Text)+deleteTemplateAliasResponse_aliasName = Lens.lens (\DeleteTemplateAliasResponse' {aliasName} -> aliasName) (\s@DeleteTemplateAliasResponse' {} a -> s {aliasName = a} :: DeleteTemplateAliasResponse)++-- | The Amazon Resource Name (ARN) of the template you want to delete.+deleteTemplateAliasResponse_arn :: Lens.Lens' DeleteTemplateAliasResponse (Prelude.Maybe Prelude.Text)+deleteTemplateAliasResponse_arn = Lens.lens (\DeleteTemplateAliasResponse' {arn} -> arn) (\s@DeleteTemplateAliasResponse' {} a -> s {arn = a} :: DeleteTemplateAliasResponse)++-- | The Amazon Web Services request ID for this operation.+deleteTemplateAliasResponse_requestId :: Lens.Lens' DeleteTemplateAliasResponse (Prelude.Maybe Prelude.Text)+deleteTemplateAliasResponse_requestId = Lens.lens (\DeleteTemplateAliasResponse' {requestId} -> requestId) (\s@DeleteTemplateAliasResponse' {} a -> s {requestId = a} :: DeleteTemplateAliasResponse)++-- | An ID for the template associated with the deletion.+deleteTemplateAliasResponse_templateId :: Lens.Lens' DeleteTemplateAliasResponse (Prelude.Maybe Prelude.Text)+deleteTemplateAliasResponse_templateId = Lens.lens (\DeleteTemplateAliasResponse' {templateId} -> templateId) (\s@DeleteTemplateAliasResponse' {} a -> s {templateId = a} :: DeleteTemplateAliasResponse)++-- | The HTTP status of the request.+deleteTemplateAliasResponse_status :: Lens.Lens' DeleteTemplateAliasResponse Prelude.Int+deleteTemplateAliasResponse_status = Lens.lens (\DeleteTemplateAliasResponse' {status} -> status) (\s@DeleteTemplateAliasResponse' {} a -> s {status = a} :: DeleteTemplateAliasResponse)++instance Prelude.NFData DeleteTemplateAliasResponse where+  rnf DeleteTemplateAliasResponse' {..} =+    Prelude.rnf aliasName+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DeleteTheme.hs view
@@ -0,0 +1,228 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DeleteTheme+-- 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 theme.+module Amazonka.QuickSight.DeleteTheme+  ( -- * Creating a Request+    DeleteTheme (..),+    newDeleteTheme,++    -- * Request Lenses+    deleteTheme_versionNumber,+    deleteTheme_awsAccountId,+    deleteTheme_themeId,++    -- * Destructuring the Response+    DeleteThemeResponse (..),+    newDeleteThemeResponse,++    -- * Response Lenses+    deleteThemeResponse_arn,+    deleteThemeResponse_requestId,+    deleteThemeResponse_themeId,+    deleteThemeResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteTheme' smart constructor.+data DeleteTheme = DeleteTheme'+  { -- | The version of the theme that you want to delete.+    --+    -- __Note:__ If you don\'t provide a version number, you\'re using this+    -- call to @DeleteTheme@ to delete all versions of the theme.+    versionNumber :: Prelude.Maybe Prelude.Natural,+    -- | The ID of the Amazon Web Services account that contains the theme that+    -- you\'re deleting.+    awsAccountId :: Prelude.Text,+    -- | An ID for the theme that you want to delete.+    themeId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteTheme' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'versionNumber', 'deleteTheme_versionNumber' - The version of the theme that you want to delete.+--+-- __Note:__ If you don\'t provide a version number, you\'re using this+-- call to @DeleteTheme@ to delete all versions of the theme.+--+-- 'awsAccountId', 'deleteTheme_awsAccountId' - The ID of the Amazon Web Services account that contains the theme that+-- you\'re deleting.+--+-- 'themeId', 'deleteTheme_themeId' - An ID for the theme that you want to delete.+newDeleteTheme ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'themeId'+  Prelude.Text ->+  DeleteTheme+newDeleteTheme pAwsAccountId_ pThemeId_ =+  DeleteTheme'+    { versionNumber = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      themeId = pThemeId_+    }++-- | The version of the theme that you want to delete.+--+-- __Note:__ If you don\'t provide a version number, you\'re using this+-- call to @DeleteTheme@ to delete all versions of the theme.+deleteTheme_versionNumber :: Lens.Lens' DeleteTheme (Prelude.Maybe Prelude.Natural)+deleteTheme_versionNumber = Lens.lens (\DeleteTheme' {versionNumber} -> versionNumber) (\s@DeleteTheme' {} a -> s {versionNumber = a} :: DeleteTheme)++-- | The ID of the Amazon Web Services account that contains the theme that+-- you\'re deleting.+deleteTheme_awsAccountId :: Lens.Lens' DeleteTheme Prelude.Text+deleteTheme_awsAccountId = Lens.lens (\DeleteTheme' {awsAccountId} -> awsAccountId) (\s@DeleteTheme' {} a -> s {awsAccountId = a} :: DeleteTheme)++-- | An ID for the theme that you want to delete.+deleteTheme_themeId :: Lens.Lens' DeleteTheme Prelude.Text+deleteTheme_themeId = Lens.lens (\DeleteTheme' {themeId} -> themeId) (\s@DeleteTheme' {} a -> s {themeId = a} :: DeleteTheme)++instance Core.AWSRequest DeleteTheme where+  type AWSResponse DeleteTheme = DeleteThemeResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteThemeResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "ThemeId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteTheme where+  hashWithSalt _salt DeleteTheme' {..} =+    _salt+      `Prelude.hashWithSalt` versionNumber+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` themeId++instance Prelude.NFData DeleteTheme where+  rnf DeleteTheme' {..} =+    Prelude.rnf versionNumber+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf themeId++instance Data.ToHeaders DeleteTheme where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteTheme where+  toPath DeleteTheme' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/themes/",+        Data.toBS themeId+      ]++instance Data.ToQuery DeleteTheme where+  toQuery DeleteTheme' {..} =+    Prelude.mconcat+      ["version-number" Data.=: versionNumber]++-- | /See:/ 'newDeleteThemeResponse' smart constructor.+data DeleteThemeResponse = DeleteThemeResponse'+  { -- | The Amazon Resource Name (ARN) of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | An ID for the theme.+    themeId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteThemeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'deleteThemeResponse_arn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'requestId', 'deleteThemeResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'themeId', 'deleteThemeResponse_themeId' - An ID for the theme.+--+-- 'status', 'deleteThemeResponse_status' - The HTTP status of the request.+newDeleteThemeResponse ::+  -- | 'status'+  Prelude.Int ->+  DeleteThemeResponse+newDeleteThemeResponse pStatus_ =+  DeleteThemeResponse'+    { arn = Prelude.Nothing,+      requestId = Prelude.Nothing,+      themeId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) of the resource.+deleteThemeResponse_arn :: Lens.Lens' DeleteThemeResponse (Prelude.Maybe Prelude.Text)+deleteThemeResponse_arn = Lens.lens (\DeleteThemeResponse' {arn} -> arn) (\s@DeleteThemeResponse' {} a -> s {arn = a} :: DeleteThemeResponse)++-- | The Amazon Web Services request ID for this operation.+deleteThemeResponse_requestId :: Lens.Lens' DeleteThemeResponse (Prelude.Maybe Prelude.Text)+deleteThemeResponse_requestId = Lens.lens (\DeleteThemeResponse' {requestId} -> requestId) (\s@DeleteThemeResponse' {} a -> s {requestId = a} :: DeleteThemeResponse)++-- | An ID for the theme.+deleteThemeResponse_themeId :: Lens.Lens' DeleteThemeResponse (Prelude.Maybe Prelude.Text)+deleteThemeResponse_themeId = Lens.lens (\DeleteThemeResponse' {themeId} -> themeId) (\s@DeleteThemeResponse' {} a -> s {themeId = a} :: DeleteThemeResponse)++-- | The HTTP status of the request.+deleteThemeResponse_status :: Lens.Lens' DeleteThemeResponse Prelude.Int+deleteThemeResponse_status = Lens.lens (\DeleteThemeResponse' {status} -> status) (\s@DeleteThemeResponse' {} a -> s {status = a} :: DeleteThemeResponse)++instance Prelude.NFData DeleteThemeResponse where+  rnf DeleteThemeResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf themeId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DeleteThemeAlias.hs view
@@ -0,0 +1,244 @@+{-# 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.QuickSight.DeleteThemeAlias+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the version of the theme that the specified theme alias points+-- to. If you provide a specific alias, you delete the version of the theme+-- that the alias points to.+module Amazonka.QuickSight.DeleteThemeAlias+  ( -- * Creating a Request+    DeleteThemeAlias (..),+    newDeleteThemeAlias,++    -- * Request Lenses+    deleteThemeAlias_awsAccountId,+    deleteThemeAlias_themeId,+    deleteThemeAlias_aliasName,++    -- * Destructuring the Response+    DeleteThemeAliasResponse (..),+    newDeleteThemeAliasResponse,++    -- * Response Lenses+    deleteThemeAliasResponse_aliasName,+    deleteThemeAliasResponse_arn,+    deleteThemeAliasResponse_requestId,+    deleteThemeAliasResponse_themeId,+    deleteThemeAliasResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteThemeAlias' smart constructor.+data DeleteThemeAlias = DeleteThemeAlias'+  { -- | The ID of the Amazon Web Services account that contains the theme alias+    -- to delete.+    awsAccountId :: Prelude.Text,+    -- | The ID for the theme that the specified alias is for.+    themeId :: Prelude.Text,+    -- | The unique name for the theme alias to delete.+    aliasName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteThemeAlias' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'deleteThemeAlias_awsAccountId' - The ID of the Amazon Web Services account that contains the theme alias+-- to delete.+--+-- 'themeId', 'deleteThemeAlias_themeId' - The ID for the theme that the specified alias is for.+--+-- 'aliasName', 'deleteThemeAlias_aliasName' - The unique name for the theme alias to delete.+newDeleteThemeAlias ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'themeId'+  Prelude.Text ->+  -- | 'aliasName'+  Prelude.Text ->+  DeleteThemeAlias+newDeleteThemeAlias+  pAwsAccountId_+  pThemeId_+  pAliasName_ =+    DeleteThemeAlias'+      { awsAccountId = pAwsAccountId_,+        themeId = pThemeId_,+        aliasName = pAliasName_+      }++-- | The ID of the Amazon Web Services account that contains the theme alias+-- to delete.+deleteThemeAlias_awsAccountId :: Lens.Lens' DeleteThemeAlias Prelude.Text+deleteThemeAlias_awsAccountId = Lens.lens (\DeleteThemeAlias' {awsAccountId} -> awsAccountId) (\s@DeleteThemeAlias' {} a -> s {awsAccountId = a} :: DeleteThemeAlias)++-- | The ID for the theme that the specified alias is for.+deleteThemeAlias_themeId :: Lens.Lens' DeleteThemeAlias Prelude.Text+deleteThemeAlias_themeId = Lens.lens (\DeleteThemeAlias' {themeId} -> themeId) (\s@DeleteThemeAlias' {} a -> s {themeId = a} :: DeleteThemeAlias)++-- | The unique name for the theme alias to delete.+deleteThemeAlias_aliasName :: Lens.Lens' DeleteThemeAlias Prelude.Text+deleteThemeAlias_aliasName = Lens.lens (\DeleteThemeAlias' {aliasName} -> aliasName) (\s@DeleteThemeAlias' {} a -> s {aliasName = a} :: DeleteThemeAlias)++instance Core.AWSRequest DeleteThemeAlias where+  type+    AWSResponse DeleteThemeAlias =+      DeleteThemeAliasResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteThemeAliasResponse'+            Prelude.<$> (x Data..?> "AliasName")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "ThemeId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteThemeAlias where+  hashWithSalt _salt DeleteThemeAlias' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` themeId+      `Prelude.hashWithSalt` aliasName++instance Prelude.NFData DeleteThemeAlias where+  rnf DeleteThemeAlias' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf themeId+      `Prelude.seq` Prelude.rnf aliasName++instance Data.ToHeaders DeleteThemeAlias where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteThemeAlias where+  toPath DeleteThemeAlias' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/themes/",+        Data.toBS themeId,+        "/aliases/",+        Data.toBS aliasName+      ]++instance Data.ToQuery DeleteThemeAlias where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteThemeAliasResponse' smart constructor.+data DeleteThemeAliasResponse = DeleteThemeAliasResponse'+  { -- | The name for the theme alias.+    aliasName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the theme resource using the deleted+    -- alias.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | An ID for the theme associated with the deletion.+    themeId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteThemeAliasResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aliasName', 'deleteThemeAliasResponse_aliasName' - The name for the theme alias.+--+-- 'arn', 'deleteThemeAliasResponse_arn' - The Amazon Resource Name (ARN) of the theme resource using the deleted+-- alias.+--+-- 'requestId', 'deleteThemeAliasResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'themeId', 'deleteThemeAliasResponse_themeId' - An ID for the theme associated with the deletion.+--+-- 'status', 'deleteThemeAliasResponse_status' - The HTTP status of the request.+newDeleteThemeAliasResponse ::+  -- | 'status'+  Prelude.Int ->+  DeleteThemeAliasResponse+newDeleteThemeAliasResponse pStatus_ =+  DeleteThemeAliasResponse'+    { aliasName =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      requestId = Prelude.Nothing,+      themeId = Prelude.Nothing,+      status = pStatus_+    }++-- | The name for the theme alias.+deleteThemeAliasResponse_aliasName :: Lens.Lens' DeleteThemeAliasResponse (Prelude.Maybe Prelude.Text)+deleteThemeAliasResponse_aliasName = Lens.lens (\DeleteThemeAliasResponse' {aliasName} -> aliasName) (\s@DeleteThemeAliasResponse' {} a -> s {aliasName = a} :: DeleteThemeAliasResponse)++-- | The Amazon Resource Name (ARN) of the theme resource using the deleted+-- alias.+deleteThemeAliasResponse_arn :: Lens.Lens' DeleteThemeAliasResponse (Prelude.Maybe Prelude.Text)+deleteThemeAliasResponse_arn = Lens.lens (\DeleteThemeAliasResponse' {arn} -> arn) (\s@DeleteThemeAliasResponse' {} a -> s {arn = a} :: DeleteThemeAliasResponse)++-- | The Amazon Web Services request ID for this operation.+deleteThemeAliasResponse_requestId :: Lens.Lens' DeleteThemeAliasResponse (Prelude.Maybe Prelude.Text)+deleteThemeAliasResponse_requestId = Lens.lens (\DeleteThemeAliasResponse' {requestId} -> requestId) (\s@DeleteThemeAliasResponse' {} a -> s {requestId = a} :: DeleteThemeAliasResponse)++-- | An ID for the theme associated with the deletion.+deleteThemeAliasResponse_themeId :: Lens.Lens' DeleteThemeAliasResponse (Prelude.Maybe Prelude.Text)+deleteThemeAliasResponse_themeId = Lens.lens (\DeleteThemeAliasResponse' {themeId} -> themeId) (\s@DeleteThemeAliasResponse' {} a -> s {themeId = a} :: DeleteThemeAliasResponse)++-- | The HTTP status of the request.+deleteThemeAliasResponse_status :: Lens.Lens' DeleteThemeAliasResponse Prelude.Int+deleteThemeAliasResponse_status = Lens.lens (\DeleteThemeAliasResponse' {status} -> status) (\s@DeleteThemeAliasResponse' {} a -> s {status = a} :: DeleteThemeAliasResponse)++instance Prelude.NFData DeleteThemeAliasResponse where+  rnf DeleteThemeAliasResponse' {..} =+    Prelude.rnf aliasName+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf themeId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DeleteUser.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DeleteUser+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the Amazon QuickSight user that is associated with the identity+-- of the Identity and Access Management (IAM) user or role that\'s making+-- the call. The IAM user isn\'t deleted as a result of this call.+module Amazonka.QuickSight.DeleteUser+  ( -- * Creating a Request+    DeleteUser (..),+    newDeleteUser,++    -- * Request Lenses+    deleteUser_userName,+    deleteUser_awsAccountId,+    deleteUser_namespace,++    -- * Destructuring the Response+    DeleteUserResponse (..),+    newDeleteUserResponse,++    -- * Response Lenses+    deleteUserResponse_requestId,+    deleteUserResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteUser' smart constructor.+data DeleteUser = DeleteUser'+  { -- | The name of the user that you want to delete.+    userName :: Prelude.Text,+    -- | The ID for the Amazon Web Services account that the user is in.+    -- Currently, you use the ID for the Amazon Web Services account that+    -- contains your Amazon QuickSight account.+    awsAccountId :: Prelude.Text,+    -- | The namespace. Currently, you should set this to @default@.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'userName', 'deleteUser_userName' - The name of the user that you want to delete.+--+-- 'awsAccountId', 'deleteUser_awsAccountId' - The ID for the Amazon Web Services account that the user is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+--+-- 'namespace', 'deleteUser_namespace' - The namespace. Currently, you should set this to @default@.+newDeleteUser ::+  -- | 'userName'+  Prelude.Text ->+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  DeleteUser+newDeleteUser pUserName_ pAwsAccountId_ pNamespace_ =+  DeleteUser'+    { userName = pUserName_,+      awsAccountId = pAwsAccountId_,+      namespace = pNamespace_+    }++-- | The name of the user that you want to delete.+deleteUser_userName :: Lens.Lens' DeleteUser Prelude.Text+deleteUser_userName = Lens.lens (\DeleteUser' {userName} -> userName) (\s@DeleteUser' {} a -> s {userName = a} :: DeleteUser)++-- | The ID for the Amazon Web Services account that the user is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+deleteUser_awsAccountId :: Lens.Lens' DeleteUser Prelude.Text+deleteUser_awsAccountId = Lens.lens (\DeleteUser' {awsAccountId} -> awsAccountId) (\s@DeleteUser' {} a -> s {awsAccountId = a} :: DeleteUser)++-- | The namespace. Currently, you should set this to @default@.+deleteUser_namespace :: Lens.Lens' DeleteUser Prelude.Text+deleteUser_namespace = Lens.lens (\DeleteUser' {namespace} -> namespace) (\s@DeleteUser' {} a -> s {namespace = a} :: DeleteUser)++instance Core.AWSRequest DeleteUser where+  type AWSResponse DeleteUser = DeleteUserResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteUserResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteUser where+  hashWithSalt _salt DeleteUser' {..} =+    _salt+      `Prelude.hashWithSalt` userName+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData DeleteUser where+  rnf DeleteUser' {..} =+    Prelude.rnf userName+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders DeleteUser where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteUser where+  toPath DeleteUser' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/users/",+        Data.toBS userName+      ]++instance Data.ToQuery DeleteUser where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteUserResponse' smart constructor.+data DeleteUserResponse = DeleteUserResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'deleteUserResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'deleteUserResponse_status' - The HTTP status of the request.+newDeleteUserResponse ::+  -- | 'status'+  Prelude.Int ->+  DeleteUserResponse+newDeleteUserResponse pStatus_ =+  DeleteUserResponse'+    { requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+deleteUserResponse_requestId :: Lens.Lens' DeleteUserResponse (Prelude.Maybe Prelude.Text)+deleteUserResponse_requestId = Lens.lens (\DeleteUserResponse' {requestId} -> requestId) (\s@DeleteUserResponse' {} a -> s {requestId = a} :: DeleteUserResponse)++-- | The HTTP status of the request.+deleteUserResponse_status :: Lens.Lens' DeleteUserResponse Prelude.Int+deleteUserResponse_status = Lens.lens (\DeleteUserResponse' {status} -> status) (\s@DeleteUserResponse' {} a -> s {status = a} :: DeleteUserResponse)++instance Prelude.NFData DeleteUserResponse where+  rnf DeleteUserResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DeleteUserByPrincipalId.hs view
@@ -0,0 +1,212 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DeleteUserByPrincipalId+-- 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 user identified by its principal ID.+module Amazonka.QuickSight.DeleteUserByPrincipalId+  ( -- * Creating a Request+    DeleteUserByPrincipalId (..),+    newDeleteUserByPrincipalId,++    -- * Request Lenses+    deleteUserByPrincipalId_principalId,+    deleteUserByPrincipalId_awsAccountId,+    deleteUserByPrincipalId_namespace,++    -- * Destructuring the Response+    DeleteUserByPrincipalIdResponse (..),+    newDeleteUserByPrincipalIdResponse,++    -- * Response Lenses+    deleteUserByPrincipalIdResponse_requestId,+    deleteUserByPrincipalIdResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- |+--+-- /See:/ 'newDeleteUserByPrincipalId' smart constructor.+data DeleteUserByPrincipalId = DeleteUserByPrincipalId'+  { -- | The principal ID of the user.+    principalId :: Prelude.Text,+    -- | The ID for the Amazon Web Services account that the user is in.+    -- Currently, you use the ID for the Amazon Web Services account that+    -- contains your Amazon QuickSight account.+    awsAccountId :: Prelude.Text,+    -- | The namespace. Currently, you should set this to @default@.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteUserByPrincipalId' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'principalId', 'deleteUserByPrincipalId_principalId' - The principal ID of the user.+--+-- 'awsAccountId', 'deleteUserByPrincipalId_awsAccountId' - The ID for the Amazon Web Services account that the user is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+--+-- 'namespace', 'deleteUserByPrincipalId_namespace' - The namespace. Currently, you should set this to @default@.+newDeleteUserByPrincipalId ::+  -- | 'principalId'+  Prelude.Text ->+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  DeleteUserByPrincipalId+newDeleteUserByPrincipalId+  pPrincipalId_+  pAwsAccountId_+  pNamespace_ =+    DeleteUserByPrincipalId'+      { principalId =+          pPrincipalId_,+        awsAccountId = pAwsAccountId_,+        namespace = pNamespace_+      }++-- | The principal ID of the user.+deleteUserByPrincipalId_principalId :: Lens.Lens' DeleteUserByPrincipalId Prelude.Text+deleteUserByPrincipalId_principalId = Lens.lens (\DeleteUserByPrincipalId' {principalId} -> principalId) (\s@DeleteUserByPrincipalId' {} a -> s {principalId = a} :: DeleteUserByPrincipalId)++-- | The ID for the Amazon Web Services account that the user is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+deleteUserByPrincipalId_awsAccountId :: Lens.Lens' DeleteUserByPrincipalId Prelude.Text+deleteUserByPrincipalId_awsAccountId = Lens.lens (\DeleteUserByPrincipalId' {awsAccountId} -> awsAccountId) (\s@DeleteUserByPrincipalId' {} a -> s {awsAccountId = a} :: DeleteUserByPrincipalId)++-- | The namespace. Currently, you should set this to @default@.+deleteUserByPrincipalId_namespace :: Lens.Lens' DeleteUserByPrincipalId Prelude.Text+deleteUserByPrincipalId_namespace = Lens.lens (\DeleteUserByPrincipalId' {namespace} -> namespace) (\s@DeleteUserByPrincipalId' {} a -> s {namespace = a} :: DeleteUserByPrincipalId)++instance Core.AWSRequest DeleteUserByPrincipalId where+  type+    AWSResponse DeleteUserByPrincipalId =+      DeleteUserByPrincipalIdResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteUserByPrincipalIdResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteUserByPrincipalId where+  hashWithSalt _salt DeleteUserByPrincipalId' {..} =+    _salt+      `Prelude.hashWithSalt` principalId+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData DeleteUserByPrincipalId where+  rnf DeleteUserByPrincipalId' {..} =+    Prelude.rnf principalId+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders DeleteUserByPrincipalId where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteUserByPrincipalId where+  toPath DeleteUserByPrincipalId' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/user-principals/",+        Data.toBS principalId+      ]++instance Data.ToQuery DeleteUserByPrincipalId where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteUserByPrincipalIdResponse' smart constructor.+data DeleteUserByPrincipalIdResponse = DeleteUserByPrincipalIdResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteUserByPrincipalIdResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'deleteUserByPrincipalIdResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'deleteUserByPrincipalIdResponse_status' - The HTTP status of the request.+newDeleteUserByPrincipalIdResponse ::+  -- | 'status'+  Prelude.Int ->+  DeleteUserByPrincipalIdResponse+newDeleteUserByPrincipalIdResponse pStatus_ =+  DeleteUserByPrincipalIdResponse'+    { requestId =+        Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+deleteUserByPrincipalIdResponse_requestId :: Lens.Lens' DeleteUserByPrincipalIdResponse (Prelude.Maybe Prelude.Text)+deleteUserByPrincipalIdResponse_requestId = Lens.lens (\DeleteUserByPrincipalIdResponse' {requestId} -> requestId) (\s@DeleteUserByPrincipalIdResponse' {} a -> s {requestId = a} :: DeleteUserByPrincipalIdResponse)++-- | The HTTP status of the request.+deleteUserByPrincipalIdResponse_status :: Lens.Lens' DeleteUserByPrincipalIdResponse Prelude.Int+deleteUserByPrincipalIdResponse_status = Lens.lens (\DeleteUserByPrincipalIdResponse' {status} -> status) (\s@DeleteUserByPrincipalIdResponse' {} a -> s {status = a} :: DeleteUserByPrincipalIdResponse)++instance+  Prelude.NFData+    DeleteUserByPrincipalIdResponse+  where+  rnf DeleteUserByPrincipalIdResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeAccountCustomization.hs view
@@ -0,0 +1,331 @@+{-# 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.QuickSight.DescribeAccountCustomization+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the customizations associated with the provided Amazon Web+-- Services account and Amazon Amazon QuickSight namespace in an Amazon Web+-- Services Region. The Amazon QuickSight console evaluates which+-- customizations to apply by running this API operation with the+-- @Resolved@ flag included.+--+-- To determine what customizations display when you run this command, it+-- can help to visualize the relationship of the entities involved.+--+-- -   @Amazon Web Services account@ - The Amazon Web Services account+--     exists at the top of the hierarchy. It has the potential to use all+--     of the Amazon Web Services Regions and Amazon Web Services Services.+--     When you subscribe to Amazon QuickSight, you choose one Amazon Web+--     Services Region to use as your home Region. That\'s where your free+--     SPICE capacity is located. You can use Amazon QuickSight in any+--     supported Amazon Web Services Region.+--+-- -   @Amazon Web Services Region@ - In each Amazon Web Services Region+--     where you sign in to Amazon QuickSight at least once, Amazon+--     QuickSight acts as a separate instance of the same service. If you+--     have a user directory, it resides in us-east-1, which is the US East+--     (N. Virginia). Generally speaking, these users have access to Amazon+--     QuickSight in any Amazon Web Services Region, unless they are+--     constrained to a namespace.+--+--     To run the command in a different Amazon Web Services Region, you+--     change your Region settings. If you\'re using the CLI, you can use+--     one of the following options:+--+--     -   Use+--         <https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-options.html command line options>.+--+--     -   Use+--         <https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html named profiles>.+--+--     -   Run @aws configure@ to change your default Amazon Web Services+--         Region. Use Enter to key the same settings for your keys. For+--         more information, see+--         <https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html Configuring the CLI>.+--+-- -   @Namespace@ - A QuickSight namespace is a partition that contains+--     users and assets (data sources, datasets, dashboards, and so on). To+--     access assets that are in a specific namespace, users and groups+--     must also be part of the same namespace. People who share a+--     namespace are completely isolated from users and assets in other+--     namespaces, even if they are in the same Amazon Web Services account+--     and Amazon Web Services Region.+--+-- -   @Applied customizations@ - Within an Amazon Web Services Region, a+--     set of Amazon QuickSight customizations can apply to an Amazon Web+--     Services account or to a namespace. Settings that you apply to a+--     namespace override settings that you apply to an Amazon Web Services+--     account. All settings are isolated to a single Amazon Web Services+--     Region. To apply them in other Amazon Web Services Regions, run the+--     @CreateAccountCustomization@ command in each Amazon Web Services+--     Region where you want to apply the same customizations.+module Amazonka.QuickSight.DescribeAccountCustomization+  ( -- * Creating a Request+    DescribeAccountCustomization (..),+    newDescribeAccountCustomization,++    -- * Request Lenses+    describeAccountCustomization_namespace,+    describeAccountCustomization_resolved,+    describeAccountCustomization_awsAccountId,++    -- * Destructuring the Response+    DescribeAccountCustomizationResponse (..),+    newDescribeAccountCustomizationResponse,++    -- * Response Lenses+    describeAccountCustomizationResponse_accountCustomization,+    describeAccountCustomizationResponse_arn,+    describeAccountCustomizationResponse_awsAccountId,+    describeAccountCustomizationResponse_namespace,+    describeAccountCustomizationResponse_requestId,+    describeAccountCustomizationResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeAccountCustomization' smart constructor.+data DescribeAccountCustomization = DescribeAccountCustomization'+  { -- | The Amazon QuickSight namespace that you want to describe Amazon+    -- QuickSight customizations for.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The @Resolved@ flag works with the other parameters to determine which+    -- view of Amazon QuickSight customizations is returned. You can add this+    -- flag to your command to use the same view that Amazon QuickSight uses to+    -- identify which customizations to apply to the console. Omit this flag,+    -- or set it to @no-resolved@, to reveal customizations that are configured+    -- at different levels.+    resolved :: Prelude.Maybe Prelude.Bool,+    -- | The ID for the Amazon Web Services account that you want to describe+    -- Amazon QuickSight customizations for.+    awsAccountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAccountCustomization' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'namespace', 'describeAccountCustomization_namespace' - The Amazon QuickSight namespace that you want to describe Amazon+-- QuickSight customizations for.+--+-- 'resolved', 'describeAccountCustomization_resolved' - The @Resolved@ flag works with the other parameters to determine which+-- view of Amazon QuickSight customizations is returned. You can add this+-- flag to your command to use the same view that Amazon QuickSight uses to+-- identify which customizations to apply to the console. Omit this flag,+-- or set it to @no-resolved@, to reveal customizations that are configured+-- at different levels.+--+-- 'awsAccountId', 'describeAccountCustomization_awsAccountId' - The ID for the Amazon Web Services account that you want to describe+-- Amazon QuickSight customizations for.+newDescribeAccountCustomization ::+  -- | 'awsAccountId'+  Prelude.Text ->+  DescribeAccountCustomization+newDescribeAccountCustomization pAwsAccountId_ =+  DescribeAccountCustomization'+    { namespace =+        Prelude.Nothing,+      resolved = Prelude.Nothing,+      awsAccountId = pAwsAccountId_+    }++-- | The Amazon QuickSight namespace that you want to describe Amazon+-- QuickSight customizations for.+describeAccountCustomization_namespace :: Lens.Lens' DescribeAccountCustomization (Prelude.Maybe Prelude.Text)+describeAccountCustomization_namespace = Lens.lens (\DescribeAccountCustomization' {namespace} -> namespace) (\s@DescribeAccountCustomization' {} a -> s {namespace = a} :: DescribeAccountCustomization)++-- | The @Resolved@ flag works with the other parameters to determine which+-- view of Amazon QuickSight customizations is returned. You can add this+-- flag to your command to use the same view that Amazon QuickSight uses to+-- identify which customizations to apply to the console. Omit this flag,+-- or set it to @no-resolved@, to reveal customizations that are configured+-- at different levels.+describeAccountCustomization_resolved :: Lens.Lens' DescribeAccountCustomization (Prelude.Maybe Prelude.Bool)+describeAccountCustomization_resolved = Lens.lens (\DescribeAccountCustomization' {resolved} -> resolved) (\s@DescribeAccountCustomization' {} a -> s {resolved = a} :: DescribeAccountCustomization)++-- | The ID for the Amazon Web Services account that you want to describe+-- Amazon QuickSight customizations for.+describeAccountCustomization_awsAccountId :: Lens.Lens' DescribeAccountCustomization Prelude.Text+describeAccountCustomization_awsAccountId = Lens.lens (\DescribeAccountCustomization' {awsAccountId} -> awsAccountId) (\s@DescribeAccountCustomization' {} a -> s {awsAccountId = a} :: DescribeAccountCustomization)++instance Core.AWSRequest DescribeAccountCustomization where+  type+    AWSResponse DescribeAccountCustomization =+      DescribeAccountCustomizationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeAccountCustomizationResponse'+            Prelude.<$> (x Data..?> "AccountCustomization")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "AwsAccountId")+            Prelude.<*> (x Data..?> "Namespace")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeAccountCustomization+  where+  hashWithSalt _salt DescribeAccountCustomization' {..} =+    _salt+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` resolved+      `Prelude.hashWithSalt` awsAccountId++instance Prelude.NFData DescribeAccountCustomization where+  rnf DescribeAccountCustomization' {..} =+    Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf resolved+      `Prelude.seq` Prelude.rnf awsAccountId++instance Data.ToHeaders DescribeAccountCustomization where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeAccountCustomization where+  toPath DescribeAccountCustomization' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/customizations"+      ]++instance Data.ToQuery DescribeAccountCustomization where+  toQuery DescribeAccountCustomization' {..} =+    Prelude.mconcat+      [ "namespace" Data.=: namespace,+        "resolved" Data.=: resolved+      ]++-- | /See:/ 'newDescribeAccountCustomizationResponse' smart constructor.+data DescribeAccountCustomizationResponse = DescribeAccountCustomizationResponse'+  { -- | The Amazon QuickSight customizations that exist in the current Amazon+    -- Web Services Region.+    accountCustomization :: Prelude.Maybe AccountCustomization,+    -- | The Amazon Resource Name (ARN) of the customization that\'s associated+    -- with this Amazon Web Services account.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID for the Amazon Web Services account that you\'re describing.+    awsAccountId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon QuickSight namespace that you\'re describing.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAccountCustomizationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountCustomization', 'describeAccountCustomizationResponse_accountCustomization' - The Amazon QuickSight customizations that exist in the current Amazon+-- Web Services Region.+--+-- 'arn', 'describeAccountCustomizationResponse_arn' - The Amazon Resource Name (ARN) of the customization that\'s associated+-- with this Amazon Web Services account.+--+-- 'awsAccountId', 'describeAccountCustomizationResponse_awsAccountId' - The ID for the Amazon Web Services account that you\'re describing.+--+-- 'namespace', 'describeAccountCustomizationResponse_namespace' - The Amazon QuickSight namespace that you\'re describing.+--+-- 'requestId', 'describeAccountCustomizationResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeAccountCustomizationResponse_status' - The HTTP status of the request.+newDescribeAccountCustomizationResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeAccountCustomizationResponse+newDescribeAccountCustomizationResponse pStatus_ =+  DescribeAccountCustomizationResponse'+    { accountCustomization =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      awsAccountId = Prelude.Nothing,+      namespace = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon QuickSight customizations that exist in the current Amazon+-- Web Services Region.+describeAccountCustomizationResponse_accountCustomization :: Lens.Lens' DescribeAccountCustomizationResponse (Prelude.Maybe AccountCustomization)+describeAccountCustomizationResponse_accountCustomization = Lens.lens (\DescribeAccountCustomizationResponse' {accountCustomization} -> accountCustomization) (\s@DescribeAccountCustomizationResponse' {} a -> s {accountCustomization = a} :: DescribeAccountCustomizationResponse)++-- | The Amazon Resource Name (ARN) of the customization that\'s associated+-- with this Amazon Web Services account.+describeAccountCustomizationResponse_arn :: Lens.Lens' DescribeAccountCustomizationResponse (Prelude.Maybe Prelude.Text)+describeAccountCustomizationResponse_arn = Lens.lens (\DescribeAccountCustomizationResponse' {arn} -> arn) (\s@DescribeAccountCustomizationResponse' {} a -> s {arn = a} :: DescribeAccountCustomizationResponse)++-- | The ID for the Amazon Web Services account that you\'re describing.+describeAccountCustomizationResponse_awsAccountId :: Lens.Lens' DescribeAccountCustomizationResponse (Prelude.Maybe Prelude.Text)+describeAccountCustomizationResponse_awsAccountId = Lens.lens (\DescribeAccountCustomizationResponse' {awsAccountId} -> awsAccountId) (\s@DescribeAccountCustomizationResponse' {} a -> s {awsAccountId = a} :: DescribeAccountCustomizationResponse)++-- | The Amazon QuickSight namespace that you\'re describing.+describeAccountCustomizationResponse_namespace :: Lens.Lens' DescribeAccountCustomizationResponse (Prelude.Maybe Prelude.Text)+describeAccountCustomizationResponse_namespace = Lens.lens (\DescribeAccountCustomizationResponse' {namespace} -> namespace) (\s@DescribeAccountCustomizationResponse' {} a -> s {namespace = a} :: DescribeAccountCustomizationResponse)++-- | The Amazon Web Services request ID for this operation.+describeAccountCustomizationResponse_requestId :: Lens.Lens' DescribeAccountCustomizationResponse (Prelude.Maybe Prelude.Text)+describeAccountCustomizationResponse_requestId = Lens.lens (\DescribeAccountCustomizationResponse' {requestId} -> requestId) (\s@DescribeAccountCustomizationResponse' {} a -> s {requestId = a} :: DescribeAccountCustomizationResponse)++-- | The HTTP status of the request.+describeAccountCustomizationResponse_status :: Lens.Lens' DescribeAccountCustomizationResponse Prelude.Int+describeAccountCustomizationResponse_status = Lens.lens (\DescribeAccountCustomizationResponse' {status} -> status) (\s@DescribeAccountCustomizationResponse' {} a -> s {status = a} :: DescribeAccountCustomizationResponse)++instance+  Prelude.NFData+    DescribeAccountCustomizationResponse+  where+  rnf DescribeAccountCustomizationResponse' {..} =+    Prelude.rnf accountCustomization+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeAccountSettings.hs view
@@ -0,0 +1,212 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DescribeAccountSettings+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the settings that were used when your Amazon QuickSight+-- subscription was first created in this Amazon Web Services account.+module Amazonka.QuickSight.DescribeAccountSettings+  ( -- * Creating a Request+    DescribeAccountSettings (..),+    newDescribeAccountSettings,++    -- * Request Lenses+    describeAccountSettings_awsAccountId,++    -- * Destructuring the Response+    DescribeAccountSettingsResponse (..),+    newDescribeAccountSettingsResponse,++    -- * Response Lenses+    describeAccountSettingsResponse_accountSettings,+    describeAccountSettingsResponse_requestId,+    describeAccountSettingsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeAccountSettings' smart constructor.+data DescribeAccountSettings = DescribeAccountSettings'+  { -- | The ID for the Amazon Web Services account that contains the settings+    -- that you want to list.+    awsAccountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAccountSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeAccountSettings_awsAccountId' - The ID for the Amazon Web Services account that contains the settings+-- that you want to list.+newDescribeAccountSettings ::+  -- | 'awsAccountId'+  Prelude.Text ->+  DescribeAccountSettings+newDescribeAccountSettings pAwsAccountId_ =+  DescribeAccountSettings'+    { awsAccountId =+        pAwsAccountId_+    }++-- | The ID for the Amazon Web Services account that contains the settings+-- that you want to list.+describeAccountSettings_awsAccountId :: Lens.Lens' DescribeAccountSettings Prelude.Text+describeAccountSettings_awsAccountId = Lens.lens (\DescribeAccountSettings' {awsAccountId} -> awsAccountId) (\s@DescribeAccountSettings' {} a -> s {awsAccountId = a} :: DescribeAccountSettings)++instance Core.AWSRequest DescribeAccountSettings where+  type+    AWSResponse DescribeAccountSettings =+      DescribeAccountSettingsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeAccountSettingsResponse'+            Prelude.<$> (x Data..?> "AccountSettings")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeAccountSettings where+  hashWithSalt _salt DescribeAccountSettings' {..} =+    _salt `Prelude.hashWithSalt` awsAccountId++instance Prelude.NFData DescribeAccountSettings where+  rnf DescribeAccountSettings' {..} =+    Prelude.rnf awsAccountId++instance Data.ToHeaders DescribeAccountSettings where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeAccountSettings where+  toPath DescribeAccountSettings' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS awsAccountId, "/settings"]++instance Data.ToQuery DescribeAccountSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeAccountSettingsResponse' smart constructor.+data DescribeAccountSettingsResponse = DescribeAccountSettingsResponse'+  { -- | The Amazon QuickSight settings for this Amazon Web Services account.+    -- This information includes the edition of Amazon Amazon QuickSight that+    -- you subscribed to (Standard or Enterprise) and the notification email+    -- for the Amazon QuickSight subscription.+    --+    -- In the QuickSight console, the Amazon QuickSight subscription is+    -- sometimes referred to as a QuickSight \"account\" even though it\'s+    -- technically not an account by itself. Instead, it\'s a subscription to+    -- the Amazon QuickSight service for your Amazon Web Services account. The+    -- edition that you subscribe to applies to Amazon QuickSight in every+    -- Amazon Web Services Region where you use it.+    accountSettings :: Prelude.Maybe AccountSettings,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAccountSettingsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountSettings', 'describeAccountSettingsResponse_accountSettings' - The Amazon QuickSight settings for this Amazon Web Services account.+-- This information includes the edition of Amazon Amazon QuickSight that+-- you subscribed to (Standard or Enterprise) and the notification email+-- for the Amazon QuickSight subscription.+--+-- In the QuickSight console, the Amazon QuickSight subscription is+-- sometimes referred to as a QuickSight \"account\" even though it\'s+-- technically not an account by itself. Instead, it\'s a subscription to+-- the Amazon QuickSight service for your Amazon Web Services account. The+-- edition that you subscribe to applies to Amazon QuickSight in every+-- Amazon Web Services Region where you use it.+--+-- 'requestId', 'describeAccountSettingsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeAccountSettingsResponse_status' - The HTTP status of the request.+newDescribeAccountSettingsResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeAccountSettingsResponse+newDescribeAccountSettingsResponse pStatus_ =+  DescribeAccountSettingsResponse'+    { accountSettings =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon QuickSight settings for this Amazon Web Services account.+-- This information includes the edition of Amazon Amazon QuickSight that+-- you subscribed to (Standard or Enterprise) and the notification email+-- for the Amazon QuickSight subscription.+--+-- In the QuickSight console, the Amazon QuickSight subscription is+-- sometimes referred to as a QuickSight \"account\" even though it\'s+-- technically not an account by itself. Instead, it\'s a subscription to+-- the Amazon QuickSight service for your Amazon Web Services account. The+-- edition that you subscribe to applies to Amazon QuickSight in every+-- Amazon Web Services Region where you use it.+describeAccountSettingsResponse_accountSettings :: Lens.Lens' DescribeAccountSettingsResponse (Prelude.Maybe AccountSettings)+describeAccountSettingsResponse_accountSettings = Lens.lens (\DescribeAccountSettingsResponse' {accountSettings} -> accountSettings) (\s@DescribeAccountSettingsResponse' {} a -> s {accountSettings = a} :: DescribeAccountSettingsResponse)++-- | The Amazon Web Services request ID for this operation.+describeAccountSettingsResponse_requestId :: Lens.Lens' DescribeAccountSettingsResponse (Prelude.Maybe Prelude.Text)+describeAccountSettingsResponse_requestId = Lens.lens (\DescribeAccountSettingsResponse' {requestId} -> requestId) (\s@DescribeAccountSettingsResponse' {} a -> s {requestId = a} :: DescribeAccountSettingsResponse)++-- | The HTTP status of the request.+describeAccountSettingsResponse_status :: Lens.Lens' DescribeAccountSettingsResponse Prelude.Int+describeAccountSettingsResponse_status = Lens.lens (\DescribeAccountSettingsResponse' {status} -> status) (\s@DescribeAccountSettingsResponse' {} a -> s {status = a} :: DescribeAccountSettingsResponse)++instance+  Prelude.NFData+    DescribeAccountSettingsResponse+  where+  rnf DescribeAccountSettingsResponse' {..} =+    Prelude.rnf accountSettings+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeAccountSubscription.hs view
@@ -0,0 +1,218 @@+{-# 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.QuickSight.DescribeAccountSubscription+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use the DescribeAccountSubscription operation to receive a description+-- of an Amazon QuickSight account\'s subscription. A successful API call+-- returns an @AccountInfo@ object that includes an account\'s name,+-- subscription status, authentication type, edition, and notification+-- email address.+module Amazonka.QuickSight.DescribeAccountSubscription+  ( -- * Creating a Request+    DescribeAccountSubscription (..),+    newDescribeAccountSubscription,++    -- * Request Lenses+    describeAccountSubscription_awsAccountId,++    -- * Destructuring the Response+    DescribeAccountSubscriptionResponse (..),+    newDescribeAccountSubscriptionResponse,++    -- * Response Lenses+    describeAccountSubscriptionResponse_accountInfo,+    describeAccountSubscriptionResponse_requestId,+    describeAccountSubscriptionResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeAccountSubscription' smart constructor.+data DescribeAccountSubscription = DescribeAccountSubscription'+  { -- | The Amazon Web Services account ID associated with your Amazon+    -- QuickSight account.+    awsAccountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAccountSubscription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeAccountSubscription_awsAccountId' - The Amazon Web Services account ID associated with your Amazon+-- QuickSight account.+newDescribeAccountSubscription ::+  -- | 'awsAccountId'+  Prelude.Text ->+  DescribeAccountSubscription+newDescribeAccountSubscription pAwsAccountId_ =+  DescribeAccountSubscription'+    { awsAccountId =+        pAwsAccountId_+    }++-- | The Amazon Web Services account ID associated with your Amazon+-- QuickSight account.+describeAccountSubscription_awsAccountId :: Lens.Lens' DescribeAccountSubscription Prelude.Text+describeAccountSubscription_awsAccountId = Lens.lens (\DescribeAccountSubscription' {awsAccountId} -> awsAccountId) (\s@DescribeAccountSubscription' {} a -> s {awsAccountId = a} :: DescribeAccountSubscription)++instance Core.AWSRequest DescribeAccountSubscription where+  type+    AWSResponse DescribeAccountSubscription =+      DescribeAccountSubscriptionResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeAccountSubscriptionResponse'+            Prelude.<$> (x Data..?> "AccountInfo")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeAccountSubscription where+  hashWithSalt _salt DescribeAccountSubscription' {..} =+    _salt `Prelude.hashWithSalt` awsAccountId++instance Prelude.NFData DescribeAccountSubscription where+  rnf DescribeAccountSubscription' {..} =+    Prelude.rnf awsAccountId++instance Data.ToHeaders DescribeAccountSubscription where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeAccountSubscription where+  toPath DescribeAccountSubscription' {..} =+    Prelude.mconcat+      ["/account/", Data.toBS awsAccountId]++instance Data.ToQuery DescribeAccountSubscription where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeAccountSubscriptionResponse' smart constructor.+data DescribeAccountSubscriptionResponse = DescribeAccountSubscriptionResponse'+  { -- | A structure that contains the following elements:+    --+    -- -   Your Amazon QuickSight account name.+    --+    -- -   The edition of Amazon QuickSight that your account is using.+    --+    -- -   The notification email address that is associated with the Amazon+    --     QuickSight account.+    --+    -- -   The authentication type of the Amazon QuickSight account.+    --+    -- -   The status of the Amazon QuickSight account\'s subscription.+    accountInfo :: Prelude.Maybe AccountInfo,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAccountSubscriptionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountInfo', 'describeAccountSubscriptionResponse_accountInfo' - A structure that contains the following elements:+--+-- -   Your Amazon QuickSight account name.+--+-- -   The edition of Amazon QuickSight that your account is using.+--+-- -   The notification email address that is associated with the Amazon+--     QuickSight account.+--+-- -   The authentication type of the Amazon QuickSight account.+--+-- -   The status of the Amazon QuickSight account\'s subscription.+--+-- 'requestId', 'describeAccountSubscriptionResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeAccountSubscriptionResponse_status' - The HTTP status of the request.+newDescribeAccountSubscriptionResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeAccountSubscriptionResponse+newDescribeAccountSubscriptionResponse pStatus_ =+  DescribeAccountSubscriptionResponse'+    { accountInfo =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | A structure that contains the following elements:+--+-- -   Your Amazon QuickSight account name.+--+-- -   The edition of Amazon QuickSight that your account is using.+--+-- -   The notification email address that is associated with the Amazon+--     QuickSight account.+--+-- -   The authentication type of the Amazon QuickSight account.+--+-- -   The status of the Amazon QuickSight account\'s subscription.+describeAccountSubscriptionResponse_accountInfo :: Lens.Lens' DescribeAccountSubscriptionResponse (Prelude.Maybe AccountInfo)+describeAccountSubscriptionResponse_accountInfo = Lens.lens (\DescribeAccountSubscriptionResponse' {accountInfo} -> accountInfo) (\s@DescribeAccountSubscriptionResponse' {} a -> s {accountInfo = a} :: DescribeAccountSubscriptionResponse)++-- | The Amazon Web Services request ID for this operation.+describeAccountSubscriptionResponse_requestId :: Lens.Lens' DescribeAccountSubscriptionResponse (Prelude.Maybe Prelude.Text)+describeAccountSubscriptionResponse_requestId = Lens.lens (\DescribeAccountSubscriptionResponse' {requestId} -> requestId) (\s@DescribeAccountSubscriptionResponse' {} a -> s {requestId = a} :: DescribeAccountSubscriptionResponse)++-- | The HTTP status of the request.+describeAccountSubscriptionResponse_status :: Lens.Lens' DescribeAccountSubscriptionResponse Prelude.Int+describeAccountSubscriptionResponse_status = Lens.lens (\DescribeAccountSubscriptionResponse' {status} -> status) (\s@DescribeAccountSubscriptionResponse' {} a -> s {status = a} :: DescribeAccountSubscriptionResponse)++instance+  Prelude.NFData+    DescribeAccountSubscriptionResponse+  where+  rnf DescribeAccountSubscriptionResponse' {..} =+    Prelude.rnf accountInfo+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeAnalysis.hs view
@@ -0,0 +1,205 @@+{-# 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.QuickSight.DescribeAnalysis+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides a summary of the metadata for an analysis.+module Amazonka.QuickSight.DescribeAnalysis+  ( -- * Creating a Request+    DescribeAnalysis (..),+    newDescribeAnalysis,++    -- * Request Lenses+    describeAnalysis_awsAccountId,+    describeAnalysis_analysisId,++    -- * Destructuring the Response+    DescribeAnalysisResponse (..),+    newDescribeAnalysisResponse,++    -- * Response Lenses+    describeAnalysisResponse_analysis,+    describeAnalysisResponse_requestId,+    describeAnalysisResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeAnalysis' smart constructor.+data DescribeAnalysis = DescribeAnalysis'+  { -- | The ID of the Amazon Web Services account that contains the analysis.+    -- You must be using the Amazon Web Services account that the analysis is+    -- in.+    awsAccountId :: Prelude.Text,+    -- | The ID of the analysis that you\'re describing. The ID is part of the+    -- URL of the analysis.+    analysisId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAnalysis' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeAnalysis_awsAccountId' - The ID of the Amazon Web Services account that contains the analysis.+-- You must be using the Amazon Web Services account that the analysis is+-- in.+--+-- 'analysisId', 'describeAnalysis_analysisId' - The ID of the analysis that you\'re describing. The ID is part of the+-- URL of the analysis.+newDescribeAnalysis ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'analysisId'+  Prelude.Text ->+  DescribeAnalysis+newDescribeAnalysis pAwsAccountId_ pAnalysisId_ =+  DescribeAnalysis'+    { awsAccountId = pAwsAccountId_,+      analysisId = pAnalysisId_+    }++-- | The ID of the Amazon Web Services account that contains the analysis.+-- You must be using the Amazon Web Services account that the analysis is+-- in.+describeAnalysis_awsAccountId :: Lens.Lens' DescribeAnalysis Prelude.Text+describeAnalysis_awsAccountId = Lens.lens (\DescribeAnalysis' {awsAccountId} -> awsAccountId) (\s@DescribeAnalysis' {} a -> s {awsAccountId = a} :: DescribeAnalysis)++-- | The ID of the analysis that you\'re describing. The ID is part of the+-- URL of the analysis.+describeAnalysis_analysisId :: Lens.Lens' DescribeAnalysis Prelude.Text+describeAnalysis_analysisId = Lens.lens (\DescribeAnalysis' {analysisId} -> analysisId) (\s@DescribeAnalysis' {} a -> s {analysisId = a} :: DescribeAnalysis)++instance Core.AWSRequest DescribeAnalysis where+  type+    AWSResponse DescribeAnalysis =+      DescribeAnalysisResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeAnalysisResponse'+            Prelude.<$> (x Data..?> "Analysis")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeAnalysis where+  hashWithSalt _salt DescribeAnalysis' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` analysisId++instance Prelude.NFData DescribeAnalysis where+  rnf DescribeAnalysis' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf analysisId++instance Data.ToHeaders DescribeAnalysis where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeAnalysis where+  toPath DescribeAnalysis' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/analyses/",+        Data.toBS analysisId+      ]++instance Data.ToQuery DescribeAnalysis where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeAnalysisResponse' smart constructor.+data DescribeAnalysisResponse = DescribeAnalysisResponse'+  { -- | A metadata structure that contains summary information for the analysis+    -- that you\'re describing.+    analysis :: Prelude.Maybe Analysis,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAnalysisResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analysis', 'describeAnalysisResponse_analysis' - A metadata structure that contains summary information for the analysis+-- that you\'re describing.+--+-- 'requestId', 'describeAnalysisResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeAnalysisResponse_status' - The HTTP status of the request.+newDescribeAnalysisResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeAnalysisResponse+newDescribeAnalysisResponse pStatus_ =+  DescribeAnalysisResponse'+    { analysis =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | A metadata structure that contains summary information for the analysis+-- that you\'re describing.+describeAnalysisResponse_analysis :: Lens.Lens' DescribeAnalysisResponse (Prelude.Maybe Analysis)+describeAnalysisResponse_analysis = Lens.lens (\DescribeAnalysisResponse' {analysis} -> analysis) (\s@DescribeAnalysisResponse' {} a -> s {analysis = a} :: DescribeAnalysisResponse)++-- | The Amazon Web Services request ID for this operation.+describeAnalysisResponse_requestId :: Lens.Lens' DescribeAnalysisResponse (Prelude.Maybe Prelude.Text)+describeAnalysisResponse_requestId = Lens.lens (\DescribeAnalysisResponse' {requestId} -> requestId) (\s@DescribeAnalysisResponse' {} a -> s {requestId = a} :: DescribeAnalysisResponse)++-- | The HTTP status of the request.+describeAnalysisResponse_status :: Lens.Lens' DescribeAnalysisResponse Prelude.Int+describeAnalysisResponse_status = Lens.lens (\DescribeAnalysisResponse' {status} -> status) (\s@DescribeAnalysisResponse' {} a -> s {status = a} :: DescribeAnalysisResponse)++instance Prelude.NFData DescribeAnalysisResponse where+  rnf DescribeAnalysisResponse' {..} =+    Prelude.rnf analysis+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeAnalysisDefinition.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.QuickSight.DescribeAnalysisDefinition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides a detailed description of the definition of an analysis.+--+-- If you do not need to know details about the content of an Analysis, for+-- instance if you are trying to check the status of a recently created or+-- updated Analysis, use the+-- <https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeAnalysis.html DescribeAnalysis>+-- instead.+module Amazonka.QuickSight.DescribeAnalysisDefinition+  ( -- * Creating a Request+    DescribeAnalysisDefinition (..),+    newDescribeAnalysisDefinition,++    -- * Request Lenses+    describeAnalysisDefinition_awsAccountId,+    describeAnalysisDefinition_analysisId,++    -- * Destructuring the Response+    DescribeAnalysisDefinitionResponse (..),+    newDescribeAnalysisDefinitionResponse,++    -- * Response Lenses+    describeAnalysisDefinitionResponse_analysisId,+    describeAnalysisDefinitionResponse_definition,+    describeAnalysisDefinitionResponse_errors,+    describeAnalysisDefinitionResponse_name,+    describeAnalysisDefinitionResponse_requestId,+    describeAnalysisDefinitionResponse_resourceStatus,+    describeAnalysisDefinitionResponse_themeArn,+    describeAnalysisDefinitionResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeAnalysisDefinition' smart constructor.+data DescribeAnalysisDefinition = DescribeAnalysisDefinition'+  { -- | The ID of the Amazon Web Services account that contains the analysis.+    -- You must be using the Amazon Web Services account that the analysis is+    -- in.+    awsAccountId :: Prelude.Text,+    -- | The ID of the analysis that you\'re describing. The ID is part of the+    -- URL of the analysis.+    analysisId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAnalysisDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeAnalysisDefinition_awsAccountId' - The ID of the Amazon Web Services account that contains the analysis.+-- You must be using the Amazon Web Services account that the analysis is+-- in.+--+-- 'analysisId', 'describeAnalysisDefinition_analysisId' - The ID of the analysis that you\'re describing. The ID is part of the+-- URL of the analysis.+newDescribeAnalysisDefinition ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'analysisId'+  Prelude.Text ->+  DescribeAnalysisDefinition+newDescribeAnalysisDefinition+  pAwsAccountId_+  pAnalysisId_ =+    DescribeAnalysisDefinition'+      { awsAccountId =+          pAwsAccountId_,+        analysisId = pAnalysisId_+      }++-- | The ID of the Amazon Web Services account that contains the analysis.+-- You must be using the Amazon Web Services account that the analysis is+-- in.+describeAnalysisDefinition_awsAccountId :: Lens.Lens' DescribeAnalysisDefinition Prelude.Text+describeAnalysisDefinition_awsAccountId = Lens.lens (\DescribeAnalysisDefinition' {awsAccountId} -> awsAccountId) (\s@DescribeAnalysisDefinition' {} a -> s {awsAccountId = a} :: DescribeAnalysisDefinition)++-- | The ID of the analysis that you\'re describing. The ID is part of the+-- URL of the analysis.+describeAnalysisDefinition_analysisId :: Lens.Lens' DescribeAnalysisDefinition Prelude.Text+describeAnalysisDefinition_analysisId = Lens.lens (\DescribeAnalysisDefinition' {analysisId} -> analysisId) (\s@DescribeAnalysisDefinition' {} a -> s {analysisId = a} :: DescribeAnalysisDefinition)++instance Core.AWSRequest DescribeAnalysisDefinition where+  type+    AWSResponse DescribeAnalysisDefinition =+      DescribeAnalysisDefinitionResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeAnalysisDefinitionResponse'+            Prelude.<$> (x Data..?> "AnalysisId")+            Prelude.<*> (x Data..?> "Definition")+            Prelude.<*> (x Data..?> "Errors")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "ResourceStatus")+            Prelude.<*> (x Data..?> "ThemeArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeAnalysisDefinition where+  hashWithSalt _salt DescribeAnalysisDefinition' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` analysisId++instance Prelude.NFData DescribeAnalysisDefinition where+  rnf DescribeAnalysisDefinition' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf analysisId++instance Data.ToHeaders DescribeAnalysisDefinition where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeAnalysisDefinition where+  toPath DescribeAnalysisDefinition' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/analyses/",+        Data.toBS analysisId,+        "/definition"+      ]++instance Data.ToQuery DescribeAnalysisDefinition where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeAnalysisDefinitionResponse' smart constructor.+data DescribeAnalysisDefinitionResponse = DescribeAnalysisDefinitionResponse'+  { -- | The ID of the analysis described.+    analysisId :: Prelude.Maybe Prelude.Text,+    -- | The definition of an analysis.+    --+    -- A definition is the data model of all features in a Dashboard, Template,+    -- or Analysis.+    definition :: Prelude.Maybe AnalysisDefinition,+    -- | Errors associated with the analysis.+    errors :: Prelude.Maybe (Prelude.NonEmpty AnalysisError),+    -- | The descriptive name of the analysis.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | Status associated with the analysis.+    --+    -- -   @CREATION_IN_PROGRESS@+    --+    -- -   @CREATION_SUCCESSFUL@+    --+    -- -   @CREATION_FAILED@+    --+    -- -   @UPDATE_IN_PROGRESS@+    --+    -- -   @UPDATE_SUCCESSFUL@+    --+    -- -   @UPDATE_FAILED@+    --+    -- -   @DELETED@+    resourceStatus :: Prelude.Maybe ResourceStatus,+    -- | The ARN of the theme of the analysis.+    themeArn :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAnalysisDefinitionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analysisId', 'describeAnalysisDefinitionResponse_analysisId' - The ID of the analysis described.+--+-- 'definition', 'describeAnalysisDefinitionResponse_definition' - The definition of an analysis.+--+-- A definition is the data model of all features in a Dashboard, Template,+-- or Analysis.+--+-- 'errors', 'describeAnalysisDefinitionResponse_errors' - Errors associated with the analysis.+--+-- 'name', 'describeAnalysisDefinitionResponse_name' - The descriptive name of the analysis.+--+-- 'requestId', 'describeAnalysisDefinitionResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'resourceStatus', 'describeAnalysisDefinitionResponse_resourceStatus' - Status associated with the analysis.+--+-- -   @CREATION_IN_PROGRESS@+--+-- -   @CREATION_SUCCESSFUL@+--+-- -   @CREATION_FAILED@+--+-- -   @UPDATE_IN_PROGRESS@+--+-- -   @UPDATE_SUCCESSFUL@+--+-- -   @UPDATE_FAILED@+--+-- -   @DELETED@+--+-- 'themeArn', 'describeAnalysisDefinitionResponse_themeArn' - The ARN of the theme of the analysis.+--+-- 'status', 'describeAnalysisDefinitionResponse_status' - The HTTP status of the request.+newDescribeAnalysisDefinitionResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeAnalysisDefinitionResponse+newDescribeAnalysisDefinitionResponse pStatus_ =+  DescribeAnalysisDefinitionResponse'+    { analysisId =+        Prelude.Nothing,+      definition = Prelude.Nothing,+      errors = Prelude.Nothing,+      name = Prelude.Nothing,+      requestId = Prelude.Nothing,+      resourceStatus = Prelude.Nothing,+      themeArn = Prelude.Nothing,+      status = pStatus_+    }++-- | The ID of the analysis described.+describeAnalysisDefinitionResponse_analysisId :: Lens.Lens' DescribeAnalysisDefinitionResponse (Prelude.Maybe Prelude.Text)+describeAnalysisDefinitionResponse_analysisId = Lens.lens (\DescribeAnalysisDefinitionResponse' {analysisId} -> analysisId) (\s@DescribeAnalysisDefinitionResponse' {} a -> s {analysisId = a} :: DescribeAnalysisDefinitionResponse)++-- | The definition of an analysis.+--+-- A definition is the data model of all features in a Dashboard, Template,+-- or Analysis.+describeAnalysisDefinitionResponse_definition :: Lens.Lens' DescribeAnalysisDefinitionResponse (Prelude.Maybe AnalysisDefinition)+describeAnalysisDefinitionResponse_definition = Lens.lens (\DescribeAnalysisDefinitionResponse' {definition} -> definition) (\s@DescribeAnalysisDefinitionResponse' {} a -> s {definition = a} :: DescribeAnalysisDefinitionResponse)++-- | Errors associated with the analysis.+describeAnalysisDefinitionResponse_errors :: Lens.Lens' DescribeAnalysisDefinitionResponse (Prelude.Maybe (Prelude.NonEmpty AnalysisError))+describeAnalysisDefinitionResponse_errors = Lens.lens (\DescribeAnalysisDefinitionResponse' {errors} -> errors) (\s@DescribeAnalysisDefinitionResponse' {} a -> s {errors = a} :: DescribeAnalysisDefinitionResponse) Prelude.. Lens.mapping Lens.coerced++-- | The descriptive name of the analysis.+describeAnalysisDefinitionResponse_name :: Lens.Lens' DescribeAnalysisDefinitionResponse (Prelude.Maybe Prelude.Text)+describeAnalysisDefinitionResponse_name = Lens.lens (\DescribeAnalysisDefinitionResponse' {name} -> name) (\s@DescribeAnalysisDefinitionResponse' {} a -> s {name = a} :: DescribeAnalysisDefinitionResponse)++-- | The Amazon Web Services request ID for this operation.+describeAnalysisDefinitionResponse_requestId :: Lens.Lens' DescribeAnalysisDefinitionResponse (Prelude.Maybe Prelude.Text)+describeAnalysisDefinitionResponse_requestId = Lens.lens (\DescribeAnalysisDefinitionResponse' {requestId} -> requestId) (\s@DescribeAnalysisDefinitionResponse' {} a -> s {requestId = a} :: DescribeAnalysisDefinitionResponse)++-- | Status associated with the analysis.+--+-- -   @CREATION_IN_PROGRESS@+--+-- -   @CREATION_SUCCESSFUL@+--+-- -   @CREATION_FAILED@+--+-- -   @UPDATE_IN_PROGRESS@+--+-- -   @UPDATE_SUCCESSFUL@+--+-- -   @UPDATE_FAILED@+--+-- -   @DELETED@+describeAnalysisDefinitionResponse_resourceStatus :: Lens.Lens' DescribeAnalysisDefinitionResponse (Prelude.Maybe ResourceStatus)+describeAnalysisDefinitionResponse_resourceStatus = Lens.lens (\DescribeAnalysisDefinitionResponse' {resourceStatus} -> resourceStatus) (\s@DescribeAnalysisDefinitionResponse' {} a -> s {resourceStatus = a} :: DescribeAnalysisDefinitionResponse)++-- | The ARN of the theme of the analysis.+describeAnalysisDefinitionResponse_themeArn :: Lens.Lens' DescribeAnalysisDefinitionResponse (Prelude.Maybe Prelude.Text)+describeAnalysisDefinitionResponse_themeArn = Lens.lens (\DescribeAnalysisDefinitionResponse' {themeArn} -> themeArn) (\s@DescribeAnalysisDefinitionResponse' {} a -> s {themeArn = a} :: DescribeAnalysisDefinitionResponse)++-- | The HTTP status of the request.+describeAnalysisDefinitionResponse_status :: Lens.Lens' DescribeAnalysisDefinitionResponse Prelude.Int+describeAnalysisDefinitionResponse_status = Lens.lens (\DescribeAnalysisDefinitionResponse' {status} -> status) (\s@DescribeAnalysisDefinitionResponse' {} a -> s {status = a} :: DescribeAnalysisDefinitionResponse)++instance+  Prelude.NFData+    DescribeAnalysisDefinitionResponse+  where+  rnf DescribeAnalysisDefinitionResponse' {..} =+    Prelude.rnf analysisId+      `Prelude.seq` Prelude.rnf definition+      `Prelude.seq` Prelude.rnf errors+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf resourceStatus+      `Prelude.seq` Prelude.rnf themeArn+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeAnalysisPermissions.hs view
@@ -0,0 +1,239 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DescribeAnalysisPermissions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides the read and write permissions for an analysis.+module Amazonka.QuickSight.DescribeAnalysisPermissions+  ( -- * Creating a Request+    DescribeAnalysisPermissions (..),+    newDescribeAnalysisPermissions,++    -- * Request Lenses+    describeAnalysisPermissions_awsAccountId,+    describeAnalysisPermissions_analysisId,++    -- * Destructuring the Response+    DescribeAnalysisPermissionsResponse (..),+    newDescribeAnalysisPermissionsResponse,++    -- * Response Lenses+    describeAnalysisPermissionsResponse_analysisArn,+    describeAnalysisPermissionsResponse_analysisId,+    describeAnalysisPermissionsResponse_permissions,+    describeAnalysisPermissionsResponse_requestId,+    describeAnalysisPermissionsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeAnalysisPermissions' smart constructor.+data DescribeAnalysisPermissions = DescribeAnalysisPermissions'+  { -- | The ID of the Amazon Web Services account that contains the analysis+    -- whose permissions you\'re describing. You must be using the Amazon Web+    -- Services account that the analysis is in.+    awsAccountId :: Prelude.Text,+    -- | The ID of the analysis whose permissions you\'re describing. The ID is+    -- part of the analysis URL.+    analysisId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAnalysisPermissions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeAnalysisPermissions_awsAccountId' - The ID of the Amazon Web Services account that contains the analysis+-- whose permissions you\'re describing. You must be using the Amazon Web+-- Services account that the analysis is in.+--+-- 'analysisId', 'describeAnalysisPermissions_analysisId' - The ID of the analysis whose permissions you\'re describing. The ID is+-- part of the analysis URL.+newDescribeAnalysisPermissions ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'analysisId'+  Prelude.Text ->+  DescribeAnalysisPermissions+newDescribeAnalysisPermissions+  pAwsAccountId_+  pAnalysisId_ =+    DescribeAnalysisPermissions'+      { awsAccountId =+          pAwsAccountId_,+        analysisId = pAnalysisId_+      }++-- | The ID of the Amazon Web Services account that contains the analysis+-- whose permissions you\'re describing. You must be using the Amazon Web+-- Services account that the analysis is in.+describeAnalysisPermissions_awsAccountId :: Lens.Lens' DescribeAnalysisPermissions Prelude.Text+describeAnalysisPermissions_awsAccountId = Lens.lens (\DescribeAnalysisPermissions' {awsAccountId} -> awsAccountId) (\s@DescribeAnalysisPermissions' {} a -> s {awsAccountId = a} :: DescribeAnalysisPermissions)++-- | The ID of the analysis whose permissions you\'re describing. The ID is+-- part of the analysis URL.+describeAnalysisPermissions_analysisId :: Lens.Lens' DescribeAnalysisPermissions Prelude.Text+describeAnalysisPermissions_analysisId = Lens.lens (\DescribeAnalysisPermissions' {analysisId} -> analysisId) (\s@DescribeAnalysisPermissions' {} a -> s {analysisId = a} :: DescribeAnalysisPermissions)++instance Core.AWSRequest DescribeAnalysisPermissions where+  type+    AWSResponse DescribeAnalysisPermissions =+      DescribeAnalysisPermissionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeAnalysisPermissionsResponse'+            Prelude.<$> (x Data..?> "AnalysisArn")+            Prelude.<*> (x Data..?> "AnalysisId")+            Prelude.<*> (x Data..?> "Permissions")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeAnalysisPermissions where+  hashWithSalt _salt DescribeAnalysisPermissions' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` analysisId++instance Prelude.NFData DescribeAnalysisPermissions where+  rnf DescribeAnalysisPermissions' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf analysisId++instance Data.ToHeaders DescribeAnalysisPermissions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeAnalysisPermissions where+  toPath DescribeAnalysisPermissions' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/analyses/",+        Data.toBS analysisId,+        "/permissions"+      ]++instance Data.ToQuery DescribeAnalysisPermissions where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeAnalysisPermissionsResponse' smart constructor.+data DescribeAnalysisPermissionsResponse = DescribeAnalysisPermissionsResponse'+  { -- | The Amazon Resource Name (ARN) of the analysis whose permissions you\'re+    -- describing.+    analysisArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the analysis whose permissions you\'re describing.+    analysisId :: Prelude.Maybe Prelude.Text,+    -- | A structure that describes the principals and the resource-level+    -- permissions on an analysis.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAnalysisPermissionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analysisArn', 'describeAnalysisPermissionsResponse_analysisArn' - The Amazon Resource Name (ARN) of the analysis whose permissions you\'re+-- describing.+--+-- 'analysisId', 'describeAnalysisPermissionsResponse_analysisId' - The ID of the analysis whose permissions you\'re describing.+--+-- 'permissions', 'describeAnalysisPermissionsResponse_permissions' - A structure that describes the principals and the resource-level+-- permissions on an analysis.+--+-- 'requestId', 'describeAnalysisPermissionsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeAnalysisPermissionsResponse_status' - The HTTP status of the request.+newDescribeAnalysisPermissionsResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeAnalysisPermissionsResponse+newDescribeAnalysisPermissionsResponse pStatus_ =+  DescribeAnalysisPermissionsResponse'+    { analysisArn =+        Prelude.Nothing,+      analysisId = Prelude.Nothing,+      permissions = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) of the analysis whose permissions you\'re+-- describing.+describeAnalysisPermissionsResponse_analysisArn :: Lens.Lens' DescribeAnalysisPermissionsResponse (Prelude.Maybe Prelude.Text)+describeAnalysisPermissionsResponse_analysisArn = Lens.lens (\DescribeAnalysisPermissionsResponse' {analysisArn} -> analysisArn) (\s@DescribeAnalysisPermissionsResponse' {} a -> s {analysisArn = a} :: DescribeAnalysisPermissionsResponse)++-- | The ID of the analysis whose permissions you\'re describing.+describeAnalysisPermissionsResponse_analysisId :: Lens.Lens' DescribeAnalysisPermissionsResponse (Prelude.Maybe Prelude.Text)+describeAnalysisPermissionsResponse_analysisId = Lens.lens (\DescribeAnalysisPermissionsResponse' {analysisId} -> analysisId) (\s@DescribeAnalysisPermissionsResponse' {} a -> s {analysisId = a} :: DescribeAnalysisPermissionsResponse)++-- | A structure that describes the principals and the resource-level+-- permissions on an analysis.+describeAnalysisPermissionsResponse_permissions :: Lens.Lens' DescribeAnalysisPermissionsResponse (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+describeAnalysisPermissionsResponse_permissions = Lens.lens (\DescribeAnalysisPermissionsResponse' {permissions} -> permissions) (\s@DescribeAnalysisPermissionsResponse' {} a -> s {permissions = a} :: DescribeAnalysisPermissionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services request ID for this operation.+describeAnalysisPermissionsResponse_requestId :: Lens.Lens' DescribeAnalysisPermissionsResponse (Prelude.Maybe Prelude.Text)+describeAnalysisPermissionsResponse_requestId = Lens.lens (\DescribeAnalysisPermissionsResponse' {requestId} -> requestId) (\s@DescribeAnalysisPermissionsResponse' {} a -> s {requestId = a} :: DescribeAnalysisPermissionsResponse)++-- | The HTTP status of the request.+describeAnalysisPermissionsResponse_status :: Lens.Lens' DescribeAnalysisPermissionsResponse Prelude.Int+describeAnalysisPermissionsResponse_status = Lens.lens (\DescribeAnalysisPermissionsResponse' {status} -> status) (\s@DescribeAnalysisPermissionsResponse' {} a -> s {status = a} :: DescribeAnalysisPermissionsResponse)++instance+  Prelude.NFData+    DescribeAnalysisPermissionsResponse+  where+  rnf DescribeAnalysisPermissionsResponse' {..} =+    Prelude.rnf analysisArn+      `Prelude.seq` Prelude.rnf analysisId+      `Prelude.seq` Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeDashboard.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.QuickSight.DescribeDashboard+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides a summary for a dashboard.+module Amazonka.QuickSight.DescribeDashboard+  ( -- * Creating a Request+    DescribeDashboard (..),+    newDescribeDashboard,++    -- * Request Lenses+    describeDashboard_aliasName,+    describeDashboard_versionNumber,+    describeDashboard_awsAccountId,+    describeDashboard_dashboardId,++    -- * Destructuring the Response+    DescribeDashboardResponse (..),+    newDescribeDashboardResponse,++    -- * Response Lenses+    describeDashboardResponse_dashboard,+    describeDashboardResponse_requestId,+    describeDashboardResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDashboard' smart constructor.+data DescribeDashboard = DescribeDashboard'+  { -- | The alias name.+    aliasName :: Prelude.Maybe Prelude.Text,+    -- | The version number for the dashboard. If a version number isn\'t passed,+    -- the latest published dashboard version is described.+    versionNumber :: Prelude.Maybe Prelude.Natural,+    -- | The ID of the Amazon Web Services account that contains the dashboard+    -- that you\'re describing.+    awsAccountId :: Prelude.Text,+    -- | The ID for the dashboard.+    dashboardId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDashboard' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aliasName', 'describeDashboard_aliasName' - The alias name.+--+-- 'versionNumber', 'describeDashboard_versionNumber' - The version number for the dashboard. If a version number isn\'t passed,+-- the latest published dashboard version is described.+--+-- 'awsAccountId', 'describeDashboard_awsAccountId' - The ID of the Amazon Web Services account that contains the dashboard+-- that you\'re describing.+--+-- 'dashboardId', 'describeDashboard_dashboardId' - The ID for the dashboard.+newDescribeDashboard ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dashboardId'+  Prelude.Text ->+  DescribeDashboard+newDescribeDashboard pAwsAccountId_ pDashboardId_ =+  DescribeDashboard'+    { aliasName = Prelude.Nothing,+      versionNumber = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      dashboardId = pDashboardId_+    }++-- | The alias name.+describeDashboard_aliasName :: Lens.Lens' DescribeDashboard (Prelude.Maybe Prelude.Text)+describeDashboard_aliasName = Lens.lens (\DescribeDashboard' {aliasName} -> aliasName) (\s@DescribeDashboard' {} a -> s {aliasName = a} :: DescribeDashboard)++-- | The version number for the dashboard. If a version number isn\'t passed,+-- the latest published dashboard version is described.+describeDashboard_versionNumber :: Lens.Lens' DescribeDashboard (Prelude.Maybe Prelude.Natural)+describeDashboard_versionNumber = Lens.lens (\DescribeDashboard' {versionNumber} -> versionNumber) (\s@DescribeDashboard' {} a -> s {versionNumber = a} :: DescribeDashboard)++-- | The ID of the Amazon Web Services account that contains the dashboard+-- that you\'re describing.+describeDashboard_awsAccountId :: Lens.Lens' DescribeDashboard Prelude.Text+describeDashboard_awsAccountId = Lens.lens (\DescribeDashboard' {awsAccountId} -> awsAccountId) (\s@DescribeDashboard' {} a -> s {awsAccountId = a} :: DescribeDashboard)++-- | The ID for the dashboard.+describeDashboard_dashboardId :: Lens.Lens' DescribeDashboard Prelude.Text+describeDashboard_dashboardId = Lens.lens (\DescribeDashboard' {dashboardId} -> dashboardId) (\s@DescribeDashboard' {} a -> s {dashboardId = a} :: DescribeDashboard)++instance Core.AWSRequest DescribeDashboard where+  type+    AWSResponse DescribeDashboard =+      DescribeDashboardResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeDashboardResponse'+            Prelude.<$> (x Data..?> "Dashboard")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDashboard where+  hashWithSalt _salt DescribeDashboard' {..} =+    _salt+      `Prelude.hashWithSalt` aliasName+      `Prelude.hashWithSalt` versionNumber+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dashboardId++instance Prelude.NFData DescribeDashboard where+  rnf DescribeDashboard' {..} =+    Prelude.rnf aliasName+      `Prelude.seq` Prelude.rnf versionNumber+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dashboardId++instance Data.ToHeaders DescribeDashboard where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeDashboard where+  toPath DescribeDashboard' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/dashboards/",+        Data.toBS dashboardId+      ]++instance Data.ToQuery DescribeDashboard where+  toQuery DescribeDashboard' {..} =+    Prelude.mconcat+      [ "alias-name" Data.=: aliasName,+        "version-number" Data.=: versionNumber+      ]++-- | /See:/ 'newDescribeDashboardResponse' smart constructor.+data DescribeDashboardResponse = DescribeDashboardResponse'+  { -- | Information about the dashboard.+    dashboard :: Prelude.Maybe Dashboard,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of this request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDashboardResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dashboard', 'describeDashboardResponse_dashboard' - Information about the dashboard.+--+-- 'requestId', 'describeDashboardResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeDashboardResponse_status' - The HTTP status of this request.+newDescribeDashboardResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeDashboardResponse+newDescribeDashboardResponse pStatus_ =+  DescribeDashboardResponse'+    { dashboard =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | Information about the dashboard.+describeDashboardResponse_dashboard :: Lens.Lens' DescribeDashboardResponse (Prelude.Maybe Dashboard)+describeDashboardResponse_dashboard = Lens.lens (\DescribeDashboardResponse' {dashboard} -> dashboard) (\s@DescribeDashboardResponse' {} a -> s {dashboard = a} :: DescribeDashboardResponse)++-- | The Amazon Web Services request ID for this operation.+describeDashboardResponse_requestId :: Lens.Lens' DescribeDashboardResponse (Prelude.Maybe Prelude.Text)+describeDashboardResponse_requestId = Lens.lens (\DescribeDashboardResponse' {requestId} -> requestId) (\s@DescribeDashboardResponse' {} a -> s {requestId = a} :: DescribeDashboardResponse)++-- | The HTTP status of this request.+describeDashboardResponse_status :: Lens.Lens' DescribeDashboardResponse Prelude.Int+describeDashboardResponse_status = Lens.lens (\DescribeDashboardResponse' {status} -> status) (\s@DescribeDashboardResponse' {} a -> s {status = a} :: DescribeDashboardResponse)++instance Prelude.NFData DescribeDashboardResponse where+  rnf DescribeDashboardResponse' {..} =+    Prelude.rnf dashboard+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeDashboardDefinition.hs view
@@ -0,0 +1,351 @@+{-# 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.QuickSight.DescribeDashboardDefinition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides a detailed description of the definition of a dashboard.+--+-- If you do not need to know details about the content of a dashboard, for+-- instance if you are trying to check the status of a recently created or+-- updated dashboard, use the+-- <https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeDashboard.html DescribeDashboard>+-- instead.+module Amazonka.QuickSight.DescribeDashboardDefinition+  ( -- * Creating a Request+    DescribeDashboardDefinition (..),+    newDescribeDashboardDefinition,++    -- * Request Lenses+    describeDashboardDefinition_aliasName,+    describeDashboardDefinition_versionNumber,+    describeDashboardDefinition_awsAccountId,+    describeDashboardDefinition_dashboardId,++    -- * Destructuring the Response+    DescribeDashboardDefinitionResponse (..),+    newDescribeDashboardDefinitionResponse,++    -- * Response Lenses+    describeDashboardDefinitionResponse_dashboardId,+    describeDashboardDefinitionResponse_definition,+    describeDashboardDefinitionResponse_errors,+    describeDashboardDefinitionResponse_name,+    describeDashboardDefinitionResponse_requestId,+    describeDashboardDefinitionResponse_resourceStatus,+    describeDashboardDefinitionResponse_themeArn,+    describeDashboardDefinitionResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDashboardDefinition' smart constructor.+data DescribeDashboardDefinition = DescribeDashboardDefinition'+  { -- | The alias name.+    aliasName :: Prelude.Maybe Prelude.Text,+    -- | The version number for the dashboard. If a version number isn\'t passed,+    -- the latest published dashboard version is described.+    versionNumber :: Prelude.Maybe Prelude.Natural,+    -- | The ID of the Amazon Web Services account that contains the dashboard+    -- that you\'re describing.+    awsAccountId :: Prelude.Text,+    -- | The ID for the dashboard.+    dashboardId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDashboardDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aliasName', 'describeDashboardDefinition_aliasName' - The alias name.+--+-- 'versionNumber', 'describeDashboardDefinition_versionNumber' - The version number for the dashboard. If a version number isn\'t passed,+-- the latest published dashboard version is described.+--+-- 'awsAccountId', 'describeDashboardDefinition_awsAccountId' - The ID of the Amazon Web Services account that contains the dashboard+-- that you\'re describing.+--+-- 'dashboardId', 'describeDashboardDefinition_dashboardId' - The ID for the dashboard.+newDescribeDashboardDefinition ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dashboardId'+  Prelude.Text ->+  DescribeDashboardDefinition+newDescribeDashboardDefinition+  pAwsAccountId_+  pDashboardId_ =+    DescribeDashboardDefinition'+      { aliasName =+          Prelude.Nothing,+        versionNumber = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        dashboardId = pDashboardId_+      }++-- | The alias name.+describeDashboardDefinition_aliasName :: Lens.Lens' DescribeDashboardDefinition (Prelude.Maybe Prelude.Text)+describeDashboardDefinition_aliasName = Lens.lens (\DescribeDashboardDefinition' {aliasName} -> aliasName) (\s@DescribeDashboardDefinition' {} a -> s {aliasName = a} :: DescribeDashboardDefinition)++-- | The version number for the dashboard. If a version number isn\'t passed,+-- the latest published dashboard version is described.+describeDashboardDefinition_versionNumber :: Lens.Lens' DescribeDashboardDefinition (Prelude.Maybe Prelude.Natural)+describeDashboardDefinition_versionNumber = Lens.lens (\DescribeDashboardDefinition' {versionNumber} -> versionNumber) (\s@DescribeDashboardDefinition' {} a -> s {versionNumber = a} :: DescribeDashboardDefinition)++-- | The ID of the Amazon Web Services account that contains the dashboard+-- that you\'re describing.+describeDashboardDefinition_awsAccountId :: Lens.Lens' DescribeDashboardDefinition Prelude.Text+describeDashboardDefinition_awsAccountId = Lens.lens (\DescribeDashboardDefinition' {awsAccountId} -> awsAccountId) (\s@DescribeDashboardDefinition' {} a -> s {awsAccountId = a} :: DescribeDashboardDefinition)++-- | The ID for the dashboard.+describeDashboardDefinition_dashboardId :: Lens.Lens' DescribeDashboardDefinition Prelude.Text+describeDashboardDefinition_dashboardId = Lens.lens (\DescribeDashboardDefinition' {dashboardId} -> dashboardId) (\s@DescribeDashboardDefinition' {} a -> s {dashboardId = a} :: DescribeDashboardDefinition)++instance Core.AWSRequest DescribeDashboardDefinition where+  type+    AWSResponse DescribeDashboardDefinition =+      DescribeDashboardDefinitionResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeDashboardDefinitionResponse'+            Prelude.<$> (x Data..?> "DashboardId")+            Prelude.<*> (x Data..?> "Definition")+            Prelude.<*> (x Data..?> "Errors")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "ResourceStatus")+            Prelude.<*> (x Data..?> "ThemeArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDashboardDefinition where+  hashWithSalt _salt DescribeDashboardDefinition' {..} =+    _salt+      `Prelude.hashWithSalt` aliasName+      `Prelude.hashWithSalt` versionNumber+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dashboardId++instance Prelude.NFData DescribeDashboardDefinition where+  rnf DescribeDashboardDefinition' {..} =+    Prelude.rnf aliasName+      `Prelude.seq` Prelude.rnf versionNumber+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dashboardId++instance Data.ToHeaders DescribeDashboardDefinition where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeDashboardDefinition where+  toPath DescribeDashboardDefinition' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/dashboards/",+        Data.toBS dashboardId,+        "/definition"+      ]++instance Data.ToQuery DescribeDashboardDefinition where+  toQuery DescribeDashboardDefinition' {..} =+    Prelude.mconcat+      [ "alias-name" Data.=: aliasName,+        "version-number" Data.=: versionNumber+      ]++-- | /See:/ 'newDescribeDashboardDefinitionResponse' smart constructor.+data DescribeDashboardDefinitionResponse = DescribeDashboardDefinitionResponse'+  { -- | The ID of the dashboard described.+    dashboardId :: Prelude.Maybe Prelude.Text,+    -- | The definition of a dashboard.+    --+    -- A definition is the data model of all features in a Dashboard, Template,+    -- or Analysis.+    definition :: Prelude.Maybe DashboardVersionDefinition,+    -- | Errors associated with this dashboard version.+    errors :: Prelude.Maybe (Prelude.NonEmpty DashboardError),+    -- | The display name of the dashboard.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | Status associated with the dashboard version.+    --+    -- -   @CREATION_IN_PROGRESS@+    --+    -- -   @CREATION_SUCCESSFUL@+    --+    -- -   @CREATION_FAILED@+    --+    -- -   @UPDATE_IN_PROGRESS@+    --+    -- -   @UPDATE_SUCCESSFUL@+    --+    -- -   @UPDATE_FAILED@+    --+    -- -   @DELETED@+    resourceStatus :: Prelude.Maybe ResourceStatus,+    -- | The ARN of the theme of the dashboard.+    themeArn :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDashboardDefinitionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dashboardId', 'describeDashboardDefinitionResponse_dashboardId' - The ID of the dashboard described.+--+-- 'definition', 'describeDashboardDefinitionResponse_definition' - The definition of a dashboard.+--+-- A definition is the data model of all features in a Dashboard, Template,+-- or Analysis.+--+-- 'errors', 'describeDashboardDefinitionResponse_errors' - Errors associated with this dashboard version.+--+-- 'name', 'describeDashboardDefinitionResponse_name' - The display name of the dashboard.+--+-- 'requestId', 'describeDashboardDefinitionResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'resourceStatus', 'describeDashboardDefinitionResponse_resourceStatus' - Status associated with the dashboard version.+--+-- -   @CREATION_IN_PROGRESS@+--+-- -   @CREATION_SUCCESSFUL@+--+-- -   @CREATION_FAILED@+--+-- -   @UPDATE_IN_PROGRESS@+--+-- -   @UPDATE_SUCCESSFUL@+--+-- -   @UPDATE_FAILED@+--+-- -   @DELETED@+--+-- 'themeArn', 'describeDashboardDefinitionResponse_themeArn' - The ARN of the theme of the dashboard.+--+-- 'status', 'describeDashboardDefinitionResponse_status' - The HTTP status of the request.+newDescribeDashboardDefinitionResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeDashboardDefinitionResponse+newDescribeDashboardDefinitionResponse pStatus_ =+  DescribeDashboardDefinitionResponse'+    { dashboardId =+        Prelude.Nothing,+      definition = Prelude.Nothing,+      errors = Prelude.Nothing,+      name = Prelude.Nothing,+      requestId = Prelude.Nothing,+      resourceStatus = Prelude.Nothing,+      themeArn = Prelude.Nothing,+      status = pStatus_+    }++-- | The ID of the dashboard described.+describeDashboardDefinitionResponse_dashboardId :: Lens.Lens' DescribeDashboardDefinitionResponse (Prelude.Maybe Prelude.Text)+describeDashboardDefinitionResponse_dashboardId = Lens.lens (\DescribeDashboardDefinitionResponse' {dashboardId} -> dashboardId) (\s@DescribeDashboardDefinitionResponse' {} a -> s {dashboardId = a} :: DescribeDashboardDefinitionResponse)++-- | The definition of a dashboard.+--+-- A definition is the data model of all features in a Dashboard, Template,+-- or Analysis.+describeDashboardDefinitionResponse_definition :: Lens.Lens' DescribeDashboardDefinitionResponse (Prelude.Maybe DashboardVersionDefinition)+describeDashboardDefinitionResponse_definition = Lens.lens (\DescribeDashboardDefinitionResponse' {definition} -> definition) (\s@DescribeDashboardDefinitionResponse' {} a -> s {definition = a} :: DescribeDashboardDefinitionResponse)++-- | Errors associated with this dashboard version.+describeDashboardDefinitionResponse_errors :: Lens.Lens' DescribeDashboardDefinitionResponse (Prelude.Maybe (Prelude.NonEmpty DashboardError))+describeDashboardDefinitionResponse_errors = Lens.lens (\DescribeDashboardDefinitionResponse' {errors} -> errors) (\s@DescribeDashboardDefinitionResponse' {} a -> s {errors = a} :: DescribeDashboardDefinitionResponse) Prelude.. Lens.mapping Lens.coerced++-- | The display name of the dashboard.+describeDashboardDefinitionResponse_name :: Lens.Lens' DescribeDashboardDefinitionResponse (Prelude.Maybe Prelude.Text)+describeDashboardDefinitionResponse_name = Lens.lens (\DescribeDashboardDefinitionResponse' {name} -> name) (\s@DescribeDashboardDefinitionResponse' {} a -> s {name = a} :: DescribeDashboardDefinitionResponse)++-- | The Amazon Web Services request ID for this operation.+describeDashboardDefinitionResponse_requestId :: Lens.Lens' DescribeDashboardDefinitionResponse (Prelude.Maybe Prelude.Text)+describeDashboardDefinitionResponse_requestId = Lens.lens (\DescribeDashboardDefinitionResponse' {requestId} -> requestId) (\s@DescribeDashboardDefinitionResponse' {} a -> s {requestId = a} :: DescribeDashboardDefinitionResponse)++-- | Status associated with the dashboard version.+--+-- -   @CREATION_IN_PROGRESS@+--+-- -   @CREATION_SUCCESSFUL@+--+-- -   @CREATION_FAILED@+--+-- -   @UPDATE_IN_PROGRESS@+--+-- -   @UPDATE_SUCCESSFUL@+--+-- -   @UPDATE_FAILED@+--+-- -   @DELETED@+describeDashboardDefinitionResponse_resourceStatus :: Lens.Lens' DescribeDashboardDefinitionResponse (Prelude.Maybe ResourceStatus)+describeDashboardDefinitionResponse_resourceStatus = Lens.lens (\DescribeDashboardDefinitionResponse' {resourceStatus} -> resourceStatus) (\s@DescribeDashboardDefinitionResponse' {} a -> s {resourceStatus = a} :: DescribeDashboardDefinitionResponse)++-- | The ARN of the theme of the dashboard.+describeDashboardDefinitionResponse_themeArn :: Lens.Lens' DescribeDashboardDefinitionResponse (Prelude.Maybe Prelude.Text)+describeDashboardDefinitionResponse_themeArn = Lens.lens (\DescribeDashboardDefinitionResponse' {themeArn} -> themeArn) (\s@DescribeDashboardDefinitionResponse' {} a -> s {themeArn = a} :: DescribeDashboardDefinitionResponse)++-- | The HTTP status of the request.+describeDashboardDefinitionResponse_status :: Lens.Lens' DescribeDashboardDefinitionResponse Prelude.Int+describeDashboardDefinitionResponse_status = Lens.lens (\DescribeDashboardDefinitionResponse' {status} -> status) (\s@DescribeDashboardDefinitionResponse' {} a -> s {status = a} :: DescribeDashboardDefinitionResponse)++instance+  Prelude.NFData+    DescribeDashboardDefinitionResponse+  where+  rnf DescribeDashboardDefinitionResponse' {..} =+    Prelude.rnf dashboardId+      `Prelude.seq` Prelude.rnf definition+      `Prelude.seq` Prelude.rnf errors+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf resourceStatus+      `Prelude.seq` Prelude.rnf themeArn+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeDashboardPermissions.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.QuickSight.DescribeDashboardPermissions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes read and write permissions for a dashboard.+module Amazonka.QuickSight.DescribeDashboardPermissions+  ( -- * Creating a Request+    DescribeDashboardPermissions (..),+    newDescribeDashboardPermissions,++    -- * Request Lenses+    describeDashboardPermissions_awsAccountId,+    describeDashboardPermissions_dashboardId,++    -- * Destructuring the Response+    DescribeDashboardPermissionsResponse (..),+    newDescribeDashboardPermissionsResponse,++    -- * Response Lenses+    describeDashboardPermissionsResponse_dashboardArn,+    describeDashboardPermissionsResponse_dashboardId,+    describeDashboardPermissionsResponse_linkSharingConfiguration,+    describeDashboardPermissionsResponse_permissions,+    describeDashboardPermissionsResponse_requestId,+    describeDashboardPermissionsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDashboardPermissions' smart constructor.+data DescribeDashboardPermissions = DescribeDashboardPermissions'+  { -- | The ID of the Amazon Web Services account that contains the dashboard+    -- that you\'re describing permissions for.+    awsAccountId :: Prelude.Text,+    -- | The ID for the dashboard, also added to the IAM policy.+    dashboardId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDashboardPermissions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeDashboardPermissions_awsAccountId' - The ID of the Amazon Web Services account that contains the dashboard+-- that you\'re describing permissions for.+--+-- 'dashboardId', 'describeDashboardPermissions_dashboardId' - The ID for the dashboard, also added to the IAM policy.+newDescribeDashboardPermissions ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dashboardId'+  Prelude.Text ->+  DescribeDashboardPermissions+newDescribeDashboardPermissions+  pAwsAccountId_+  pDashboardId_ =+    DescribeDashboardPermissions'+      { awsAccountId =+          pAwsAccountId_,+        dashboardId = pDashboardId_+      }++-- | The ID of the Amazon Web Services account that contains the dashboard+-- that you\'re describing permissions for.+describeDashboardPermissions_awsAccountId :: Lens.Lens' DescribeDashboardPermissions Prelude.Text+describeDashboardPermissions_awsAccountId = Lens.lens (\DescribeDashboardPermissions' {awsAccountId} -> awsAccountId) (\s@DescribeDashboardPermissions' {} a -> s {awsAccountId = a} :: DescribeDashboardPermissions)++-- | The ID for the dashboard, also added to the IAM policy.+describeDashboardPermissions_dashboardId :: Lens.Lens' DescribeDashboardPermissions Prelude.Text+describeDashboardPermissions_dashboardId = Lens.lens (\DescribeDashboardPermissions' {dashboardId} -> dashboardId) (\s@DescribeDashboardPermissions' {} a -> s {dashboardId = a} :: DescribeDashboardPermissions)++instance Core.AWSRequest DescribeDashboardPermissions where+  type+    AWSResponse DescribeDashboardPermissions =+      DescribeDashboardPermissionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeDashboardPermissionsResponse'+            Prelude.<$> (x Data..?> "DashboardArn")+            Prelude.<*> (x Data..?> "DashboardId")+            Prelude.<*> (x Data..?> "LinkSharingConfiguration")+            Prelude.<*> (x Data..?> "Permissions")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeDashboardPermissions+  where+  hashWithSalt _salt DescribeDashboardPermissions' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dashboardId++instance Prelude.NFData DescribeDashboardPermissions where+  rnf DescribeDashboardPermissions' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dashboardId++instance Data.ToHeaders DescribeDashboardPermissions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeDashboardPermissions where+  toPath DescribeDashboardPermissions' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/dashboards/",+        Data.toBS dashboardId,+        "/permissions"+      ]++instance Data.ToQuery DescribeDashboardPermissions where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeDashboardPermissionsResponse' smart constructor.+data DescribeDashboardPermissionsResponse = DescribeDashboardPermissionsResponse'+  { -- | The Amazon Resource Name (ARN) of the dashboard.+    dashboardArn :: Prelude.Maybe Prelude.Text,+    -- | The ID for the dashboard.+    dashboardId :: Prelude.Maybe Prelude.Text,+    -- | A structure that contains the configuration of a shareable link that+    -- grants access to the dashboard. Your users can use the link to view and+    -- interact with the dashboard, if the dashboard has been shared with them.+    -- For more information about sharing dashboards, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/sharing-a-dashboard.html Sharing Dashboards>.+    linkSharingConfiguration :: Prelude.Maybe LinkSharingConfiguration,+    -- | A structure that contains the permissions for the dashboard.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDashboardPermissionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dashboardArn', 'describeDashboardPermissionsResponse_dashboardArn' - The Amazon Resource Name (ARN) of the dashboard.+--+-- 'dashboardId', 'describeDashboardPermissionsResponse_dashboardId' - The ID for the dashboard.+--+-- 'linkSharingConfiguration', 'describeDashboardPermissionsResponse_linkSharingConfiguration' - A structure that contains the configuration of a shareable link that+-- grants access to the dashboard. Your users can use the link to view and+-- interact with the dashboard, if the dashboard has been shared with them.+-- For more information about sharing dashboards, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/sharing-a-dashboard.html Sharing Dashboards>.+--+-- 'permissions', 'describeDashboardPermissionsResponse_permissions' - A structure that contains the permissions for the dashboard.+--+-- 'requestId', 'describeDashboardPermissionsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeDashboardPermissionsResponse_status' - The HTTP status of the request.+newDescribeDashboardPermissionsResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeDashboardPermissionsResponse+newDescribeDashboardPermissionsResponse pStatus_ =+  DescribeDashboardPermissionsResponse'+    { dashboardArn =+        Prelude.Nothing,+      dashboardId = Prelude.Nothing,+      linkSharingConfiguration =+        Prelude.Nothing,+      permissions = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) of the dashboard.+describeDashboardPermissionsResponse_dashboardArn :: Lens.Lens' DescribeDashboardPermissionsResponse (Prelude.Maybe Prelude.Text)+describeDashboardPermissionsResponse_dashboardArn = Lens.lens (\DescribeDashboardPermissionsResponse' {dashboardArn} -> dashboardArn) (\s@DescribeDashboardPermissionsResponse' {} a -> s {dashboardArn = a} :: DescribeDashboardPermissionsResponse)++-- | The ID for the dashboard.+describeDashboardPermissionsResponse_dashboardId :: Lens.Lens' DescribeDashboardPermissionsResponse (Prelude.Maybe Prelude.Text)+describeDashboardPermissionsResponse_dashboardId = Lens.lens (\DescribeDashboardPermissionsResponse' {dashboardId} -> dashboardId) (\s@DescribeDashboardPermissionsResponse' {} a -> s {dashboardId = a} :: DescribeDashboardPermissionsResponse)++-- | A structure that contains the configuration of a shareable link that+-- grants access to the dashboard. Your users can use the link to view and+-- interact with the dashboard, if the dashboard has been shared with them.+-- For more information about sharing dashboards, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/sharing-a-dashboard.html Sharing Dashboards>.+describeDashboardPermissionsResponse_linkSharingConfiguration :: Lens.Lens' DescribeDashboardPermissionsResponse (Prelude.Maybe LinkSharingConfiguration)+describeDashboardPermissionsResponse_linkSharingConfiguration = Lens.lens (\DescribeDashboardPermissionsResponse' {linkSharingConfiguration} -> linkSharingConfiguration) (\s@DescribeDashboardPermissionsResponse' {} a -> s {linkSharingConfiguration = a} :: DescribeDashboardPermissionsResponse)++-- | A structure that contains the permissions for the dashboard.+describeDashboardPermissionsResponse_permissions :: Lens.Lens' DescribeDashboardPermissionsResponse (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+describeDashboardPermissionsResponse_permissions = Lens.lens (\DescribeDashboardPermissionsResponse' {permissions} -> permissions) (\s@DescribeDashboardPermissionsResponse' {} a -> s {permissions = a} :: DescribeDashboardPermissionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services request ID for this operation.+describeDashboardPermissionsResponse_requestId :: Lens.Lens' DescribeDashboardPermissionsResponse (Prelude.Maybe Prelude.Text)+describeDashboardPermissionsResponse_requestId = Lens.lens (\DescribeDashboardPermissionsResponse' {requestId} -> requestId) (\s@DescribeDashboardPermissionsResponse' {} a -> s {requestId = a} :: DescribeDashboardPermissionsResponse)++-- | The HTTP status of the request.+describeDashboardPermissionsResponse_status :: Lens.Lens' DescribeDashboardPermissionsResponse Prelude.Int+describeDashboardPermissionsResponse_status = Lens.lens (\DescribeDashboardPermissionsResponse' {status} -> status) (\s@DescribeDashboardPermissionsResponse' {} a -> s {status = a} :: DescribeDashboardPermissionsResponse)++instance+  Prelude.NFData+    DescribeDashboardPermissionsResponse+  where+  rnf DescribeDashboardPermissionsResponse' {..} =+    Prelude.rnf dashboardArn+      `Prelude.seq` Prelude.rnf dashboardId+      `Prelude.seq` Prelude.rnf linkSharingConfiguration+      `Prelude.seq` Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeDataSet.hs view
@@ -0,0 +1,196 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DescribeDataSet+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes a dataset. This operation doesn\'t support datasets that+-- include uploaded files as a source.+module Amazonka.QuickSight.DescribeDataSet+  ( -- * Creating a Request+    DescribeDataSet (..),+    newDescribeDataSet,++    -- * Request Lenses+    describeDataSet_awsAccountId,+    describeDataSet_dataSetId,++    -- * Destructuring the Response+    DescribeDataSetResponse (..),+    newDescribeDataSetResponse,++    -- * Response Lenses+    describeDataSetResponse_dataSet,+    describeDataSetResponse_requestId,+    describeDataSetResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDataSet' smart constructor.+data DescribeDataSet = DescribeDataSet'+  { -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text,+    -- | The ID for the dataset that you want to create. This ID is unique per+    -- Amazon Web Services Region for each Amazon Web Services account.+    dataSetId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDataSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeDataSet_awsAccountId' - The Amazon Web Services account ID.+--+-- 'dataSetId', 'describeDataSet_dataSetId' - The ID for the dataset that you want to create. This ID is unique per+-- Amazon Web Services Region for each Amazon Web Services account.+newDescribeDataSet ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dataSetId'+  Prelude.Text ->+  DescribeDataSet+newDescribeDataSet pAwsAccountId_ pDataSetId_ =+  DescribeDataSet'+    { awsAccountId = pAwsAccountId_,+      dataSetId = pDataSetId_+    }++-- | The Amazon Web Services account ID.+describeDataSet_awsAccountId :: Lens.Lens' DescribeDataSet Prelude.Text+describeDataSet_awsAccountId = Lens.lens (\DescribeDataSet' {awsAccountId} -> awsAccountId) (\s@DescribeDataSet' {} a -> s {awsAccountId = a} :: DescribeDataSet)++-- | The ID for the dataset that you want to create. This ID is unique per+-- Amazon Web Services Region for each Amazon Web Services account.+describeDataSet_dataSetId :: Lens.Lens' DescribeDataSet Prelude.Text+describeDataSet_dataSetId = Lens.lens (\DescribeDataSet' {dataSetId} -> dataSetId) (\s@DescribeDataSet' {} a -> s {dataSetId = a} :: DescribeDataSet)++instance Core.AWSRequest DescribeDataSet where+  type+    AWSResponse DescribeDataSet =+      DescribeDataSetResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeDataSetResponse'+            Prelude.<$> (x Data..?> "DataSet")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDataSet where+  hashWithSalt _salt DescribeDataSet' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dataSetId++instance Prelude.NFData DescribeDataSet where+  rnf DescribeDataSet' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dataSetId++instance Data.ToHeaders DescribeDataSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeDataSet where+  toPath DescribeDataSet' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/data-sets/",+        Data.toBS dataSetId+      ]++instance Data.ToQuery DescribeDataSet where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeDataSetResponse' smart constructor.+data DescribeDataSetResponse = DescribeDataSetResponse'+  { -- | Information on the dataset.+    dataSet :: Prelude.Maybe DataSet,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDataSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSet', 'describeDataSetResponse_dataSet' - Information on the dataset.+--+-- 'requestId', 'describeDataSetResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeDataSetResponse_status' - The HTTP status of the request.+newDescribeDataSetResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeDataSetResponse+newDescribeDataSetResponse pStatus_ =+  DescribeDataSetResponse'+    { dataSet = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | Information on the dataset.+describeDataSetResponse_dataSet :: Lens.Lens' DescribeDataSetResponse (Prelude.Maybe DataSet)+describeDataSetResponse_dataSet = Lens.lens (\DescribeDataSetResponse' {dataSet} -> dataSet) (\s@DescribeDataSetResponse' {} a -> s {dataSet = a} :: DescribeDataSetResponse)++-- | The Amazon Web Services request ID for this operation.+describeDataSetResponse_requestId :: Lens.Lens' DescribeDataSetResponse (Prelude.Maybe Prelude.Text)+describeDataSetResponse_requestId = Lens.lens (\DescribeDataSetResponse' {requestId} -> requestId) (\s@DescribeDataSetResponse' {} a -> s {requestId = a} :: DescribeDataSetResponse)++-- | The HTTP status of the request.+describeDataSetResponse_status :: Lens.Lens' DescribeDataSetResponse Prelude.Int+describeDataSetResponse_status = Lens.lens (\DescribeDataSetResponse' {status} -> status) (\s@DescribeDataSetResponse' {} a -> s {status = a} :: DescribeDataSetResponse)++instance Prelude.NFData DescribeDataSetResponse where+  rnf DescribeDataSetResponse' {..} =+    Prelude.rnf dataSet+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeDataSetPermissions.hs view
@@ -0,0 +1,233 @@+{-# 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.QuickSight.DescribeDataSetPermissions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the permissions on a dataset.+--+-- The permissions resource is+-- @arn:aws:quicksight:region:aws-account-id:dataset\/data-set-id@.+module Amazonka.QuickSight.DescribeDataSetPermissions+  ( -- * Creating a Request+    DescribeDataSetPermissions (..),+    newDescribeDataSetPermissions,++    -- * Request Lenses+    describeDataSetPermissions_awsAccountId,+    describeDataSetPermissions_dataSetId,++    -- * Destructuring the Response+    DescribeDataSetPermissionsResponse (..),+    newDescribeDataSetPermissionsResponse,++    -- * Response Lenses+    describeDataSetPermissionsResponse_dataSetArn,+    describeDataSetPermissionsResponse_dataSetId,+    describeDataSetPermissionsResponse_permissions,+    describeDataSetPermissionsResponse_requestId,+    describeDataSetPermissionsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDataSetPermissions' smart constructor.+data DescribeDataSetPermissions = DescribeDataSetPermissions'+  { -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text,+    -- | The ID for the dataset that you want to create. This ID is unique per+    -- Amazon Web Services Region for each Amazon Web Services account.+    dataSetId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDataSetPermissions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeDataSetPermissions_awsAccountId' - The Amazon Web Services account ID.+--+-- 'dataSetId', 'describeDataSetPermissions_dataSetId' - The ID for the dataset that you want to create. This ID is unique per+-- Amazon Web Services Region for each Amazon Web Services account.+newDescribeDataSetPermissions ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dataSetId'+  Prelude.Text ->+  DescribeDataSetPermissions+newDescribeDataSetPermissions+  pAwsAccountId_+  pDataSetId_ =+    DescribeDataSetPermissions'+      { awsAccountId =+          pAwsAccountId_,+        dataSetId = pDataSetId_+      }++-- | The Amazon Web Services account ID.+describeDataSetPermissions_awsAccountId :: Lens.Lens' DescribeDataSetPermissions Prelude.Text+describeDataSetPermissions_awsAccountId = Lens.lens (\DescribeDataSetPermissions' {awsAccountId} -> awsAccountId) (\s@DescribeDataSetPermissions' {} a -> s {awsAccountId = a} :: DescribeDataSetPermissions)++-- | The ID for the dataset that you want to create. This ID is unique per+-- Amazon Web Services Region for each Amazon Web Services account.+describeDataSetPermissions_dataSetId :: Lens.Lens' DescribeDataSetPermissions Prelude.Text+describeDataSetPermissions_dataSetId = Lens.lens (\DescribeDataSetPermissions' {dataSetId} -> dataSetId) (\s@DescribeDataSetPermissions' {} a -> s {dataSetId = a} :: DescribeDataSetPermissions)++instance Core.AWSRequest DescribeDataSetPermissions where+  type+    AWSResponse DescribeDataSetPermissions =+      DescribeDataSetPermissionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeDataSetPermissionsResponse'+            Prelude.<$> (x Data..?> "DataSetArn")+            Prelude.<*> (x Data..?> "DataSetId")+            Prelude.<*> (x Data..?> "Permissions")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDataSetPermissions where+  hashWithSalt _salt DescribeDataSetPermissions' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dataSetId++instance Prelude.NFData DescribeDataSetPermissions where+  rnf DescribeDataSetPermissions' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dataSetId++instance Data.ToHeaders DescribeDataSetPermissions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeDataSetPermissions where+  toPath DescribeDataSetPermissions' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/data-sets/",+        Data.toBS dataSetId,+        "/permissions"+      ]++instance Data.ToQuery DescribeDataSetPermissions where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeDataSetPermissionsResponse' smart constructor.+data DescribeDataSetPermissionsResponse = DescribeDataSetPermissionsResponse'+  { -- | The Amazon Resource Name (ARN) of the dataset.+    dataSetArn :: Prelude.Maybe Prelude.Text,+    -- | The ID for the dataset that you want to create. This ID is unique per+    -- Amazon Web Services Region for each Amazon Web Services account.+    dataSetId :: Prelude.Maybe Prelude.Text,+    -- | A list of resource permissions on the dataset.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDataSetPermissionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSetArn', 'describeDataSetPermissionsResponse_dataSetArn' - The Amazon Resource Name (ARN) of the dataset.+--+-- 'dataSetId', 'describeDataSetPermissionsResponse_dataSetId' - The ID for the dataset that you want to create. This ID is unique per+-- Amazon Web Services Region for each Amazon Web Services account.+--+-- 'permissions', 'describeDataSetPermissionsResponse_permissions' - A list of resource permissions on the dataset.+--+-- 'requestId', 'describeDataSetPermissionsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeDataSetPermissionsResponse_status' - The HTTP status of the request.+newDescribeDataSetPermissionsResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeDataSetPermissionsResponse+newDescribeDataSetPermissionsResponse pStatus_ =+  DescribeDataSetPermissionsResponse'+    { dataSetArn =+        Prelude.Nothing,+      dataSetId = Prelude.Nothing,+      permissions = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) of the dataset.+describeDataSetPermissionsResponse_dataSetArn :: Lens.Lens' DescribeDataSetPermissionsResponse (Prelude.Maybe Prelude.Text)+describeDataSetPermissionsResponse_dataSetArn = Lens.lens (\DescribeDataSetPermissionsResponse' {dataSetArn} -> dataSetArn) (\s@DescribeDataSetPermissionsResponse' {} a -> s {dataSetArn = a} :: DescribeDataSetPermissionsResponse)++-- | The ID for the dataset that you want to create. This ID is unique per+-- Amazon Web Services Region for each Amazon Web Services account.+describeDataSetPermissionsResponse_dataSetId :: Lens.Lens' DescribeDataSetPermissionsResponse (Prelude.Maybe Prelude.Text)+describeDataSetPermissionsResponse_dataSetId = Lens.lens (\DescribeDataSetPermissionsResponse' {dataSetId} -> dataSetId) (\s@DescribeDataSetPermissionsResponse' {} a -> s {dataSetId = a} :: DescribeDataSetPermissionsResponse)++-- | A list of resource permissions on the dataset.+describeDataSetPermissionsResponse_permissions :: Lens.Lens' DescribeDataSetPermissionsResponse (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+describeDataSetPermissionsResponse_permissions = Lens.lens (\DescribeDataSetPermissionsResponse' {permissions} -> permissions) (\s@DescribeDataSetPermissionsResponse' {} a -> s {permissions = a} :: DescribeDataSetPermissionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services request ID for this operation.+describeDataSetPermissionsResponse_requestId :: Lens.Lens' DescribeDataSetPermissionsResponse (Prelude.Maybe Prelude.Text)+describeDataSetPermissionsResponse_requestId = Lens.lens (\DescribeDataSetPermissionsResponse' {requestId} -> requestId) (\s@DescribeDataSetPermissionsResponse' {} a -> s {requestId = a} :: DescribeDataSetPermissionsResponse)++-- | The HTTP status of the request.+describeDataSetPermissionsResponse_status :: Lens.Lens' DescribeDataSetPermissionsResponse Prelude.Int+describeDataSetPermissionsResponse_status = Lens.lens (\DescribeDataSetPermissionsResponse' {status} -> status) (\s@DescribeDataSetPermissionsResponse' {} a -> s {status = a} :: DescribeDataSetPermissionsResponse)++instance+  Prelude.NFData+    DescribeDataSetPermissionsResponse+  where+  rnf DescribeDataSetPermissionsResponse' {..} =+    Prelude.rnf dataSetArn+      `Prelude.seq` Prelude.rnf dataSetId+      `Prelude.seq` Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeDataSource.hs view
@@ -0,0 +1,196 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DescribeDataSource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes a data source.+module Amazonka.QuickSight.DescribeDataSource+  ( -- * Creating a Request+    DescribeDataSource (..),+    newDescribeDataSource,++    -- * Request Lenses+    describeDataSource_awsAccountId,+    describeDataSource_dataSourceId,++    -- * Destructuring the Response+    DescribeDataSourceResponse (..),+    newDescribeDataSourceResponse,++    -- * Response Lenses+    describeDataSourceResponse_dataSource,+    describeDataSourceResponse_requestId,+    describeDataSourceResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDataSource' smart constructor.+data DescribeDataSource = DescribeDataSource'+  { -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text,+    -- | The ID of the data source. This ID is unique per Amazon Web Services+    -- Region for each Amazon Web Services account.+    dataSourceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDataSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeDataSource_awsAccountId' - The Amazon Web Services account ID.+--+-- 'dataSourceId', 'describeDataSource_dataSourceId' - The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+newDescribeDataSource ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dataSourceId'+  Prelude.Text ->+  DescribeDataSource+newDescribeDataSource pAwsAccountId_ pDataSourceId_ =+  DescribeDataSource'+    { awsAccountId = pAwsAccountId_,+      dataSourceId = pDataSourceId_+    }++-- | The Amazon Web Services account ID.+describeDataSource_awsAccountId :: Lens.Lens' DescribeDataSource Prelude.Text+describeDataSource_awsAccountId = Lens.lens (\DescribeDataSource' {awsAccountId} -> awsAccountId) (\s@DescribeDataSource' {} a -> s {awsAccountId = a} :: DescribeDataSource)++-- | The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+describeDataSource_dataSourceId :: Lens.Lens' DescribeDataSource Prelude.Text+describeDataSource_dataSourceId = Lens.lens (\DescribeDataSource' {dataSourceId} -> dataSourceId) (\s@DescribeDataSource' {} a -> s {dataSourceId = a} :: DescribeDataSource)++instance Core.AWSRequest DescribeDataSource where+  type+    AWSResponse DescribeDataSource =+      DescribeDataSourceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeDataSourceResponse'+            Prelude.<$> (x Data..?> "DataSource")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDataSource where+  hashWithSalt _salt DescribeDataSource' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dataSourceId++instance Prelude.NFData DescribeDataSource where+  rnf DescribeDataSource' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dataSourceId++instance Data.ToHeaders DescribeDataSource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeDataSource where+  toPath DescribeDataSource' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/data-sources/",+        Data.toBS dataSourceId+      ]++instance Data.ToQuery DescribeDataSource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeDataSourceResponse' smart constructor.+data DescribeDataSourceResponse = DescribeDataSourceResponse'+  { -- | The information on the data source.+    dataSource :: Prelude.Maybe DataSource,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDataSourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSource', 'describeDataSourceResponse_dataSource' - The information on the data source.+--+-- 'requestId', 'describeDataSourceResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeDataSourceResponse_status' - The HTTP status of the request.+newDescribeDataSourceResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeDataSourceResponse+newDescribeDataSourceResponse pStatus_ =+  DescribeDataSourceResponse'+    { dataSource =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The information on the data source.+describeDataSourceResponse_dataSource :: Lens.Lens' DescribeDataSourceResponse (Prelude.Maybe DataSource)+describeDataSourceResponse_dataSource = Lens.lens (\DescribeDataSourceResponse' {dataSource} -> dataSource) (\s@DescribeDataSourceResponse' {} a -> s {dataSource = a} :: DescribeDataSourceResponse)++-- | The Amazon Web Services request ID for this operation.+describeDataSourceResponse_requestId :: Lens.Lens' DescribeDataSourceResponse (Prelude.Maybe Prelude.Text)+describeDataSourceResponse_requestId = Lens.lens (\DescribeDataSourceResponse' {requestId} -> requestId) (\s@DescribeDataSourceResponse' {} a -> s {requestId = a} :: DescribeDataSourceResponse)++-- | The HTTP status of the request.+describeDataSourceResponse_status :: Lens.Lens' DescribeDataSourceResponse Prelude.Int+describeDataSourceResponse_status = Lens.lens (\DescribeDataSourceResponse' {status} -> status) (\s@DescribeDataSourceResponse' {} a -> s {status = a} :: DescribeDataSourceResponse)++instance Prelude.NFData DescribeDataSourceResponse where+  rnf DescribeDataSourceResponse' {..} =+    Prelude.rnf dataSource+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeDataSourcePermissions.hs view
@@ -0,0 +1,236 @@+{-# 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.QuickSight.DescribeDataSourcePermissions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the resource permissions for a data source.+module Amazonka.QuickSight.DescribeDataSourcePermissions+  ( -- * Creating a Request+    DescribeDataSourcePermissions (..),+    newDescribeDataSourcePermissions,++    -- * Request Lenses+    describeDataSourcePermissions_awsAccountId,+    describeDataSourcePermissions_dataSourceId,++    -- * Destructuring the Response+    DescribeDataSourcePermissionsResponse (..),+    newDescribeDataSourcePermissionsResponse,++    -- * Response Lenses+    describeDataSourcePermissionsResponse_dataSourceArn,+    describeDataSourcePermissionsResponse_dataSourceId,+    describeDataSourcePermissionsResponse_permissions,+    describeDataSourcePermissionsResponse_requestId,+    describeDataSourcePermissionsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDataSourcePermissions' smart constructor.+data DescribeDataSourcePermissions = DescribeDataSourcePermissions'+  { -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text,+    -- | The ID of the data source. This ID is unique per Amazon Web Services+    -- Region for each Amazon Web Services account.+    dataSourceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDataSourcePermissions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeDataSourcePermissions_awsAccountId' - The Amazon Web Services account ID.+--+-- 'dataSourceId', 'describeDataSourcePermissions_dataSourceId' - The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+newDescribeDataSourcePermissions ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dataSourceId'+  Prelude.Text ->+  DescribeDataSourcePermissions+newDescribeDataSourcePermissions+  pAwsAccountId_+  pDataSourceId_ =+    DescribeDataSourcePermissions'+      { awsAccountId =+          pAwsAccountId_,+        dataSourceId = pDataSourceId_+      }++-- | The Amazon Web Services account ID.+describeDataSourcePermissions_awsAccountId :: Lens.Lens' DescribeDataSourcePermissions Prelude.Text+describeDataSourcePermissions_awsAccountId = Lens.lens (\DescribeDataSourcePermissions' {awsAccountId} -> awsAccountId) (\s@DescribeDataSourcePermissions' {} a -> s {awsAccountId = a} :: DescribeDataSourcePermissions)++-- | The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+describeDataSourcePermissions_dataSourceId :: Lens.Lens' DescribeDataSourcePermissions Prelude.Text+describeDataSourcePermissions_dataSourceId = Lens.lens (\DescribeDataSourcePermissions' {dataSourceId} -> dataSourceId) (\s@DescribeDataSourcePermissions' {} a -> s {dataSourceId = a} :: DescribeDataSourcePermissions)++instance+  Core.AWSRequest+    DescribeDataSourcePermissions+  where+  type+    AWSResponse DescribeDataSourcePermissions =+      DescribeDataSourcePermissionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeDataSourcePermissionsResponse'+            Prelude.<$> (x Data..?> "DataSourceArn")+            Prelude.<*> (x Data..?> "DataSourceId")+            Prelude.<*> (x Data..?> "Permissions")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeDataSourcePermissions+  where+  hashWithSalt _salt DescribeDataSourcePermissions' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dataSourceId++instance Prelude.NFData DescribeDataSourcePermissions where+  rnf DescribeDataSourcePermissions' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dataSourceId++instance Data.ToHeaders DescribeDataSourcePermissions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeDataSourcePermissions where+  toPath DescribeDataSourcePermissions' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/data-sources/",+        Data.toBS dataSourceId,+        "/permissions"+      ]++instance Data.ToQuery DescribeDataSourcePermissions where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeDataSourcePermissionsResponse' smart constructor.+data DescribeDataSourcePermissionsResponse = DescribeDataSourcePermissionsResponse'+  { -- | The Amazon Resource Name (ARN) of the data source.+    dataSourceArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the data source. This ID is unique per Amazon Web Services+    -- Region for each Amazon Web Services account.+    dataSourceId :: Prelude.Maybe Prelude.Text,+    -- | A list of resource permissions on the data source.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDataSourcePermissionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSourceArn', 'describeDataSourcePermissionsResponse_dataSourceArn' - The Amazon Resource Name (ARN) of the data source.+--+-- 'dataSourceId', 'describeDataSourcePermissionsResponse_dataSourceId' - The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+--+-- 'permissions', 'describeDataSourcePermissionsResponse_permissions' - A list of resource permissions on the data source.+--+-- 'requestId', 'describeDataSourcePermissionsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeDataSourcePermissionsResponse_status' - The HTTP status of the request.+newDescribeDataSourcePermissionsResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeDataSourcePermissionsResponse+newDescribeDataSourcePermissionsResponse pStatus_ =+  DescribeDataSourcePermissionsResponse'+    { dataSourceArn =+        Prelude.Nothing,+      dataSourceId = Prelude.Nothing,+      permissions = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) of the data source.+describeDataSourcePermissionsResponse_dataSourceArn :: Lens.Lens' DescribeDataSourcePermissionsResponse (Prelude.Maybe Prelude.Text)+describeDataSourcePermissionsResponse_dataSourceArn = Lens.lens (\DescribeDataSourcePermissionsResponse' {dataSourceArn} -> dataSourceArn) (\s@DescribeDataSourcePermissionsResponse' {} a -> s {dataSourceArn = a} :: DescribeDataSourcePermissionsResponse)++-- | The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+describeDataSourcePermissionsResponse_dataSourceId :: Lens.Lens' DescribeDataSourcePermissionsResponse (Prelude.Maybe Prelude.Text)+describeDataSourcePermissionsResponse_dataSourceId = Lens.lens (\DescribeDataSourcePermissionsResponse' {dataSourceId} -> dataSourceId) (\s@DescribeDataSourcePermissionsResponse' {} a -> s {dataSourceId = a} :: DescribeDataSourcePermissionsResponse)++-- | A list of resource permissions on the data source.+describeDataSourcePermissionsResponse_permissions :: Lens.Lens' DescribeDataSourcePermissionsResponse (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+describeDataSourcePermissionsResponse_permissions = Lens.lens (\DescribeDataSourcePermissionsResponse' {permissions} -> permissions) (\s@DescribeDataSourcePermissionsResponse' {} a -> s {permissions = a} :: DescribeDataSourcePermissionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services request ID for this operation.+describeDataSourcePermissionsResponse_requestId :: Lens.Lens' DescribeDataSourcePermissionsResponse (Prelude.Maybe Prelude.Text)+describeDataSourcePermissionsResponse_requestId = Lens.lens (\DescribeDataSourcePermissionsResponse' {requestId} -> requestId) (\s@DescribeDataSourcePermissionsResponse' {} a -> s {requestId = a} :: DescribeDataSourcePermissionsResponse)++-- | The HTTP status of the request.+describeDataSourcePermissionsResponse_status :: Lens.Lens' DescribeDataSourcePermissionsResponse Prelude.Int+describeDataSourcePermissionsResponse_status = Lens.lens (\DescribeDataSourcePermissionsResponse' {status} -> status) (\s@DescribeDataSourcePermissionsResponse' {} a -> s {status = a} :: DescribeDataSourcePermissionsResponse)++instance+  Prelude.NFData+    DescribeDataSourcePermissionsResponse+  where+  rnf DescribeDataSourcePermissionsResponse' {..} =+    Prelude.rnf dataSourceArn+      `Prelude.seq` Prelude.rnf dataSourceId+      `Prelude.seq` Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeFolder.hs view
@@ -0,0 +1,192 @@+{-# 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.QuickSight.DescribeFolder+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes a folder.+module Amazonka.QuickSight.DescribeFolder+  ( -- * Creating a Request+    DescribeFolder (..),+    newDescribeFolder,++    -- * Request Lenses+    describeFolder_awsAccountId,+    describeFolder_folderId,++    -- * Destructuring the Response+    DescribeFolderResponse (..),+    newDescribeFolderResponse,++    -- * Response Lenses+    describeFolderResponse_folder,+    describeFolderResponse_requestId,+    describeFolderResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeFolder' smart constructor.+data DescribeFolder = DescribeFolder'+  { -- | The ID for the Amazon Web Services account that contains the folder.+    awsAccountId :: Prelude.Text,+    -- | The ID of the folder.+    folderId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeFolder' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeFolder_awsAccountId' - The ID for the Amazon Web Services account that contains the folder.+--+-- 'folderId', 'describeFolder_folderId' - The ID of the folder.+newDescribeFolder ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'folderId'+  Prelude.Text ->+  DescribeFolder+newDescribeFolder pAwsAccountId_ pFolderId_ =+  DescribeFolder'+    { awsAccountId = pAwsAccountId_,+      folderId = pFolderId_+    }++-- | The ID for the Amazon Web Services account that contains the folder.+describeFolder_awsAccountId :: Lens.Lens' DescribeFolder Prelude.Text+describeFolder_awsAccountId = Lens.lens (\DescribeFolder' {awsAccountId} -> awsAccountId) (\s@DescribeFolder' {} a -> s {awsAccountId = a} :: DescribeFolder)++-- | The ID of the folder.+describeFolder_folderId :: Lens.Lens' DescribeFolder Prelude.Text+describeFolder_folderId = Lens.lens (\DescribeFolder' {folderId} -> folderId) (\s@DescribeFolder' {} a -> s {folderId = a} :: DescribeFolder)++instance Core.AWSRequest DescribeFolder where+  type+    AWSResponse DescribeFolder =+      DescribeFolderResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeFolderResponse'+            Prelude.<$> (x Data..?> "Folder")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeFolder where+  hashWithSalt _salt DescribeFolder' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` folderId++instance Prelude.NFData DescribeFolder where+  rnf DescribeFolder' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf folderId++instance Data.ToHeaders DescribeFolder where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeFolder where+  toPath DescribeFolder' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/folders/",+        Data.toBS folderId+      ]++instance Data.ToQuery DescribeFolder where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeFolderResponse' smart constructor.+data DescribeFolderResponse = DescribeFolderResponse'+  { -- | Information about the folder.+    folder :: Prelude.Maybe Folder,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeFolderResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'folder', 'describeFolderResponse_folder' - Information about the folder.+--+-- 'requestId', 'describeFolderResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeFolderResponse_status' - The HTTP status of the request.+newDescribeFolderResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeFolderResponse+newDescribeFolderResponse pStatus_ =+  DescribeFolderResponse'+    { folder = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | Information about the folder.+describeFolderResponse_folder :: Lens.Lens' DescribeFolderResponse (Prelude.Maybe Folder)+describeFolderResponse_folder = Lens.lens (\DescribeFolderResponse' {folder} -> folder) (\s@DescribeFolderResponse' {} a -> s {folder = a} :: DescribeFolderResponse)++-- | The Amazon Web Services request ID for this operation.+describeFolderResponse_requestId :: Lens.Lens' DescribeFolderResponse (Prelude.Maybe Prelude.Text)+describeFolderResponse_requestId = Lens.lens (\DescribeFolderResponse' {requestId} -> requestId) (\s@DescribeFolderResponse' {} a -> s {requestId = a} :: DescribeFolderResponse)++-- | The HTTP status of the request.+describeFolderResponse_status :: Lens.Lens' DescribeFolderResponse Prelude.Int+describeFolderResponse_status = Lens.lens (\DescribeFolderResponse' {status} -> status) (\s@DescribeFolderResponse' {} a -> s {status = a} :: DescribeFolderResponse)++instance Prelude.NFData DescribeFolderResponse where+  rnf DescribeFolderResponse' {..} =+    Prelude.rnf folder+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeFolderPermissions.hs view
@@ -0,0 +1,224 @@+{-# 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.QuickSight.DescribeFolderPermissions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes permissions for a folder.+module Amazonka.QuickSight.DescribeFolderPermissions+  ( -- * Creating a Request+    DescribeFolderPermissions (..),+    newDescribeFolderPermissions,++    -- * Request Lenses+    describeFolderPermissions_awsAccountId,+    describeFolderPermissions_folderId,++    -- * Destructuring the Response+    DescribeFolderPermissionsResponse (..),+    newDescribeFolderPermissionsResponse,++    -- * Response Lenses+    describeFolderPermissionsResponse_arn,+    describeFolderPermissionsResponse_folderId,+    describeFolderPermissionsResponse_permissions,+    describeFolderPermissionsResponse_requestId,+    describeFolderPermissionsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeFolderPermissions' smart constructor.+data DescribeFolderPermissions = DescribeFolderPermissions'+  { -- | The ID for the Amazon Web Services account that contains the folder.+    awsAccountId :: Prelude.Text,+    -- | The ID of the folder.+    folderId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeFolderPermissions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeFolderPermissions_awsAccountId' - The ID for the Amazon Web Services account that contains the folder.+--+-- 'folderId', 'describeFolderPermissions_folderId' - The ID of the folder.+newDescribeFolderPermissions ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'folderId'+  Prelude.Text ->+  DescribeFolderPermissions+newDescribeFolderPermissions+  pAwsAccountId_+  pFolderId_ =+    DescribeFolderPermissions'+      { awsAccountId =+          pAwsAccountId_,+        folderId = pFolderId_+      }++-- | The ID for the Amazon Web Services account that contains the folder.+describeFolderPermissions_awsAccountId :: Lens.Lens' DescribeFolderPermissions Prelude.Text+describeFolderPermissions_awsAccountId = Lens.lens (\DescribeFolderPermissions' {awsAccountId} -> awsAccountId) (\s@DescribeFolderPermissions' {} a -> s {awsAccountId = a} :: DescribeFolderPermissions)++-- | The ID of the folder.+describeFolderPermissions_folderId :: Lens.Lens' DescribeFolderPermissions Prelude.Text+describeFolderPermissions_folderId = Lens.lens (\DescribeFolderPermissions' {folderId} -> folderId) (\s@DescribeFolderPermissions' {} a -> s {folderId = a} :: DescribeFolderPermissions)++instance Core.AWSRequest DescribeFolderPermissions where+  type+    AWSResponse DescribeFolderPermissions =+      DescribeFolderPermissionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeFolderPermissionsResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "FolderId")+            Prelude.<*> (x Data..?> "Permissions")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeFolderPermissions where+  hashWithSalt _salt DescribeFolderPermissions' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` folderId++instance Prelude.NFData DescribeFolderPermissions where+  rnf DescribeFolderPermissions' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf folderId++instance Data.ToHeaders DescribeFolderPermissions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeFolderPermissions where+  toPath DescribeFolderPermissions' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/folders/",+        Data.toBS folderId,+        "/permissions"+      ]++instance Data.ToQuery DescribeFolderPermissions where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeFolderPermissionsResponse' smart constructor.+data DescribeFolderPermissionsResponse = DescribeFolderPermissionsResponse'+  { -- | The Amazon Resource Name (ARN) for the folder.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the folder.+    folderId :: Prelude.Maybe Prelude.Text,+    -- | Information about the permissions on the folder.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeFolderPermissionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'describeFolderPermissionsResponse_arn' - The Amazon Resource Name (ARN) for the folder.+--+-- 'folderId', 'describeFolderPermissionsResponse_folderId' - The ID of the folder.+--+-- 'permissions', 'describeFolderPermissionsResponse_permissions' - Information about the permissions on the folder.+--+-- 'requestId', 'describeFolderPermissionsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeFolderPermissionsResponse_status' - The HTTP status of the request.+newDescribeFolderPermissionsResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeFolderPermissionsResponse+newDescribeFolderPermissionsResponse pStatus_ =+  DescribeFolderPermissionsResponse'+    { arn =+        Prelude.Nothing,+      folderId = Prelude.Nothing,+      permissions = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) for the folder.+describeFolderPermissionsResponse_arn :: Lens.Lens' DescribeFolderPermissionsResponse (Prelude.Maybe Prelude.Text)+describeFolderPermissionsResponse_arn = Lens.lens (\DescribeFolderPermissionsResponse' {arn} -> arn) (\s@DescribeFolderPermissionsResponse' {} a -> s {arn = a} :: DescribeFolderPermissionsResponse)++-- | The ID of the folder.+describeFolderPermissionsResponse_folderId :: Lens.Lens' DescribeFolderPermissionsResponse (Prelude.Maybe Prelude.Text)+describeFolderPermissionsResponse_folderId = Lens.lens (\DescribeFolderPermissionsResponse' {folderId} -> folderId) (\s@DescribeFolderPermissionsResponse' {} a -> s {folderId = a} :: DescribeFolderPermissionsResponse)++-- | Information about the permissions on the folder.+describeFolderPermissionsResponse_permissions :: Lens.Lens' DescribeFolderPermissionsResponse (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+describeFolderPermissionsResponse_permissions = Lens.lens (\DescribeFolderPermissionsResponse' {permissions} -> permissions) (\s@DescribeFolderPermissionsResponse' {} a -> s {permissions = a} :: DescribeFolderPermissionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services request ID for this operation.+describeFolderPermissionsResponse_requestId :: Lens.Lens' DescribeFolderPermissionsResponse (Prelude.Maybe Prelude.Text)+describeFolderPermissionsResponse_requestId = Lens.lens (\DescribeFolderPermissionsResponse' {requestId} -> requestId) (\s@DescribeFolderPermissionsResponse' {} a -> s {requestId = a} :: DescribeFolderPermissionsResponse)++-- | The HTTP status of the request.+describeFolderPermissionsResponse_status :: Lens.Lens' DescribeFolderPermissionsResponse Prelude.Int+describeFolderPermissionsResponse_status = Lens.lens (\DescribeFolderPermissionsResponse' {status} -> status) (\s@DescribeFolderPermissionsResponse' {} a -> s {status = a} :: DescribeFolderPermissionsResponse)++instance+  Prelude.NFData+    DescribeFolderPermissionsResponse+  where+  rnf DescribeFolderPermissionsResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf folderId+      `Prelude.seq` Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeFolderResolvedPermissions.hs view
@@ -0,0 +1,246 @@+{-# 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.QuickSight.DescribeFolderResolvedPermissions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the folder resolved permissions. Permissions consists of both+-- folder direct permissions and the inherited permissions from the+-- ancestor folders.+module Amazonka.QuickSight.DescribeFolderResolvedPermissions+  ( -- * Creating a Request+    DescribeFolderResolvedPermissions (..),+    newDescribeFolderResolvedPermissions,++    -- * Request Lenses+    describeFolderResolvedPermissions_awsAccountId,+    describeFolderResolvedPermissions_folderId,++    -- * Destructuring the Response+    DescribeFolderResolvedPermissionsResponse (..),+    newDescribeFolderResolvedPermissionsResponse,++    -- * Response Lenses+    describeFolderResolvedPermissionsResponse_arn,+    describeFolderResolvedPermissionsResponse_folderId,+    describeFolderResolvedPermissionsResponse_permissions,+    describeFolderResolvedPermissionsResponse_requestId,+    describeFolderResolvedPermissionsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeFolderResolvedPermissions' smart constructor.+data DescribeFolderResolvedPermissions = DescribeFolderResolvedPermissions'+  { -- | The ID for the Amazon Web Services account that contains the folder.+    awsAccountId :: Prelude.Text,+    -- | The ID of the folder.+    folderId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeFolderResolvedPermissions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeFolderResolvedPermissions_awsAccountId' - The ID for the Amazon Web Services account that contains the folder.+--+-- 'folderId', 'describeFolderResolvedPermissions_folderId' - The ID of the folder.+newDescribeFolderResolvedPermissions ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'folderId'+  Prelude.Text ->+  DescribeFolderResolvedPermissions+newDescribeFolderResolvedPermissions+  pAwsAccountId_+  pFolderId_ =+    DescribeFolderResolvedPermissions'+      { awsAccountId =+          pAwsAccountId_,+        folderId = pFolderId_+      }++-- | The ID for the Amazon Web Services account that contains the folder.+describeFolderResolvedPermissions_awsAccountId :: Lens.Lens' DescribeFolderResolvedPermissions Prelude.Text+describeFolderResolvedPermissions_awsAccountId = Lens.lens (\DescribeFolderResolvedPermissions' {awsAccountId} -> awsAccountId) (\s@DescribeFolderResolvedPermissions' {} a -> s {awsAccountId = a} :: DescribeFolderResolvedPermissions)++-- | The ID of the folder.+describeFolderResolvedPermissions_folderId :: Lens.Lens' DescribeFolderResolvedPermissions Prelude.Text+describeFolderResolvedPermissions_folderId = Lens.lens (\DescribeFolderResolvedPermissions' {folderId} -> folderId) (\s@DescribeFolderResolvedPermissions' {} a -> s {folderId = a} :: DescribeFolderResolvedPermissions)++instance+  Core.AWSRequest+    DescribeFolderResolvedPermissions+  where+  type+    AWSResponse DescribeFolderResolvedPermissions =+      DescribeFolderResolvedPermissionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeFolderResolvedPermissionsResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "FolderId")+            Prelude.<*> (x Data..?> "Permissions")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeFolderResolvedPermissions+  where+  hashWithSalt+    _salt+    DescribeFolderResolvedPermissions' {..} =+      _salt+        `Prelude.hashWithSalt` awsAccountId+        `Prelude.hashWithSalt` folderId++instance+  Prelude.NFData+    DescribeFolderResolvedPermissions+  where+  rnf DescribeFolderResolvedPermissions' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf folderId++instance+  Data.ToHeaders+    DescribeFolderResolvedPermissions+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToPath+    DescribeFolderResolvedPermissions+  where+  toPath DescribeFolderResolvedPermissions' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/folders/",+        Data.toBS folderId,+        "/resolved-permissions"+      ]++instance+  Data.ToQuery+    DescribeFolderResolvedPermissions+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeFolderResolvedPermissionsResponse' smart constructor.+data DescribeFolderResolvedPermissionsResponse = DescribeFolderResolvedPermissionsResponse'+  { -- | The Amazon Resource Name (ARN) of the folder.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the folder.+    folderId :: Prelude.Maybe Prelude.Text,+    -- | Information about the permissions for the folder.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeFolderResolvedPermissionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'describeFolderResolvedPermissionsResponse_arn' - The Amazon Resource Name (ARN) of the folder.+--+-- 'folderId', 'describeFolderResolvedPermissionsResponse_folderId' - The ID of the folder.+--+-- 'permissions', 'describeFolderResolvedPermissionsResponse_permissions' - Information about the permissions for the folder.+--+-- 'requestId', 'describeFolderResolvedPermissionsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeFolderResolvedPermissionsResponse_status' - The HTTP status of the request.+newDescribeFolderResolvedPermissionsResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeFolderResolvedPermissionsResponse+newDescribeFolderResolvedPermissionsResponse pStatus_ =+  DescribeFolderResolvedPermissionsResponse'+    { arn =+        Prelude.Nothing,+      folderId = Prelude.Nothing,+      permissions = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) of the folder.+describeFolderResolvedPermissionsResponse_arn :: Lens.Lens' DescribeFolderResolvedPermissionsResponse (Prelude.Maybe Prelude.Text)+describeFolderResolvedPermissionsResponse_arn = Lens.lens (\DescribeFolderResolvedPermissionsResponse' {arn} -> arn) (\s@DescribeFolderResolvedPermissionsResponse' {} a -> s {arn = a} :: DescribeFolderResolvedPermissionsResponse)++-- | The ID of the folder.+describeFolderResolvedPermissionsResponse_folderId :: Lens.Lens' DescribeFolderResolvedPermissionsResponse (Prelude.Maybe Prelude.Text)+describeFolderResolvedPermissionsResponse_folderId = Lens.lens (\DescribeFolderResolvedPermissionsResponse' {folderId} -> folderId) (\s@DescribeFolderResolvedPermissionsResponse' {} a -> s {folderId = a} :: DescribeFolderResolvedPermissionsResponse)++-- | Information about the permissions for the folder.+describeFolderResolvedPermissionsResponse_permissions :: Lens.Lens' DescribeFolderResolvedPermissionsResponse (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+describeFolderResolvedPermissionsResponse_permissions = Lens.lens (\DescribeFolderResolvedPermissionsResponse' {permissions} -> permissions) (\s@DescribeFolderResolvedPermissionsResponse' {} a -> s {permissions = a} :: DescribeFolderResolvedPermissionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services request ID for this operation.+describeFolderResolvedPermissionsResponse_requestId :: Lens.Lens' DescribeFolderResolvedPermissionsResponse (Prelude.Maybe Prelude.Text)+describeFolderResolvedPermissionsResponse_requestId = Lens.lens (\DescribeFolderResolvedPermissionsResponse' {requestId} -> requestId) (\s@DescribeFolderResolvedPermissionsResponse' {} a -> s {requestId = a} :: DescribeFolderResolvedPermissionsResponse)++-- | The HTTP status of the request.+describeFolderResolvedPermissionsResponse_status :: Lens.Lens' DescribeFolderResolvedPermissionsResponse Prelude.Int+describeFolderResolvedPermissionsResponse_status = Lens.lens (\DescribeFolderResolvedPermissionsResponse' {status} -> status) (\s@DescribeFolderResolvedPermissionsResponse' {} a -> s {status = a} :: DescribeFolderResolvedPermissionsResponse)++instance+  Prelude.NFData+    DescribeFolderResolvedPermissionsResponse+  where+  rnf DescribeFolderResolvedPermissionsResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf folderId+      `Prelude.seq` Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeGroup.hs view
@@ -0,0 +1,218 @@+{-# 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.QuickSight.DescribeGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an Amazon QuickSight group\'s description and Amazon Resource+-- Name (ARN).+module Amazonka.QuickSight.DescribeGroup+  ( -- * Creating a Request+    DescribeGroup (..),+    newDescribeGroup,++    -- * Request Lenses+    describeGroup_groupName,+    describeGroup_awsAccountId,+    describeGroup_namespace,++    -- * Destructuring the Response+    DescribeGroupResponse (..),+    newDescribeGroupResponse,++    -- * Response Lenses+    describeGroupResponse_group,+    describeGroupResponse_requestId,+    describeGroupResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeGroup' smart constructor.+data DescribeGroup = DescribeGroup'+  { -- | The name of the group that you want to describe.+    groupName :: Prelude.Text,+    -- | The ID for the Amazon Web Services account that the group is in.+    -- Currently, you use the ID for the Amazon Web Services account that+    -- contains your Amazon QuickSight account.+    awsAccountId :: Prelude.Text,+    -- | The namespace of the group that you want described.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'groupName', 'describeGroup_groupName' - The name of the group that you want to describe.+--+-- 'awsAccountId', 'describeGroup_awsAccountId' - The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+--+-- 'namespace', 'describeGroup_namespace' - The namespace of the group that you want described.+newDescribeGroup ::+  -- | 'groupName'+  Prelude.Text ->+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  DescribeGroup+newDescribeGroup+  pGroupName_+  pAwsAccountId_+  pNamespace_ =+    DescribeGroup'+      { groupName = pGroupName_,+        awsAccountId = pAwsAccountId_,+        namespace = pNamespace_+      }++-- | The name of the group that you want to describe.+describeGroup_groupName :: Lens.Lens' DescribeGroup Prelude.Text+describeGroup_groupName = Lens.lens (\DescribeGroup' {groupName} -> groupName) (\s@DescribeGroup' {} a -> s {groupName = a} :: DescribeGroup)++-- | The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+describeGroup_awsAccountId :: Lens.Lens' DescribeGroup Prelude.Text+describeGroup_awsAccountId = Lens.lens (\DescribeGroup' {awsAccountId} -> awsAccountId) (\s@DescribeGroup' {} a -> s {awsAccountId = a} :: DescribeGroup)++-- | The namespace of the group that you want described.+describeGroup_namespace :: Lens.Lens' DescribeGroup Prelude.Text+describeGroup_namespace = Lens.lens (\DescribeGroup' {namespace} -> namespace) (\s@DescribeGroup' {} a -> s {namespace = a} :: DescribeGroup)++instance Core.AWSRequest DescribeGroup where+  type+    AWSResponse DescribeGroup =+      DescribeGroupResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeGroupResponse'+            Prelude.<$> (x Data..?> "Group")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeGroup where+  hashWithSalt _salt DescribeGroup' {..} =+    _salt+      `Prelude.hashWithSalt` groupName+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData DescribeGroup where+  rnf DescribeGroup' {..} =+    Prelude.rnf groupName+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders DescribeGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeGroup where+  toPath DescribeGroup' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/groups/",+        Data.toBS groupName+      ]++instance Data.ToQuery DescribeGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeGroupResponse' smart constructor.+data DescribeGroupResponse = DescribeGroupResponse'+  { -- | The name of the group.+    group' :: Prelude.Maybe Group,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'group'', 'describeGroupResponse_group' - The name of the group.+--+-- 'requestId', 'describeGroupResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeGroupResponse_status' - The HTTP status of the request.+newDescribeGroupResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeGroupResponse+newDescribeGroupResponse pStatus_ =+  DescribeGroupResponse'+    { group' = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The name of the group.+describeGroupResponse_group :: Lens.Lens' DescribeGroupResponse (Prelude.Maybe Group)+describeGroupResponse_group = Lens.lens (\DescribeGroupResponse' {group'} -> group') (\s@DescribeGroupResponse' {} a -> s {group' = a} :: DescribeGroupResponse)++-- | The Amazon Web Services request ID for this operation.+describeGroupResponse_requestId :: Lens.Lens' DescribeGroupResponse (Prelude.Maybe Prelude.Text)+describeGroupResponse_requestId = Lens.lens (\DescribeGroupResponse' {requestId} -> requestId) (\s@DescribeGroupResponse' {} a -> s {requestId = a} :: DescribeGroupResponse)++-- | The HTTP status of the request.+describeGroupResponse_status :: Lens.Lens' DescribeGroupResponse Prelude.Int+describeGroupResponse_status = Lens.lens (\DescribeGroupResponse' {status} -> status) (\s@DescribeGroupResponse' {} a -> s {status = a} :: DescribeGroupResponse)++instance Prelude.NFData DescribeGroupResponse where+  rnf DescribeGroupResponse' {..} =+    Prelude.rnf group'+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeGroupMembership.hs view
@@ -0,0 +1,239 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DescribeGroupMembership+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use the @DescribeGroupMembership@ operation to determine if a user is a+-- member of the specified group. If the user exists and is a member of the+-- specified group, an associated @GroupMember@ object is returned.+module Amazonka.QuickSight.DescribeGroupMembership+  ( -- * Creating a Request+    DescribeGroupMembership (..),+    newDescribeGroupMembership,++    -- * Request Lenses+    describeGroupMembership_memberName,+    describeGroupMembership_groupName,+    describeGroupMembership_awsAccountId,+    describeGroupMembership_namespace,++    -- * Destructuring the Response+    DescribeGroupMembershipResponse (..),+    newDescribeGroupMembershipResponse,++    -- * Response Lenses+    describeGroupMembershipResponse_groupMember,+    describeGroupMembershipResponse_requestId,+    describeGroupMembershipResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeGroupMembership' smart constructor.+data DescribeGroupMembership = DescribeGroupMembership'+  { -- | The user name of the user that you want to search for.+    memberName :: Prelude.Text,+    -- | The name of the group that you want to search.+    groupName :: Prelude.Text,+    -- | The ID for the Amazon Web Services account that the group is in.+    -- Currently, you use the ID for the Amazon Web Services account that+    -- contains your Amazon QuickSight account.+    awsAccountId :: Prelude.Text,+    -- | The namespace that includes the group you are searching within.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeGroupMembership' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'memberName', 'describeGroupMembership_memberName' - The user name of the user that you want to search for.+--+-- 'groupName', 'describeGroupMembership_groupName' - The name of the group that you want to search.+--+-- 'awsAccountId', 'describeGroupMembership_awsAccountId' - The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+--+-- 'namespace', 'describeGroupMembership_namespace' - The namespace that includes the group you are searching within.+newDescribeGroupMembership ::+  -- | 'memberName'+  Prelude.Text ->+  -- | 'groupName'+  Prelude.Text ->+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  DescribeGroupMembership+newDescribeGroupMembership+  pMemberName_+  pGroupName_+  pAwsAccountId_+  pNamespace_ =+    DescribeGroupMembership'+      { memberName = pMemberName_,+        groupName = pGroupName_,+        awsAccountId = pAwsAccountId_,+        namespace = pNamespace_+      }++-- | The user name of the user that you want to search for.+describeGroupMembership_memberName :: Lens.Lens' DescribeGroupMembership Prelude.Text+describeGroupMembership_memberName = Lens.lens (\DescribeGroupMembership' {memberName} -> memberName) (\s@DescribeGroupMembership' {} a -> s {memberName = a} :: DescribeGroupMembership)++-- | The name of the group that you want to search.+describeGroupMembership_groupName :: Lens.Lens' DescribeGroupMembership Prelude.Text+describeGroupMembership_groupName = Lens.lens (\DescribeGroupMembership' {groupName} -> groupName) (\s@DescribeGroupMembership' {} a -> s {groupName = a} :: DescribeGroupMembership)++-- | The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+describeGroupMembership_awsAccountId :: Lens.Lens' DescribeGroupMembership Prelude.Text+describeGroupMembership_awsAccountId = Lens.lens (\DescribeGroupMembership' {awsAccountId} -> awsAccountId) (\s@DescribeGroupMembership' {} a -> s {awsAccountId = a} :: DescribeGroupMembership)++-- | The namespace that includes the group you are searching within.+describeGroupMembership_namespace :: Lens.Lens' DescribeGroupMembership Prelude.Text+describeGroupMembership_namespace = Lens.lens (\DescribeGroupMembership' {namespace} -> namespace) (\s@DescribeGroupMembership' {} a -> s {namespace = a} :: DescribeGroupMembership)++instance Core.AWSRequest DescribeGroupMembership where+  type+    AWSResponse DescribeGroupMembership =+      DescribeGroupMembershipResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeGroupMembershipResponse'+            Prelude.<$> (x Data..?> "GroupMember")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeGroupMembership where+  hashWithSalt _salt DescribeGroupMembership' {..} =+    _salt+      `Prelude.hashWithSalt` memberName+      `Prelude.hashWithSalt` groupName+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData DescribeGroupMembership where+  rnf DescribeGroupMembership' {..} =+    Prelude.rnf memberName+      `Prelude.seq` Prelude.rnf groupName+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders DescribeGroupMembership where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeGroupMembership where+  toPath DescribeGroupMembership' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/groups/",+        Data.toBS groupName,+        "/members/",+        Data.toBS memberName+      ]++instance Data.ToQuery DescribeGroupMembership where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeGroupMembershipResponse' smart constructor.+data DescribeGroupMembershipResponse = DescribeGroupMembershipResponse'+  { groupMember :: Prelude.Maybe GroupMember,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeGroupMembershipResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'groupMember', 'describeGroupMembershipResponse_groupMember' - Undocumented member.+--+-- 'requestId', 'describeGroupMembershipResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeGroupMembershipResponse_status' - The HTTP status of the request.+newDescribeGroupMembershipResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeGroupMembershipResponse+newDescribeGroupMembershipResponse pStatus_ =+  DescribeGroupMembershipResponse'+    { groupMember =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | Undocumented member.+describeGroupMembershipResponse_groupMember :: Lens.Lens' DescribeGroupMembershipResponse (Prelude.Maybe GroupMember)+describeGroupMembershipResponse_groupMember = Lens.lens (\DescribeGroupMembershipResponse' {groupMember} -> groupMember) (\s@DescribeGroupMembershipResponse' {} a -> s {groupMember = a} :: DescribeGroupMembershipResponse)++-- | The Amazon Web Services request ID for this operation.+describeGroupMembershipResponse_requestId :: Lens.Lens' DescribeGroupMembershipResponse (Prelude.Maybe Prelude.Text)+describeGroupMembershipResponse_requestId = Lens.lens (\DescribeGroupMembershipResponse' {requestId} -> requestId) (\s@DescribeGroupMembershipResponse' {} a -> s {requestId = a} :: DescribeGroupMembershipResponse)++-- | The HTTP status of the request.+describeGroupMembershipResponse_status :: Lens.Lens' DescribeGroupMembershipResponse Prelude.Int+describeGroupMembershipResponse_status = Lens.lens (\DescribeGroupMembershipResponse' {status} -> status) (\s@DescribeGroupMembershipResponse' {} a -> s {status = a} :: DescribeGroupMembershipResponse)++instance+  Prelude.NFData+    DescribeGroupMembershipResponse+  where+  rnf DescribeGroupMembershipResponse' {..} =+    Prelude.rnf groupMember+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeIAMPolicyAssignment.hs view
@@ -0,0 +1,220 @@+{-# 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.QuickSight.DescribeIAMPolicyAssignment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes an existing IAM policy assignment, as specified by the+-- assignment name.+module Amazonka.QuickSight.DescribeIAMPolicyAssignment+  ( -- * Creating a Request+    DescribeIAMPolicyAssignment (..),+    newDescribeIAMPolicyAssignment,++    -- * Request Lenses+    describeIAMPolicyAssignment_awsAccountId,+    describeIAMPolicyAssignment_assignmentName,+    describeIAMPolicyAssignment_namespace,++    -- * Destructuring the Response+    DescribeIAMPolicyAssignmentResponse (..),+    newDescribeIAMPolicyAssignmentResponse,++    -- * Response Lenses+    describeIAMPolicyAssignmentResponse_iAMPolicyAssignment,+    describeIAMPolicyAssignmentResponse_requestId,+    describeIAMPolicyAssignmentResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeIAMPolicyAssignment' smart constructor.+data DescribeIAMPolicyAssignment = DescribeIAMPolicyAssignment'+  { -- | The ID of the Amazon Web Services account that contains the assignment+    -- that you want to describe.+    awsAccountId :: Prelude.Text,+    -- | The name of the assignment, also called a rule.+    assignmentName :: Prelude.Text,+    -- | The namespace that contains the assignment.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeIAMPolicyAssignment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeIAMPolicyAssignment_awsAccountId' - The ID of the Amazon Web Services account that contains the assignment+-- that you want to describe.+--+-- 'assignmentName', 'describeIAMPolicyAssignment_assignmentName' - The name of the assignment, also called a rule.+--+-- 'namespace', 'describeIAMPolicyAssignment_namespace' - The namespace that contains the assignment.+newDescribeIAMPolicyAssignment ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'assignmentName'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  DescribeIAMPolicyAssignment+newDescribeIAMPolicyAssignment+  pAwsAccountId_+  pAssignmentName_+  pNamespace_ =+    DescribeIAMPolicyAssignment'+      { awsAccountId =+          pAwsAccountId_,+        assignmentName = pAssignmentName_,+        namespace = pNamespace_+      }++-- | The ID of the Amazon Web Services account that contains the assignment+-- that you want to describe.+describeIAMPolicyAssignment_awsAccountId :: Lens.Lens' DescribeIAMPolicyAssignment Prelude.Text+describeIAMPolicyAssignment_awsAccountId = Lens.lens (\DescribeIAMPolicyAssignment' {awsAccountId} -> awsAccountId) (\s@DescribeIAMPolicyAssignment' {} a -> s {awsAccountId = a} :: DescribeIAMPolicyAssignment)++-- | The name of the assignment, also called a rule.+describeIAMPolicyAssignment_assignmentName :: Lens.Lens' DescribeIAMPolicyAssignment Prelude.Text+describeIAMPolicyAssignment_assignmentName = Lens.lens (\DescribeIAMPolicyAssignment' {assignmentName} -> assignmentName) (\s@DescribeIAMPolicyAssignment' {} a -> s {assignmentName = a} :: DescribeIAMPolicyAssignment)++-- | The namespace that contains the assignment.+describeIAMPolicyAssignment_namespace :: Lens.Lens' DescribeIAMPolicyAssignment Prelude.Text+describeIAMPolicyAssignment_namespace = Lens.lens (\DescribeIAMPolicyAssignment' {namespace} -> namespace) (\s@DescribeIAMPolicyAssignment' {} a -> s {namespace = a} :: DescribeIAMPolicyAssignment)++instance Core.AWSRequest DescribeIAMPolicyAssignment where+  type+    AWSResponse DescribeIAMPolicyAssignment =+      DescribeIAMPolicyAssignmentResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeIAMPolicyAssignmentResponse'+            Prelude.<$> (x Data..?> "IAMPolicyAssignment")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeIAMPolicyAssignment where+  hashWithSalt _salt DescribeIAMPolicyAssignment' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` assignmentName+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData DescribeIAMPolicyAssignment where+  rnf DescribeIAMPolicyAssignment' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf assignmentName+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders DescribeIAMPolicyAssignment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeIAMPolicyAssignment where+  toPath DescribeIAMPolicyAssignment' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/iam-policy-assignments/",+        Data.toBS assignmentName+      ]++instance Data.ToQuery DescribeIAMPolicyAssignment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeIAMPolicyAssignmentResponse' smart constructor.+data DescribeIAMPolicyAssignmentResponse = DescribeIAMPolicyAssignmentResponse'+  { -- | Information describing the IAM policy assignment.+    iAMPolicyAssignment :: Prelude.Maybe IAMPolicyAssignment,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeIAMPolicyAssignmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iAMPolicyAssignment', 'describeIAMPolicyAssignmentResponse_iAMPolicyAssignment' - Information describing the IAM policy assignment.+--+-- 'requestId', 'describeIAMPolicyAssignmentResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeIAMPolicyAssignmentResponse_status' - The HTTP status of the request.+newDescribeIAMPolicyAssignmentResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeIAMPolicyAssignmentResponse+newDescribeIAMPolicyAssignmentResponse pStatus_ =+  DescribeIAMPolicyAssignmentResponse'+    { iAMPolicyAssignment =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | Information describing the IAM policy assignment.+describeIAMPolicyAssignmentResponse_iAMPolicyAssignment :: Lens.Lens' DescribeIAMPolicyAssignmentResponse (Prelude.Maybe IAMPolicyAssignment)+describeIAMPolicyAssignmentResponse_iAMPolicyAssignment = Lens.lens (\DescribeIAMPolicyAssignmentResponse' {iAMPolicyAssignment} -> iAMPolicyAssignment) (\s@DescribeIAMPolicyAssignmentResponse' {} a -> s {iAMPolicyAssignment = a} :: DescribeIAMPolicyAssignmentResponse)++-- | The Amazon Web Services request ID for this operation.+describeIAMPolicyAssignmentResponse_requestId :: Lens.Lens' DescribeIAMPolicyAssignmentResponse (Prelude.Maybe Prelude.Text)+describeIAMPolicyAssignmentResponse_requestId = Lens.lens (\DescribeIAMPolicyAssignmentResponse' {requestId} -> requestId) (\s@DescribeIAMPolicyAssignmentResponse' {} a -> s {requestId = a} :: DescribeIAMPolicyAssignmentResponse)++-- | The HTTP status of the request.+describeIAMPolicyAssignmentResponse_status :: Lens.Lens' DescribeIAMPolicyAssignmentResponse Prelude.Int+describeIAMPolicyAssignmentResponse_status = Lens.lens (\DescribeIAMPolicyAssignmentResponse' {status} -> status) (\s@DescribeIAMPolicyAssignmentResponse' {} a -> s {status = a} :: DescribeIAMPolicyAssignmentResponse)++instance+  Prelude.NFData+    DescribeIAMPolicyAssignmentResponse+  where+  rnf DescribeIAMPolicyAssignmentResponse' {..} =+    Prelude.rnf iAMPolicyAssignment+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeIngestion.hs view
@@ -0,0 +1,212 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DescribeIngestion+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes a SPICE ingestion.+module Amazonka.QuickSight.DescribeIngestion+  ( -- * Creating a Request+    DescribeIngestion (..),+    newDescribeIngestion,++    -- * Request Lenses+    describeIngestion_awsAccountId,+    describeIngestion_dataSetId,+    describeIngestion_ingestionId,++    -- * Destructuring the Response+    DescribeIngestionResponse (..),+    newDescribeIngestionResponse,++    -- * Response Lenses+    describeIngestionResponse_ingestion,+    describeIngestionResponse_requestId,+    describeIngestionResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeIngestion' smart constructor.+data DescribeIngestion = DescribeIngestion'+  { -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text,+    -- | The ID of the dataset used in the ingestion.+    dataSetId :: Prelude.Text,+    -- | An ID for the ingestion.+    ingestionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeIngestion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeIngestion_awsAccountId' - The Amazon Web Services account ID.+--+-- 'dataSetId', 'describeIngestion_dataSetId' - The ID of the dataset used in the ingestion.+--+-- 'ingestionId', 'describeIngestion_ingestionId' - An ID for the ingestion.+newDescribeIngestion ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dataSetId'+  Prelude.Text ->+  -- | 'ingestionId'+  Prelude.Text ->+  DescribeIngestion+newDescribeIngestion+  pAwsAccountId_+  pDataSetId_+  pIngestionId_ =+    DescribeIngestion'+      { awsAccountId = pAwsAccountId_,+        dataSetId = pDataSetId_,+        ingestionId = pIngestionId_+      }++-- | The Amazon Web Services account ID.+describeIngestion_awsAccountId :: Lens.Lens' DescribeIngestion Prelude.Text+describeIngestion_awsAccountId = Lens.lens (\DescribeIngestion' {awsAccountId} -> awsAccountId) (\s@DescribeIngestion' {} a -> s {awsAccountId = a} :: DescribeIngestion)++-- | The ID of the dataset used in the ingestion.+describeIngestion_dataSetId :: Lens.Lens' DescribeIngestion Prelude.Text+describeIngestion_dataSetId = Lens.lens (\DescribeIngestion' {dataSetId} -> dataSetId) (\s@DescribeIngestion' {} a -> s {dataSetId = a} :: DescribeIngestion)++-- | An ID for the ingestion.+describeIngestion_ingestionId :: Lens.Lens' DescribeIngestion Prelude.Text+describeIngestion_ingestionId = Lens.lens (\DescribeIngestion' {ingestionId} -> ingestionId) (\s@DescribeIngestion' {} a -> s {ingestionId = a} :: DescribeIngestion)++instance Core.AWSRequest DescribeIngestion where+  type+    AWSResponse DescribeIngestion =+      DescribeIngestionResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeIngestionResponse'+            Prelude.<$> (x Data..?> "Ingestion")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeIngestion where+  hashWithSalt _salt DescribeIngestion' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dataSetId+      `Prelude.hashWithSalt` ingestionId++instance Prelude.NFData DescribeIngestion where+  rnf DescribeIngestion' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dataSetId+      `Prelude.seq` Prelude.rnf ingestionId++instance Data.ToHeaders DescribeIngestion where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeIngestion where+  toPath DescribeIngestion' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/data-sets/",+        Data.toBS dataSetId,+        "/ingestions/",+        Data.toBS ingestionId+      ]++instance Data.ToQuery DescribeIngestion where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeIngestionResponse' smart constructor.+data DescribeIngestionResponse = DescribeIngestionResponse'+  { -- | Information about the ingestion.+    ingestion :: Prelude.Maybe Ingestion,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeIngestionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ingestion', 'describeIngestionResponse_ingestion' - Information about the ingestion.+--+-- 'requestId', 'describeIngestionResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeIngestionResponse_status' - The HTTP status of the request.+newDescribeIngestionResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeIngestionResponse+newDescribeIngestionResponse pStatus_ =+  DescribeIngestionResponse'+    { ingestion =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | Information about the ingestion.+describeIngestionResponse_ingestion :: Lens.Lens' DescribeIngestionResponse (Prelude.Maybe Ingestion)+describeIngestionResponse_ingestion = Lens.lens (\DescribeIngestionResponse' {ingestion} -> ingestion) (\s@DescribeIngestionResponse' {} a -> s {ingestion = a} :: DescribeIngestionResponse)++-- | The Amazon Web Services request ID for this operation.+describeIngestionResponse_requestId :: Lens.Lens' DescribeIngestionResponse (Prelude.Maybe Prelude.Text)+describeIngestionResponse_requestId = Lens.lens (\DescribeIngestionResponse' {requestId} -> requestId) (\s@DescribeIngestionResponse' {} a -> s {requestId = a} :: DescribeIngestionResponse)++-- | The HTTP status of the request.+describeIngestionResponse_status :: Lens.Lens' DescribeIngestionResponse Prelude.Int+describeIngestionResponse_status = Lens.lens (\DescribeIngestionResponse' {status} -> status) (\s@DescribeIngestionResponse' {} a -> s {status = a} :: DescribeIngestionResponse)++instance Prelude.NFData DescribeIngestionResponse where+  rnf DescribeIngestionResponse' {..} =+    Prelude.rnf ingestion+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeIpRestriction.hs view
@@ -0,0 +1,205 @@+{-# 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.QuickSight.DescribeIpRestriction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides a summary and status of IP rules.+module Amazonka.QuickSight.DescribeIpRestriction+  ( -- * Creating a Request+    DescribeIpRestriction (..),+    newDescribeIpRestriction,++    -- * Request Lenses+    describeIpRestriction_awsAccountId,++    -- * Destructuring the Response+    DescribeIpRestrictionResponse (..),+    newDescribeIpRestrictionResponse,++    -- * Response Lenses+    describeIpRestrictionResponse_awsAccountId,+    describeIpRestrictionResponse_enabled,+    describeIpRestrictionResponse_ipRestrictionRuleMap,+    describeIpRestrictionResponse_requestId,+    describeIpRestrictionResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeIpRestriction' smart constructor.+data DescribeIpRestriction = DescribeIpRestriction'+  { -- | The ID of the Amazon Web Services account that contains the IP rules.+    awsAccountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeIpRestriction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeIpRestriction_awsAccountId' - The ID of the Amazon Web Services account that contains the IP rules.+newDescribeIpRestriction ::+  -- | 'awsAccountId'+  Prelude.Text ->+  DescribeIpRestriction+newDescribeIpRestriction pAwsAccountId_ =+  DescribeIpRestriction'+    { awsAccountId =+        pAwsAccountId_+    }++-- | The ID of the Amazon Web Services account that contains the IP rules.+describeIpRestriction_awsAccountId :: Lens.Lens' DescribeIpRestriction Prelude.Text+describeIpRestriction_awsAccountId = Lens.lens (\DescribeIpRestriction' {awsAccountId} -> awsAccountId) (\s@DescribeIpRestriction' {} a -> s {awsAccountId = a} :: DescribeIpRestriction)++instance Core.AWSRequest DescribeIpRestriction where+  type+    AWSResponse DescribeIpRestriction =+      DescribeIpRestrictionResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeIpRestrictionResponse'+            Prelude.<$> (x Data..?> "AwsAccountId")+            Prelude.<*> (x Data..?> "Enabled")+            Prelude.<*> ( x+                            Data..?> "IpRestrictionRuleMap"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeIpRestriction where+  hashWithSalt _salt DescribeIpRestriction' {..} =+    _salt `Prelude.hashWithSalt` awsAccountId++instance Prelude.NFData DescribeIpRestriction where+  rnf DescribeIpRestriction' {..} =+    Prelude.rnf awsAccountId++instance Data.ToHeaders DescribeIpRestriction where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeIpRestriction where+  toPath DescribeIpRestriction' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/ip-restriction"+      ]++instance Data.ToQuery DescribeIpRestriction where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeIpRestrictionResponse' smart constructor.+data DescribeIpRestrictionResponse = DescribeIpRestrictionResponse'+  { -- | The ID of the Amazon Web Services account that contains the IP rules.+    awsAccountId :: Prelude.Maybe Prelude.Text,+    -- | A value that specifies whether IP rules are turned on.+    enabled :: Prelude.Maybe Prelude.Bool,+    -- | A map that describes the IP rules with CIDR range and description.+    ipRestrictionRuleMap :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeIpRestrictionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeIpRestrictionResponse_awsAccountId' - The ID of the Amazon Web Services account that contains the IP rules.+--+-- 'enabled', 'describeIpRestrictionResponse_enabled' - A value that specifies whether IP rules are turned on.+--+-- 'ipRestrictionRuleMap', 'describeIpRestrictionResponse_ipRestrictionRuleMap' - A map that describes the IP rules with CIDR range and description.+--+-- 'requestId', 'describeIpRestrictionResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeIpRestrictionResponse_status' - The HTTP status of the request.+newDescribeIpRestrictionResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeIpRestrictionResponse+newDescribeIpRestrictionResponse pStatus_ =+  DescribeIpRestrictionResponse'+    { awsAccountId =+        Prelude.Nothing,+      enabled = Prelude.Nothing,+      ipRestrictionRuleMap = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The ID of the Amazon Web Services account that contains the IP rules.+describeIpRestrictionResponse_awsAccountId :: Lens.Lens' DescribeIpRestrictionResponse (Prelude.Maybe Prelude.Text)+describeIpRestrictionResponse_awsAccountId = Lens.lens (\DescribeIpRestrictionResponse' {awsAccountId} -> awsAccountId) (\s@DescribeIpRestrictionResponse' {} a -> s {awsAccountId = a} :: DescribeIpRestrictionResponse)++-- | A value that specifies whether IP rules are turned on.+describeIpRestrictionResponse_enabled :: Lens.Lens' DescribeIpRestrictionResponse (Prelude.Maybe Prelude.Bool)+describeIpRestrictionResponse_enabled = Lens.lens (\DescribeIpRestrictionResponse' {enabled} -> enabled) (\s@DescribeIpRestrictionResponse' {} a -> s {enabled = a} :: DescribeIpRestrictionResponse)++-- | A map that describes the IP rules with CIDR range and description.+describeIpRestrictionResponse_ipRestrictionRuleMap :: Lens.Lens' DescribeIpRestrictionResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+describeIpRestrictionResponse_ipRestrictionRuleMap = Lens.lens (\DescribeIpRestrictionResponse' {ipRestrictionRuleMap} -> ipRestrictionRuleMap) (\s@DescribeIpRestrictionResponse' {} a -> s {ipRestrictionRuleMap = a} :: DescribeIpRestrictionResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services request ID for this operation.+describeIpRestrictionResponse_requestId :: Lens.Lens' DescribeIpRestrictionResponse (Prelude.Maybe Prelude.Text)+describeIpRestrictionResponse_requestId = Lens.lens (\DescribeIpRestrictionResponse' {requestId} -> requestId) (\s@DescribeIpRestrictionResponse' {} a -> s {requestId = a} :: DescribeIpRestrictionResponse)++-- | The HTTP status of the request.+describeIpRestrictionResponse_status :: Lens.Lens' DescribeIpRestrictionResponse Prelude.Int+describeIpRestrictionResponse_status = Lens.lens (\DescribeIpRestrictionResponse' {status} -> status) (\s@DescribeIpRestrictionResponse' {} a -> s {status = a} :: DescribeIpRestrictionResponse)++instance Prelude.NFData DescribeIpRestrictionResponse where+  rnf DescribeIpRestrictionResponse' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf enabled+      `Prelude.seq` Prelude.rnf ipRestrictionRuleMap+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeNamespace.hs view
@@ -0,0 +1,211 @@+{-# 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.QuickSight.DescribeNamespace+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the current namespace.+module Amazonka.QuickSight.DescribeNamespace+  ( -- * Creating a Request+    DescribeNamespace (..),+    newDescribeNamespace,++    -- * Request Lenses+    describeNamespace_awsAccountId,+    describeNamespace_namespace,++    -- * Destructuring the Response+    DescribeNamespaceResponse (..),+    newDescribeNamespaceResponse,++    -- * Response Lenses+    describeNamespaceResponse_namespace,+    describeNamespaceResponse_requestId,+    describeNamespaceResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeNamespace' smart constructor.+data DescribeNamespace = DescribeNamespace'+  { -- | The ID for the Amazon Web Services account that contains the Amazon+    -- QuickSight namespace that you want to describe.+    awsAccountId :: Prelude.Text,+    -- | The namespace that you want to describe.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeNamespace' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeNamespace_awsAccountId' - The ID for the Amazon Web Services account that contains the Amazon+-- QuickSight namespace that you want to describe.+--+-- 'namespace', 'describeNamespace_namespace' - The namespace that you want to describe.+newDescribeNamespace ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  DescribeNamespace+newDescribeNamespace pAwsAccountId_ pNamespace_ =+  DescribeNamespace'+    { awsAccountId = pAwsAccountId_,+      namespace = pNamespace_+    }++-- | The ID for the Amazon Web Services account that contains the Amazon+-- QuickSight namespace that you want to describe.+describeNamespace_awsAccountId :: Lens.Lens' DescribeNamespace Prelude.Text+describeNamespace_awsAccountId = Lens.lens (\DescribeNamespace' {awsAccountId} -> awsAccountId) (\s@DescribeNamespace' {} a -> s {awsAccountId = a} :: DescribeNamespace)++-- | The namespace that you want to describe.+describeNamespace_namespace :: Lens.Lens' DescribeNamespace Prelude.Text+describeNamespace_namespace = Lens.lens (\DescribeNamespace' {namespace} -> namespace) (\s@DescribeNamespace' {} a -> s {namespace = a} :: DescribeNamespace)++instance Core.AWSRequest DescribeNamespace where+  type+    AWSResponse DescribeNamespace =+      DescribeNamespaceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeNamespaceResponse'+            Prelude.<$> (x Data..?> "Namespace")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeNamespace where+  hashWithSalt _salt DescribeNamespace' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData DescribeNamespace where+  rnf DescribeNamespace' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders DescribeNamespace where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeNamespace where+  toPath DescribeNamespace' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace+      ]++instance Data.ToQuery DescribeNamespace where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeNamespaceResponse' smart constructor.+data DescribeNamespaceResponse = DescribeNamespaceResponse'+  { -- | The information about the namespace that you\'re describing. The+    -- response includes the namespace ARN, name, Amazon Web Services Region,+    -- creation status, and identity store. @DescribeNamespace@ also works for+    -- namespaces that are in the process of being created. For incomplete+    -- namespaces, this API operation lists the namespace error types and+    -- messages associated with the creation process.+    namespace :: Prelude.Maybe NamespaceInfoV2,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeNamespaceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'namespace', 'describeNamespaceResponse_namespace' - The information about the namespace that you\'re describing. The+-- response includes the namespace ARN, name, Amazon Web Services Region,+-- creation status, and identity store. @DescribeNamespace@ also works for+-- namespaces that are in the process of being created. For incomplete+-- namespaces, this API operation lists the namespace error types and+-- messages associated with the creation process.+--+-- 'requestId', 'describeNamespaceResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'describeNamespaceResponse_status' - The HTTP status of the request.+newDescribeNamespaceResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeNamespaceResponse+newDescribeNamespaceResponse pStatus_ =+  DescribeNamespaceResponse'+    { namespace =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The information about the namespace that you\'re describing. The+-- response includes the namespace ARN, name, Amazon Web Services Region,+-- creation status, and identity store. @DescribeNamespace@ also works for+-- namespaces that are in the process of being created. For incomplete+-- namespaces, this API operation lists the namespace error types and+-- messages associated with the creation process.+describeNamespaceResponse_namespace :: Lens.Lens' DescribeNamespaceResponse (Prelude.Maybe NamespaceInfoV2)+describeNamespaceResponse_namespace = Lens.lens (\DescribeNamespaceResponse' {namespace} -> namespace) (\s@DescribeNamespaceResponse' {} a -> s {namespace = a} :: DescribeNamespaceResponse)++-- | The Amazon Web Services request ID for this operation.+describeNamespaceResponse_requestId :: Lens.Lens' DescribeNamespaceResponse (Prelude.Maybe Prelude.Text)+describeNamespaceResponse_requestId = Lens.lens (\DescribeNamespaceResponse' {requestId} -> requestId) (\s@DescribeNamespaceResponse' {} a -> s {requestId = a} :: DescribeNamespaceResponse)++-- | The HTTP status of the request.+describeNamespaceResponse_status :: Lens.Lens' DescribeNamespaceResponse Prelude.Int+describeNamespaceResponse_status = Lens.lens (\DescribeNamespaceResponse' {status} -> status) (\s@DescribeNamespaceResponse' {} a -> s {status = a} :: DescribeNamespaceResponse)++instance Prelude.NFData DescribeNamespaceResponse where+  rnf DescribeNamespaceResponse' {..} =+    Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeTemplate.hs view
@@ -0,0 +1,242 @@+{-# 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.QuickSight.DescribeTemplate+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes a template\'s metadata.+module Amazonka.QuickSight.DescribeTemplate+  ( -- * Creating a Request+    DescribeTemplate (..),+    newDescribeTemplate,++    -- * Request Lenses+    describeTemplate_aliasName,+    describeTemplate_versionNumber,+    describeTemplate_awsAccountId,+    describeTemplate_templateId,++    -- * Destructuring the Response+    DescribeTemplateResponse (..),+    newDescribeTemplateResponse,++    -- * Response Lenses+    describeTemplateResponse_requestId,+    describeTemplateResponse_template,+    describeTemplateResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeTemplate' smart constructor.+data DescribeTemplate = DescribeTemplate'+  { -- | The alias of the template that you want to describe. If you name a+    -- specific alias, you describe the version that the alias points to. You+    -- can specify the latest version of the template by providing the keyword+    -- @$LATEST@ in the @AliasName@ parameter. The keyword @$PUBLISHED@+    -- doesn\'t apply to templates.+    aliasName :: Prelude.Maybe Prelude.Text,+    -- | (Optional) The number for the version to describe. If a @VersionNumber@+    -- parameter value isn\'t provided, the latest version of the template is+    -- described.+    versionNumber :: Prelude.Maybe Prelude.Natural,+    -- | The ID of the Amazon Web Services account that contains the template+    -- that you\'re describing.+    awsAccountId :: Prelude.Text,+    -- | The ID for the template.+    templateId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aliasName', 'describeTemplate_aliasName' - The alias of the template that you want to describe. If you name a+-- specific alias, you describe the version that the alias points to. You+-- can specify the latest version of the template by providing the keyword+-- @$LATEST@ in the @AliasName@ parameter. The keyword @$PUBLISHED@+-- doesn\'t apply to templates.+--+-- 'versionNumber', 'describeTemplate_versionNumber' - (Optional) The number for the version to describe. If a @VersionNumber@+-- parameter value isn\'t provided, the latest version of the template is+-- described.+--+-- 'awsAccountId', 'describeTemplate_awsAccountId' - The ID of the Amazon Web Services account that contains the template+-- that you\'re describing.+--+-- 'templateId', 'describeTemplate_templateId' - The ID for the template.+newDescribeTemplate ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'templateId'+  Prelude.Text ->+  DescribeTemplate+newDescribeTemplate pAwsAccountId_ pTemplateId_ =+  DescribeTemplate'+    { aliasName = Prelude.Nothing,+      versionNumber = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      templateId = pTemplateId_+    }++-- | The alias of the template that you want to describe. If you name a+-- specific alias, you describe the version that the alias points to. You+-- can specify the latest version of the template by providing the keyword+-- @$LATEST@ in the @AliasName@ parameter. The keyword @$PUBLISHED@+-- doesn\'t apply to templates.+describeTemplate_aliasName :: Lens.Lens' DescribeTemplate (Prelude.Maybe Prelude.Text)+describeTemplate_aliasName = Lens.lens (\DescribeTemplate' {aliasName} -> aliasName) (\s@DescribeTemplate' {} a -> s {aliasName = a} :: DescribeTemplate)++-- | (Optional) The number for the version to describe. If a @VersionNumber@+-- parameter value isn\'t provided, the latest version of the template is+-- described.+describeTemplate_versionNumber :: Lens.Lens' DescribeTemplate (Prelude.Maybe Prelude.Natural)+describeTemplate_versionNumber = Lens.lens (\DescribeTemplate' {versionNumber} -> versionNumber) (\s@DescribeTemplate' {} a -> s {versionNumber = a} :: DescribeTemplate)++-- | The ID of the Amazon Web Services account that contains the template+-- that you\'re describing.+describeTemplate_awsAccountId :: Lens.Lens' DescribeTemplate Prelude.Text+describeTemplate_awsAccountId = Lens.lens (\DescribeTemplate' {awsAccountId} -> awsAccountId) (\s@DescribeTemplate' {} a -> s {awsAccountId = a} :: DescribeTemplate)++-- | The ID for the template.+describeTemplate_templateId :: Lens.Lens' DescribeTemplate Prelude.Text+describeTemplate_templateId = Lens.lens (\DescribeTemplate' {templateId} -> templateId) (\s@DescribeTemplate' {} a -> s {templateId = a} :: DescribeTemplate)++instance Core.AWSRequest DescribeTemplate where+  type+    AWSResponse DescribeTemplate =+      DescribeTemplateResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeTemplateResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "Template")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeTemplate where+  hashWithSalt _salt DescribeTemplate' {..} =+    _salt+      `Prelude.hashWithSalt` aliasName+      `Prelude.hashWithSalt` versionNumber+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` templateId++instance Prelude.NFData DescribeTemplate where+  rnf DescribeTemplate' {..} =+    Prelude.rnf aliasName+      `Prelude.seq` Prelude.rnf versionNumber+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf templateId++instance Data.ToHeaders DescribeTemplate where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeTemplate where+  toPath DescribeTemplate' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/templates/",+        Data.toBS templateId+      ]++instance Data.ToQuery DescribeTemplate where+  toQuery DescribeTemplate' {..} =+    Prelude.mconcat+      [ "alias-name" Data.=: aliasName,+        "version-number" Data.=: versionNumber+      ]++-- | /See:/ 'newDescribeTemplateResponse' smart constructor.+data DescribeTemplateResponse = DescribeTemplateResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The template structure for the object you want to describe.+    template :: Prelude.Maybe Template,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeTemplateResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'describeTemplateResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'template', 'describeTemplateResponse_template' - The template structure for the object you want to describe.+--+-- 'status', 'describeTemplateResponse_status' - The HTTP status of the request.+newDescribeTemplateResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeTemplateResponse+newDescribeTemplateResponse pStatus_ =+  DescribeTemplateResponse'+    { requestId =+        Prelude.Nothing,+      template = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+describeTemplateResponse_requestId :: Lens.Lens' DescribeTemplateResponse (Prelude.Maybe Prelude.Text)+describeTemplateResponse_requestId = Lens.lens (\DescribeTemplateResponse' {requestId} -> requestId) (\s@DescribeTemplateResponse' {} a -> s {requestId = a} :: DescribeTemplateResponse)++-- | The template structure for the object you want to describe.+describeTemplateResponse_template :: Lens.Lens' DescribeTemplateResponse (Prelude.Maybe Template)+describeTemplateResponse_template = Lens.lens (\DescribeTemplateResponse' {template} -> template) (\s@DescribeTemplateResponse' {} a -> s {template = a} :: DescribeTemplateResponse)++-- | The HTTP status of the request.+describeTemplateResponse_status :: Lens.Lens' DescribeTemplateResponse Prelude.Int+describeTemplateResponse_status = Lens.lens (\DescribeTemplateResponse' {status} -> status) (\s@DescribeTemplateResponse' {} a -> s {status = a} :: DescribeTemplateResponse)++instance Prelude.NFData DescribeTemplateResponse where+  rnf DescribeTemplateResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf template+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeTemplateAlias.hs view
@@ -0,0 +1,228 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DescribeTemplateAlias+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the template alias for a template.+module Amazonka.QuickSight.DescribeTemplateAlias+  ( -- * Creating a Request+    DescribeTemplateAlias (..),+    newDescribeTemplateAlias,++    -- * Request Lenses+    describeTemplateAlias_awsAccountId,+    describeTemplateAlias_templateId,+    describeTemplateAlias_aliasName,++    -- * Destructuring the Response+    DescribeTemplateAliasResponse (..),+    newDescribeTemplateAliasResponse,++    -- * Response Lenses+    describeTemplateAliasResponse_requestId,+    describeTemplateAliasResponse_templateAlias,+    describeTemplateAliasResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeTemplateAlias' smart constructor.+data DescribeTemplateAlias = DescribeTemplateAlias'+  { -- | The ID of the Amazon Web Services account that contains the template+    -- alias that you\'re describing.+    awsAccountId :: Prelude.Text,+    -- | The ID for the template.+    templateId :: Prelude.Text,+    -- | The name of the template alias that you want to describe. If you name a+    -- specific alias, you describe the version that the alias points to. You+    -- can specify the latest version of the template by providing the keyword+    -- @$LATEST@ in the @AliasName@ parameter. The keyword @$PUBLISHED@+    -- doesn\'t apply to templates.+    aliasName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeTemplateAlias' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeTemplateAlias_awsAccountId' - The ID of the Amazon Web Services account that contains the template+-- alias that you\'re describing.+--+-- 'templateId', 'describeTemplateAlias_templateId' - The ID for the template.+--+-- 'aliasName', 'describeTemplateAlias_aliasName' - The name of the template alias that you want to describe. If you name a+-- specific alias, you describe the version that the alias points to. You+-- can specify the latest version of the template by providing the keyword+-- @$LATEST@ in the @AliasName@ parameter. The keyword @$PUBLISHED@+-- doesn\'t apply to templates.+newDescribeTemplateAlias ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'templateId'+  Prelude.Text ->+  -- | 'aliasName'+  Prelude.Text ->+  DescribeTemplateAlias+newDescribeTemplateAlias+  pAwsAccountId_+  pTemplateId_+  pAliasName_ =+    DescribeTemplateAlias'+      { awsAccountId =+          pAwsAccountId_,+        templateId = pTemplateId_,+        aliasName = pAliasName_+      }++-- | The ID of the Amazon Web Services account that contains the template+-- alias that you\'re describing.+describeTemplateAlias_awsAccountId :: Lens.Lens' DescribeTemplateAlias Prelude.Text+describeTemplateAlias_awsAccountId = Lens.lens (\DescribeTemplateAlias' {awsAccountId} -> awsAccountId) (\s@DescribeTemplateAlias' {} a -> s {awsAccountId = a} :: DescribeTemplateAlias)++-- | The ID for the template.+describeTemplateAlias_templateId :: Lens.Lens' DescribeTemplateAlias Prelude.Text+describeTemplateAlias_templateId = Lens.lens (\DescribeTemplateAlias' {templateId} -> templateId) (\s@DescribeTemplateAlias' {} a -> s {templateId = a} :: DescribeTemplateAlias)++-- | The name of the template alias that you want to describe. If you name a+-- specific alias, you describe the version that the alias points to. You+-- can specify the latest version of the template by providing the keyword+-- @$LATEST@ in the @AliasName@ parameter. The keyword @$PUBLISHED@+-- doesn\'t apply to templates.+describeTemplateAlias_aliasName :: Lens.Lens' DescribeTemplateAlias Prelude.Text+describeTemplateAlias_aliasName = Lens.lens (\DescribeTemplateAlias' {aliasName} -> aliasName) (\s@DescribeTemplateAlias' {} a -> s {aliasName = a} :: DescribeTemplateAlias)++instance Core.AWSRequest DescribeTemplateAlias where+  type+    AWSResponse DescribeTemplateAlias =+      DescribeTemplateAliasResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeTemplateAliasResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "TemplateAlias")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeTemplateAlias where+  hashWithSalt _salt DescribeTemplateAlias' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` templateId+      `Prelude.hashWithSalt` aliasName++instance Prelude.NFData DescribeTemplateAlias where+  rnf DescribeTemplateAlias' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf aliasName++instance Data.ToHeaders DescribeTemplateAlias where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeTemplateAlias where+  toPath DescribeTemplateAlias' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/templates/",+        Data.toBS templateId,+        "/aliases/",+        Data.toBS aliasName+      ]++instance Data.ToQuery DescribeTemplateAlias where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeTemplateAliasResponse' smart constructor.+data DescribeTemplateAliasResponse = DescribeTemplateAliasResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | Information about the template alias.+    templateAlias :: Prelude.Maybe TemplateAlias,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeTemplateAliasResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'describeTemplateAliasResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'templateAlias', 'describeTemplateAliasResponse_templateAlias' - Information about the template alias.+--+-- 'status', 'describeTemplateAliasResponse_status' - The HTTP status of the request.+newDescribeTemplateAliasResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeTemplateAliasResponse+newDescribeTemplateAliasResponse pStatus_ =+  DescribeTemplateAliasResponse'+    { requestId =+        Prelude.Nothing,+      templateAlias = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+describeTemplateAliasResponse_requestId :: Lens.Lens' DescribeTemplateAliasResponse (Prelude.Maybe Prelude.Text)+describeTemplateAliasResponse_requestId = Lens.lens (\DescribeTemplateAliasResponse' {requestId} -> requestId) (\s@DescribeTemplateAliasResponse' {} a -> s {requestId = a} :: DescribeTemplateAliasResponse)++-- | Information about the template alias.+describeTemplateAliasResponse_templateAlias :: Lens.Lens' DescribeTemplateAliasResponse (Prelude.Maybe TemplateAlias)+describeTemplateAliasResponse_templateAlias = Lens.lens (\DescribeTemplateAliasResponse' {templateAlias} -> templateAlias) (\s@DescribeTemplateAliasResponse' {} a -> s {templateAlias = a} :: DescribeTemplateAliasResponse)++-- | The HTTP status of the request.+describeTemplateAliasResponse_status :: Lens.Lens' DescribeTemplateAliasResponse Prelude.Int+describeTemplateAliasResponse_status = Lens.lens (\DescribeTemplateAliasResponse' {status} -> status) (\s@DescribeTemplateAliasResponse' {} a -> s {status = a} :: DescribeTemplateAliasResponse)++instance Prelude.NFData DescribeTemplateAliasResponse where+  rnf DescribeTemplateAliasResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf templateAlias+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeTemplateDefinition.hs view
@@ -0,0 +1,363 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DescribeTemplateDefinition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides a detailed description of the definition of a template.+--+-- If you do not need to know details about the content of a template, for+-- instance if you are trying to check the status of a recently created or+-- updated template, use the+-- <https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeTemplate.html DescribeTemplate>+-- instead.+module Amazonka.QuickSight.DescribeTemplateDefinition+  ( -- * Creating a Request+    DescribeTemplateDefinition (..),+    newDescribeTemplateDefinition,++    -- * Request Lenses+    describeTemplateDefinition_aliasName,+    describeTemplateDefinition_versionNumber,+    describeTemplateDefinition_awsAccountId,+    describeTemplateDefinition_templateId,++    -- * Destructuring the Response+    DescribeTemplateDefinitionResponse (..),+    newDescribeTemplateDefinitionResponse,++    -- * Response Lenses+    describeTemplateDefinitionResponse_definition,+    describeTemplateDefinitionResponse_errors,+    describeTemplateDefinitionResponse_name,+    describeTemplateDefinitionResponse_requestId,+    describeTemplateDefinitionResponse_resourceStatus,+    describeTemplateDefinitionResponse_templateId,+    describeTemplateDefinitionResponse_themeArn,+    describeTemplateDefinitionResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeTemplateDefinition' smart constructor.+data DescribeTemplateDefinition = DescribeTemplateDefinition'+  { -- | The alias of the template that you want to describe. If you name a+    -- specific alias, you describe the version that the alias points to. You+    -- can specify the latest version of the template by providing the keyword+    -- @$LATEST@ in the @AliasName@ parameter. The keyword @$PUBLISHED@+    -- doesn\'t apply to templates.+    aliasName :: Prelude.Maybe Prelude.Text,+    -- | The version number of the template.+    versionNumber :: Prelude.Maybe Prelude.Natural,+    -- | The ID of the Amazon Web Services account that contains the template.+    -- You must be using the Amazon Web Services account that the template is+    -- in.+    awsAccountId :: Prelude.Text,+    -- | The ID of the template that you\'re describing.+    templateId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeTemplateDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aliasName', 'describeTemplateDefinition_aliasName' - The alias of the template that you want to describe. If you name a+-- specific alias, you describe the version that the alias points to. You+-- can specify the latest version of the template by providing the keyword+-- @$LATEST@ in the @AliasName@ parameter. The keyword @$PUBLISHED@+-- doesn\'t apply to templates.+--+-- 'versionNumber', 'describeTemplateDefinition_versionNumber' - The version number of the template.+--+-- 'awsAccountId', 'describeTemplateDefinition_awsAccountId' - The ID of the Amazon Web Services account that contains the template.+-- You must be using the Amazon Web Services account that the template is+-- in.+--+-- 'templateId', 'describeTemplateDefinition_templateId' - The ID of the template that you\'re describing.+newDescribeTemplateDefinition ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'templateId'+  Prelude.Text ->+  DescribeTemplateDefinition+newDescribeTemplateDefinition+  pAwsAccountId_+  pTemplateId_ =+    DescribeTemplateDefinition'+      { aliasName =+          Prelude.Nothing,+        versionNumber = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        templateId = pTemplateId_+      }++-- | The alias of the template that you want to describe. If you name a+-- specific alias, you describe the version that the alias points to. You+-- can specify the latest version of the template by providing the keyword+-- @$LATEST@ in the @AliasName@ parameter. The keyword @$PUBLISHED@+-- doesn\'t apply to templates.+describeTemplateDefinition_aliasName :: Lens.Lens' DescribeTemplateDefinition (Prelude.Maybe Prelude.Text)+describeTemplateDefinition_aliasName = Lens.lens (\DescribeTemplateDefinition' {aliasName} -> aliasName) (\s@DescribeTemplateDefinition' {} a -> s {aliasName = a} :: DescribeTemplateDefinition)++-- | The version number of the template.+describeTemplateDefinition_versionNumber :: Lens.Lens' DescribeTemplateDefinition (Prelude.Maybe Prelude.Natural)+describeTemplateDefinition_versionNumber = Lens.lens (\DescribeTemplateDefinition' {versionNumber} -> versionNumber) (\s@DescribeTemplateDefinition' {} a -> s {versionNumber = a} :: DescribeTemplateDefinition)++-- | The ID of the Amazon Web Services account that contains the template.+-- You must be using the Amazon Web Services account that the template is+-- in.+describeTemplateDefinition_awsAccountId :: Lens.Lens' DescribeTemplateDefinition Prelude.Text+describeTemplateDefinition_awsAccountId = Lens.lens (\DescribeTemplateDefinition' {awsAccountId} -> awsAccountId) (\s@DescribeTemplateDefinition' {} a -> s {awsAccountId = a} :: DescribeTemplateDefinition)++-- | The ID of the template that you\'re describing.+describeTemplateDefinition_templateId :: Lens.Lens' DescribeTemplateDefinition Prelude.Text+describeTemplateDefinition_templateId = Lens.lens (\DescribeTemplateDefinition' {templateId} -> templateId) (\s@DescribeTemplateDefinition' {} a -> s {templateId = a} :: DescribeTemplateDefinition)++instance Core.AWSRequest DescribeTemplateDefinition where+  type+    AWSResponse DescribeTemplateDefinition =+      DescribeTemplateDefinitionResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeTemplateDefinitionResponse'+            Prelude.<$> (x Data..?> "Definition")+            Prelude.<*> (x Data..?> "Errors")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "ResourceStatus")+            Prelude.<*> (x Data..?> "TemplateId")+            Prelude.<*> (x Data..?> "ThemeArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeTemplateDefinition where+  hashWithSalt _salt DescribeTemplateDefinition' {..} =+    _salt+      `Prelude.hashWithSalt` aliasName+      `Prelude.hashWithSalt` versionNumber+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` templateId++instance Prelude.NFData DescribeTemplateDefinition where+  rnf DescribeTemplateDefinition' {..} =+    Prelude.rnf aliasName+      `Prelude.seq` Prelude.rnf versionNumber+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf templateId++instance Data.ToHeaders DescribeTemplateDefinition where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeTemplateDefinition where+  toPath DescribeTemplateDefinition' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/templates/",+        Data.toBS templateId,+        "/definition"+      ]++instance Data.ToQuery DescribeTemplateDefinition where+  toQuery DescribeTemplateDefinition' {..} =+    Prelude.mconcat+      [ "alias-name" Data.=: aliasName,+        "version-number" Data.=: versionNumber+      ]++-- | /See:/ 'newDescribeTemplateDefinitionResponse' smart constructor.+data DescribeTemplateDefinitionResponse = DescribeTemplateDefinitionResponse'+  { -- | The definition of the template.+    --+    -- A definition is the data model of all features in a Dashboard, Template,+    -- or Analysis.+    definition :: Prelude.Maybe TemplateVersionDefinition,+    -- | Errors associated with the template version.+    errors :: Prelude.Maybe (Prelude.NonEmpty TemplateError),+    -- | The descriptive name of the template.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | Status associated with the template.+    --+    -- -   @CREATION_IN_PROGRESS@+    --+    -- -   @CREATION_SUCCESSFUL@+    --+    -- -   @CREATION_FAILED@+    --+    -- -   @UPDATE_IN_PROGRESS@+    --+    -- -   @UPDATE_SUCCESSFUL@+    --+    -- -   @UPDATE_FAILED@+    --+    -- -   @DELETED@+    resourceStatus :: Prelude.Maybe ResourceStatus,+    -- | The ID of the template described.+    templateId :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the theme of the template.+    themeArn :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeTemplateDefinitionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'definition', 'describeTemplateDefinitionResponse_definition' - The definition of the template.+--+-- A definition is the data model of all features in a Dashboard, Template,+-- or Analysis.+--+-- 'errors', 'describeTemplateDefinitionResponse_errors' - Errors associated with the template version.+--+-- 'name', 'describeTemplateDefinitionResponse_name' - The descriptive name of the template.+--+-- 'requestId', 'describeTemplateDefinitionResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'resourceStatus', 'describeTemplateDefinitionResponse_resourceStatus' - Status associated with the template.+--+-- -   @CREATION_IN_PROGRESS@+--+-- -   @CREATION_SUCCESSFUL@+--+-- -   @CREATION_FAILED@+--+-- -   @UPDATE_IN_PROGRESS@+--+-- -   @UPDATE_SUCCESSFUL@+--+-- -   @UPDATE_FAILED@+--+-- -   @DELETED@+--+-- 'templateId', 'describeTemplateDefinitionResponse_templateId' - The ID of the template described.+--+-- 'themeArn', 'describeTemplateDefinitionResponse_themeArn' - The ARN of the theme of the template.+--+-- 'status', 'describeTemplateDefinitionResponse_status' - The HTTP status of the request.+newDescribeTemplateDefinitionResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeTemplateDefinitionResponse+newDescribeTemplateDefinitionResponse pStatus_ =+  DescribeTemplateDefinitionResponse'+    { definition =+        Prelude.Nothing,+      errors = Prelude.Nothing,+      name = Prelude.Nothing,+      requestId = Prelude.Nothing,+      resourceStatus = Prelude.Nothing,+      templateId = Prelude.Nothing,+      themeArn = Prelude.Nothing,+      status = pStatus_+    }++-- | The definition of the template.+--+-- A definition is the data model of all features in a Dashboard, Template,+-- or Analysis.+describeTemplateDefinitionResponse_definition :: Lens.Lens' DescribeTemplateDefinitionResponse (Prelude.Maybe TemplateVersionDefinition)+describeTemplateDefinitionResponse_definition = Lens.lens (\DescribeTemplateDefinitionResponse' {definition} -> definition) (\s@DescribeTemplateDefinitionResponse' {} a -> s {definition = a} :: DescribeTemplateDefinitionResponse)++-- | Errors associated with the template version.+describeTemplateDefinitionResponse_errors :: Lens.Lens' DescribeTemplateDefinitionResponse (Prelude.Maybe (Prelude.NonEmpty TemplateError))+describeTemplateDefinitionResponse_errors = Lens.lens (\DescribeTemplateDefinitionResponse' {errors} -> errors) (\s@DescribeTemplateDefinitionResponse' {} a -> s {errors = a} :: DescribeTemplateDefinitionResponse) Prelude.. Lens.mapping Lens.coerced++-- | The descriptive name of the template.+describeTemplateDefinitionResponse_name :: Lens.Lens' DescribeTemplateDefinitionResponse (Prelude.Maybe Prelude.Text)+describeTemplateDefinitionResponse_name = Lens.lens (\DescribeTemplateDefinitionResponse' {name} -> name) (\s@DescribeTemplateDefinitionResponse' {} a -> s {name = a} :: DescribeTemplateDefinitionResponse)++-- | The Amazon Web Services request ID for this operation.+describeTemplateDefinitionResponse_requestId :: Lens.Lens' DescribeTemplateDefinitionResponse (Prelude.Maybe Prelude.Text)+describeTemplateDefinitionResponse_requestId = Lens.lens (\DescribeTemplateDefinitionResponse' {requestId} -> requestId) (\s@DescribeTemplateDefinitionResponse' {} a -> s {requestId = a} :: DescribeTemplateDefinitionResponse)++-- | Status associated with the template.+--+-- -   @CREATION_IN_PROGRESS@+--+-- -   @CREATION_SUCCESSFUL@+--+-- -   @CREATION_FAILED@+--+-- -   @UPDATE_IN_PROGRESS@+--+-- -   @UPDATE_SUCCESSFUL@+--+-- -   @UPDATE_FAILED@+--+-- -   @DELETED@+describeTemplateDefinitionResponse_resourceStatus :: Lens.Lens' DescribeTemplateDefinitionResponse (Prelude.Maybe ResourceStatus)+describeTemplateDefinitionResponse_resourceStatus = Lens.lens (\DescribeTemplateDefinitionResponse' {resourceStatus} -> resourceStatus) (\s@DescribeTemplateDefinitionResponse' {} a -> s {resourceStatus = a} :: DescribeTemplateDefinitionResponse)++-- | The ID of the template described.+describeTemplateDefinitionResponse_templateId :: Lens.Lens' DescribeTemplateDefinitionResponse (Prelude.Maybe Prelude.Text)+describeTemplateDefinitionResponse_templateId = Lens.lens (\DescribeTemplateDefinitionResponse' {templateId} -> templateId) (\s@DescribeTemplateDefinitionResponse' {} a -> s {templateId = a} :: DescribeTemplateDefinitionResponse)++-- | The ARN of the theme of the template.+describeTemplateDefinitionResponse_themeArn :: Lens.Lens' DescribeTemplateDefinitionResponse (Prelude.Maybe Prelude.Text)+describeTemplateDefinitionResponse_themeArn = Lens.lens (\DescribeTemplateDefinitionResponse' {themeArn} -> themeArn) (\s@DescribeTemplateDefinitionResponse' {} a -> s {themeArn = a} :: DescribeTemplateDefinitionResponse)++-- | The HTTP status of the request.+describeTemplateDefinitionResponse_status :: Lens.Lens' DescribeTemplateDefinitionResponse Prelude.Int+describeTemplateDefinitionResponse_status = Lens.lens (\DescribeTemplateDefinitionResponse' {status} -> status) (\s@DescribeTemplateDefinitionResponse' {} a -> s {status = a} :: DescribeTemplateDefinitionResponse)++instance+  Prelude.NFData+    DescribeTemplateDefinitionResponse+  where+  rnf DescribeTemplateDefinitionResponse' {..} =+    Prelude.rnf definition+      `Prelude.seq` Prelude.rnf errors+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf resourceStatus+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf themeArn+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeTemplatePermissions.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.QuickSight.DescribeTemplatePermissions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes read and write permissions on a template.+module Amazonka.QuickSight.DescribeTemplatePermissions+  ( -- * Creating a Request+    DescribeTemplatePermissions (..),+    newDescribeTemplatePermissions,++    -- * Request Lenses+    describeTemplatePermissions_awsAccountId,+    describeTemplatePermissions_templateId,++    -- * Destructuring the Response+    DescribeTemplatePermissionsResponse (..),+    newDescribeTemplatePermissionsResponse,++    -- * Response Lenses+    describeTemplatePermissionsResponse_permissions,+    describeTemplatePermissionsResponse_requestId,+    describeTemplatePermissionsResponse_templateArn,+    describeTemplatePermissionsResponse_templateId,+    describeTemplatePermissionsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeTemplatePermissions' smart constructor.+data DescribeTemplatePermissions = DescribeTemplatePermissions'+  { -- | The ID of the Amazon Web Services account that contains the template+    -- that you\'re describing.+    awsAccountId :: Prelude.Text,+    -- | The ID for the template.+    templateId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeTemplatePermissions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeTemplatePermissions_awsAccountId' - The ID of the Amazon Web Services account that contains the template+-- that you\'re describing.+--+-- 'templateId', 'describeTemplatePermissions_templateId' - The ID for the template.+newDescribeTemplatePermissions ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'templateId'+  Prelude.Text ->+  DescribeTemplatePermissions+newDescribeTemplatePermissions+  pAwsAccountId_+  pTemplateId_ =+    DescribeTemplatePermissions'+      { awsAccountId =+          pAwsAccountId_,+        templateId = pTemplateId_+      }++-- | The ID of the Amazon Web Services account that contains the template+-- that you\'re describing.+describeTemplatePermissions_awsAccountId :: Lens.Lens' DescribeTemplatePermissions Prelude.Text+describeTemplatePermissions_awsAccountId = Lens.lens (\DescribeTemplatePermissions' {awsAccountId} -> awsAccountId) (\s@DescribeTemplatePermissions' {} a -> s {awsAccountId = a} :: DescribeTemplatePermissions)++-- | The ID for the template.+describeTemplatePermissions_templateId :: Lens.Lens' DescribeTemplatePermissions Prelude.Text+describeTemplatePermissions_templateId = Lens.lens (\DescribeTemplatePermissions' {templateId} -> templateId) (\s@DescribeTemplatePermissions' {} a -> s {templateId = a} :: DescribeTemplatePermissions)++instance Core.AWSRequest DescribeTemplatePermissions where+  type+    AWSResponse DescribeTemplatePermissions =+      DescribeTemplatePermissionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeTemplatePermissionsResponse'+            Prelude.<$> (x Data..?> "Permissions")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "TemplateArn")+            Prelude.<*> (x Data..?> "TemplateId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeTemplatePermissions where+  hashWithSalt _salt DescribeTemplatePermissions' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` templateId++instance Prelude.NFData DescribeTemplatePermissions where+  rnf DescribeTemplatePermissions' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf templateId++instance Data.ToHeaders DescribeTemplatePermissions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeTemplatePermissions where+  toPath DescribeTemplatePermissions' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/templates/",+        Data.toBS templateId,+        "/permissions"+      ]++instance Data.ToQuery DescribeTemplatePermissions where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeTemplatePermissionsResponse' smart constructor.+data DescribeTemplatePermissionsResponse = DescribeTemplatePermissionsResponse'+  { -- | A list of resource permissions to be set on the template.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the template.+    templateArn :: Prelude.Maybe Prelude.Text,+    -- | The ID for the template.+    templateId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeTemplatePermissionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'permissions', 'describeTemplatePermissionsResponse_permissions' - A list of resource permissions to be set on the template.+--+-- 'requestId', 'describeTemplatePermissionsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'templateArn', 'describeTemplatePermissionsResponse_templateArn' - The Amazon Resource Name (ARN) of the template.+--+-- 'templateId', 'describeTemplatePermissionsResponse_templateId' - The ID for the template.+--+-- 'status', 'describeTemplatePermissionsResponse_status' - The HTTP status of the request.+newDescribeTemplatePermissionsResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeTemplatePermissionsResponse+newDescribeTemplatePermissionsResponse pStatus_ =+  DescribeTemplatePermissionsResponse'+    { permissions =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      templateArn = Prelude.Nothing,+      templateId = Prelude.Nothing,+      status = pStatus_+    }++-- | A list of resource permissions to be set on the template.+describeTemplatePermissionsResponse_permissions :: Lens.Lens' DescribeTemplatePermissionsResponse (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+describeTemplatePermissionsResponse_permissions = Lens.lens (\DescribeTemplatePermissionsResponse' {permissions} -> permissions) (\s@DescribeTemplatePermissionsResponse' {} a -> s {permissions = a} :: DescribeTemplatePermissionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services request ID for this operation.+describeTemplatePermissionsResponse_requestId :: Lens.Lens' DescribeTemplatePermissionsResponse (Prelude.Maybe Prelude.Text)+describeTemplatePermissionsResponse_requestId = Lens.lens (\DescribeTemplatePermissionsResponse' {requestId} -> requestId) (\s@DescribeTemplatePermissionsResponse' {} a -> s {requestId = a} :: DescribeTemplatePermissionsResponse)++-- | The Amazon Resource Name (ARN) of the template.+describeTemplatePermissionsResponse_templateArn :: Lens.Lens' DescribeTemplatePermissionsResponse (Prelude.Maybe Prelude.Text)+describeTemplatePermissionsResponse_templateArn = Lens.lens (\DescribeTemplatePermissionsResponse' {templateArn} -> templateArn) (\s@DescribeTemplatePermissionsResponse' {} a -> s {templateArn = a} :: DescribeTemplatePermissionsResponse)++-- | The ID for the template.+describeTemplatePermissionsResponse_templateId :: Lens.Lens' DescribeTemplatePermissionsResponse (Prelude.Maybe Prelude.Text)+describeTemplatePermissionsResponse_templateId = Lens.lens (\DescribeTemplatePermissionsResponse' {templateId} -> templateId) (\s@DescribeTemplatePermissionsResponse' {} a -> s {templateId = a} :: DescribeTemplatePermissionsResponse)++-- | The HTTP status of the request.+describeTemplatePermissionsResponse_status :: Lens.Lens' DescribeTemplatePermissionsResponse Prelude.Int+describeTemplatePermissionsResponse_status = Lens.lens (\DescribeTemplatePermissionsResponse' {status} -> status) (\s@DescribeTemplatePermissionsResponse' {} a -> s {status = a} :: DescribeTemplatePermissionsResponse)++instance+  Prelude.NFData+    DescribeTemplatePermissionsResponse+  where+  rnf DescribeTemplatePermissionsResponse' {..} =+    Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf templateArn+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeTheme.hs view
@@ -0,0 +1,241 @@+{-# 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.QuickSight.DescribeTheme+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes a theme.+module Amazonka.QuickSight.DescribeTheme+  ( -- * Creating a Request+    DescribeTheme (..),+    newDescribeTheme,++    -- * Request Lenses+    describeTheme_aliasName,+    describeTheme_versionNumber,+    describeTheme_awsAccountId,+    describeTheme_themeId,++    -- * Destructuring the Response+    DescribeThemeResponse (..),+    newDescribeThemeResponse,++    -- * Response Lenses+    describeThemeResponse_requestId,+    describeThemeResponse_theme,+    describeThemeResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeTheme' smart constructor.+data DescribeTheme = DescribeTheme'+  { -- | The alias of the theme that you want to describe. If you name a specific+    -- alias, you describe the version that the alias points to. You can+    -- specify the latest version of the theme by providing the keyword+    -- @$LATEST@ in the @AliasName@ parameter. The keyword @$PUBLISHED@+    -- doesn\'t apply to themes.+    aliasName :: Prelude.Maybe Prelude.Text,+    -- | The version number for the version to describe. If a @VersionNumber@+    -- parameter value isn\'t provided, the latest version of the theme is+    -- described.+    versionNumber :: Prelude.Maybe Prelude.Natural,+    -- | The ID of the Amazon Web Services account that contains the theme that+    -- you\'re describing.+    awsAccountId :: Prelude.Text,+    -- | The ID for the theme.+    themeId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeTheme' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aliasName', 'describeTheme_aliasName' - The alias of the theme that you want to describe. If you name a specific+-- alias, you describe the version that the alias points to. You can+-- specify the latest version of the theme by providing the keyword+-- @$LATEST@ in the @AliasName@ parameter. The keyword @$PUBLISHED@+-- doesn\'t apply to themes.+--+-- 'versionNumber', 'describeTheme_versionNumber' - The version number for the version to describe. If a @VersionNumber@+-- parameter value isn\'t provided, the latest version of the theme is+-- described.+--+-- 'awsAccountId', 'describeTheme_awsAccountId' - The ID of the Amazon Web Services account that contains the theme that+-- you\'re describing.+--+-- 'themeId', 'describeTheme_themeId' - The ID for the theme.+newDescribeTheme ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'themeId'+  Prelude.Text ->+  DescribeTheme+newDescribeTheme pAwsAccountId_ pThemeId_ =+  DescribeTheme'+    { aliasName = Prelude.Nothing,+      versionNumber = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      themeId = pThemeId_+    }++-- | The alias of the theme that you want to describe. If you name a specific+-- alias, you describe the version that the alias points to. You can+-- specify the latest version of the theme by providing the keyword+-- @$LATEST@ in the @AliasName@ parameter. The keyword @$PUBLISHED@+-- doesn\'t apply to themes.+describeTheme_aliasName :: Lens.Lens' DescribeTheme (Prelude.Maybe Prelude.Text)+describeTheme_aliasName = Lens.lens (\DescribeTheme' {aliasName} -> aliasName) (\s@DescribeTheme' {} a -> s {aliasName = a} :: DescribeTheme)++-- | The version number for the version to describe. If a @VersionNumber@+-- parameter value isn\'t provided, the latest version of the theme is+-- described.+describeTheme_versionNumber :: Lens.Lens' DescribeTheme (Prelude.Maybe Prelude.Natural)+describeTheme_versionNumber = Lens.lens (\DescribeTheme' {versionNumber} -> versionNumber) (\s@DescribeTheme' {} a -> s {versionNumber = a} :: DescribeTheme)++-- | The ID of the Amazon Web Services account that contains the theme that+-- you\'re describing.+describeTheme_awsAccountId :: Lens.Lens' DescribeTheme Prelude.Text+describeTheme_awsAccountId = Lens.lens (\DescribeTheme' {awsAccountId} -> awsAccountId) (\s@DescribeTheme' {} a -> s {awsAccountId = a} :: DescribeTheme)++-- | The ID for the theme.+describeTheme_themeId :: Lens.Lens' DescribeTheme Prelude.Text+describeTheme_themeId = Lens.lens (\DescribeTheme' {themeId} -> themeId) (\s@DescribeTheme' {} a -> s {themeId = a} :: DescribeTheme)++instance Core.AWSRequest DescribeTheme where+  type+    AWSResponse DescribeTheme =+      DescribeThemeResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeThemeResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "Theme")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeTheme where+  hashWithSalt _salt DescribeTheme' {..} =+    _salt+      `Prelude.hashWithSalt` aliasName+      `Prelude.hashWithSalt` versionNumber+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` themeId++instance Prelude.NFData DescribeTheme where+  rnf DescribeTheme' {..} =+    Prelude.rnf aliasName+      `Prelude.seq` Prelude.rnf versionNumber+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf themeId++instance Data.ToHeaders DescribeTheme where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeTheme where+  toPath DescribeTheme' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/themes/",+        Data.toBS themeId+      ]++instance Data.ToQuery DescribeTheme where+  toQuery DescribeTheme' {..} =+    Prelude.mconcat+      [ "alias-name" Data.=: aliasName,+        "version-number" Data.=: versionNumber+      ]++-- | /See:/ 'newDescribeThemeResponse' smart constructor.+data DescribeThemeResponse = DescribeThemeResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The information about the theme that you are describing.+    theme :: Prelude.Maybe Theme,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeThemeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'describeThemeResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'theme', 'describeThemeResponse_theme' - The information about the theme that you are describing.+--+-- 'status', 'describeThemeResponse_status' - The HTTP status of the request.+newDescribeThemeResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeThemeResponse+newDescribeThemeResponse pStatus_ =+  DescribeThemeResponse'+    { requestId = Prelude.Nothing,+      theme = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+describeThemeResponse_requestId :: Lens.Lens' DescribeThemeResponse (Prelude.Maybe Prelude.Text)+describeThemeResponse_requestId = Lens.lens (\DescribeThemeResponse' {requestId} -> requestId) (\s@DescribeThemeResponse' {} a -> s {requestId = a} :: DescribeThemeResponse)++-- | The information about the theme that you are describing.+describeThemeResponse_theme :: Lens.Lens' DescribeThemeResponse (Prelude.Maybe Theme)+describeThemeResponse_theme = Lens.lens (\DescribeThemeResponse' {theme} -> theme) (\s@DescribeThemeResponse' {} a -> s {theme = a} :: DescribeThemeResponse)++-- | The HTTP status of the request.+describeThemeResponse_status :: Lens.Lens' DescribeThemeResponse Prelude.Int+describeThemeResponse_status = Lens.lens (\DescribeThemeResponse' {status} -> status) (\s@DescribeThemeResponse' {} a -> s {status = a} :: DescribeThemeResponse)++instance Prelude.NFData DescribeThemeResponse where+  rnf DescribeThemeResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf theme+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeThemeAlias.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.QuickSight.DescribeThemeAlias+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the alias for a theme.+module Amazonka.QuickSight.DescribeThemeAlias+  ( -- * Creating a Request+    DescribeThemeAlias (..),+    newDescribeThemeAlias,++    -- * Request Lenses+    describeThemeAlias_awsAccountId,+    describeThemeAlias_themeId,+    describeThemeAlias_aliasName,++    -- * Destructuring the Response+    DescribeThemeAliasResponse (..),+    newDescribeThemeAliasResponse,++    -- * Response Lenses+    describeThemeAliasResponse_requestId,+    describeThemeAliasResponse_themeAlias,+    describeThemeAliasResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeThemeAlias' smart constructor.+data DescribeThemeAlias = DescribeThemeAlias'+  { -- | The ID of the Amazon Web Services account that contains the theme alias+    -- that you\'re describing.+    awsAccountId :: Prelude.Text,+    -- | The ID for the theme.+    themeId :: Prelude.Text,+    -- | The name of the theme alias that you want to describe.+    aliasName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeThemeAlias' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeThemeAlias_awsAccountId' - The ID of the Amazon Web Services account that contains the theme alias+-- that you\'re describing.+--+-- 'themeId', 'describeThemeAlias_themeId' - The ID for the theme.+--+-- 'aliasName', 'describeThemeAlias_aliasName' - The name of the theme alias that you want to describe.+newDescribeThemeAlias ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'themeId'+  Prelude.Text ->+  -- | 'aliasName'+  Prelude.Text ->+  DescribeThemeAlias+newDescribeThemeAlias+  pAwsAccountId_+  pThemeId_+  pAliasName_ =+    DescribeThemeAlias'+      { awsAccountId = pAwsAccountId_,+        themeId = pThemeId_,+        aliasName = pAliasName_+      }++-- | The ID of the Amazon Web Services account that contains the theme alias+-- that you\'re describing.+describeThemeAlias_awsAccountId :: Lens.Lens' DescribeThemeAlias Prelude.Text+describeThemeAlias_awsAccountId = Lens.lens (\DescribeThemeAlias' {awsAccountId} -> awsAccountId) (\s@DescribeThemeAlias' {} a -> s {awsAccountId = a} :: DescribeThemeAlias)++-- | The ID for the theme.+describeThemeAlias_themeId :: Lens.Lens' DescribeThemeAlias Prelude.Text+describeThemeAlias_themeId = Lens.lens (\DescribeThemeAlias' {themeId} -> themeId) (\s@DescribeThemeAlias' {} a -> s {themeId = a} :: DescribeThemeAlias)++-- | The name of the theme alias that you want to describe.+describeThemeAlias_aliasName :: Lens.Lens' DescribeThemeAlias Prelude.Text+describeThemeAlias_aliasName = Lens.lens (\DescribeThemeAlias' {aliasName} -> aliasName) (\s@DescribeThemeAlias' {} a -> s {aliasName = a} :: DescribeThemeAlias)++instance Core.AWSRequest DescribeThemeAlias where+  type+    AWSResponse DescribeThemeAlias =+      DescribeThemeAliasResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeThemeAliasResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "ThemeAlias")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeThemeAlias where+  hashWithSalt _salt DescribeThemeAlias' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` themeId+      `Prelude.hashWithSalt` aliasName++instance Prelude.NFData DescribeThemeAlias where+  rnf DescribeThemeAlias' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf themeId+      `Prelude.seq` Prelude.rnf aliasName++instance Data.ToHeaders DescribeThemeAlias where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeThemeAlias where+  toPath DescribeThemeAlias' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/themes/",+        Data.toBS themeId,+        "/aliases/",+        Data.toBS aliasName+      ]++instance Data.ToQuery DescribeThemeAlias where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeThemeAliasResponse' smart constructor.+data DescribeThemeAliasResponse = DescribeThemeAliasResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | Information about the theme alias.+    themeAlias :: Prelude.Maybe ThemeAlias,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeThemeAliasResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'describeThemeAliasResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'themeAlias', 'describeThemeAliasResponse_themeAlias' - Information about the theme alias.+--+-- 'status', 'describeThemeAliasResponse_status' - The HTTP status of the request.+newDescribeThemeAliasResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeThemeAliasResponse+newDescribeThemeAliasResponse pStatus_ =+  DescribeThemeAliasResponse'+    { requestId =+        Prelude.Nothing,+      themeAlias = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+describeThemeAliasResponse_requestId :: Lens.Lens' DescribeThemeAliasResponse (Prelude.Maybe Prelude.Text)+describeThemeAliasResponse_requestId = Lens.lens (\DescribeThemeAliasResponse' {requestId} -> requestId) (\s@DescribeThemeAliasResponse' {} a -> s {requestId = a} :: DescribeThemeAliasResponse)++-- | Information about the theme alias.+describeThemeAliasResponse_themeAlias :: Lens.Lens' DescribeThemeAliasResponse (Prelude.Maybe ThemeAlias)+describeThemeAliasResponse_themeAlias = Lens.lens (\DescribeThemeAliasResponse' {themeAlias} -> themeAlias) (\s@DescribeThemeAliasResponse' {} a -> s {themeAlias = a} :: DescribeThemeAliasResponse)++-- | The HTTP status of the request.+describeThemeAliasResponse_status :: Lens.Lens' DescribeThemeAliasResponse Prelude.Int+describeThemeAliasResponse_status = Lens.lens (\DescribeThemeAliasResponse' {status} -> status) (\s@DescribeThemeAliasResponse' {} a -> s {status = a} :: DescribeThemeAliasResponse)++instance Prelude.NFData DescribeThemeAliasResponse where+  rnf DescribeThemeAliasResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf themeAlias+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeThemePermissions.hs view
@@ -0,0 +1,225 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DescribeThemePermissions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the read and write permissions for a theme.+module Amazonka.QuickSight.DescribeThemePermissions+  ( -- * Creating a Request+    DescribeThemePermissions (..),+    newDescribeThemePermissions,++    -- * Request Lenses+    describeThemePermissions_awsAccountId,+    describeThemePermissions_themeId,++    -- * Destructuring the Response+    DescribeThemePermissionsResponse (..),+    newDescribeThemePermissionsResponse,++    -- * Response Lenses+    describeThemePermissionsResponse_permissions,+    describeThemePermissionsResponse_requestId,+    describeThemePermissionsResponse_themeArn,+    describeThemePermissionsResponse_themeId,+    describeThemePermissionsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeThemePermissions' smart constructor.+data DescribeThemePermissions = DescribeThemePermissions'+  { -- | The ID of the Amazon Web Services account that contains the theme that+    -- you\'re describing.+    awsAccountId :: Prelude.Text,+    -- | The ID for the theme that you want to describe permissions for.+    themeId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeThemePermissions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'describeThemePermissions_awsAccountId' - The ID of the Amazon Web Services account that contains the theme that+-- you\'re describing.+--+-- 'themeId', 'describeThemePermissions_themeId' - The ID for the theme that you want to describe permissions for.+newDescribeThemePermissions ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'themeId'+  Prelude.Text ->+  DescribeThemePermissions+newDescribeThemePermissions pAwsAccountId_ pThemeId_ =+  DescribeThemePermissions'+    { awsAccountId =+        pAwsAccountId_,+      themeId = pThemeId_+    }++-- | The ID of the Amazon Web Services account that contains the theme that+-- you\'re describing.+describeThemePermissions_awsAccountId :: Lens.Lens' DescribeThemePermissions Prelude.Text+describeThemePermissions_awsAccountId = Lens.lens (\DescribeThemePermissions' {awsAccountId} -> awsAccountId) (\s@DescribeThemePermissions' {} a -> s {awsAccountId = a} :: DescribeThemePermissions)++-- | The ID for the theme that you want to describe permissions for.+describeThemePermissions_themeId :: Lens.Lens' DescribeThemePermissions Prelude.Text+describeThemePermissions_themeId = Lens.lens (\DescribeThemePermissions' {themeId} -> themeId) (\s@DescribeThemePermissions' {} a -> s {themeId = a} :: DescribeThemePermissions)++instance Core.AWSRequest DescribeThemePermissions where+  type+    AWSResponse DescribeThemePermissions =+      DescribeThemePermissionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeThemePermissionsResponse'+            Prelude.<$> (x Data..?> "Permissions")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "ThemeArn")+            Prelude.<*> (x Data..?> "ThemeId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeThemePermissions where+  hashWithSalt _salt DescribeThemePermissions' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` themeId++instance Prelude.NFData DescribeThemePermissions where+  rnf DescribeThemePermissions' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf themeId++instance Data.ToHeaders DescribeThemePermissions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeThemePermissions where+  toPath DescribeThemePermissions' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/themes/",+        Data.toBS themeId,+        "/permissions"+      ]++instance Data.ToQuery DescribeThemePermissions where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeThemePermissionsResponse' smart constructor.+data DescribeThemePermissionsResponse = DescribeThemePermissionsResponse'+  { -- | A list of resource permissions set on the theme.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the theme.+    themeArn :: Prelude.Maybe Prelude.Text,+    -- | The ID for the theme.+    themeId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeThemePermissionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'permissions', 'describeThemePermissionsResponse_permissions' - A list of resource permissions set on the theme.+--+-- 'requestId', 'describeThemePermissionsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'themeArn', 'describeThemePermissionsResponse_themeArn' - The Amazon Resource Name (ARN) of the theme.+--+-- 'themeId', 'describeThemePermissionsResponse_themeId' - The ID for the theme.+--+-- 'status', 'describeThemePermissionsResponse_status' - The HTTP status of the request.+newDescribeThemePermissionsResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeThemePermissionsResponse+newDescribeThemePermissionsResponse pStatus_ =+  DescribeThemePermissionsResponse'+    { permissions =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      themeArn = Prelude.Nothing,+      themeId = Prelude.Nothing,+      status = pStatus_+    }++-- | A list of resource permissions set on the theme.+describeThemePermissionsResponse_permissions :: Lens.Lens' DescribeThemePermissionsResponse (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+describeThemePermissionsResponse_permissions = Lens.lens (\DescribeThemePermissionsResponse' {permissions} -> permissions) (\s@DescribeThemePermissionsResponse' {} a -> s {permissions = a} :: DescribeThemePermissionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services request ID for this operation.+describeThemePermissionsResponse_requestId :: Lens.Lens' DescribeThemePermissionsResponse (Prelude.Maybe Prelude.Text)+describeThemePermissionsResponse_requestId = Lens.lens (\DescribeThemePermissionsResponse' {requestId} -> requestId) (\s@DescribeThemePermissionsResponse' {} a -> s {requestId = a} :: DescribeThemePermissionsResponse)++-- | The Amazon Resource Name (ARN) of the theme.+describeThemePermissionsResponse_themeArn :: Lens.Lens' DescribeThemePermissionsResponse (Prelude.Maybe Prelude.Text)+describeThemePermissionsResponse_themeArn = Lens.lens (\DescribeThemePermissionsResponse' {themeArn} -> themeArn) (\s@DescribeThemePermissionsResponse' {} a -> s {themeArn = a} :: DescribeThemePermissionsResponse)++-- | The ID for the theme.+describeThemePermissionsResponse_themeId :: Lens.Lens' DescribeThemePermissionsResponse (Prelude.Maybe Prelude.Text)+describeThemePermissionsResponse_themeId = Lens.lens (\DescribeThemePermissionsResponse' {themeId} -> themeId) (\s@DescribeThemePermissionsResponse' {} a -> s {themeId = a} :: DescribeThemePermissionsResponse)++-- | The HTTP status of the request.+describeThemePermissionsResponse_status :: Lens.Lens' DescribeThemePermissionsResponse Prelude.Int+describeThemePermissionsResponse_status = Lens.lens (\DescribeThemePermissionsResponse' {status} -> status) (\s@DescribeThemePermissionsResponse' {} a -> s {status = a} :: DescribeThemePermissionsResponse)++instance+  Prelude.NFData+    DescribeThemePermissionsResponse+  where+  rnf DescribeThemePermissionsResponse' {..} =+    Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf themeArn+      `Prelude.seq` Prelude.rnf themeId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/DescribeUser.hs view
@@ -0,0 +1,212 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.DescribeUser+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a user, given the user name.+module Amazonka.QuickSight.DescribeUser+  ( -- * Creating a Request+    DescribeUser (..),+    newDescribeUser,++    -- * Request Lenses+    describeUser_userName,+    describeUser_awsAccountId,+    describeUser_namespace,++    -- * Destructuring the Response+    DescribeUserResponse (..),+    newDescribeUserResponse,++    -- * Response Lenses+    describeUserResponse_requestId,+    describeUserResponse_user,+    describeUserResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeUser' smart constructor.+data DescribeUser = DescribeUser'+  { -- | The name of the user that you want to describe.+    userName :: Prelude.Text,+    -- | The ID for the Amazon Web Services account that the user is in.+    -- Currently, you use the ID for the Amazon Web Services account that+    -- contains your Amazon QuickSight account.+    awsAccountId :: Prelude.Text,+    -- | The namespace. Currently, you should set this to @default@.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'userName', 'describeUser_userName' - The name of the user that you want to describe.+--+-- 'awsAccountId', 'describeUser_awsAccountId' - The ID for the Amazon Web Services account that the user is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+--+-- 'namespace', 'describeUser_namespace' - The namespace. Currently, you should set this to @default@.+newDescribeUser ::+  -- | 'userName'+  Prelude.Text ->+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  DescribeUser+newDescribeUser pUserName_ pAwsAccountId_ pNamespace_ =+  DescribeUser'+    { userName = pUserName_,+      awsAccountId = pAwsAccountId_,+      namespace = pNamespace_+    }++-- | The name of the user that you want to describe.+describeUser_userName :: Lens.Lens' DescribeUser Prelude.Text+describeUser_userName = Lens.lens (\DescribeUser' {userName} -> userName) (\s@DescribeUser' {} a -> s {userName = a} :: DescribeUser)++-- | The ID for the Amazon Web Services account that the user is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+describeUser_awsAccountId :: Lens.Lens' DescribeUser Prelude.Text+describeUser_awsAccountId = Lens.lens (\DescribeUser' {awsAccountId} -> awsAccountId) (\s@DescribeUser' {} a -> s {awsAccountId = a} :: DescribeUser)++-- | The namespace. Currently, you should set this to @default@.+describeUser_namespace :: Lens.Lens' DescribeUser Prelude.Text+describeUser_namespace = Lens.lens (\DescribeUser' {namespace} -> namespace) (\s@DescribeUser' {} a -> s {namespace = a} :: DescribeUser)++instance Core.AWSRequest DescribeUser where+  type AWSResponse DescribeUser = DescribeUserResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeUserResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "User")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeUser where+  hashWithSalt _salt DescribeUser' {..} =+    _salt+      `Prelude.hashWithSalt` userName+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData DescribeUser where+  rnf DescribeUser' {..} =+    Prelude.rnf userName+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders DescribeUser where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeUser where+  toPath DescribeUser' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/users/",+        Data.toBS userName+      ]++instance Data.ToQuery DescribeUser where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeUserResponse' smart constructor.+data DescribeUserResponse = DescribeUserResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The user name.+    user :: Prelude.Maybe User,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'describeUserResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'user', 'describeUserResponse_user' - The user name.+--+-- 'status', 'describeUserResponse_status' - The HTTP status of the request.+newDescribeUserResponse ::+  -- | 'status'+  Prelude.Int ->+  DescribeUserResponse+newDescribeUserResponse pStatus_ =+  DescribeUserResponse'+    { requestId = Prelude.Nothing,+      user = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+describeUserResponse_requestId :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Prelude.Text)+describeUserResponse_requestId = Lens.lens (\DescribeUserResponse' {requestId} -> requestId) (\s@DescribeUserResponse' {} a -> s {requestId = a} :: DescribeUserResponse)++-- | The user name.+describeUserResponse_user :: Lens.Lens' DescribeUserResponse (Prelude.Maybe User)+describeUserResponse_user = Lens.lens (\DescribeUserResponse' {user} -> user) (\s@DescribeUserResponse' {} a -> s {user = a} :: DescribeUserResponse)++-- | The HTTP status of the request.+describeUserResponse_status :: Lens.Lens' DescribeUserResponse Prelude.Int+describeUserResponse_status = Lens.lens (\DescribeUserResponse' {status} -> status) (\s@DescribeUserResponse' {} a -> s {status = a} :: DescribeUserResponse)++instance Prelude.NFData DescribeUserResponse where+  rnf DescribeUserResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf user+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/GenerateEmbedUrlForAnonymousUser.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.QuickSight.GenerateEmbedUrlForAnonymousUser+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Generates an embed URL that you can use to embed an Amazon QuickSight+-- dashboard or visual in your website, without having to register any+-- reader users. Before you use this action, make sure that you have+-- configured the dashboards and permissions.+--+-- The following rules apply to the generated URL:+--+-- -   It contains a temporary bearer token. It is valid for 5 minutes+--     after it is generated. Once redeemed within this period, it cannot+--     be re-used again.+--+-- -   The URL validity period should not be confused with the actual+--     session lifetime that can be customized using the+--     @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForAnonymousUser.html#QS-GenerateEmbedUrlForAnonymousUser-request-SessionLifetimeInMinutes SessionLifetimeInMinutes>@ @+--     parameter. The resulting user session is valid for 15 minutes+--     (minimum) to 10 hours (maximum). The default session duration is 10+--     hours.+--+-- -   You are charged only when the URL is used or there is interaction+--     with Amazon QuickSight.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/embedded-analytics.html Embedded Analytics>+-- in the /Amazon QuickSight User Guide/.+--+-- For more information about the high-level steps for embedding and for an+-- interactive demo of the ways you can customize embedding, visit the+-- <https://docs.aws.amazon.com/quicksight/latest/user/quicksight-dev-portal.html Amazon QuickSight Developer Portal>.+module Amazonka.QuickSight.GenerateEmbedUrlForAnonymousUser+  ( -- * Creating a Request+    GenerateEmbedUrlForAnonymousUser (..),+    newGenerateEmbedUrlForAnonymousUser,++    -- * Request Lenses+    generateEmbedUrlForAnonymousUser_allowedDomains,+    generateEmbedUrlForAnonymousUser_sessionLifetimeInMinutes,+    generateEmbedUrlForAnonymousUser_sessionTags,+    generateEmbedUrlForAnonymousUser_awsAccountId,+    generateEmbedUrlForAnonymousUser_namespace,+    generateEmbedUrlForAnonymousUser_authorizedResourceArns,+    generateEmbedUrlForAnonymousUser_experienceConfiguration,++    -- * Destructuring the Response+    GenerateEmbedUrlForAnonymousUserResponse (..),+    newGenerateEmbedUrlForAnonymousUserResponse,++    -- * Response Lenses+    generateEmbedUrlForAnonymousUserResponse_status,+    generateEmbedUrlForAnonymousUserResponse_embedUrl,+    generateEmbedUrlForAnonymousUserResponse_requestId,+    generateEmbedUrlForAnonymousUserResponse_anonymousUserArn,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGenerateEmbedUrlForAnonymousUser' smart constructor.+data GenerateEmbedUrlForAnonymousUser = GenerateEmbedUrlForAnonymousUser'+  { -- | The domains that you want to add to the allow list for access to the+    -- generated URL that is then embedded. This optional parameter overrides+    -- the static domains that are configured in the Manage QuickSight menu in+    -- the Amazon QuickSight console. Instead, it allows only the domains that+    -- you include in this parameter. You can list up to three domains or+    -- subdomains in each API call.+    --+    -- To include all subdomains under a specific domain to the allow list, use+    -- @*@. For example, @https:\/\/*.sapp.amazon.com@ includes all subdomains+    -- under @https:\/\/sapp.amazon.com@.+    allowedDomains :: Prelude.Maybe [Prelude.Text],+    -- | How many minutes the session is valid. The session lifetime must be in+    -- [15-600] minutes range.+    sessionLifetimeInMinutes :: Prelude.Maybe Prelude.Natural,+    -- | The session tags used for row-level security. Before you use this+    -- parameter, make sure that you have configured the relevant datasets+    -- using the @DataSet$RowLevelPermissionTagConfiguration@ parameter so that+    -- session tags can be used to provide row-level security.+    --+    -- These are not the tags used for the Amazon Web Services resource tagging+    -- feature. For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/quicksight-dev-rls-tags.html Using Row-Level Security (RLS) with Tags>in+    -- the /Amazon QuickSight User Guide/.+    sessionTags :: Prelude.Maybe (Prelude.NonEmpty SessionTag),+    -- | The ID for the Amazon Web Services account that contains the dashboard+    -- that you\'re embedding.+    awsAccountId :: Prelude.Text,+    -- | The Amazon QuickSight namespace that the anonymous user virtually+    -- belongs to. If you are not using an Amazon QuickSight custom namespace,+    -- set this to @default@.+    namespace :: Prelude.Text,+    -- | The Amazon Resource Names (ARNs) for the Amazon QuickSight resources+    -- that the user is authorized to access during the lifetime of the+    -- session. If you choose @Dashboard@ embedding experience, pass the list+    -- of dashboard ARNs in the account that you want the user to be able to+    -- view. Currently, you can pass up to 25 dashboard ARNs in each API call.+    authorizedResourceArns :: [Prelude.Text],+    -- | The configuration of the experience that you are embedding.+    experienceConfiguration :: AnonymousUserEmbeddingExperienceConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GenerateEmbedUrlForAnonymousUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowedDomains', 'generateEmbedUrlForAnonymousUser_allowedDomains' - The domains that you want to add to the allow list for access to the+-- generated URL that is then embedded. This optional parameter overrides+-- the static domains that are configured in the Manage QuickSight menu in+-- the Amazon QuickSight console. Instead, it allows only the domains that+-- you include in this parameter. You can list up to three domains or+-- subdomains in each API call.+--+-- To include all subdomains under a specific domain to the allow list, use+-- @*@. For example, @https:\/\/*.sapp.amazon.com@ includes all subdomains+-- under @https:\/\/sapp.amazon.com@.+--+-- 'sessionLifetimeInMinutes', 'generateEmbedUrlForAnonymousUser_sessionLifetimeInMinutes' - How many minutes the session is valid. The session lifetime must be in+-- [15-600] minutes range.+--+-- 'sessionTags', 'generateEmbedUrlForAnonymousUser_sessionTags' - The session tags used for row-level security. Before you use this+-- parameter, make sure that you have configured the relevant datasets+-- using the @DataSet$RowLevelPermissionTagConfiguration@ parameter so that+-- session tags can be used to provide row-level security.+--+-- These are not the tags used for the Amazon Web Services resource tagging+-- feature. For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/quicksight-dev-rls-tags.html Using Row-Level Security (RLS) with Tags>in+-- the /Amazon QuickSight User Guide/.+--+-- 'awsAccountId', 'generateEmbedUrlForAnonymousUser_awsAccountId' - The ID for the Amazon Web Services account that contains the dashboard+-- that you\'re embedding.+--+-- 'namespace', 'generateEmbedUrlForAnonymousUser_namespace' - The Amazon QuickSight namespace that the anonymous user virtually+-- belongs to. If you are not using an Amazon QuickSight custom namespace,+-- set this to @default@.+--+-- 'authorizedResourceArns', 'generateEmbedUrlForAnonymousUser_authorizedResourceArns' - The Amazon Resource Names (ARNs) for the Amazon QuickSight resources+-- that the user is authorized to access during the lifetime of the+-- session. If you choose @Dashboard@ embedding experience, pass the list+-- of dashboard ARNs in the account that you want the user to be able to+-- view. Currently, you can pass up to 25 dashboard ARNs in each API call.+--+-- 'experienceConfiguration', 'generateEmbedUrlForAnonymousUser_experienceConfiguration' - The configuration of the experience that you are embedding.+newGenerateEmbedUrlForAnonymousUser ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  -- | 'experienceConfiguration'+  AnonymousUserEmbeddingExperienceConfiguration ->+  GenerateEmbedUrlForAnonymousUser+newGenerateEmbedUrlForAnonymousUser+  pAwsAccountId_+  pNamespace_+  pExperienceConfiguration_ =+    GenerateEmbedUrlForAnonymousUser'+      { allowedDomains =+          Prelude.Nothing,+        sessionLifetimeInMinutes =+          Prelude.Nothing,+        sessionTags = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        namespace = pNamespace_,+        authorizedResourceArns = Prelude.mempty,+        experienceConfiguration =+          pExperienceConfiguration_+      }++-- | The domains that you want to add to the allow list for access to the+-- generated URL that is then embedded. This optional parameter overrides+-- the static domains that are configured in the Manage QuickSight menu in+-- the Amazon QuickSight console. Instead, it allows only the domains that+-- you include in this parameter. You can list up to three domains or+-- subdomains in each API call.+--+-- To include all subdomains under a specific domain to the allow list, use+-- @*@. For example, @https:\/\/*.sapp.amazon.com@ includes all subdomains+-- under @https:\/\/sapp.amazon.com@.+generateEmbedUrlForAnonymousUser_allowedDomains :: Lens.Lens' GenerateEmbedUrlForAnonymousUser (Prelude.Maybe [Prelude.Text])+generateEmbedUrlForAnonymousUser_allowedDomains = Lens.lens (\GenerateEmbedUrlForAnonymousUser' {allowedDomains} -> allowedDomains) (\s@GenerateEmbedUrlForAnonymousUser' {} a -> s {allowedDomains = a} :: GenerateEmbedUrlForAnonymousUser) Prelude.. Lens.mapping Lens.coerced++-- | How many minutes the session is valid. The session lifetime must be in+-- [15-600] minutes range.+generateEmbedUrlForAnonymousUser_sessionLifetimeInMinutes :: Lens.Lens' GenerateEmbedUrlForAnonymousUser (Prelude.Maybe Prelude.Natural)+generateEmbedUrlForAnonymousUser_sessionLifetimeInMinutes = Lens.lens (\GenerateEmbedUrlForAnonymousUser' {sessionLifetimeInMinutes} -> sessionLifetimeInMinutes) (\s@GenerateEmbedUrlForAnonymousUser' {} a -> s {sessionLifetimeInMinutes = a} :: GenerateEmbedUrlForAnonymousUser)++-- | The session tags used for row-level security. Before you use this+-- parameter, make sure that you have configured the relevant datasets+-- using the @DataSet$RowLevelPermissionTagConfiguration@ parameter so that+-- session tags can be used to provide row-level security.+--+-- These are not the tags used for the Amazon Web Services resource tagging+-- feature. For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/quicksight-dev-rls-tags.html Using Row-Level Security (RLS) with Tags>in+-- the /Amazon QuickSight User Guide/.+generateEmbedUrlForAnonymousUser_sessionTags :: Lens.Lens' GenerateEmbedUrlForAnonymousUser (Prelude.Maybe (Prelude.NonEmpty SessionTag))+generateEmbedUrlForAnonymousUser_sessionTags = Lens.lens (\GenerateEmbedUrlForAnonymousUser' {sessionTags} -> sessionTags) (\s@GenerateEmbedUrlForAnonymousUser' {} a -> s {sessionTags = a} :: GenerateEmbedUrlForAnonymousUser) Prelude.. Lens.mapping Lens.coerced++-- | The ID for the Amazon Web Services account that contains the dashboard+-- that you\'re embedding.+generateEmbedUrlForAnonymousUser_awsAccountId :: Lens.Lens' GenerateEmbedUrlForAnonymousUser Prelude.Text+generateEmbedUrlForAnonymousUser_awsAccountId = Lens.lens (\GenerateEmbedUrlForAnonymousUser' {awsAccountId} -> awsAccountId) (\s@GenerateEmbedUrlForAnonymousUser' {} a -> s {awsAccountId = a} :: GenerateEmbedUrlForAnonymousUser)++-- | The Amazon QuickSight namespace that the anonymous user virtually+-- belongs to. If you are not using an Amazon QuickSight custom namespace,+-- set this to @default@.+generateEmbedUrlForAnonymousUser_namespace :: Lens.Lens' GenerateEmbedUrlForAnonymousUser Prelude.Text+generateEmbedUrlForAnonymousUser_namespace = Lens.lens (\GenerateEmbedUrlForAnonymousUser' {namespace} -> namespace) (\s@GenerateEmbedUrlForAnonymousUser' {} a -> s {namespace = a} :: GenerateEmbedUrlForAnonymousUser)++-- | The Amazon Resource Names (ARNs) for the Amazon QuickSight resources+-- that the user is authorized to access during the lifetime of the+-- session. If you choose @Dashboard@ embedding experience, pass the list+-- of dashboard ARNs in the account that you want the user to be able to+-- view. Currently, you can pass up to 25 dashboard ARNs in each API call.+generateEmbedUrlForAnonymousUser_authorizedResourceArns :: Lens.Lens' GenerateEmbedUrlForAnonymousUser [Prelude.Text]+generateEmbedUrlForAnonymousUser_authorizedResourceArns = Lens.lens (\GenerateEmbedUrlForAnonymousUser' {authorizedResourceArns} -> authorizedResourceArns) (\s@GenerateEmbedUrlForAnonymousUser' {} a -> s {authorizedResourceArns = a} :: GenerateEmbedUrlForAnonymousUser) Prelude.. Lens.coerced++-- | The configuration of the experience that you are embedding.+generateEmbedUrlForAnonymousUser_experienceConfiguration :: Lens.Lens' GenerateEmbedUrlForAnonymousUser AnonymousUserEmbeddingExperienceConfiguration+generateEmbedUrlForAnonymousUser_experienceConfiguration = Lens.lens (\GenerateEmbedUrlForAnonymousUser' {experienceConfiguration} -> experienceConfiguration) (\s@GenerateEmbedUrlForAnonymousUser' {} a -> s {experienceConfiguration = a} :: GenerateEmbedUrlForAnonymousUser)++instance+  Core.AWSRequest+    GenerateEmbedUrlForAnonymousUser+  where+  type+    AWSResponse GenerateEmbedUrlForAnonymousUser =+      GenerateEmbedUrlForAnonymousUserResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GenerateEmbedUrlForAnonymousUserResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "EmbedUrl")+            Prelude.<*> (x Data..:> "RequestId")+            Prelude.<*> (x Data..:> "AnonymousUserArn")+      )++instance+  Prelude.Hashable+    GenerateEmbedUrlForAnonymousUser+  where+  hashWithSalt+    _salt+    GenerateEmbedUrlForAnonymousUser' {..} =+      _salt+        `Prelude.hashWithSalt` allowedDomains+        `Prelude.hashWithSalt` sessionLifetimeInMinutes+        `Prelude.hashWithSalt` sessionTags+        `Prelude.hashWithSalt` awsAccountId+        `Prelude.hashWithSalt` namespace+        `Prelude.hashWithSalt` authorizedResourceArns+        `Prelude.hashWithSalt` experienceConfiguration++instance+  Prelude.NFData+    GenerateEmbedUrlForAnonymousUser+  where+  rnf GenerateEmbedUrlForAnonymousUser' {..} =+    Prelude.rnf allowedDomains+      `Prelude.seq` Prelude.rnf sessionLifetimeInMinutes+      `Prelude.seq` Prelude.rnf sessionTags+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf authorizedResourceArns+      `Prelude.seq` Prelude.rnf experienceConfiguration++instance+  Data.ToHeaders+    GenerateEmbedUrlForAnonymousUser+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GenerateEmbedUrlForAnonymousUser where+  toJSON GenerateEmbedUrlForAnonymousUser' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AllowedDomains" Data..=)+              Prelude.<$> allowedDomains,+            ("SessionLifetimeInMinutes" Data..=)+              Prelude.<$> sessionLifetimeInMinutes,+            ("SessionTags" Data..=) Prelude.<$> sessionTags,+            Prelude.Just ("Namespace" Data..= namespace),+            Prelude.Just+              ( "AuthorizedResourceArns"+                  Data..= authorizedResourceArns+              ),+            Prelude.Just+              ( "ExperienceConfiguration"+                  Data..= experienceConfiguration+              )+          ]+      )++instance Data.ToPath GenerateEmbedUrlForAnonymousUser where+  toPath GenerateEmbedUrlForAnonymousUser' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/embed-url/anonymous-user"+      ]++instance+  Data.ToQuery+    GenerateEmbedUrlForAnonymousUser+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGenerateEmbedUrlForAnonymousUserResponse' smart constructor.+data GenerateEmbedUrlForAnonymousUserResponse = GenerateEmbedUrlForAnonymousUserResponse'+  { -- | The HTTP status of the request.+    status :: Prelude.Int,+    -- | The embed URL for the dashboard.+    embedUrl :: Data.Sensitive Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) to use for the anonymous Amazon+    -- QuickSight user.+    anonymousUserArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GenerateEmbedUrlForAnonymousUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'generateEmbedUrlForAnonymousUserResponse_status' - The HTTP status of the request.+--+-- 'embedUrl', 'generateEmbedUrlForAnonymousUserResponse_embedUrl' - The embed URL for the dashboard.+--+-- 'requestId', 'generateEmbedUrlForAnonymousUserResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'anonymousUserArn', 'generateEmbedUrlForAnonymousUserResponse_anonymousUserArn' - The Amazon Resource Name (ARN) to use for the anonymous Amazon+-- QuickSight user.+newGenerateEmbedUrlForAnonymousUserResponse ::+  -- | 'status'+  Prelude.Int ->+  -- | 'embedUrl'+  Prelude.Text ->+  -- | 'requestId'+  Prelude.Text ->+  -- | 'anonymousUserArn'+  Prelude.Text ->+  GenerateEmbedUrlForAnonymousUserResponse+newGenerateEmbedUrlForAnonymousUserResponse+  pStatus_+  pEmbedUrl_+  pRequestId_+  pAnonymousUserArn_ =+    GenerateEmbedUrlForAnonymousUserResponse'+      { status =+          pStatus_,+        embedUrl =+          Data._Sensitive+            Lens.# pEmbedUrl_,+        requestId = pRequestId_,+        anonymousUserArn =+          pAnonymousUserArn_+      }++-- | The HTTP status of the request.+generateEmbedUrlForAnonymousUserResponse_status :: Lens.Lens' GenerateEmbedUrlForAnonymousUserResponse Prelude.Int+generateEmbedUrlForAnonymousUserResponse_status = Lens.lens (\GenerateEmbedUrlForAnonymousUserResponse' {status} -> status) (\s@GenerateEmbedUrlForAnonymousUserResponse' {} a -> s {status = a} :: GenerateEmbedUrlForAnonymousUserResponse)++-- | The embed URL for the dashboard.+generateEmbedUrlForAnonymousUserResponse_embedUrl :: Lens.Lens' GenerateEmbedUrlForAnonymousUserResponse Prelude.Text+generateEmbedUrlForAnonymousUserResponse_embedUrl = Lens.lens (\GenerateEmbedUrlForAnonymousUserResponse' {embedUrl} -> embedUrl) (\s@GenerateEmbedUrlForAnonymousUserResponse' {} a -> s {embedUrl = a} :: GenerateEmbedUrlForAnonymousUserResponse) Prelude.. Data._Sensitive++-- | The Amazon Web Services request ID for this operation.+generateEmbedUrlForAnonymousUserResponse_requestId :: Lens.Lens' GenerateEmbedUrlForAnonymousUserResponse Prelude.Text+generateEmbedUrlForAnonymousUserResponse_requestId = Lens.lens (\GenerateEmbedUrlForAnonymousUserResponse' {requestId} -> requestId) (\s@GenerateEmbedUrlForAnonymousUserResponse' {} a -> s {requestId = a} :: GenerateEmbedUrlForAnonymousUserResponse)++-- | The Amazon Resource Name (ARN) to use for the anonymous Amazon+-- QuickSight user.+generateEmbedUrlForAnonymousUserResponse_anonymousUserArn :: Lens.Lens' GenerateEmbedUrlForAnonymousUserResponse Prelude.Text+generateEmbedUrlForAnonymousUserResponse_anonymousUserArn = Lens.lens (\GenerateEmbedUrlForAnonymousUserResponse' {anonymousUserArn} -> anonymousUserArn) (\s@GenerateEmbedUrlForAnonymousUserResponse' {} a -> s {anonymousUserArn = a} :: GenerateEmbedUrlForAnonymousUserResponse)++instance+  Prelude.NFData+    GenerateEmbedUrlForAnonymousUserResponse+  where+  rnf GenerateEmbedUrlForAnonymousUserResponse' {..} =+    Prelude.rnf status+      `Prelude.seq` Prelude.rnf embedUrl+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf anonymousUserArn
+ gen/Amazonka/QuickSight/GenerateEmbedUrlForRegisteredUser.hs view
@@ -0,0 +1,358 @@+{-# 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.QuickSight.GenerateEmbedUrlForRegisteredUser+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Generates an embed URL that you can use to embed an Amazon QuickSight+-- experience in your website. This action can be used for any type of user+-- registered in an Amazon QuickSight account. Before you use this action,+-- make sure that you have configured the relevant Amazon QuickSight+-- resource and permissions.+--+-- The following rules apply to the generated URL:+--+-- -   It contains a temporary bearer token. It is valid for 5 minutes+--     after it is generated. Once redeemed within this period, it cannot+--     be re-used again.+--+-- -   The URL validity period should not be confused with the actual+--     session lifetime that can be customized using the+--     @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html#QS-GenerateEmbedUrlForRegisteredUser-request-SessionLifetimeInMinutes SessionLifetimeInMinutes>@ @+--     parameter.+--+--     The resulting user session is valid for 15 minutes (minimum) to 10+--     hours (maximum). The default session duration is 10 hours.+--+-- -   You are charged only when the URL is used or there is interaction+--     with Amazon QuickSight.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/embedded-analytics.html Embedded Analytics>+-- in the /Amazon QuickSight User Guide/.+--+-- For more information about the high-level steps for embedding and for an+-- interactive demo of the ways you can customize embedding, visit the+-- <https://docs.aws.amazon.com/quicksight/latest/user/quicksight-dev-portal.html Amazon QuickSight Developer Portal>.+module Amazonka.QuickSight.GenerateEmbedUrlForRegisteredUser+  ( -- * Creating a Request+    GenerateEmbedUrlForRegisteredUser (..),+    newGenerateEmbedUrlForRegisteredUser,++    -- * Request Lenses+    generateEmbedUrlForRegisteredUser_allowedDomains,+    generateEmbedUrlForRegisteredUser_sessionLifetimeInMinutes,+    generateEmbedUrlForRegisteredUser_awsAccountId,+    generateEmbedUrlForRegisteredUser_userArn,+    generateEmbedUrlForRegisteredUser_experienceConfiguration,++    -- * Destructuring the Response+    GenerateEmbedUrlForRegisteredUserResponse (..),+    newGenerateEmbedUrlForRegisteredUserResponse,++    -- * Response Lenses+    generateEmbedUrlForRegisteredUserResponse_status,+    generateEmbedUrlForRegisteredUserResponse_embedUrl,+    generateEmbedUrlForRegisteredUserResponse_requestId,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGenerateEmbedUrlForRegisteredUser' smart constructor.+data GenerateEmbedUrlForRegisteredUser = GenerateEmbedUrlForRegisteredUser'+  { -- | The domains that you want to add to the allow list for access to the+    -- generated URL that is then embedded. This optional parameter overrides+    -- the static domains that are configured in the Manage QuickSight menu in+    -- the Amazon QuickSight console. Instead, it allows only the domains that+    -- you include in this parameter. You can list up to three domains or+    -- subdomains in each API call.+    --+    -- To include all subdomains under a specific domain to the allow list, use+    -- @*@. For example, @https:\/\/*.sapp.amazon.com@ includes all subdomains+    -- under @https:\/\/sapp.amazon.com@.+    allowedDomains :: Prelude.Maybe [Prelude.Text],+    -- | How many minutes the session is valid. The session lifetime must be in+    -- [15-600] minutes range.+    sessionLifetimeInMinutes :: Prelude.Maybe Prelude.Natural,+    -- | The ID for the Amazon Web Services account that contains the dashboard+    -- that you\'re embedding.+    awsAccountId :: Prelude.Text,+    -- | The Amazon Resource Name for the registered user.+    userArn :: Prelude.Text,+    -- | The experience you are embedding. For registered users, you can embed+    -- Amazon QuickSight dashboards, Amazon QuickSight visuals, the Amazon+    -- QuickSight Q search bar, or the entire Amazon QuickSight console.+    experienceConfiguration :: RegisteredUserEmbeddingExperienceConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GenerateEmbedUrlForRegisteredUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowedDomains', 'generateEmbedUrlForRegisteredUser_allowedDomains' - The domains that you want to add to the allow list for access to the+-- generated URL that is then embedded. This optional parameter overrides+-- the static domains that are configured in the Manage QuickSight menu in+-- the Amazon QuickSight console. Instead, it allows only the domains that+-- you include in this parameter. You can list up to three domains or+-- subdomains in each API call.+--+-- To include all subdomains under a specific domain to the allow list, use+-- @*@. For example, @https:\/\/*.sapp.amazon.com@ includes all subdomains+-- under @https:\/\/sapp.amazon.com@.+--+-- 'sessionLifetimeInMinutes', 'generateEmbedUrlForRegisteredUser_sessionLifetimeInMinutes' - How many minutes the session is valid. The session lifetime must be in+-- [15-600] minutes range.+--+-- 'awsAccountId', 'generateEmbedUrlForRegisteredUser_awsAccountId' - The ID for the Amazon Web Services account that contains the dashboard+-- that you\'re embedding.+--+-- 'userArn', 'generateEmbedUrlForRegisteredUser_userArn' - The Amazon Resource Name for the registered user.+--+-- 'experienceConfiguration', 'generateEmbedUrlForRegisteredUser_experienceConfiguration' - The experience you are embedding. For registered users, you can embed+-- Amazon QuickSight dashboards, Amazon QuickSight visuals, the Amazon+-- QuickSight Q search bar, or the entire Amazon QuickSight console.+newGenerateEmbedUrlForRegisteredUser ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'userArn'+  Prelude.Text ->+  -- | 'experienceConfiguration'+  RegisteredUserEmbeddingExperienceConfiguration ->+  GenerateEmbedUrlForRegisteredUser+newGenerateEmbedUrlForRegisteredUser+  pAwsAccountId_+  pUserArn_+  pExperienceConfiguration_ =+    GenerateEmbedUrlForRegisteredUser'+      { allowedDomains =+          Prelude.Nothing,+        sessionLifetimeInMinutes =+          Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        userArn = pUserArn_,+        experienceConfiguration =+          pExperienceConfiguration_+      }++-- | The domains that you want to add to the allow list for access to the+-- generated URL that is then embedded. This optional parameter overrides+-- the static domains that are configured in the Manage QuickSight menu in+-- the Amazon QuickSight console. Instead, it allows only the domains that+-- you include in this parameter. You can list up to three domains or+-- subdomains in each API call.+--+-- To include all subdomains under a specific domain to the allow list, use+-- @*@. For example, @https:\/\/*.sapp.amazon.com@ includes all subdomains+-- under @https:\/\/sapp.amazon.com@.+generateEmbedUrlForRegisteredUser_allowedDomains :: Lens.Lens' GenerateEmbedUrlForRegisteredUser (Prelude.Maybe [Prelude.Text])+generateEmbedUrlForRegisteredUser_allowedDomains = Lens.lens (\GenerateEmbedUrlForRegisteredUser' {allowedDomains} -> allowedDomains) (\s@GenerateEmbedUrlForRegisteredUser' {} a -> s {allowedDomains = a} :: GenerateEmbedUrlForRegisteredUser) Prelude.. Lens.mapping Lens.coerced++-- | How many minutes the session is valid. The session lifetime must be in+-- [15-600] minutes range.+generateEmbedUrlForRegisteredUser_sessionLifetimeInMinutes :: Lens.Lens' GenerateEmbedUrlForRegisteredUser (Prelude.Maybe Prelude.Natural)+generateEmbedUrlForRegisteredUser_sessionLifetimeInMinutes = Lens.lens (\GenerateEmbedUrlForRegisteredUser' {sessionLifetimeInMinutes} -> sessionLifetimeInMinutes) (\s@GenerateEmbedUrlForRegisteredUser' {} a -> s {sessionLifetimeInMinutes = a} :: GenerateEmbedUrlForRegisteredUser)++-- | The ID for the Amazon Web Services account that contains the dashboard+-- that you\'re embedding.+generateEmbedUrlForRegisteredUser_awsAccountId :: Lens.Lens' GenerateEmbedUrlForRegisteredUser Prelude.Text+generateEmbedUrlForRegisteredUser_awsAccountId = Lens.lens (\GenerateEmbedUrlForRegisteredUser' {awsAccountId} -> awsAccountId) (\s@GenerateEmbedUrlForRegisteredUser' {} a -> s {awsAccountId = a} :: GenerateEmbedUrlForRegisteredUser)++-- | The Amazon Resource Name for the registered user.+generateEmbedUrlForRegisteredUser_userArn :: Lens.Lens' GenerateEmbedUrlForRegisteredUser Prelude.Text+generateEmbedUrlForRegisteredUser_userArn = Lens.lens (\GenerateEmbedUrlForRegisteredUser' {userArn} -> userArn) (\s@GenerateEmbedUrlForRegisteredUser' {} a -> s {userArn = a} :: GenerateEmbedUrlForRegisteredUser)++-- | The experience you are embedding. For registered users, you can embed+-- Amazon QuickSight dashboards, Amazon QuickSight visuals, the Amazon+-- QuickSight Q search bar, or the entire Amazon QuickSight console.+generateEmbedUrlForRegisteredUser_experienceConfiguration :: Lens.Lens' GenerateEmbedUrlForRegisteredUser RegisteredUserEmbeddingExperienceConfiguration+generateEmbedUrlForRegisteredUser_experienceConfiguration = Lens.lens (\GenerateEmbedUrlForRegisteredUser' {experienceConfiguration} -> experienceConfiguration) (\s@GenerateEmbedUrlForRegisteredUser' {} a -> s {experienceConfiguration = a} :: GenerateEmbedUrlForRegisteredUser)++instance+  Core.AWSRequest+    GenerateEmbedUrlForRegisteredUser+  where+  type+    AWSResponse GenerateEmbedUrlForRegisteredUser =+      GenerateEmbedUrlForRegisteredUserResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GenerateEmbedUrlForRegisteredUserResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "EmbedUrl")+            Prelude.<*> (x Data..:> "RequestId")+      )++instance+  Prelude.Hashable+    GenerateEmbedUrlForRegisteredUser+  where+  hashWithSalt+    _salt+    GenerateEmbedUrlForRegisteredUser' {..} =+      _salt+        `Prelude.hashWithSalt` allowedDomains+        `Prelude.hashWithSalt` sessionLifetimeInMinutes+        `Prelude.hashWithSalt` awsAccountId+        `Prelude.hashWithSalt` userArn+        `Prelude.hashWithSalt` experienceConfiguration++instance+  Prelude.NFData+    GenerateEmbedUrlForRegisteredUser+  where+  rnf GenerateEmbedUrlForRegisteredUser' {..} =+    Prelude.rnf allowedDomains+      `Prelude.seq` Prelude.rnf sessionLifetimeInMinutes+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf userArn+      `Prelude.seq` Prelude.rnf experienceConfiguration++instance+  Data.ToHeaders+    GenerateEmbedUrlForRegisteredUser+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    GenerateEmbedUrlForRegisteredUser+  where+  toJSON GenerateEmbedUrlForRegisteredUser' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AllowedDomains" Data..=)+              Prelude.<$> allowedDomains,+            ("SessionLifetimeInMinutes" Data..=)+              Prelude.<$> sessionLifetimeInMinutes,+            Prelude.Just ("UserArn" Data..= userArn),+            Prelude.Just+              ( "ExperienceConfiguration"+                  Data..= experienceConfiguration+              )+          ]+      )++instance+  Data.ToPath+    GenerateEmbedUrlForRegisteredUser+  where+  toPath GenerateEmbedUrlForRegisteredUser' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/embed-url/registered-user"+      ]++instance+  Data.ToQuery+    GenerateEmbedUrlForRegisteredUser+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGenerateEmbedUrlForRegisteredUserResponse' smart constructor.+data GenerateEmbedUrlForRegisteredUserResponse = GenerateEmbedUrlForRegisteredUserResponse'+  { -- | The HTTP status of the request.+    status :: Prelude.Int,+    -- | The embed URL for the Amazon QuickSight dashboard, visual, Q search bar,+    -- or console.+    embedUrl :: Data.Sensitive Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GenerateEmbedUrlForRegisteredUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'generateEmbedUrlForRegisteredUserResponse_status' - The HTTP status of the request.+--+-- 'embedUrl', 'generateEmbedUrlForRegisteredUserResponse_embedUrl' - The embed URL for the Amazon QuickSight dashboard, visual, Q search bar,+-- or console.+--+-- 'requestId', 'generateEmbedUrlForRegisteredUserResponse_requestId' - The Amazon Web Services request ID for this operation.+newGenerateEmbedUrlForRegisteredUserResponse ::+  -- | 'status'+  Prelude.Int ->+  -- | 'embedUrl'+  Prelude.Text ->+  -- | 'requestId'+  Prelude.Text ->+  GenerateEmbedUrlForRegisteredUserResponse+newGenerateEmbedUrlForRegisteredUserResponse+  pStatus_+  pEmbedUrl_+  pRequestId_ =+    GenerateEmbedUrlForRegisteredUserResponse'+      { status =+          pStatus_,+        embedUrl =+          Data._Sensitive+            Lens.# pEmbedUrl_,+        requestId = pRequestId_+      }++-- | The HTTP status of the request.+generateEmbedUrlForRegisteredUserResponse_status :: Lens.Lens' GenerateEmbedUrlForRegisteredUserResponse Prelude.Int+generateEmbedUrlForRegisteredUserResponse_status = Lens.lens (\GenerateEmbedUrlForRegisteredUserResponse' {status} -> status) (\s@GenerateEmbedUrlForRegisteredUserResponse' {} a -> s {status = a} :: GenerateEmbedUrlForRegisteredUserResponse)++-- | The embed URL for the Amazon QuickSight dashboard, visual, Q search bar,+-- or console.+generateEmbedUrlForRegisteredUserResponse_embedUrl :: Lens.Lens' GenerateEmbedUrlForRegisteredUserResponse Prelude.Text+generateEmbedUrlForRegisteredUserResponse_embedUrl = Lens.lens (\GenerateEmbedUrlForRegisteredUserResponse' {embedUrl} -> embedUrl) (\s@GenerateEmbedUrlForRegisteredUserResponse' {} a -> s {embedUrl = a} :: GenerateEmbedUrlForRegisteredUserResponse) Prelude.. Data._Sensitive++-- | The Amazon Web Services request ID for this operation.+generateEmbedUrlForRegisteredUserResponse_requestId :: Lens.Lens' GenerateEmbedUrlForRegisteredUserResponse Prelude.Text+generateEmbedUrlForRegisteredUserResponse_requestId = Lens.lens (\GenerateEmbedUrlForRegisteredUserResponse' {requestId} -> requestId) (\s@GenerateEmbedUrlForRegisteredUserResponse' {} a -> s {requestId = a} :: GenerateEmbedUrlForRegisteredUserResponse)++instance+  Prelude.NFData+    GenerateEmbedUrlForRegisteredUserResponse+  where+  rnf GenerateEmbedUrlForRegisteredUserResponse' {..} =+    Prelude.rnf status+      `Prelude.seq` Prelude.rnf embedUrl+      `Prelude.seq` Prelude.rnf requestId
+ gen/Amazonka/QuickSight/GetDashboardEmbedUrl.hs view
@@ -0,0 +1,449 @@+{-# 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.QuickSight.GetDashboardEmbedUrl+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Generates a temporary session URL and authorization code(bearer token)+-- that you can use to embed an Amazon QuickSight read-only dashboard in+-- your website or application. Before you use this command, make sure that+-- you have configured the dashboards and permissions.+--+-- Currently, you can use @GetDashboardEmbedURL@ only from the server, not+-- from the user\'s browser. The following rules apply to the generated+-- URL:+--+-- -   They must be used together.+--+-- -   They can be used one time only.+--+-- -   They are valid for 5 minutes after you run this command.+--+-- -   You are charged only when the URL is used or there is interaction+--     with Amazon QuickSight.+--+-- -   The resulting user session is valid for 15 minutes (default) up to+--     10 hours (maximum). You can use the optional+--     @SessionLifetimeInMinutes@ parameter to customize session duration.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/embedded-analytics-deprecated.html Embedding Analytics Using GetDashboardEmbedUrl>+-- in the /Amazon QuickSight User Guide/.+--+-- For more information about the high-level steps for embedding and for an+-- interactive demo of the ways you can customize embedding, visit the+-- <https://docs.aws.amazon.com/quicksight/latest/user/quicksight-dev-portal.html Amazon QuickSight Developer Portal>.+module Amazonka.QuickSight.GetDashboardEmbedUrl+  ( -- * Creating a Request+    GetDashboardEmbedUrl (..),+    newGetDashboardEmbedUrl,++    -- * Request Lenses+    getDashboardEmbedUrl_additionalDashboardIds,+    getDashboardEmbedUrl_namespace,+    getDashboardEmbedUrl_resetDisabled,+    getDashboardEmbedUrl_sessionLifetimeInMinutes,+    getDashboardEmbedUrl_statePersistenceEnabled,+    getDashboardEmbedUrl_undoRedoDisabled,+    getDashboardEmbedUrl_userArn,+    getDashboardEmbedUrl_awsAccountId,+    getDashboardEmbedUrl_dashboardId,+    getDashboardEmbedUrl_identityType,++    -- * Destructuring the Response+    GetDashboardEmbedUrlResponse (..),+    newGetDashboardEmbedUrlResponse,++    -- * Response Lenses+    getDashboardEmbedUrlResponse_embedUrl,+    getDashboardEmbedUrlResponse_requestId,+    getDashboardEmbedUrlResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetDashboardEmbedUrl' smart constructor.+data GetDashboardEmbedUrl = GetDashboardEmbedUrl'+  { -- | A list of one or more dashboard IDs that you want anonymous users to+    -- have tempporary access to. Currently, the @IdentityType@ parameter must+    -- be set to @ANONYMOUS@ because other identity types authenticate as+    -- Amazon QuickSight or IAM users. For example, if you set+    -- \"@--dashboard-id dash_id1 --dashboard-id dash_id2 dash_id3 identity-type ANONYMOUS@\",+    -- the session can access all three dashboards.+    additionalDashboardIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | The Amazon QuickSight namespace that contains the dashboard IDs in this+    -- request. If you\'re not using a custom namespace, set+    -- @Namespace = default@.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | Remove the reset button on the embedded dashboard. The default is FALSE,+    -- which enables the reset button.+    resetDisabled :: Prelude.Maybe Prelude.Bool,+    -- | How many minutes the session is valid. The session lifetime must be+    -- 15-600 minutes.+    sessionLifetimeInMinutes :: Prelude.Maybe Prelude.Natural,+    -- | Adds persistence of state for the user session in an embedded dashboard.+    -- Persistence applies to the sheet and the parameter settings. These are+    -- control settings that the dashboard subscriber (Amazon QuickSight+    -- reader) chooses while viewing the dashboard. If this is set to @TRUE@,+    -- the settings are the same when the subscriber reopens the same dashboard+    -- URL. The state is stored in Amazon QuickSight, not in a browser cookie.+    -- If this is set to FALSE, the state of the user session is not persisted.+    -- The default is @FALSE@.+    statePersistenceEnabled :: Prelude.Maybe Prelude.Bool,+    -- | Remove the undo\/redo button on the embedded dashboard. The default is+    -- FALSE, which enables the undo\/redo button.+    undoRedoDisabled :: Prelude.Maybe Prelude.Bool,+    -- | The Amazon QuickSight user\'s Amazon Resource Name (ARN), for use with+    -- @QUICKSIGHT@ identity type. You can use this for any Amazon QuickSight+    -- users in your account (readers, authors, or admins) authenticated as one+    -- of the following:+    --+    -- -   Active Directory (AD) users or group members+    --+    -- -   Invited nonfederated users+    --+    -- -   IAM users and IAM role-based sessions authenticated through+    --     Federated Single Sign-On using SAML, OpenID Connect, or IAM+    --     federation.+    --+    -- Omit this parameter for users in the third group – IAM users and IAM+    -- role-based sessions.+    userArn :: Prelude.Maybe Prelude.Text,+    -- | The ID for the Amazon Web Services account that contains the dashboard+    -- that you\'re embedding.+    awsAccountId :: Prelude.Text,+    -- | The ID for the dashboard, also added to the Identity and Access+    -- Management (IAM) policy.+    dashboardId :: Prelude.Text,+    -- | The authentication method that the user uses to sign in.+    identityType :: EmbeddingIdentityType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDashboardEmbedUrl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'additionalDashboardIds', 'getDashboardEmbedUrl_additionalDashboardIds' - A list of one or more dashboard IDs that you want anonymous users to+-- have tempporary access to. Currently, the @IdentityType@ parameter must+-- be set to @ANONYMOUS@ because other identity types authenticate as+-- Amazon QuickSight or IAM users. For example, if you set+-- \"@--dashboard-id dash_id1 --dashboard-id dash_id2 dash_id3 identity-type ANONYMOUS@\",+-- the session can access all three dashboards.+--+-- 'namespace', 'getDashboardEmbedUrl_namespace' - The Amazon QuickSight namespace that contains the dashboard IDs in this+-- request. If you\'re not using a custom namespace, set+-- @Namespace = default@.+--+-- 'resetDisabled', 'getDashboardEmbedUrl_resetDisabled' - Remove the reset button on the embedded dashboard. The default is FALSE,+-- which enables the reset button.+--+-- 'sessionLifetimeInMinutes', 'getDashboardEmbedUrl_sessionLifetimeInMinutes' - How many minutes the session is valid. The session lifetime must be+-- 15-600 minutes.+--+-- 'statePersistenceEnabled', 'getDashboardEmbedUrl_statePersistenceEnabled' - Adds persistence of state for the user session in an embedded dashboard.+-- Persistence applies to the sheet and the parameter settings. These are+-- control settings that the dashboard subscriber (Amazon QuickSight+-- reader) chooses while viewing the dashboard. If this is set to @TRUE@,+-- the settings are the same when the subscriber reopens the same dashboard+-- URL. The state is stored in Amazon QuickSight, not in a browser cookie.+-- If this is set to FALSE, the state of the user session is not persisted.+-- The default is @FALSE@.+--+-- 'undoRedoDisabled', 'getDashboardEmbedUrl_undoRedoDisabled' - Remove the undo\/redo button on the embedded dashboard. The default is+-- FALSE, which enables the undo\/redo button.+--+-- 'userArn', 'getDashboardEmbedUrl_userArn' - The Amazon QuickSight user\'s Amazon Resource Name (ARN), for use with+-- @QUICKSIGHT@ identity type. You can use this for any Amazon QuickSight+-- users in your account (readers, authors, or admins) authenticated as one+-- of the following:+--+-- -   Active Directory (AD) users or group members+--+-- -   Invited nonfederated users+--+-- -   IAM users and IAM role-based sessions authenticated through+--     Federated Single Sign-On using SAML, OpenID Connect, or IAM+--     federation.+--+-- Omit this parameter for users in the third group – IAM users and IAM+-- role-based sessions.+--+-- 'awsAccountId', 'getDashboardEmbedUrl_awsAccountId' - The ID for the Amazon Web Services account that contains the dashboard+-- that you\'re embedding.+--+-- 'dashboardId', 'getDashboardEmbedUrl_dashboardId' - The ID for the dashboard, also added to the Identity and Access+-- Management (IAM) policy.+--+-- 'identityType', 'getDashboardEmbedUrl_identityType' - The authentication method that the user uses to sign in.+newGetDashboardEmbedUrl ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dashboardId'+  Prelude.Text ->+  -- | 'identityType'+  EmbeddingIdentityType ->+  GetDashboardEmbedUrl+newGetDashboardEmbedUrl+  pAwsAccountId_+  pDashboardId_+  pIdentityType_ =+    GetDashboardEmbedUrl'+      { additionalDashboardIds =+          Prelude.Nothing,+        namespace = Prelude.Nothing,+        resetDisabled = Prelude.Nothing,+        sessionLifetimeInMinutes = Prelude.Nothing,+        statePersistenceEnabled = Prelude.Nothing,+        undoRedoDisabled = Prelude.Nothing,+        userArn = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        dashboardId = pDashboardId_,+        identityType = pIdentityType_+      }++-- | A list of one or more dashboard IDs that you want anonymous users to+-- have tempporary access to. Currently, the @IdentityType@ parameter must+-- be set to @ANONYMOUS@ because other identity types authenticate as+-- Amazon QuickSight or IAM users. For example, if you set+-- \"@--dashboard-id dash_id1 --dashboard-id dash_id2 dash_id3 identity-type ANONYMOUS@\",+-- the session can access all three dashboards.+getDashboardEmbedUrl_additionalDashboardIds :: Lens.Lens' GetDashboardEmbedUrl (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+getDashboardEmbedUrl_additionalDashboardIds = Lens.lens (\GetDashboardEmbedUrl' {additionalDashboardIds} -> additionalDashboardIds) (\s@GetDashboardEmbedUrl' {} a -> s {additionalDashboardIds = a} :: GetDashboardEmbedUrl) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon QuickSight namespace that contains the dashboard IDs in this+-- request. If you\'re not using a custom namespace, set+-- @Namespace = default@.+getDashboardEmbedUrl_namespace :: Lens.Lens' GetDashboardEmbedUrl (Prelude.Maybe Prelude.Text)+getDashboardEmbedUrl_namespace = Lens.lens (\GetDashboardEmbedUrl' {namespace} -> namespace) (\s@GetDashboardEmbedUrl' {} a -> s {namespace = a} :: GetDashboardEmbedUrl)++-- | Remove the reset button on the embedded dashboard. The default is FALSE,+-- which enables the reset button.+getDashboardEmbedUrl_resetDisabled :: Lens.Lens' GetDashboardEmbedUrl (Prelude.Maybe Prelude.Bool)+getDashboardEmbedUrl_resetDisabled = Lens.lens (\GetDashboardEmbedUrl' {resetDisabled} -> resetDisabled) (\s@GetDashboardEmbedUrl' {} a -> s {resetDisabled = a} :: GetDashboardEmbedUrl)++-- | How many minutes the session is valid. The session lifetime must be+-- 15-600 minutes.+getDashboardEmbedUrl_sessionLifetimeInMinutes :: Lens.Lens' GetDashboardEmbedUrl (Prelude.Maybe Prelude.Natural)+getDashboardEmbedUrl_sessionLifetimeInMinutes = Lens.lens (\GetDashboardEmbedUrl' {sessionLifetimeInMinutes} -> sessionLifetimeInMinutes) (\s@GetDashboardEmbedUrl' {} a -> s {sessionLifetimeInMinutes = a} :: GetDashboardEmbedUrl)++-- | Adds persistence of state for the user session in an embedded dashboard.+-- Persistence applies to the sheet and the parameter settings. These are+-- control settings that the dashboard subscriber (Amazon QuickSight+-- reader) chooses while viewing the dashboard. If this is set to @TRUE@,+-- the settings are the same when the subscriber reopens the same dashboard+-- URL. The state is stored in Amazon QuickSight, not in a browser cookie.+-- If this is set to FALSE, the state of the user session is not persisted.+-- The default is @FALSE@.+getDashboardEmbedUrl_statePersistenceEnabled :: Lens.Lens' GetDashboardEmbedUrl (Prelude.Maybe Prelude.Bool)+getDashboardEmbedUrl_statePersistenceEnabled = Lens.lens (\GetDashboardEmbedUrl' {statePersistenceEnabled} -> statePersistenceEnabled) (\s@GetDashboardEmbedUrl' {} a -> s {statePersistenceEnabled = a} :: GetDashboardEmbedUrl)++-- | Remove the undo\/redo button on the embedded dashboard. The default is+-- FALSE, which enables the undo\/redo button.+getDashboardEmbedUrl_undoRedoDisabled :: Lens.Lens' GetDashboardEmbedUrl (Prelude.Maybe Prelude.Bool)+getDashboardEmbedUrl_undoRedoDisabled = Lens.lens (\GetDashboardEmbedUrl' {undoRedoDisabled} -> undoRedoDisabled) (\s@GetDashboardEmbedUrl' {} a -> s {undoRedoDisabled = a} :: GetDashboardEmbedUrl)++-- | The Amazon QuickSight user\'s Amazon Resource Name (ARN), for use with+-- @QUICKSIGHT@ identity type. You can use this for any Amazon QuickSight+-- users in your account (readers, authors, or admins) authenticated as one+-- of the following:+--+-- -   Active Directory (AD) users or group members+--+-- -   Invited nonfederated users+--+-- -   IAM users and IAM role-based sessions authenticated through+--     Federated Single Sign-On using SAML, OpenID Connect, or IAM+--     federation.+--+-- Omit this parameter for users in the third group – IAM users and IAM+-- role-based sessions.+getDashboardEmbedUrl_userArn :: Lens.Lens' GetDashboardEmbedUrl (Prelude.Maybe Prelude.Text)+getDashboardEmbedUrl_userArn = Lens.lens (\GetDashboardEmbedUrl' {userArn} -> userArn) (\s@GetDashboardEmbedUrl' {} a -> s {userArn = a} :: GetDashboardEmbedUrl)++-- | The ID for the Amazon Web Services account that contains the dashboard+-- that you\'re embedding.+getDashboardEmbedUrl_awsAccountId :: Lens.Lens' GetDashboardEmbedUrl Prelude.Text+getDashboardEmbedUrl_awsAccountId = Lens.lens (\GetDashboardEmbedUrl' {awsAccountId} -> awsAccountId) (\s@GetDashboardEmbedUrl' {} a -> s {awsAccountId = a} :: GetDashboardEmbedUrl)++-- | The ID for the dashboard, also added to the Identity and Access+-- Management (IAM) policy.+getDashboardEmbedUrl_dashboardId :: Lens.Lens' GetDashboardEmbedUrl Prelude.Text+getDashboardEmbedUrl_dashboardId = Lens.lens (\GetDashboardEmbedUrl' {dashboardId} -> dashboardId) (\s@GetDashboardEmbedUrl' {} a -> s {dashboardId = a} :: GetDashboardEmbedUrl)++-- | The authentication method that the user uses to sign in.+getDashboardEmbedUrl_identityType :: Lens.Lens' GetDashboardEmbedUrl EmbeddingIdentityType+getDashboardEmbedUrl_identityType = Lens.lens (\GetDashboardEmbedUrl' {identityType} -> identityType) (\s@GetDashboardEmbedUrl' {} a -> s {identityType = a} :: GetDashboardEmbedUrl)++instance Core.AWSRequest GetDashboardEmbedUrl where+  type+    AWSResponse GetDashboardEmbedUrl =+      GetDashboardEmbedUrlResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetDashboardEmbedUrlResponse'+            Prelude.<$> (x Data..?> "EmbedUrl")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetDashboardEmbedUrl where+  hashWithSalt _salt GetDashboardEmbedUrl' {..} =+    _salt+      `Prelude.hashWithSalt` additionalDashboardIds+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` resetDisabled+      `Prelude.hashWithSalt` sessionLifetimeInMinutes+      `Prelude.hashWithSalt` statePersistenceEnabled+      `Prelude.hashWithSalt` undoRedoDisabled+      `Prelude.hashWithSalt` userArn+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dashboardId+      `Prelude.hashWithSalt` identityType++instance Prelude.NFData GetDashboardEmbedUrl where+  rnf GetDashboardEmbedUrl' {..} =+    Prelude.rnf additionalDashboardIds+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf resetDisabled+      `Prelude.seq` Prelude.rnf sessionLifetimeInMinutes+      `Prelude.seq` Prelude.rnf statePersistenceEnabled+      `Prelude.seq` Prelude.rnf undoRedoDisabled+      `Prelude.seq` Prelude.rnf userArn+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dashboardId+      `Prelude.seq` Prelude.rnf identityType++instance Data.ToHeaders GetDashboardEmbedUrl where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetDashboardEmbedUrl where+  toPath GetDashboardEmbedUrl' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/dashboards/",+        Data.toBS dashboardId,+        "/embed-url"+      ]++instance Data.ToQuery GetDashboardEmbedUrl where+  toQuery GetDashboardEmbedUrl' {..} =+    Prelude.mconcat+      [ "additional-dashboard-ids"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> additionalDashboardIds+            ),+        "namespace" Data.=: namespace,+        "reset-disabled" Data.=: resetDisabled,+        "session-lifetime" Data.=: sessionLifetimeInMinutes,+        "state-persistence-enabled"+          Data.=: statePersistenceEnabled,+        "undo-redo-disabled" Data.=: undoRedoDisabled,+        "user-arn" Data.=: userArn,+        "creds-type" Data.=: identityType+      ]++-- | Output returned from the @GetDashboardEmbedUrl@ operation.+--+-- /See:/ 'newGetDashboardEmbedUrlResponse' smart constructor.+data GetDashboardEmbedUrlResponse = GetDashboardEmbedUrlResponse'+  { -- | A single-use URL that you can put into your server-side webpage to embed+    -- your dashboard. This URL is valid for 5 minutes. The API operation+    -- provides the URL with an @auth_code@ value that enables one (and only+    -- one) sign-on to a user session that is valid for 10 hours.+    embedUrl :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDashboardEmbedUrlResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'embedUrl', 'getDashboardEmbedUrlResponse_embedUrl' - A single-use URL that you can put into your server-side webpage to embed+-- your dashboard. This URL is valid for 5 minutes. The API operation+-- provides the URL with an @auth_code@ value that enables one (and only+-- one) sign-on to a user session that is valid for 10 hours.+--+-- 'requestId', 'getDashboardEmbedUrlResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'getDashboardEmbedUrlResponse_status' - The HTTP status of the request.+newGetDashboardEmbedUrlResponse ::+  -- | 'status'+  Prelude.Int ->+  GetDashboardEmbedUrlResponse+newGetDashboardEmbedUrlResponse pStatus_ =+  GetDashboardEmbedUrlResponse'+    { embedUrl =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | A single-use URL that you can put into your server-side webpage to embed+-- your dashboard. This URL is valid for 5 minutes. The API operation+-- provides the URL with an @auth_code@ value that enables one (and only+-- one) sign-on to a user session that is valid for 10 hours.+getDashboardEmbedUrlResponse_embedUrl :: Lens.Lens' GetDashboardEmbedUrlResponse (Prelude.Maybe Prelude.Text)+getDashboardEmbedUrlResponse_embedUrl = Lens.lens (\GetDashboardEmbedUrlResponse' {embedUrl} -> embedUrl) (\s@GetDashboardEmbedUrlResponse' {} a -> s {embedUrl = a} :: GetDashboardEmbedUrlResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The Amazon Web Services request ID for this operation.+getDashboardEmbedUrlResponse_requestId :: Lens.Lens' GetDashboardEmbedUrlResponse (Prelude.Maybe Prelude.Text)+getDashboardEmbedUrlResponse_requestId = Lens.lens (\GetDashboardEmbedUrlResponse' {requestId} -> requestId) (\s@GetDashboardEmbedUrlResponse' {} a -> s {requestId = a} :: GetDashboardEmbedUrlResponse)++-- | The HTTP status of the request.+getDashboardEmbedUrlResponse_status :: Lens.Lens' GetDashboardEmbedUrlResponse Prelude.Int+getDashboardEmbedUrlResponse_status = Lens.lens (\GetDashboardEmbedUrlResponse' {status} -> status) (\s@GetDashboardEmbedUrlResponse' {} a -> s {status = a} :: GetDashboardEmbedUrlResponse)++instance Prelude.NFData GetDashboardEmbedUrlResponse where+  rnf GetDashboardEmbedUrlResponse' {..} =+    Prelude.rnf embedUrl+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/GetSessionEmbedUrl.hs view
@@ -0,0 +1,344 @@+{-# 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.QuickSight.GetSessionEmbedUrl+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Generates a session URL and authorization code that you can use to embed+-- the Amazon Amazon QuickSight console in your web server code. Use+-- @GetSessionEmbedUrl@ where you want to provide an authoring portal that+-- allows users to create data sources, datasets, analyses, and dashboards.+-- The users who access an embedded Amazon QuickSight console need belong+-- to the author or admin security cohort. If you want to restrict+-- permissions to some of these features, add a custom permissions profile+-- to the user with the+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateUser.html UpdateUser>@ @+-- API operation. Use+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html RegisterUser>@ @+-- API operation to add a new user with a custom permission profile+-- attached. For more information, see the following sections in the+-- /Amazon QuickSight User Guide/:+--+-- -   <https://docs.aws.amazon.com/quicksight/latest/user/embedded-analytics.html Embedding Analytics>+--+-- -   <https://docs.aws.amazon.com/quicksight/latest/user/customizing-permissions-to-the-quicksight-console.html Customizing Access to the Amazon QuickSight Console>+module Amazonka.QuickSight.GetSessionEmbedUrl+  ( -- * Creating a Request+    GetSessionEmbedUrl (..),+    newGetSessionEmbedUrl,++    -- * Request Lenses+    getSessionEmbedUrl_entryPoint,+    getSessionEmbedUrl_sessionLifetimeInMinutes,+    getSessionEmbedUrl_userArn,+    getSessionEmbedUrl_awsAccountId,++    -- * Destructuring the Response+    GetSessionEmbedUrlResponse (..),+    newGetSessionEmbedUrlResponse,++    -- * Response Lenses+    getSessionEmbedUrlResponse_embedUrl,+    getSessionEmbedUrlResponse_requestId,+    getSessionEmbedUrlResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetSessionEmbedUrl' smart constructor.+data GetSessionEmbedUrl = GetSessionEmbedUrl'+  { -- | The URL you use to access the embedded session. The entry point URL is+    -- constrained to the following paths:+    --+    -- -   @\/start@+    --+    -- -   @\/start\/analyses@+    --+    -- -   @\/start\/dashboards@+    --+    -- -   @\/start\/favorites@+    --+    -- -   @\/dashboards\/@/@DashboardId@/@ @ - where @DashboardId@ is the+    --     actual ID key from the Amazon QuickSight console URL of the+    --     dashboard+    --+    -- -   @\/analyses\/@/@AnalysisId@/@ @ - where @AnalysisId@ is the actual+    --     ID key from the Amazon QuickSight console URL of the analysis+    entryPoint :: Prelude.Maybe Prelude.Text,+    -- | How many minutes the session is valid. The session lifetime must be+    -- 15-600 minutes.+    sessionLifetimeInMinutes :: Prelude.Maybe Prelude.Natural,+    -- | The Amazon QuickSight user\'s Amazon Resource Name (ARN), for use with+    -- @QUICKSIGHT@ identity type. You can use this for any type of Amazon+    -- QuickSight users in your account (readers, authors, or admins). They+    -- need to be authenticated as one of the following:+    --+    -- 1.  Active Directory (AD) users or group members+    --+    -- 2.  Invited nonfederated users+    --+    -- 3.  Identity and Access Management (IAM) users and IAM role-based+    --     sessions authenticated through Federated Single Sign-On using SAML,+    --     OpenID Connect, or IAM federation+    --+    -- Omit this parameter for users in the third group, IAM users and IAM+    -- role-based sessions.+    userArn :: Prelude.Maybe Prelude.Text,+    -- | The ID for the Amazon Web Services account associated with your Amazon+    -- QuickSight subscription.+    awsAccountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSessionEmbedUrl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'entryPoint', 'getSessionEmbedUrl_entryPoint' - The URL you use to access the embedded session. The entry point URL is+-- constrained to the following paths:+--+-- -   @\/start@+--+-- -   @\/start\/analyses@+--+-- -   @\/start\/dashboards@+--+-- -   @\/start\/favorites@+--+-- -   @\/dashboards\/@/@DashboardId@/@ @ - where @DashboardId@ is the+--     actual ID key from the Amazon QuickSight console URL of the+--     dashboard+--+-- -   @\/analyses\/@/@AnalysisId@/@ @ - where @AnalysisId@ is the actual+--     ID key from the Amazon QuickSight console URL of the analysis+--+-- 'sessionLifetimeInMinutes', 'getSessionEmbedUrl_sessionLifetimeInMinutes' - How many minutes the session is valid. The session lifetime must be+-- 15-600 minutes.+--+-- 'userArn', 'getSessionEmbedUrl_userArn' - The Amazon QuickSight user\'s Amazon Resource Name (ARN), for use with+-- @QUICKSIGHT@ identity type. You can use this for any type of Amazon+-- QuickSight users in your account (readers, authors, or admins). They+-- need to be authenticated as one of the following:+--+-- 1.  Active Directory (AD) users or group members+--+-- 2.  Invited nonfederated users+--+-- 3.  Identity and Access Management (IAM) users and IAM role-based+--     sessions authenticated through Federated Single Sign-On using SAML,+--     OpenID Connect, or IAM federation+--+-- Omit this parameter for users in the third group, IAM users and IAM+-- role-based sessions.+--+-- 'awsAccountId', 'getSessionEmbedUrl_awsAccountId' - The ID for the Amazon Web Services account associated with your Amazon+-- QuickSight subscription.+newGetSessionEmbedUrl ::+  -- | 'awsAccountId'+  Prelude.Text ->+  GetSessionEmbedUrl+newGetSessionEmbedUrl pAwsAccountId_ =+  GetSessionEmbedUrl'+    { entryPoint = Prelude.Nothing,+      sessionLifetimeInMinutes = Prelude.Nothing,+      userArn = Prelude.Nothing,+      awsAccountId = pAwsAccountId_+    }++-- | The URL you use to access the embedded session. The entry point URL is+-- constrained to the following paths:+--+-- -   @\/start@+--+-- -   @\/start\/analyses@+--+-- -   @\/start\/dashboards@+--+-- -   @\/start\/favorites@+--+-- -   @\/dashboards\/@/@DashboardId@/@ @ - where @DashboardId@ is the+--     actual ID key from the Amazon QuickSight console URL of the+--     dashboard+--+-- -   @\/analyses\/@/@AnalysisId@/@ @ - where @AnalysisId@ is the actual+--     ID key from the Amazon QuickSight console URL of the analysis+getSessionEmbedUrl_entryPoint :: Lens.Lens' GetSessionEmbedUrl (Prelude.Maybe Prelude.Text)+getSessionEmbedUrl_entryPoint = Lens.lens (\GetSessionEmbedUrl' {entryPoint} -> entryPoint) (\s@GetSessionEmbedUrl' {} a -> s {entryPoint = a} :: GetSessionEmbedUrl)++-- | How many minutes the session is valid. The session lifetime must be+-- 15-600 minutes.+getSessionEmbedUrl_sessionLifetimeInMinutes :: Lens.Lens' GetSessionEmbedUrl (Prelude.Maybe Prelude.Natural)+getSessionEmbedUrl_sessionLifetimeInMinutes = Lens.lens (\GetSessionEmbedUrl' {sessionLifetimeInMinutes} -> sessionLifetimeInMinutes) (\s@GetSessionEmbedUrl' {} a -> s {sessionLifetimeInMinutes = a} :: GetSessionEmbedUrl)++-- | The Amazon QuickSight user\'s Amazon Resource Name (ARN), for use with+-- @QUICKSIGHT@ identity type. You can use this for any type of Amazon+-- QuickSight users in your account (readers, authors, or admins). They+-- need to be authenticated as one of the following:+--+-- 1.  Active Directory (AD) users or group members+--+-- 2.  Invited nonfederated users+--+-- 3.  Identity and Access Management (IAM) users and IAM role-based+--     sessions authenticated through Federated Single Sign-On using SAML,+--     OpenID Connect, or IAM federation+--+-- Omit this parameter for users in the third group, IAM users and IAM+-- role-based sessions.+getSessionEmbedUrl_userArn :: Lens.Lens' GetSessionEmbedUrl (Prelude.Maybe Prelude.Text)+getSessionEmbedUrl_userArn = Lens.lens (\GetSessionEmbedUrl' {userArn} -> userArn) (\s@GetSessionEmbedUrl' {} a -> s {userArn = a} :: GetSessionEmbedUrl)++-- | The ID for the Amazon Web Services account associated with your Amazon+-- QuickSight subscription.+getSessionEmbedUrl_awsAccountId :: Lens.Lens' GetSessionEmbedUrl Prelude.Text+getSessionEmbedUrl_awsAccountId = Lens.lens (\GetSessionEmbedUrl' {awsAccountId} -> awsAccountId) (\s@GetSessionEmbedUrl' {} a -> s {awsAccountId = a} :: GetSessionEmbedUrl)++instance Core.AWSRequest GetSessionEmbedUrl where+  type+    AWSResponse GetSessionEmbedUrl =+      GetSessionEmbedUrlResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetSessionEmbedUrlResponse'+            Prelude.<$> (x Data..?> "EmbedUrl")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetSessionEmbedUrl where+  hashWithSalt _salt GetSessionEmbedUrl' {..} =+    _salt+      `Prelude.hashWithSalt` entryPoint+      `Prelude.hashWithSalt` sessionLifetimeInMinutes+      `Prelude.hashWithSalt` userArn+      `Prelude.hashWithSalt` awsAccountId++instance Prelude.NFData GetSessionEmbedUrl where+  rnf GetSessionEmbedUrl' {..} =+    Prelude.rnf entryPoint+      `Prelude.seq` Prelude.rnf sessionLifetimeInMinutes+      `Prelude.seq` Prelude.rnf userArn+      `Prelude.seq` Prelude.rnf awsAccountId++instance Data.ToHeaders GetSessionEmbedUrl where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetSessionEmbedUrl where+  toPath GetSessionEmbedUrl' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/session-embed-url"+      ]++instance Data.ToQuery GetSessionEmbedUrl where+  toQuery GetSessionEmbedUrl' {..} =+    Prelude.mconcat+      [ "entry-point" Data.=: entryPoint,+        "session-lifetime" Data.=: sessionLifetimeInMinutes,+        "user-arn" Data.=: userArn+      ]++-- | /See:/ 'newGetSessionEmbedUrlResponse' smart constructor.+data GetSessionEmbedUrlResponse = GetSessionEmbedUrlResponse'+  { -- | A single-use URL that you can put into your server-side web page to+    -- embed your Amazon QuickSight session. This URL is valid for 5 minutes.+    -- The API operation provides the URL with an @auth_code@ value that+    -- enables one (and only one) sign-on to a user session that is valid for+    -- 10 hours.+    embedUrl :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSessionEmbedUrlResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'embedUrl', 'getSessionEmbedUrlResponse_embedUrl' - A single-use URL that you can put into your server-side web page to+-- embed your Amazon QuickSight session. This URL is valid for 5 minutes.+-- The API operation provides the URL with an @auth_code@ value that+-- enables one (and only one) sign-on to a user session that is valid for+-- 10 hours.+--+-- 'requestId', 'getSessionEmbedUrlResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'getSessionEmbedUrlResponse_status' - The HTTP status of the request.+newGetSessionEmbedUrlResponse ::+  -- | 'status'+  Prelude.Int ->+  GetSessionEmbedUrlResponse+newGetSessionEmbedUrlResponse pStatus_ =+  GetSessionEmbedUrlResponse'+    { embedUrl =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | A single-use URL that you can put into your server-side web page to+-- embed your Amazon QuickSight session. This URL is valid for 5 minutes.+-- The API operation provides the URL with an @auth_code@ value that+-- enables one (and only one) sign-on to a user session that is valid for+-- 10 hours.+getSessionEmbedUrlResponse_embedUrl :: Lens.Lens' GetSessionEmbedUrlResponse (Prelude.Maybe Prelude.Text)+getSessionEmbedUrlResponse_embedUrl = Lens.lens (\GetSessionEmbedUrlResponse' {embedUrl} -> embedUrl) (\s@GetSessionEmbedUrlResponse' {} a -> s {embedUrl = a} :: GetSessionEmbedUrlResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The Amazon Web Services request ID for this operation.+getSessionEmbedUrlResponse_requestId :: Lens.Lens' GetSessionEmbedUrlResponse (Prelude.Maybe Prelude.Text)+getSessionEmbedUrlResponse_requestId = Lens.lens (\GetSessionEmbedUrlResponse' {requestId} -> requestId) (\s@GetSessionEmbedUrlResponse' {} a -> s {requestId = a} :: GetSessionEmbedUrlResponse)++-- | The HTTP status of the request.+getSessionEmbedUrlResponse_status :: Lens.Lens' GetSessionEmbedUrlResponse Prelude.Int+getSessionEmbedUrlResponse_status = Lens.lens (\GetSessionEmbedUrlResponse' {status} -> status) (\s@GetSessionEmbedUrlResponse' {} a -> s {status = a} :: GetSessionEmbedUrlResponse)++instance Prelude.NFData GetSessionEmbedUrlResponse where+  rnf GetSessionEmbedUrlResponse' {..} =+    Prelude.rnf embedUrl+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/Lens.hs view
@@ -0,0 +1,5169 @@+{-# 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.QuickSight.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.QuickSight.Lens+  ( -- * Operations++    -- ** CancelIngestion+    cancelIngestion_awsAccountId,+    cancelIngestion_dataSetId,+    cancelIngestion_ingestionId,+    cancelIngestionResponse_arn,+    cancelIngestionResponse_ingestionId,+    cancelIngestionResponse_requestId,+    cancelIngestionResponse_status,++    -- ** CreateAccountCustomization+    createAccountCustomization_namespace,+    createAccountCustomization_tags,+    createAccountCustomization_awsAccountId,+    createAccountCustomization_accountCustomization,+    createAccountCustomizationResponse_accountCustomization,+    createAccountCustomizationResponse_arn,+    createAccountCustomizationResponse_awsAccountId,+    createAccountCustomizationResponse_namespace,+    createAccountCustomizationResponse_requestId,+    createAccountCustomizationResponse_status,++    -- ** CreateAccountSubscription+    createAccountSubscription_activeDirectoryName,+    createAccountSubscription_adminGroup,+    createAccountSubscription_authorGroup,+    createAccountSubscription_contactNumber,+    createAccountSubscription_directoryId,+    createAccountSubscription_emailAddress,+    createAccountSubscription_firstName,+    createAccountSubscription_lastName,+    createAccountSubscription_readerGroup,+    createAccountSubscription_realm,+    createAccountSubscription_edition,+    createAccountSubscription_authenticationMethod,+    createAccountSubscription_awsAccountId,+    createAccountSubscription_accountName,+    createAccountSubscription_notificationEmail,+    createAccountSubscriptionResponse_requestId,+    createAccountSubscriptionResponse_signupResponse,+    createAccountSubscriptionResponse_status,++    -- ** CreateAnalysis+    createAnalysis_definition,+    createAnalysis_parameters,+    createAnalysis_permissions,+    createAnalysis_sourceEntity,+    createAnalysis_tags,+    createAnalysis_themeArn,+    createAnalysis_awsAccountId,+    createAnalysis_analysisId,+    createAnalysis_name,+    createAnalysisResponse_analysisId,+    createAnalysisResponse_arn,+    createAnalysisResponse_creationStatus,+    createAnalysisResponse_requestId,+    createAnalysisResponse_status,++    -- ** CreateDashboard+    createDashboard_dashboardPublishOptions,+    createDashboard_definition,+    createDashboard_parameters,+    createDashboard_permissions,+    createDashboard_sourceEntity,+    createDashboard_tags,+    createDashboard_themeArn,+    createDashboard_versionDescription,+    createDashboard_awsAccountId,+    createDashboard_dashboardId,+    createDashboard_name,+    createDashboardResponse_arn,+    createDashboardResponse_creationStatus,+    createDashboardResponse_dashboardId,+    createDashboardResponse_requestId,+    createDashboardResponse_versionArn,+    createDashboardResponse_status,++    -- ** CreateDataSet+    createDataSet_columnGroups,+    createDataSet_columnLevelPermissionRules,+    createDataSet_dataSetUsageConfiguration,+    createDataSet_fieldFolders,+    createDataSet_logicalTableMap,+    createDataSet_permissions,+    createDataSet_rowLevelPermissionDataSet,+    createDataSet_rowLevelPermissionTagConfiguration,+    createDataSet_tags,+    createDataSet_awsAccountId,+    createDataSet_dataSetId,+    createDataSet_name,+    createDataSet_physicalTableMap,+    createDataSet_importMode,+    createDataSetResponse_arn,+    createDataSetResponse_dataSetId,+    createDataSetResponse_ingestionArn,+    createDataSetResponse_ingestionId,+    createDataSetResponse_requestId,+    createDataSetResponse_status,++    -- ** CreateDataSource+    createDataSource_credentials,+    createDataSource_dataSourceParameters,+    createDataSource_permissions,+    createDataSource_sslProperties,+    createDataSource_tags,+    createDataSource_vpcConnectionProperties,+    createDataSource_awsAccountId,+    createDataSource_dataSourceId,+    createDataSource_name,+    createDataSource_type,+    createDataSourceResponse_arn,+    createDataSourceResponse_creationStatus,+    createDataSourceResponse_dataSourceId,+    createDataSourceResponse_requestId,+    createDataSourceResponse_status,++    -- ** CreateFolder+    createFolder_folderType,+    createFolder_name,+    createFolder_parentFolderArn,+    createFolder_permissions,+    createFolder_tags,+    createFolder_awsAccountId,+    createFolder_folderId,+    createFolderResponse_arn,+    createFolderResponse_folderId,+    createFolderResponse_requestId,+    createFolderResponse_status,++    -- ** CreateFolderMembership+    createFolderMembership_awsAccountId,+    createFolderMembership_folderId,+    createFolderMembership_memberId,+    createFolderMembership_memberType,+    createFolderMembershipResponse_folderMember,+    createFolderMembershipResponse_requestId,+    createFolderMembershipResponse_status,+    createFolderMembershipResponse_httpStatus,++    -- ** CreateGroup+    createGroup_description,+    createGroup_groupName,+    createGroup_awsAccountId,+    createGroup_namespace,+    createGroupResponse_group,+    createGroupResponse_requestId,+    createGroupResponse_status,++    -- ** CreateGroupMembership+    createGroupMembership_memberName,+    createGroupMembership_groupName,+    createGroupMembership_awsAccountId,+    createGroupMembership_namespace,+    createGroupMembershipResponse_groupMember,+    createGroupMembershipResponse_requestId,+    createGroupMembershipResponse_status,++    -- ** CreateIAMPolicyAssignment+    createIAMPolicyAssignment_identities,+    createIAMPolicyAssignment_policyArn,+    createIAMPolicyAssignment_awsAccountId,+    createIAMPolicyAssignment_assignmentName,+    createIAMPolicyAssignment_assignmentStatus,+    createIAMPolicyAssignment_namespace,+    createIAMPolicyAssignmentResponse_assignmentId,+    createIAMPolicyAssignmentResponse_assignmentName,+    createIAMPolicyAssignmentResponse_assignmentStatus,+    createIAMPolicyAssignmentResponse_identities,+    createIAMPolicyAssignmentResponse_policyArn,+    createIAMPolicyAssignmentResponse_requestId,+    createIAMPolicyAssignmentResponse_status,++    -- ** CreateIngestion+    createIngestion_ingestionType,+    createIngestion_dataSetId,+    createIngestion_ingestionId,+    createIngestion_awsAccountId,+    createIngestionResponse_arn,+    createIngestionResponse_ingestionId,+    createIngestionResponse_ingestionStatus,+    createIngestionResponse_requestId,+    createIngestionResponse_status,++    -- ** CreateNamespace+    createNamespace_tags,+    createNamespace_awsAccountId,+    createNamespace_namespace,+    createNamespace_identityStore,+    createNamespaceResponse_arn,+    createNamespaceResponse_capacityRegion,+    createNamespaceResponse_creationStatus,+    createNamespaceResponse_identityStore,+    createNamespaceResponse_name,+    createNamespaceResponse_requestId,+    createNamespaceResponse_status,++    -- ** CreateTemplate+    createTemplate_definition,+    createTemplate_name,+    createTemplate_permissions,+    createTemplate_sourceEntity,+    createTemplate_tags,+    createTemplate_versionDescription,+    createTemplate_awsAccountId,+    createTemplate_templateId,+    createTemplateResponse_arn,+    createTemplateResponse_creationStatus,+    createTemplateResponse_requestId,+    createTemplateResponse_templateId,+    createTemplateResponse_versionArn,+    createTemplateResponse_status,++    -- ** CreateTemplateAlias+    createTemplateAlias_awsAccountId,+    createTemplateAlias_templateId,+    createTemplateAlias_aliasName,+    createTemplateAlias_templateVersionNumber,+    createTemplateAliasResponse_requestId,+    createTemplateAliasResponse_templateAlias,+    createTemplateAliasResponse_status,++    -- ** CreateTheme+    createTheme_permissions,+    createTheme_tags,+    createTheme_versionDescription,+    createTheme_awsAccountId,+    createTheme_themeId,+    createTheme_name,+    createTheme_baseThemeId,+    createTheme_configuration,+    createThemeResponse_arn,+    createThemeResponse_creationStatus,+    createThemeResponse_requestId,+    createThemeResponse_themeId,+    createThemeResponse_versionArn,+    createThemeResponse_status,++    -- ** CreateThemeAlias+    createThemeAlias_awsAccountId,+    createThemeAlias_themeId,+    createThemeAlias_aliasName,+    createThemeAlias_themeVersionNumber,+    createThemeAliasResponse_requestId,+    createThemeAliasResponse_themeAlias,+    createThemeAliasResponse_status,++    -- ** DeleteAccountCustomization+    deleteAccountCustomization_namespace,+    deleteAccountCustomization_awsAccountId,+    deleteAccountCustomizationResponse_requestId,+    deleteAccountCustomizationResponse_status,++    -- ** DeleteAccountSubscription+    deleteAccountSubscription_awsAccountId,+    deleteAccountSubscriptionResponse_requestId,+    deleteAccountSubscriptionResponse_status,++    -- ** DeleteAnalysis+    deleteAnalysis_forceDeleteWithoutRecovery,+    deleteAnalysis_recoveryWindowInDays,+    deleteAnalysis_awsAccountId,+    deleteAnalysis_analysisId,+    deleteAnalysisResponse_analysisId,+    deleteAnalysisResponse_arn,+    deleteAnalysisResponse_deletionTime,+    deleteAnalysisResponse_requestId,+    deleteAnalysisResponse_status,++    -- ** DeleteDashboard+    deleteDashboard_versionNumber,+    deleteDashboard_awsAccountId,+    deleteDashboard_dashboardId,+    deleteDashboardResponse_arn,+    deleteDashboardResponse_dashboardId,+    deleteDashboardResponse_requestId,+    deleteDashboardResponse_status,++    -- ** DeleteDataSet+    deleteDataSet_awsAccountId,+    deleteDataSet_dataSetId,+    deleteDataSetResponse_arn,+    deleteDataSetResponse_dataSetId,+    deleteDataSetResponse_requestId,+    deleteDataSetResponse_status,++    -- ** DeleteDataSource+    deleteDataSource_awsAccountId,+    deleteDataSource_dataSourceId,+    deleteDataSourceResponse_arn,+    deleteDataSourceResponse_dataSourceId,+    deleteDataSourceResponse_requestId,+    deleteDataSourceResponse_status,++    -- ** DeleteFolder+    deleteFolder_awsAccountId,+    deleteFolder_folderId,+    deleteFolderResponse_arn,+    deleteFolderResponse_folderId,+    deleteFolderResponse_requestId,+    deleteFolderResponse_status,++    -- ** DeleteFolderMembership+    deleteFolderMembership_awsAccountId,+    deleteFolderMembership_folderId,+    deleteFolderMembership_memberId,+    deleteFolderMembership_memberType,+    deleteFolderMembershipResponse_requestId,+    deleteFolderMembershipResponse_status,+    deleteFolderMembershipResponse_httpStatus,++    -- ** DeleteGroup+    deleteGroup_groupName,+    deleteGroup_awsAccountId,+    deleteGroup_namespace,+    deleteGroupResponse_requestId,+    deleteGroupResponse_status,++    -- ** DeleteGroupMembership+    deleteGroupMembership_memberName,+    deleteGroupMembership_groupName,+    deleteGroupMembership_awsAccountId,+    deleteGroupMembership_namespace,+    deleteGroupMembershipResponse_requestId,+    deleteGroupMembershipResponse_status,++    -- ** DeleteIAMPolicyAssignment+    deleteIAMPolicyAssignment_awsAccountId,+    deleteIAMPolicyAssignment_assignmentName,+    deleteIAMPolicyAssignment_namespace,+    deleteIAMPolicyAssignmentResponse_assignmentName,+    deleteIAMPolicyAssignmentResponse_requestId,+    deleteIAMPolicyAssignmentResponse_status,++    -- ** DeleteNamespace+    deleteNamespace_awsAccountId,+    deleteNamespace_namespace,+    deleteNamespaceResponse_requestId,+    deleteNamespaceResponse_status,++    -- ** DeleteTemplate+    deleteTemplate_versionNumber,+    deleteTemplate_awsAccountId,+    deleteTemplate_templateId,+    deleteTemplateResponse_arn,+    deleteTemplateResponse_requestId,+    deleteTemplateResponse_templateId,+    deleteTemplateResponse_status,++    -- ** DeleteTemplateAlias+    deleteTemplateAlias_awsAccountId,+    deleteTemplateAlias_templateId,+    deleteTemplateAlias_aliasName,+    deleteTemplateAliasResponse_aliasName,+    deleteTemplateAliasResponse_arn,+    deleteTemplateAliasResponse_requestId,+    deleteTemplateAliasResponse_templateId,+    deleteTemplateAliasResponse_status,++    -- ** DeleteTheme+    deleteTheme_versionNumber,+    deleteTheme_awsAccountId,+    deleteTheme_themeId,+    deleteThemeResponse_arn,+    deleteThemeResponse_requestId,+    deleteThemeResponse_themeId,+    deleteThemeResponse_status,++    -- ** DeleteThemeAlias+    deleteThemeAlias_awsAccountId,+    deleteThemeAlias_themeId,+    deleteThemeAlias_aliasName,+    deleteThemeAliasResponse_aliasName,+    deleteThemeAliasResponse_arn,+    deleteThemeAliasResponse_requestId,+    deleteThemeAliasResponse_themeId,+    deleteThemeAliasResponse_status,++    -- ** DeleteUser+    deleteUser_userName,+    deleteUser_awsAccountId,+    deleteUser_namespace,+    deleteUserResponse_requestId,+    deleteUserResponse_status,++    -- ** DeleteUserByPrincipalId+    deleteUserByPrincipalId_principalId,+    deleteUserByPrincipalId_awsAccountId,+    deleteUserByPrincipalId_namespace,+    deleteUserByPrincipalIdResponse_requestId,+    deleteUserByPrincipalIdResponse_status,++    -- ** DescribeAccountCustomization+    describeAccountCustomization_namespace,+    describeAccountCustomization_resolved,+    describeAccountCustomization_awsAccountId,+    describeAccountCustomizationResponse_accountCustomization,+    describeAccountCustomizationResponse_arn,+    describeAccountCustomizationResponse_awsAccountId,+    describeAccountCustomizationResponse_namespace,+    describeAccountCustomizationResponse_requestId,+    describeAccountCustomizationResponse_status,++    -- ** DescribeAccountSettings+    describeAccountSettings_awsAccountId,+    describeAccountSettingsResponse_accountSettings,+    describeAccountSettingsResponse_requestId,+    describeAccountSettingsResponse_status,++    -- ** DescribeAccountSubscription+    describeAccountSubscription_awsAccountId,+    describeAccountSubscriptionResponse_accountInfo,+    describeAccountSubscriptionResponse_requestId,+    describeAccountSubscriptionResponse_status,++    -- ** DescribeAnalysis+    describeAnalysis_awsAccountId,+    describeAnalysis_analysisId,+    describeAnalysisResponse_analysis,+    describeAnalysisResponse_requestId,+    describeAnalysisResponse_status,++    -- ** DescribeAnalysisDefinition+    describeAnalysisDefinition_awsAccountId,+    describeAnalysisDefinition_analysisId,+    describeAnalysisDefinitionResponse_analysisId,+    describeAnalysisDefinitionResponse_definition,+    describeAnalysisDefinitionResponse_errors,+    describeAnalysisDefinitionResponse_name,+    describeAnalysisDefinitionResponse_requestId,+    describeAnalysisDefinitionResponse_resourceStatus,+    describeAnalysisDefinitionResponse_themeArn,+    describeAnalysisDefinitionResponse_status,++    -- ** DescribeAnalysisPermissions+    describeAnalysisPermissions_awsAccountId,+    describeAnalysisPermissions_analysisId,+    describeAnalysisPermissionsResponse_analysisArn,+    describeAnalysisPermissionsResponse_analysisId,+    describeAnalysisPermissionsResponse_permissions,+    describeAnalysisPermissionsResponse_requestId,+    describeAnalysisPermissionsResponse_status,++    -- ** DescribeDashboard+    describeDashboard_aliasName,+    describeDashboard_versionNumber,+    describeDashboard_awsAccountId,+    describeDashboard_dashboardId,+    describeDashboardResponse_dashboard,+    describeDashboardResponse_requestId,+    describeDashboardResponse_status,++    -- ** DescribeDashboardDefinition+    describeDashboardDefinition_aliasName,+    describeDashboardDefinition_versionNumber,+    describeDashboardDefinition_awsAccountId,+    describeDashboardDefinition_dashboardId,+    describeDashboardDefinitionResponse_dashboardId,+    describeDashboardDefinitionResponse_definition,+    describeDashboardDefinitionResponse_errors,+    describeDashboardDefinitionResponse_name,+    describeDashboardDefinitionResponse_requestId,+    describeDashboardDefinitionResponse_resourceStatus,+    describeDashboardDefinitionResponse_themeArn,+    describeDashboardDefinitionResponse_status,++    -- ** DescribeDashboardPermissions+    describeDashboardPermissions_awsAccountId,+    describeDashboardPermissions_dashboardId,+    describeDashboardPermissionsResponse_dashboardArn,+    describeDashboardPermissionsResponse_dashboardId,+    describeDashboardPermissionsResponse_linkSharingConfiguration,+    describeDashboardPermissionsResponse_permissions,+    describeDashboardPermissionsResponse_requestId,+    describeDashboardPermissionsResponse_status,++    -- ** DescribeDataSet+    describeDataSet_awsAccountId,+    describeDataSet_dataSetId,+    describeDataSetResponse_dataSet,+    describeDataSetResponse_requestId,+    describeDataSetResponse_status,++    -- ** DescribeDataSetPermissions+    describeDataSetPermissions_awsAccountId,+    describeDataSetPermissions_dataSetId,+    describeDataSetPermissionsResponse_dataSetArn,+    describeDataSetPermissionsResponse_dataSetId,+    describeDataSetPermissionsResponse_permissions,+    describeDataSetPermissionsResponse_requestId,+    describeDataSetPermissionsResponse_status,++    -- ** DescribeDataSource+    describeDataSource_awsAccountId,+    describeDataSource_dataSourceId,+    describeDataSourceResponse_dataSource,+    describeDataSourceResponse_requestId,+    describeDataSourceResponse_status,++    -- ** DescribeDataSourcePermissions+    describeDataSourcePermissions_awsAccountId,+    describeDataSourcePermissions_dataSourceId,+    describeDataSourcePermissionsResponse_dataSourceArn,+    describeDataSourcePermissionsResponse_dataSourceId,+    describeDataSourcePermissionsResponse_permissions,+    describeDataSourcePermissionsResponse_requestId,+    describeDataSourcePermissionsResponse_status,++    -- ** DescribeFolder+    describeFolder_awsAccountId,+    describeFolder_folderId,+    describeFolderResponse_folder,+    describeFolderResponse_requestId,+    describeFolderResponse_status,++    -- ** DescribeFolderPermissions+    describeFolderPermissions_awsAccountId,+    describeFolderPermissions_folderId,+    describeFolderPermissionsResponse_arn,+    describeFolderPermissionsResponse_folderId,+    describeFolderPermissionsResponse_permissions,+    describeFolderPermissionsResponse_requestId,+    describeFolderPermissionsResponse_status,++    -- ** DescribeFolderResolvedPermissions+    describeFolderResolvedPermissions_awsAccountId,+    describeFolderResolvedPermissions_folderId,+    describeFolderResolvedPermissionsResponse_arn,+    describeFolderResolvedPermissionsResponse_folderId,+    describeFolderResolvedPermissionsResponse_permissions,+    describeFolderResolvedPermissionsResponse_requestId,+    describeFolderResolvedPermissionsResponse_status,++    -- ** DescribeGroup+    describeGroup_groupName,+    describeGroup_awsAccountId,+    describeGroup_namespace,+    describeGroupResponse_group,+    describeGroupResponse_requestId,+    describeGroupResponse_status,++    -- ** DescribeGroupMembership+    describeGroupMembership_memberName,+    describeGroupMembership_groupName,+    describeGroupMembership_awsAccountId,+    describeGroupMembership_namespace,+    describeGroupMembershipResponse_groupMember,+    describeGroupMembershipResponse_requestId,+    describeGroupMembershipResponse_status,++    -- ** DescribeIAMPolicyAssignment+    describeIAMPolicyAssignment_awsAccountId,+    describeIAMPolicyAssignment_assignmentName,+    describeIAMPolicyAssignment_namespace,+    describeIAMPolicyAssignmentResponse_iAMPolicyAssignment,+    describeIAMPolicyAssignmentResponse_requestId,+    describeIAMPolicyAssignmentResponse_status,++    -- ** DescribeIngestion+    describeIngestion_awsAccountId,+    describeIngestion_dataSetId,+    describeIngestion_ingestionId,+    describeIngestionResponse_ingestion,+    describeIngestionResponse_requestId,+    describeIngestionResponse_status,++    -- ** DescribeIpRestriction+    describeIpRestriction_awsAccountId,+    describeIpRestrictionResponse_awsAccountId,+    describeIpRestrictionResponse_enabled,+    describeIpRestrictionResponse_ipRestrictionRuleMap,+    describeIpRestrictionResponse_requestId,+    describeIpRestrictionResponse_status,++    -- ** DescribeNamespace+    describeNamespace_awsAccountId,+    describeNamespace_namespace,+    describeNamespaceResponse_namespace,+    describeNamespaceResponse_requestId,+    describeNamespaceResponse_status,++    -- ** DescribeTemplate+    describeTemplate_aliasName,+    describeTemplate_versionNumber,+    describeTemplate_awsAccountId,+    describeTemplate_templateId,+    describeTemplateResponse_requestId,+    describeTemplateResponse_template,+    describeTemplateResponse_status,++    -- ** DescribeTemplateAlias+    describeTemplateAlias_awsAccountId,+    describeTemplateAlias_templateId,+    describeTemplateAlias_aliasName,+    describeTemplateAliasResponse_requestId,+    describeTemplateAliasResponse_templateAlias,+    describeTemplateAliasResponse_status,++    -- ** DescribeTemplateDefinition+    describeTemplateDefinition_aliasName,+    describeTemplateDefinition_versionNumber,+    describeTemplateDefinition_awsAccountId,+    describeTemplateDefinition_templateId,+    describeTemplateDefinitionResponse_definition,+    describeTemplateDefinitionResponse_errors,+    describeTemplateDefinitionResponse_name,+    describeTemplateDefinitionResponse_requestId,+    describeTemplateDefinitionResponse_resourceStatus,+    describeTemplateDefinitionResponse_templateId,+    describeTemplateDefinitionResponse_themeArn,+    describeTemplateDefinitionResponse_status,++    -- ** DescribeTemplatePermissions+    describeTemplatePermissions_awsAccountId,+    describeTemplatePermissions_templateId,+    describeTemplatePermissionsResponse_permissions,+    describeTemplatePermissionsResponse_requestId,+    describeTemplatePermissionsResponse_templateArn,+    describeTemplatePermissionsResponse_templateId,+    describeTemplatePermissionsResponse_status,++    -- ** DescribeTheme+    describeTheme_aliasName,+    describeTheme_versionNumber,+    describeTheme_awsAccountId,+    describeTheme_themeId,+    describeThemeResponse_requestId,+    describeThemeResponse_theme,+    describeThemeResponse_status,++    -- ** DescribeThemeAlias+    describeThemeAlias_awsAccountId,+    describeThemeAlias_themeId,+    describeThemeAlias_aliasName,+    describeThemeAliasResponse_requestId,+    describeThemeAliasResponse_themeAlias,+    describeThemeAliasResponse_status,++    -- ** DescribeThemePermissions+    describeThemePermissions_awsAccountId,+    describeThemePermissions_themeId,+    describeThemePermissionsResponse_permissions,+    describeThemePermissionsResponse_requestId,+    describeThemePermissionsResponse_themeArn,+    describeThemePermissionsResponse_themeId,+    describeThemePermissionsResponse_status,++    -- ** DescribeUser+    describeUser_userName,+    describeUser_awsAccountId,+    describeUser_namespace,+    describeUserResponse_requestId,+    describeUserResponse_user,+    describeUserResponse_status,++    -- ** GenerateEmbedUrlForAnonymousUser+    generateEmbedUrlForAnonymousUser_allowedDomains,+    generateEmbedUrlForAnonymousUser_sessionLifetimeInMinutes,+    generateEmbedUrlForAnonymousUser_sessionTags,+    generateEmbedUrlForAnonymousUser_awsAccountId,+    generateEmbedUrlForAnonymousUser_namespace,+    generateEmbedUrlForAnonymousUser_authorizedResourceArns,+    generateEmbedUrlForAnonymousUser_experienceConfiguration,+    generateEmbedUrlForAnonymousUserResponse_status,+    generateEmbedUrlForAnonymousUserResponse_embedUrl,+    generateEmbedUrlForAnonymousUserResponse_requestId,+    generateEmbedUrlForAnonymousUserResponse_anonymousUserArn,++    -- ** GenerateEmbedUrlForRegisteredUser+    generateEmbedUrlForRegisteredUser_allowedDomains,+    generateEmbedUrlForRegisteredUser_sessionLifetimeInMinutes,+    generateEmbedUrlForRegisteredUser_awsAccountId,+    generateEmbedUrlForRegisteredUser_userArn,+    generateEmbedUrlForRegisteredUser_experienceConfiguration,+    generateEmbedUrlForRegisteredUserResponse_status,+    generateEmbedUrlForRegisteredUserResponse_embedUrl,+    generateEmbedUrlForRegisteredUserResponse_requestId,++    -- ** GetDashboardEmbedUrl+    getDashboardEmbedUrl_additionalDashboardIds,+    getDashboardEmbedUrl_namespace,+    getDashboardEmbedUrl_resetDisabled,+    getDashboardEmbedUrl_sessionLifetimeInMinutes,+    getDashboardEmbedUrl_statePersistenceEnabled,+    getDashboardEmbedUrl_undoRedoDisabled,+    getDashboardEmbedUrl_userArn,+    getDashboardEmbedUrl_awsAccountId,+    getDashboardEmbedUrl_dashboardId,+    getDashboardEmbedUrl_identityType,+    getDashboardEmbedUrlResponse_embedUrl,+    getDashboardEmbedUrlResponse_requestId,+    getDashboardEmbedUrlResponse_status,++    -- ** GetSessionEmbedUrl+    getSessionEmbedUrl_entryPoint,+    getSessionEmbedUrl_sessionLifetimeInMinutes,+    getSessionEmbedUrl_userArn,+    getSessionEmbedUrl_awsAccountId,+    getSessionEmbedUrlResponse_embedUrl,+    getSessionEmbedUrlResponse_requestId,+    getSessionEmbedUrlResponse_status,++    -- ** ListAnalyses+    listAnalyses_maxResults,+    listAnalyses_nextToken,+    listAnalyses_awsAccountId,+    listAnalysesResponse_analysisSummaryList,+    listAnalysesResponse_nextToken,+    listAnalysesResponse_requestId,+    listAnalysesResponse_status,++    -- ** ListDashboardVersions+    listDashboardVersions_maxResults,+    listDashboardVersions_nextToken,+    listDashboardVersions_awsAccountId,+    listDashboardVersions_dashboardId,+    listDashboardVersionsResponse_dashboardVersionSummaryList,+    listDashboardVersionsResponse_nextToken,+    listDashboardVersionsResponse_requestId,+    listDashboardVersionsResponse_status,++    -- ** ListDashboards+    listDashboards_maxResults,+    listDashboards_nextToken,+    listDashboards_awsAccountId,+    listDashboardsResponse_dashboardSummaryList,+    listDashboardsResponse_nextToken,+    listDashboardsResponse_requestId,+    listDashboardsResponse_status,++    -- ** ListDataSets+    listDataSets_maxResults,+    listDataSets_nextToken,+    listDataSets_awsAccountId,+    listDataSetsResponse_dataSetSummaries,+    listDataSetsResponse_nextToken,+    listDataSetsResponse_requestId,+    listDataSetsResponse_status,++    -- ** ListDataSources+    listDataSources_maxResults,+    listDataSources_nextToken,+    listDataSources_awsAccountId,+    listDataSourcesResponse_dataSources,+    listDataSourcesResponse_nextToken,+    listDataSourcesResponse_requestId,+    listDataSourcesResponse_status,++    -- ** ListFolderMembers+    listFolderMembers_maxResults,+    listFolderMembers_nextToken,+    listFolderMembers_awsAccountId,+    listFolderMembers_folderId,+    listFolderMembersResponse_folderMemberList,+    listFolderMembersResponse_nextToken,+    listFolderMembersResponse_requestId,+    listFolderMembersResponse_status,++    -- ** ListFolders+    listFolders_maxResults,+    listFolders_nextToken,+    listFolders_awsAccountId,+    listFoldersResponse_folderSummaryList,+    listFoldersResponse_nextToken,+    listFoldersResponse_requestId,+    listFoldersResponse_status,++    -- ** ListGroupMemberships+    listGroupMemberships_maxResults,+    listGroupMemberships_nextToken,+    listGroupMemberships_groupName,+    listGroupMemberships_awsAccountId,+    listGroupMemberships_namespace,+    listGroupMembershipsResponse_groupMemberList,+    listGroupMembershipsResponse_nextToken,+    listGroupMembershipsResponse_requestId,+    listGroupMembershipsResponse_status,++    -- ** ListGroups+    listGroups_maxResults,+    listGroups_nextToken,+    listGroups_awsAccountId,+    listGroups_namespace,+    listGroupsResponse_groupList,+    listGroupsResponse_nextToken,+    listGroupsResponse_requestId,+    listGroupsResponse_status,++    -- ** ListIAMPolicyAssignments+    listIAMPolicyAssignments_assignmentStatus,+    listIAMPolicyAssignments_maxResults,+    listIAMPolicyAssignments_nextToken,+    listIAMPolicyAssignments_awsAccountId,+    listIAMPolicyAssignments_namespace,+    listIAMPolicyAssignmentsResponse_iAMPolicyAssignments,+    listIAMPolicyAssignmentsResponse_nextToken,+    listIAMPolicyAssignmentsResponse_requestId,+    listIAMPolicyAssignmentsResponse_status,++    -- ** ListIAMPolicyAssignmentsForUser+    listIAMPolicyAssignmentsForUser_maxResults,+    listIAMPolicyAssignmentsForUser_nextToken,+    listIAMPolicyAssignmentsForUser_awsAccountId,+    listIAMPolicyAssignmentsForUser_userName,+    listIAMPolicyAssignmentsForUser_namespace,+    listIAMPolicyAssignmentsForUserResponse_activeAssignments,+    listIAMPolicyAssignmentsForUserResponse_nextToken,+    listIAMPolicyAssignmentsForUserResponse_requestId,+    listIAMPolicyAssignmentsForUserResponse_status,++    -- ** ListIngestions+    listIngestions_maxResults,+    listIngestions_nextToken,+    listIngestions_dataSetId,+    listIngestions_awsAccountId,+    listIngestionsResponse_ingestions,+    listIngestionsResponse_nextToken,+    listIngestionsResponse_requestId,+    listIngestionsResponse_status,++    -- ** ListNamespaces+    listNamespaces_maxResults,+    listNamespaces_nextToken,+    listNamespaces_awsAccountId,+    listNamespacesResponse_namespaces,+    listNamespacesResponse_nextToken,+    listNamespacesResponse_requestId,+    listNamespacesResponse_status,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_requestId,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_status,++    -- ** ListTemplateAliases+    listTemplateAliases_maxResults,+    listTemplateAliases_nextToken,+    listTemplateAliases_awsAccountId,+    listTemplateAliases_templateId,+    listTemplateAliasesResponse_nextToken,+    listTemplateAliasesResponse_requestId,+    listTemplateAliasesResponse_templateAliasList,+    listTemplateAliasesResponse_status,++    -- ** ListTemplateVersions+    listTemplateVersions_maxResults,+    listTemplateVersions_nextToken,+    listTemplateVersions_awsAccountId,+    listTemplateVersions_templateId,+    listTemplateVersionsResponse_nextToken,+    listTemplateVersionsResponse_requestId,+    listTemplateVersionsResponse_templateVersionSummaryList,+    listTemplateVersionsResponse_status,++    -- ** ListTemplates+    listTemplates_maxResults,+    listTemplates_nextToken,+    listTemplates_awsAccountId,+    listTemplatesResponse_nextToken,+    listTemplatesResponse_requestId,+    listTemplatesResponse_templateSummaryList,+    listTemplatesResponse_status,++    -- ** ListThemeAliases+    listThemeAliases_maxResults,+    listThemeAliases_nextToken,+    listThemeAliases_awsAccountId,+    listThemeAliases_themeId,+    listThemeAliasesResponse_nextToken,+    listThemeAliasesResponse_requestId,+    listThemeAliasesResponse_themeAliasList,+    listThemeAliasesResponse_status,++    -- ** ListThemeVersions+    listThemeVersions_maxResults,+    listThemeVersions_nextToken,+    listThemeVersions_awsAccountId,+    listThemeVersions_themeId,+    listThemeVersionsResponse_nextToken,+    listThemeVersionsResponse_requestId,+    listThemeVersionsResponse_themeVersionSummaryList,+    listThemeVersionsResponse_status,++    -- ** ListThemes+    listThemes_maxResults,+    listThemes_nextToken,+    listThemes_type,+    listThemes_awsAccountId,+    listThemesResponse_nextToken,+    listThemesResponse_requestId,+    listThemesResponse_themeSummaryList,+    listThemesResponse_status,++    -- ** ListUserGroups+    listUserGroups_maxResults,+    listUserGroups_nextToken,+    listUserGroups_userName,+    listUserGroups_awsAccountId,+    listUserGroups_namespace,+    listUserGroupsResponse_groupList,+    listUserGroupsResponse_nextToken,+    listUserGroupsResponse_requestId,+    listUserGroupsResponse_status,++    -- ** ListUsers+    listUsers_maxResults,+    listUsers_nextToken,+    listUsers_awsAccountId,+    listUsers_namespace,+    listUsersResponse_nextToken,+    listUsersResponse_requestId,+    listUsersResponse_userList,+    listUsersResponse_status,++    -- ** RegisterUser+    registerUser_customFederationProviderUrl,+    registerUser_customPermissionsName,+    registerUser_externalLoginFederationProviderType,+    registerUser_externalLoginId,+    registerUser_iamArn,+    registerUser_sessionName,+    registerUser_userName,+    registerUser_identityType,+    registerUser_email,+    registerUser_userRole,+    registerUser_awsAccountId,+    registerUser_namespace,+    registerUserResponse_requestId,+    registerUserResponse_user,+    registerUserResponse_userInvitationUrl,+    registerUserResponse_status,++    -- ** RestoreAnalysis+    restoreAnalysis_awsAccountId,+    restoreAnalysis_analysisId,+    restoreAnalysisResponse_analysisId,+    restoreAnalysisResponse_arn,+    restoreAnalysisResponse_requestId,+    restoreAnalysisResponse_status,++    -- ** SearchAnalyses+    searchAnalyses_maxResults,+    searchAnalyses_nextToken,+    searchAnalyses_awsAccountId,+    searchAnalyses_filters,+    searchAnalysesResponse_analysisSummaryList,+    searchAnalysesResponse_nextToken,+    searchAnalysesResponse_requestId,+    searchAnalysesResponse_status,++    -- ** SearchDashboards+    searchDashboards_maxResults,+    searchDashboards_nextToken,+    searchDashboards_awsAccountId,+    searchDashboards_filters,+    searchDashboardsResponse_dashboardSummaryList,+    searchDashboardsResponse_nextToken,+    searchDashboardsResponse_requestId,+    searchDashboardsResponse_status,++    -- ** SearchDataSets+    searchDataSets_maxResults,+    searchDataSets_nextToken,+    searchDataSets_awsAccountId,+    searchDataSets_filters,+    searchDataSetsResponse_dataSetSummaries,+    searchDataSetsResponse_nextToken,+    searchDataSetsResponse_requestId,+    searchDataSetsResponse_status,++    -- ** SearchDataSources+    searchDataSources_maxResults,+    searchDataSources_nextToken,+    searchDataSources_awsAccountId,+    searchDataSources_filters,+    searchDataSourcesResponse_dataSourceSummaries,+    searchDataSourcesResponse_nextToken,+    searchDataSourcesResponse_requestId,+    searchDataSourcesResponse_status,++    -- ** SearchFolders+    searchFolders_maxResults,+    searchFolders_nextToken,+    searchFolders_awsAccountId,+    searchFolders_filters,+    searchFoldersResponse_folderSummaryList,+    searchFoldersResponse_nextToken,+    searchFoldersResponse_requestId,+    searchFoldersResponse_status,++    -- ** SearchGroups+    searchGroups_maxResults,+    searchGroups_nextToken,+    searchGroups_awsAccountId,+    searchGroups_namespace,+    searchGroups_filters,+    searchGroupsResponse_groupList,+    searchGroupsResponse_nextToken,+    searchGroupsResponse_requestId,+    searchGroupsResponse_status,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_requestId,+    tagResourceResponse_status,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_requestId,+    untagResourceResponse_status,++    -- ** UpdateAccountCustomization+    updateAccountCustomization_namespace,+    updateAccountCustomization_awsAccountId,+    updateAccountCustomization_accountCustomization,+    updateAccountCustomizationResponse_accountCustomization,+    updateAccountCustomizationResponse_arn,+    updateAccountCustomizationResponse_awsAccountId,+    updateAccountCustomizationResponse_namespace,+    updateAccountCustomizationResponse_requestId,+    updateAccountCustomizationResponse_status,++    -- ** UpdateAccountSettings+    updateAccountSettings_notificationEmail,+    updateAccountSettings_terminationProtectionEnabled,+    updateAccountSettings_awsAccountId,+    updateAccountSettings_defaultNamespace,+    updateAccountSettingsResponse_requestId,+    updateAccountSettingsResponse_status,++    -- ** UpdateAnalysis+    updateAnalysis_definition,+    updateAnalysis_parameters,+    updateAnalysis_sourceEntity,+    updateAnalysis_themeArn,+    updateAnalysis_awsAccountId,+    updateAnalysis_analysisId,+    updateAnalysis_name,+    updateAnalysisResponse_analysisId,+    updateAnalysisResponse_arn,+    updateAnalysisResponse_requestId,+    updateAnalysisResponse_updateStatus,+    updateAnalysisResponse_status,++    -- ** UpdateAnalysisPermissions+    updateAnalysisPermissions_grantPermissions,+    updateAnalysisPermissions_revokePermissions,+    updateAnalysisPermissions_awsAccountId,+    updateAnalysisPermissions_analysisId,+    updateAnalysisPermissionsResponse_analysisArn,+    updateAnalysisPermissionsResponse_analysisId,+    updateAnalysisPermissionsResponse_permissions,+    updateAnalysisPermissionsResponse_requestId,+    updateAnalysisPermissionsResponse_status,++    -- ** UpdateDashboard+    updateDashboard_dashboardPublishOptions,+    updateDashboard_definition,+    updateDashboard_parameters,+    updateDashboard_sourceEntity,+    updateDashboard_themeArn,+    updateDashboard_versionDescription,+    updateDashboard_awsAccountId,+    updateDashboard_dashboardId,+    updateDashboard_name,+    updateDashboardResponse_arn,+    updateDashboardResponse_creationStatus,+    updateDashboardResponse_dashboardId,+    updateDashboardResponse_requestId,+    updateDashboardResponse_status,+    updateDashboardResponse_versionArn,+    updateDashboardResponse_httpStatus,++    -- ** UpdateDashboardPermissions+    updateDashboardPermissions_grantLinkPermissions,+    updateDashboardPermissions_grantPermissions,+    updateDashboardPermissions_revokeLinkPermissions,+    updateDashboardPermissions_revokePermissions,+    updateDashboardPermissions_awsAccountId,+    updateDashboardPermissions_dashboardId,+    updateDashboardPermissionsResponse_dashboardArn,+    updateDashboardPermissionsResponse_dashboardId,+    updateDashboardPermissionsResponse_linkSharingConfiguration,+    updateDashboardPermissionsResponse_permissions,+    updateDashboardPermissionsResponse_requestId,+    updateDashboardPermissionsResponse_status,++    -- ** UpdateDashboardPublishedVersion+    updateDashboardPublishedVersion_awsAccountId,+    updateDashboardPublishedVersion_dashboardId,+    updateDashboardPublishedVersion_versionNumber,+    updateDashboardPublishedVersionResponse_dashboardArn,+    updateDashboardPublishedVersionResponse_dashboardId,+    updateDashboardPublishedVersionResponse_requestId,+    updateDashboardPublishedVersionResponse_status,++    -- ** UpdateDataSet+    updateDataSet_columnGroups,+    updateDataSet_columnLevelPermissionRules,+    updateDataSet_dataSetUsageConfiguration,+    updateDataSet_fieldFolders,+    updateDataSet_logicalTableMap,+    updateDataSet_rowLevelPermissionDataSet,+    updateDataSet_rowLevelPermissionTagConfiguration,+    updateDataSet_awsAccountId,+    updateDataSet_dataSetId,+    updateDataSet_name,+    updateDataSet_physicalTableMap,+    updateDataSet_importMode,+    updateDataSetResponse_arn,+    updateDataSetResponse_dataSetId,+    updateDataSetResponse_ingestionArn,+    updateDataSetResponse_ingestionId,+    updateDataSetResponse_requestId,+    updateDataSetResponse_status,++    -- ** UpdateDataSetPermissions+    updateDataSetPermissions_grantPermissions,+    updateDataSetPermissions_revokePermissions,+    updateDataSetPermissions_awsAccountId,+    updateDataSetPermissions_dataSetId,+    updateDataSetPermissionsResponse_dataSetArn,+    updateDataSetPermissionsResponse_dataSetId,+    updateDataSetPermissionsResponse_requestId,+    updateDataSetPermissionsResponse_status,++    -- ** UpdateDataSource+    updateDataSource_credentials,+    updateDataSource_dataSourceParameters,+    updateDataSource_sslProperties,+    updateDataSource_vpcConnectionProperties,+    updateDataSource_awsAccountId,+    updateDataSource_dataSourceId,+    updateDataSource_name,+    updateDataSourceResponse_arn,+    updateDataSourceResponse_dataSourceId,+    updateDataSourceResponse_requestId,+    updateDataSourceResponse_updateStatus,+    updateDataSourceResponse_status,++    -- ** UpdateDataSourcePermissions+    updateDataSourcePermissions_grantPermissions,+    updateDataSourcePermissions_revokePermissions,+    updateDataSourcePermissions_awsAccountId,+    updateDataSourcePermissions_dataSourceId,+    updateDataSourcePermissionsResponse_dataSourceArn,+    updateDataSourcePermissionsResponse_dataSourceId,+    updateDataSourcePermissionsResponse_requestId,+    updateDataSourcePermissionsResponse_status,++    -- ** UpdateFolder+    updateFolder_awsAccountId,+    updateFolder_folderId,+    updateFolder_name,+    updateFolderResponse_arn,+    updateFolderResponse_folderId,+    updateFolderResponse_requestId,+    updateFolderResponse_status,++    -- ** UpdateFolderPermissions+    updateFolderPermissions_grantPermissions,+    updateFolderPermissions_revokePermissions,+    updateFolderPermissions_awsAccountId,+    updateFolderPermissions_folderId,+    updateFolderPermissionsResponse_arn,+    updateFolderPermissionsResponse_folderId,+    updateFolderPermissionsResponse_permissions,+    updateFolderPermissionsResponse_requestId,+    updateFolderPermissionsResponse_status,+    updateFolderPermissionsResponse_httpStatus,++    -- ** UpdateGroup+    updateGroup_description,+    updateGroup_groupName,+    updateGroup_awsAccountId,+    updateGroup_namespace,+    updateGroupResponse_group,+    updateGroupResponse_requestId,+    updateGroupResponse_status,++    -- ** UpdateIAMPolicyAssignment+    updateIAMPolicyAssignment_assignmentStatus,+    updateIAMPolicyAssignment_identities,+    updateIAMPolicyAssignment_policyArn,+    updateIAMPolicyAssignment_awsAccountId,+    updateIAMPolicyAssignment_assignmentName,+    updateIAMPolicyAssignment_namespace,+    updateIAMPolicyAssignmentResponse_assignmentId,+    updateIAMPolicyAssignmentResponse_assignmentName,+    updateIAMPolicyAssignmentResponse_assignmentStatus,+    updateIAMPolicyAssignmentResponse_identities,+    updateIAMPolicyAssignmentResponse_policyArn,+    updateIAMPolicyAssignmentResponse_requestId,+    updateIAMPolicyAssignmentResponse_status,++    -- ** UpdateIpRestriction+    updateIpRestriction_enabled,+    updateIpRestriction_ipRestrictionRuleMap,+    updateIpRestriction_awsAccountId,+    updateIpRestrictionResponse_awsAccountId,+    updateIpRestrictionResponse_requestId,+    updateIpRestrictionResponse_status,++    -- ** UpdatePublicSharingSettings+    updatePublicSharingSettings_publicSharingEnabled,+    updatePublicSharingSettings_awsAccountId,+    updatePublicSharingSettingsResponse_requestId,+    updatePublicSharingSettingsResponse_status,++    -- ** UpdateTemplate+    updateTemplate_definition,+    updateTemplate_name,+    updateTemplate_sourceEntity,+    updateTemplate_versionDescription,+    updateTemplate_awsAccountId,+    updateTemplate_templateId,+    updateTemplateResponse_arn,+    updateTemplateResponse_creationStatus,+    updateTemplateResponse_requestId,+    updateTemplateResponse_templateId,+    updateTemplateResponse_versionArn,+    updateTemplateResponse_status,++    -- ** UpdateTemplateAlias+    updateTemplateAlias_awsAccountId,+    updateTemplateAlias_templateId,+    updateTemplateAlias_aliasName,+    updateTemplateAlias_templateVersionNumber,+    updateTemplateAliasResponse_requestId,+    updateTemplateAliasResponse_templateAlias,+    updateTemplateAliasResponse_status,++    -- ** UpdateTemplatePermissions+    updateTemplatePermissions_grantPermissions,+    updateTemplatePermissions_revokePermissions,+    updateTemplatePermissions_awsAccountId,+    updateTemplatePermissions_templateId,+    updateTemplatePermissionsResponse_permissions,+    updateTemplatePermissionsResponse_requestId,+    updateTemplatePermissionsResponse_templateArn,+    updateTemplatePermissionsResponse_templateId,+    updateTemplatePermissionsResponse_status,++    -- ** UpdateTheme+    updateTheme_configuration,+    updateTheme_name,+    updateTheme_versionDescription,+    updateTheme_awsAccountId,+    updateTheme_themeId,+    updateTheme_baseThemeId,+    updateThemeResponse_arn,+    updateThemeResponse_creationStatus,+    updateThemeResponse_requestId,+    updateThemeResponse_themeId,+    updateThemeResponse_versionArn,+    updateThemeResponse_status,++    -- ** UpdateThemeAlias+    updateThemeAlias_awsAccountId,+    updateThemeAlias_themeId,+    updateThemeAlias_aliasName,+    updateThemeAlias_themeVersionNumber,+    updateThemeAliasResponse_requestId,+    updateThemeAliasResponse_themeAlias,+    updateThemeAliasResponse_status,++    -- ** UpdateThemePermissions+    updateThemePermissions_grantPermissions,+    updateThemePermissions_revokePermissions,+    updateThemePermissions_awsAccountId,+    updateThemePermissions_themeId,+    updateThemePermissionsResponse_permissions,+    updateThemePermissionsResponse_requestId,+    updateThemePermissionsResponse_themeArn,+    updateThemePermissionsResponse_themeId,+    updateThemePermissionsResponse_status,++    -- ** UpdateUser+    updateUser_customFederationProviderUrl,+    updateUser_customPermissionsName,+    updateUser_externalLoginFederationProviderType,+    updateUser_externalLoginId,+    updateUser_unapplyCustomPermissions,+    updateUser_userName,+    updateUser_awsAccountId,+    updateUser_namespace,+    updateUser_email,+    updateUser_role,+    updateUserResponse_requestId,+    updateUserResponse_user,+    updateUserResponse_status,++    -- * Types++    -- ** AccountCustomization+    accountCustomization_defaultEmailCustomizationTemplate,+    accountCustomization_defaultTheme,++    -- ** AccountInfo+    accountInfo_accountName,+    accountInfo_accountSubscriptionStatus,+    accountInfo_authenticationType,+    accountInfo_edition,+    accountInfo_notificationEmail,++    -- ** AccountSettings+    accountSettings_accountName,+    accountSettings_defaultNamespace,+    accountSettings_edition,+    accountSettings_notificationEmail,+    accountSettings_publicSharingEnabled,+    accountSettings_terminationProtectionEnabled,++    -- ** ActiveIAMPolicyAssignment+    activeIAMPolicyAssignment_assignmentName,+    activeIAMPolicyAssignment_policyArn,++    -- ** AdHocFilteringOption+    adHocFilteringOption_availabilityStatus,++    -- ** AggregationFunction+    aggregationFunction_categoricalAggregationFunction,+    aggregationFunction_dateAggregationFunction,+    aggregationFunction_numericalAggregationFunction,++    -- ** AggregationSortConfiguration+    aggregationSortConfiguration_column,+    aggregationSortConfiguration_sortDirection,+    aggregationSortConfiguration_aggregationFunction,++    -- ** AmazonElasticsearchParameters+    amazonElasticsearchParameters_domain,++    -- ** AmazonOpenSearchParameters+    amazonOpenSearchParameters_domain,++    -- ** Analysis+    analysis_analysisId,+    analysis_arn,+    analysis_createdTime,+    analysis_dataSetArns,+    analysis_errors,+    analysis_lastUpdatedTime,+    analysis_name,+    analysis_sheets,+    analysis_status,+    analysis_themeArn,++    -- ** AnalysisDefaults+    analysisDefaults_defaultNewSheetConfiguration,++    -- ** AnalysisDefinition+    analysisDefinition_analysisDefaults,+    analysisDefinition_calculatedFields,+    analysisDefinition_columnConfigurations,+    analysisDefinition_filterGroups,+    analysisDefinition_parameterDeclarations,+    analysisDefinition_sheets,+    analysisDefinition_dataSetIdentifierDeclarations,++    -- ** AnalysisError+    analysisError_message,+    analysisError_type,+    analysisError_violatedEntities,++    -- ** AnalysisSearchFilter+    analysisSearchFilter_name,+    analysisSearchFilter_operator,+    analysisSearchFilter_value,++    -- ** AnalysisSourceEntity+    analysisSourceEntity_sourceTemplate,++    -- ** AnalysisSourceTemplate+    analysisSourceTemplate_dataSetReferences,+    analysisSourceTemplate_arn,++    -- ** AnalysisSummary+    analysisSummary_analysisId,+    analysisSummary_arn,+    analysisSummary_createdTime,+    analysisSummary_lastUpdatedTime,+    analysisSummary_name,+    analysisSummary_status,++    -- ** AnchorDateConfiguration+    anchorDateConfiguration_anchorOption,+    anchorDateConfiguration_parameterName,++    -- ** AnonymousUserDashboardEmbeddingConfiguration+    anonymousUserDashboardEmbeddingConfiguration_initialDashboardId,++    -- ** AnonymousUserDashboardVisualEmbeddingConfiguration+    anonymousUserDashboardVisualEmbeddingConfiguration_initialDashboardVisualId,++    -- ** AnonymousUserEmbeddingExperienceConfiguration+    anonymousUserEmbeddingExperienceConfiguration_dashboard,+    anonymousUserEmbeddingExperienceConfiguration_dashboardVisual,+    anonymousUserEmbeddingExperienceConfiguration_qSearchBar,++    -- ** AnonymousUserQSearchBarEmbeddingConfiguration+    anonymousUserQSearchBarEmbeddingConfiguration_initialTopicId,++    -- ** ArcAxisConfiguration+    arcAxisConfiguration_range,+    arcAxisConfiguration_reserveRange,++    -- ** ArcAxisDisplayRange+    arcAxisDisplayRange_max,+    arcAxisDisplayRange_min,++    -- ** ArcConfiguration+    arcConfiguration_arcAngle,+    arcConfiguration_arcThickness,++    -- ** ArcOptions+    arcOptions_arcThickness,++    -- ** AthenaParameters+    athenaParameters_roleArn,+    athenaParameters_workGroup,++    -- ** AuroraParameters+    auroraParameters_host,+    auroraParameters_port,+    auroraParameters_database,++    -- ** AuroraPostgreSqlParameters+    auroraPostgreSqlParameters_host,+    auroraPostgreSqlParameters_port,+    auroraPostgreSqlParameters_database,++    -- ** AwsIotAnalyticsParameters+    awsIotAnalyticsParameters_dataSetName,++    -- ** AxisDataOptions+    axisDataOptions_dateAxisOptions,+    axisDataOptions_numericAxisOptions,++    -- ** AxisDisplayDataDrivenRange++    -- ** AxisDisplayMinMaxRange+    axisDisplayMinMaxRange_maximum,+    axisDisplayMinMaxRange_minimum,++    -- ** AxisDisplayOptions+    axisDisplayOptions_axisLineVisibility,+    axisDisplayOptions_axisOffset,+    axisDisplayOptions_dataOptions,+    axisDisplayOptions_gridLineVisibility,+    axisDisplayOptions_scrollbarOptions,+    axisDisplayOptions_tickLabelOptions,++    -- ** AxisDisplayRange+    axisDisplayRange_dataDriven,+    axisDisplayRange_minMax,++    -- ** AxisLabelOptions+    axisLabelOptions_applyTo,+    axisLabelOptions_customLabel,+    axisLabelOptions_fontConfiguration,++    -- ** AxisLabelReferenceOptions+    axisLabelReferenceOptions_fieldId,+    axisLabelReferenceOptions_column,++    -- ** AxisLinearScale+    axisLinearScale_stepCount,+    axisLinearScale_stepSize,++    -- ** AxisLogarithmicScale+    axisLogarithmicScale_base,++    -- ** AxisScale+    axisScale_linear,+    axisScale_logarithmic,++    -- ** AxisTickLabelOptions+    axisTickLabelOptions_labelOptions,+    axisTickLabelOptions_rotationAngle,++    -- ** BarChartAggregatedFieldWells+    barChartAggregatedFieldWells_category,+    barChartAggregatedFieldWells_colors,+    barChartAggregatedFieldWells_smallMultiples,+    barChartAggregatedFieldWells_values,++    -- ** BarChartConfiguration+    barChartConfiguration_barsArrangement,+    barChartConfiguration_categoryAxis,+    barChartConfiguration_categoryLabelOptions,+    barChartConfiguration_colorLabelOptions,+    barChartConfiguration_contributionAnalysisDefaults,+    barChartConfiguration_dataLabels,+    barChartConfiguration_fieldWells,+    barChartConfiguration_legend,+    barChartConfiguration_orientation,+    barChartConfiguration_referenceLines,+    barChartConfiguration_smallMultiplesOptions,+    barChartConfiguration_sortConfiguration,+    barChartConfiguration_tooltip,+    barChartConfiguration_valueAxis,+    barChartConfiguration_valueLabelOptions,+    barChartConfiguration_visualPalette,++    -- ** BarChartFieldWells+    barChartFieldWells_barChartAggregatedFieldWells,++    -- ** BarChartSortConfiguration+    barChartSortConfiguration_categoryItemsLimit,+    barChartSortConfiguration_categorySort,+    barChartSortConfiguration_colorItemsLimit,+    barChartSortConfiguration_colorSort,+    barChartSortConfiguration_smallMultiplesLimitConfiguration,+    barChartSortConfiguration_smallMultiplesSort,++    -- ** BarChartVisual+    barChartVisual_actions,+    barChartVisual_chartConfiguration,+    barChartVisual_columnHierarchies,+    barChartVisual_subtitle,+    barChartVisual_title,+    barChartVisual_visualId,++    -- ** BinCountOptions+    binCountOptions_value,++    -- ** BinWidthOptions+    binWidthOptions_binCountLimit,+    binWidthOptions_value,++    -- ** BodySectionConfiguration+    bodySectionConfiguration_pageBreakConfiguration,+    bodySectionConfiguration_style,+    bodySectionConfiguration_sectionId,+    bodySectionConfiguration_content,++    -- ** BodySectionContent+    bodySectionContent_layout,++    -- ** BorderStyle+    borderStyle_show,++    -- ** BoxPlotAggregatedFieldWells+    boxPlotAggregatedFieldWells_groupBy,+    boxPlotAggregatedFieldWells_values,++    -- ** BoxPlotChartConfiguration+    boxPlotChartConfiguration_boxPlotOptions,+    boxPlotChartConfiguration_categoryAxis,+    boxPlotChartConfiguration_categoryLabelOptions,+    boxPlotChartConfiguration_fieldWells,+    boxPlotChartConfiguration_legend,+    boxPlotChartConfiguration_primaryYAxisDisplayOptions,+    boxPlotChartConfiguration_primaryYAxisLabelOptions,+    boxPlotChartConfiguration_referenceLines,+    boxPlotChartConfiguration_sortConfiguration,+    boxPlotChartConfiguration_tooltip,+    boxPlotChartConfiguration_visualPalette,++    -- ** BoxPlotFieldWells+    boxPlotFieldWells_boxPlotAggregatedFieldWells,++    -- ** BoxPlotOptions+    boxPlotOptions_allDataPointsVisibility,+    boxPlotOptions_outlierVisibility,+    boxPlotOptions_styleOptions,++    -- ** BoxPlotSortConfiguration+    boxPlotSortConfiguration_categorySort,+    boxPlotSortConfiguration_paginationConfiguration,++    -- ** BoxPlotStyleOptions+    boxPlotStyleOptions_fillStyle,++    -- ** BoxPlotVisual+    boxPlotVisual_actions,+    boxPlotVisual_chartConfiguration,+    boxPlotVisual_columnHierarchies,+    boxPlotVisual_subtitle,+    boxPlotVisual_title,+    boxPlotVisual_visualId,++    -- ** CalculatedColumn+    calculatedColumn_columnName,+    calculatedColumn_columnId,+    calculatedColumn_expression,++    -- ** CalculatedField+    calculatedField_dataSetIdentifier,+    calculatedField_name,+    calculatedField_expression,++    -- ** CalculatedMeasureField+    calculatedMeasureField_fieldId,+    calculatedMeasureField_expression,++    -- ** CascadingControlConfiguration+    cascadingControlConfiguration_sourceControls,++    -- ** CascadingControlSource+    cascadingControlSource_columnToMatch,+    cascadingControlSource_sourceSheetControlId,++    -- ** CastColumnTypeOperation+    castColumnTypeOperation_format,+    castColumnTypeOperation_columnName,+    castColumnTypeOperation_newColumnType,++    -- ** CategoricalDimensionField+    categoricalDimensionField_formatConfiguration,+    categoricalDimensionField_hierarchyId,+    categoricalDimensionField_fieldId,+    categoricalDimensionField_column,++    -- ** CategoricalMeasureField+    categoricalMeasureField_aggregationFunction,+    categoricalMeasureField_formatConfiguration,+    categoricalMeasureField_fieldId,+    categoricalMeasureField_column,++    -- ** CategoryDrillDownFilter+    categoryDrillDownFilter_column,+    categoryDrillDownFilter_categoryValues,++    -- ** CategoryFilter+    categoryFilter_configuration,+    categoryFilter_filterId,+    categoryFilter_column,++    -- ** CategoryFilterConfiguration+    categoryFilterConfiguration_customFilterConfiguration,+    categoryFilterConfiguration_customFilterListConfiguration,+    categoryFilterConfiguration_filterListConfiguration,++    -- ** ChartAxisLabelOptions+    chartAxisLabelOptions_axisLabelOptions,+    chartAxisLabelOptions_sortIconVisibility,+    chartAxisLabelOptions_visibility,++    -- ** ClusterMarker+    clusterMarker_simpleClusterMarker,++    -- ** ClusterMarkerConfiguration+    clusterMarkerConfiguration_clusterMarker,++    -- ** ColorScale+    colorScale_nullValueColor,+    colorScale_colors,+    colorScale_colorFillType,++    -- ** ColumnConfiguration+    columnConfiguration_formatConfiguration,+    columnConfiguration_role,+    columnConfiguration_column,++    -- ** ColumnDescription+    columnDescription_text,++    -- ** ColumnGroup+    columnGroup_geoSpatialColumnGroup,++    -- ** ColumnGroupColumnSchema+    columnGroupColumnSchema_name,++    -- ** ColumnGroupSchema+    columnGroupSchema_columnGroupColumnSchemaList,+    columnGroupSchema_name,++    -- ** ColumnHierarchy+    columnHierarchy_dateTimeHierarchy,+    columnHierarchy_explicitHierarchy,+    columnHierarchy_predefinedHierarchy,++    -- ** ColumnIdentifier+    columnIdentifier_dataSetIdentifier,+    columnIdentifier_columnName,++    -- ** ColumnLevelPermissionRule+    columnLevelPermissionRule_columnNames,+    columnLevelPermissionRule_principals,++    -- ** ColumnSchema+    columnSchema_dataType,+    columnSchema_geographicRole,+    columnSchema_name,++    -- ** ColumnSort+    columnSort_aggregationFunction,+    columnSort_sortBy,+    columnSort_direction,++    -- ** ColumnTag+    columnTag_columnDescription,+    columnTag_columnGeographicRole,++    -- ** ColumnTooltipItem+    columnTooltipItem_aggregation,+    columnTooltipItem_label,+    columnTooltipItem_visibility,+    columnTooltipItem_column,++    -- ** ComboChartAggregatedFieldWells+    comboChartAggregatedFieldWells_barValues,+    comboChartAggregatedFieldWells_category,+    comboChartAggregatedFieldWells_colors,+    comboChartAggregatedFieldWells_lineValues,++    -- ** ComboChartConfiguration+    comboChartConfiguration_barDataLabels,+    comboChartConfiguration_barsArrangement,+    comboChartConfiguration_categoryAxis,+    comboChartConfiguration_categoryLabelOptions,+    comboChartConfiguration_colorLabelOptions,+    comboChartConfiguration_fieldWells,+    comboChartConfiguration_legend,+    comboChartConfiguration_lineDataLabels,+    comboChartConfiguration_primaryYAxisDisplayOptions,+    comboChartConfiguration_primaryYAxisLabelOptions,+    comboChartConfiguration_referenceLines,+    comboChartConfiguration_secondaryYAxisDisplayOptions,+    comboChartConfiguration_secondaryYAxisLabelOptions,+    comboChartConfiguration_sortConfiguration,+    comboChartConfiguration_tooltip,+    comboChartConfiguration_visualPalette,++    -- ** ComboChartFieldWells+    comboChartFieldWells_comboChartAggregatedFieldWells,++    -- ** ComboChartSortConfiguration+    comboChartSortConfiguration_categoryItemsLimit,+    comboChartSortConfiguration_categorySort,+    comboChartSortConfiguration_colorItemsLimit,+    comboChartSortConfiguration_colorSort,++    -- ** ComboChartVisual+    comboChartVisual_actions,+    comboChartVisual_chartConfiguration,+    comboChartVisual_columnHierarchies,+    comboChartVisual_subtitle,+    comboChartVisual_title,+    comboChartVisual_visualId,++    -- ** ComparisonConfiguration+    comparisonConfiguration_comparisonFormat,+    comparisonConfiguration_comparisonMethod,++    -- ** ComparisonFormatConfiguration+    comparisonFormatConfiguration_numberDisplayFormatConfiguration,+    comparisonFormatConfiguration_percentageDisplayFormatConfiguration,++    -- ** Computation+    computation_forecast,+    computation_growthRate,+    computation_maximumMinimum,+    computation_metricComparison,+    computation_periodOverPeriod,+    computation_periodToDate,+    computation_topBottomMovers,+    computation_topBottomRanked,+    computation_totalAggregation,+    computation_uniqueValues,++    -- ** ConditionalFormattingColor+    conditionalFormattingColor_gradient,+    conditionalFormattingColor_solid,++    -- ** ConditionalFormattingCustomIconCondition+    conditionalFormattingCustomIconCondition_color,+    conditionalFormattingCustomIconCondition_displayConfiguration,+    conditionalFormattingCustomIconCondition_expression,+    conditionalFormattingCustomIconCondition_iconOptions,++    -- ** ConditionalFormattingCustomIconOptions+    conditionalFormattingCustomIconOptions_icon,+    conditionalFormattingCustomIconOptions_unicodeIcon,++    -- ** ConditionalFormattingGradientColor+    conditionalFormattingGradientColor_expression,+    conditionalFormattingGradientColor_color,++    -- ** ConditionalFormattingIcon+    conditionalFormattingIcon_customCondition,+    conditionalFormattingIcon_iconSet,++    -- ** ConditionalFormattingIconDisplayConfiguration+    conditionalFormattingIconDisplayConfiguration_iconDisplayOption,++    -- ** ConditionalFormattingIconSet+    conditionalFormattingIconSet_iconSetType,+    conditionalFormattingIconSet_expression,++    -- ** ConditionalFormattingSolidColor+    conditionalFormattingSolidColor_color,+    conditionalFormattingSolidColor_expression,++    -- ** ContributionAnalysisDefault+    contributionAnalysisDefault_measureFieldId,+    contributionAnalysisDefault_contributorDimensions,++    -- ** CreateColumnsOperation+    createColumnsOperation_columns,++    -- ** CredentialPair+    credentialPair_alternateDataSourceParameters,+    credentialPair_username,+    credentialPair_password,++    -- ** CurrencyDisplayFormatConfiguration+    currencyDisplayFormatConfiguration_decimalPlacesConfiguration,+    currencyDisplayFormatConfiguration_negativeValueConfiguration,+    currencyDisplayFormatConfiguration_nullValueFormatConfiguration,+    currencyDisplayFormatConfiguration_numberScale,+    currencyDisplayFormatConfiguration_prefix,+    currencyDisplayFormatConfiguration_separatorConfiguration,+    currencyDisplayFormatConfiguration_suffix,+    currencyDisplayFormatConfiguration_symbol,++    -- ** CustomActionFilterOperation+    customActionFilterOperation_selectedFieldsConfiguration,+    customActionFilterOperation_targetVisualsConfiguration,++    -- ** CustomActionNavigationOperation+    customActionNavigationOperation_localNavigationConfiguration,++    -- ** CustomActionSetParametersOperation+    customActionSetParametersOperation_parameterValueConfigurations,++    -- ** CustomActionURLOperation+    customActionURLOperation_uRLTemplate,+    customActionURLOperation_uRLTarget,++    -- ** CustomContentConfiguration+    customContentConfiguration_contentType,+    customContentConfiguration_contentUrl,+    customContentConfiguration_imageScaling,++    -- ** CustomContentVisual+    customContentVisual_actions,+    customContentVisual_chartConfiguration,+    customContentVisual_subtitle,+    customContentVisual_title,+    customContentVisual_visualId,+    customContentVisual_dataSetIdentifier,++    -- ** CustomFilterConfiguration+    customFilterConfiguration_categoryValue,+    customFilterConfiguration_parameterName,+    customFilterConfiguration_selectAllOptions,+    customFilterConfiguration_matchOperator,+    customFilterConfiguration_nullOption,++    -- ** CustomFilterListConfiguration+    customFilterListConfiguration_categoryValues,+    customFilterListConfiguration_selectAllOptions,+    customFilterListConfiguration_matchOperator,+    customFilterListConfiguration_nullOption,++    -- ** CustomNarrativeOptions+    customNarrativeOptions_narrative,++    -- ** CustomParameterValues+    customParameterValues_dateTimeValues,+    customParameterValues_decimalValues,+    customParameterValues_integerValues,+    customParameterValues_stringValues,++    -- ** CustomSql+    customSql_columns,+    customSql_dataSourceArn,+    customSql_name,+    customSql_sqlQuery,++    -- ** CustomValuesConfiguration+    customValuesConfiguration_includeNullValue,+    customValuesConfiguration_customValues,++    -- ** Dashboard+    dashboard_arn,+    dashboard_createdTime,+    dashboard_dashboardId,+    dashboard_lastPublishedTime,+    dashboard_lastUpdatedTime,+    dashboard_name,+    dashboard_version,++    -- ** DashboardError+    dashboardError_message,+    dashboardError_type,+    dashboardError_violatedEntities,++    -- ** DashboardPublishOptions+    dashboardPublishOptions_adHocFilteringOption,+    dashboardPublishOptions_exportToCSVOption,+    dashboardPublishOptions_sheetControlsOption,+    dashboardPublishOptions_visualPublishOptions,++    -- ** DashboardSearchFilter+    dashboardSearchFilter_name,+    dashboardSearchFilter_value,+    dashboardSearchFilter_operator,++    -- ** DashboardSourceEntity+    dashboardSourceEntity_sourceTemplate,++    -- ** DashboardSourceTemplate+    dashboardSourceTemplate_dataSetReferences,+    dashboardSourceTemplate_arn,++    -- ** DashboardSummary+    dashboardSummary_arn,+    dashboardSummary_createdTime,+    dashboardSummary_dashboardId,+    dashboardSummary_lastPublishedTime,+    dashboardSummary_lastUpdatedTime,+    dashboardSummary_name,+    dashboardSummary_publishedVersionNumber,++    -- ** DashboardVersion+    dashboardVersion_arn,+    dashboardVersion_createdTime,+    dashboardVersion_dataSetArns,+    dashboardVersion_description,+    dashboardVersion_errors,+    dashboardVersion_sheets,+    dashboardVersion_sourceEntityArn,+    dashboardVersion_status,+    dashboardVersion_themeArn,+    dashboardVersion_versionNumber,++    -- ** DashboardVersionDefinition+    dashboardVersionDefinition_analysisDefaults,+    dashboardVersionDefinition_calculatedFields,+    dashboardVersionDefinition_columnConfigurations,+    dashboardVersionDefinition_filterGroups,+    dashboardVersionDefinition_parameterDeclarations,+    dashboardVersionDefinition_sheets,+    dashboardVersionDefinition_dataSetIdentifierDeclarations,++    -- ** DashboardVersionSummary+    dashboardVersionSummary_arn,+    dashboardVersionSummary_createdTime,+    dashboardVersionSummary_description,+    dashboardVersionSummary_sourceEntityArn,+    dashboardVersionSummary_status,+    dashboardVersionSummary_versionNumber,++    -- ** DashboardVisualId+    dashboardVisualId_dashboardId,+    dashboardVisualId_sheetId,+    dashboardVisualId_visualId,++    -- ** DashboardVisualPublishOptions+    dashboardVisualPublishOptions_exportHiddenFieldsOption,++    -- ** DataColor+    dataColor_color,+    dataColor_dataValue,++    -- ** DataColorPalette+    dataColorPalette_colors,+    dataColorPalette_emptyFillColor,+    dataColorPalette_minMaxGradient,++    -- ** DataFieldSeriesItem+    dataFieldSeriesItem_fieldValue,+    dataFieldSeriesItem_settings,+    dataFieldSeriesItem_fieldId,+    dataFieldSeriesItem_axisBinding,++    -- ** DataLabelOptions+    dataLabelOptions_categoryLabelVisibility,+    dataLabelOptions_dataLabelTypes,+    dataLabelOptions_labelColor,+    dataLabelOptions_labelContent,+    dataLabelOptions_labelFontConfiguration,+    dataLabelOptions_measureLabelVisibility,+    dataLabelOptions_overlap,+    dataLabelOptions_position,+    dataLabelOptions_visibility,++    -- ** DataLabelType+    dataLabelType_dataPathLabelType,+    dataLabelType_fieldLabelType,+    dataLabelType_maximumLabelType,+    dataLabelType_minimumLabelType,+    dataLabelType_rangeEndsLabelType,++    -- ** DataPathColor+    dataPathColor_timeGranularity,+    dataPathColor_element,+    dataPathColor_color,++    -- ** DataPathLabelType+    dataPathLabelType_fieldId,+    dataPathLabelType_fieldValue,+    dataPathLabelType_visibility,++    -- ** DataPathSort+    dataPathSort_direction,+    dataPathSort_sortPaths,++    -- ** DataPathValue+    dataPathValue_fieldId,+    dataPathValue_fieldValue,++    -- ** DataSet+    dataSet_arn,+    dataSet_columnGroups,+    dataSet_columnLevelPermissionRules,+    dataSet_consumedSpiceCapacityInBytes,+    dataSet_createdTime,+    dataSet_dataSetId,+    dataSet_dataSetUsageConfiguration,+    dataSet_fieldFolders,+    dataSet_importMode,+    dataSet_lastUpdatedTime,+    dataSet_logicalTableMap,+    dataSet_name,+    dataSet_outputColumns,+    dataSet_physicalTableMap,+    dataSet_rowLevelPermissionDataSet,+    dataSet_rowLevelPermissionTagConfiguration,++    -- ** DataSetConfiguration+    dataSetConfiguration_columnGroupSchemaList,+    dataSetConfiguration_dataSetSchema,+    dataSetConfiguration_placeholder,++    -- ** DataSetIdentifierDeclaration+    dataSetIdentifierDeclaration_identifier,+    dataSetIdentifierDeclaration_dataSetArn,++    -- ** DataSetReference+    dataSetReference_dataSetPlaceholder,+    dataSetReference_dataSetArn,++    -- ** DataSetSchema+    dataSetSchema_columnSchemaList,++    -- ** DataSetSearchFilter+    dataSetSearchFilter_operator,+    dataSetSearchFilter_name,+    dataSetSearchFilter_value,++    -- ** DataSetSummary+    dataSetSummary_arn,+    dataSetSummary_columnLevelPermissionRulesApplied,+    dataSetSummary_createdTime,+    dataSetSummary_dataSetId,+    dataSetSummary_importMode,+    dataSetSummary_lastUpdatedTime,+    dataSetSummary_name,+    dataSetSummary_rowLevelPermissionDataSet,+    dataSetSummary_rowLevelPermissionTagConfigurationApplied,++    -- ** DataSetUsageConfiguration+    dataSetUsageConfiguration_disableUseAsDirectQuerySource,+    dataSetUsageConfiguration_disableUseAsImportedSource,++    -- ** DataSource+    dataSource_alternateDataSourceParameters,+    dataSource_arn,+    dataSource_createdTime,+    dataSource_dataSourceId,+    dataSource_dataSourceParameters,+    dataSource_errorInfo,+    dataSource_lastUpdatedTime,+    dataSource_name,+    dataSource_secretArn,+    dataSource_sslProperties,+    dataSource_status,+    dataSource_type,+    dataSource_vpcConnectionProperties,++    -- ** DataSourceCredentials+    dataSourceCredentials_copySourceArn,+    dataSourceCredentials_credentialPair,+    dataSourceCredentials_secretArn,++    -- ** DataSourceErrorInfo+    dataSourceErrorInfo_message,+    dataSourceErrorInfo_type,++    -- ** DataSourceParameters+    dataSourceParameters_amazonElasticsearchParameters,+    dataSourceParameters_amazonOpenSearchParameters,+    dataSourceParameters_athenaParameters,+    dataSourceParameters_auroraParameters,+    dataSourceParameters_auroraPostgreSqlParameters,+    dataSourceParameters_awsIotAnalyticsParameters,+    dataSourceParameters_databricksParameters,+    dataSourceParameters_exasolParameters,+    dataSourceParameters_jiraParameters,+    dataSourceParameters_mariaDbParameters,+    dataSourceParameters_mySqlParameters,+    dataSourceParameters_oracleParameters,+    dataSourceParameters_postgreSqlParameters,+    dataSourceParameters_prestoParameters,+    dataSourceParameters_rdsParameters,+    dataSourceParameters_redshiftParameters,+    dataSourceParameters_s3Parameters,+    dataSourceParameters_serviceNowParameters,+    dataSourceParameters_snowflakeParameters,+    dataSourceParameters_sparkParameters,+    dataSourceParameters_sqlServerParameters,+    dataSourceParameters_teradataParameters,+    dataSourceParameters_twitterParameters,++    -- ** DataSourceSearchFilter+    dataSourceSearchFilter_operator,+    dataSourceSearchFilter_name,+    dataSourceSearchFilter_value,++    -- ** DataSourceSummary+    dataSourceSummary_arn,+    dataSourceSummary_createdTime,+    dataSourceSummary_dataSourceId,+    dataSourceSummary_lastUpdatedTime,+    dataSourceSummary_name,+    dataSourceSummary_type,++    -- ** DatabricksParameters+    databricksParameters_host,+    databricksParameters_port,+    databricksParameters_sqlEndpointPath,++    -- ** DateAxisOptions+    dateAxisOptions_missingDateVisibility,++    -- ** DateDimensionField+    dateDimensionField_dateGranularity,+    dateDimensionField_formatConfiguration,+    dateDimensionField_hierarchyId,+    dateDimensionField_fieldId,+    dateDimensionField_column,++    -- ** DateMeasureField+    dateMeasureField_aggregationFunction,+    dateMeasureField_formatConfiguration,+    dateMeasureField_fieldId,+    dateMeasureField_column,++    -- ** DateTimeDefaultValues+    dateTimeDefaultValues_dynamicValue,+    dateTimeDefaultValues_rollingDate,+    dateTimeDefaultValues_staticValues,++    -- ** DateTimeFormatConfiguration+    dateTimeFormatConfiguration_dateTimeFormat,+    dateTimeFormatConfiguration_nullValueFormatConfiguration,+    dateTimeFormatConfiguration_numericFormatConfiguration,++    -- ** DateTimeHierarchy+    dateTimeHierarchy_drillDownFilters,+    dateTimeHierarchy_hierarchyId,++    -- ** DateTimeParameter+    dateTimeParameter_name,+    dateTimeParameter_values,++    -- ** DateTimeParameterDeclaration+    dateTimeParameterDeclaration_defaultValues,+    dateTimeParameterDeclaration_timeGranularity,+    dateTimeParameterDeclaration_valueWhenUnset,+    dateTimeParameterDeclaration_name,++    -- ** DateTimePickerControlDisplayOptions+    dateTimePickerControlDisplayOptions_dateTimeFormat,+    dateTimePickerControlDisplayOptions_titleOptions,++    -- ** DateTimeValueWhenUnsetConfiguration+    dateTimeValueWhenUnsetConfiguration_customValue,+    dateTimeValueWhenUnsetConfiguration_valueWhenUnsetOption,++    -- ** DecimalDefaultValues+    decimalDefaultValues_dynamicValue,+    decimalDefaultValues_staticValues,++    -- ** DecimalParameter+    decimalParameter_name,+    decimalParameter_values,++    -- ** DecimalParameterDeclaration+    decimalParameterDeclaration_defaultValues,+    decimalParameterDeclaration_valueWhenUnset,+    decimalParameterDeclaration_parameterValueType,+    decimalParameterDeclaration_name,++    -- ** DecimalPlacesConfiguration+    decimalPlacesConfiguration_decimalPlaces,++    -- ** DecimalValueWhenUnsetConfiguration+    decimalValueWhenUnsetConfiguration_customValue,+    decimalValueWhenUnsetConfiguration_valueWhenUnsetOption,++    -- ** DefaultFreeFormLayoutConfiguration+    defaultFreeFormLayoutConfiguration_canvasSizeOptions,++    -- ** DefaultGridLayoutConfiguration+    defaultGridLayoutConfiguration_canvasSizeOptions,++    -- ** DefaultInteractiveLayoutConfiguration+    defaultInteractiveLayoutConfiguration_freeForm,+    defaultInteractiveLayoutConfiguration_grid,++    -- ** DefaultNewSheetConfiguration+    defaultNewSheetConfiguration_interactiveLayoutConfiguration,+    defaultNewSheetConfiguration_paginatedLayoutConfiguration,+    defaultNewSheetConfiguration_sheetContentType,++    -- ** DefaultPaginatedLayoutConfiguration+    defaultPaginatedLayoutConfiguration_sectionBased,++    -- ** DefaultSectionBasedLayoutConfiguration+    defaultSectionBasedLayoutConfiguration_canvasSizeOptions,++    -- ** DestinationParameterValueConfiguration+    destinationParameterValueConfiguration_customValuesConfiguration,+    destinationParameterValueConfiguration_selectAllValueOptions,+    destinationParameterValueConfiguration_sourceField,+    destinationParameterValueConfiguration_sourceParameterName,++    -- ** DimensionField+    dimensionField_categoricalDimensionField,+    dimensionField_dateDimensionField,+    dimensionField_numericalDimensionField,++    -- ** DonutCenterOptions+    donutCenterOptions_labelVisibility,++    -- ** DonutOptions+    donutOptions_arcOptions,+    donutOptions_donutCenterOptions,++    -- ** DrillDownFilter+    drillDownFilter_categoryFilter,+    drillDownFilter_numericEqualityFilter,+    drillDownFilter_timeRangeFilter,++    -- ** DropDownControlDisplayOptions+    dropDownControlDisplayOptions_selectAllOptions,+    dropDownControlDisplayOptions_titleOptions,++    -- ** DynamicDefaultValue+    dynamicDefaultValue_groupNameColumn,+    dynamicDefaultValue_userNameColumn,+    dynamicDefaultValue_defaultValueColumn,++    -- ** EmptyVisual+    emptyVisual_actions,+    emptyVisual_visualId,+    emptyVisual_dataSetIdentifier,++    -- ** Entity+    entity_path,++    -- ** ErrorInfo+    errorInfo_message,+    errorInfo_type,++    -- ** ExasolParameters+    exasolParameters_host,+    exasolParameters_port,++    -- ** ExcludePeriodConfiguration+    excludePeriodConfiguration_status,+    excludePeriodConfiguration_amount,+    excludePeriodConfiguration_granularity,++    -- ** ExplicitHierarchy+    explicitHierarchy_drillDownFilters,+    explicitHierarchy_hierarchyId,+    explicitHierarchy_columns,++    -- ** ExportHiddenFieldsOption+    exportHiddenFieldsOption_availabilityStatus,++    -- ** ExportToCSVOption+    exportToCSVOption_availabilityStatus,++    -- ** FieldBasedTooltip+    fieldBasedTooltip_aggregationVisibility,+    fieldBasedTooltip_tooltipFields,+    fieldBasedTooltip_tooltipTitleType,++    -- ** FieldFolder+    fieldFolder_columns,+    fieldFolder_description,++    -- ** FieldLabelType+    fieldLabelType_fieldId,+    fieldLabelType_visibility,++    -- ** FieldSeriesItem+    fieldSeriesItem_settings,+    fieldSeriesItem_fieldId,+    fieldSeriesItem_axisBinding,++    -- ** FieldSort+    fieldSort_fieldId,+    fieldSort_direction,++    -- ** FieldSortOptions+    fieldSortOptions_columnSort,+    fieldSortOptions_fieldSort,++    -- ** FieldTooltipItem+    fieldTooltipItem_label,+    fieldTooltipItem_visibility,+    fieldTooltipItem_fieldId,++    -- ** FilledMapAggregatedFieldWells+    filledMapAggregatedFieldWells_geospatial,+    filledMapAggregatedFieldWells_values,++    -- ** FilledMapConditionalFormatting+    filledMapConditionalFormatting_conditionalFormattingOptions,++    -- ** FilledMapConditionalFormattingOption+    filledMapConditionalFormattingOption_shape,++    -- ** FilledMapConfiguration+    filledMapConfiguration_fieldWells,+    filledMapConfiguration_legend,+    filledMapConfiguration_mapStyleOptions,+    filledMapConfiguration_sortConfiguration,+    filledMapConfiguration_tooltip,+    filledMapConfiguration_windowOptions,++    -- ** FilledMapFieldWells+    filledMapFieldWells_filledMapAggregatedFieldWells,++    -- ** FilledMapShapeConditionalFormatting+    filledMapShapeConditionalFormatting_format,+    filledMapShapeConditionalFormatting_fieldId,++    -- ** FilledMapSortConfiguration+    filledMapSortConfiguration_categorySort,++    -- ** FilledMapVisual+    filledMapVisual_actions,+    filledMapVisual_chartConfiguration,+    filledMapVisual_columnHierarchies,+    filledMapVisual_conditionalFormatting,+    filledMapVisual_subtitle,+    filledMapVisual_title,+    filledMapVisual_visualId,++    -- ** Filter+    filter_categoryFilter,+    filter_numericEqualityFilter,+    filter_numericRangeFilter,+    filter_relativeDatesFilter,+    filter_timeEqualityFilter,+    filter_timeRangeFilter,+    filter_topBottomFilter,++    -- ** FilterControl+    filterControl_dateTimePicker,+    filterControl_dropdown,+    filterControl_list,+    filterControl_relativeDateTime,+    filterControl_slider,+    filterControl_textArea,+    filterControl_textField,++    -- ** FilterDateTimePickerControl+    filterDateTimePickerControl_displayOptions,+    filterDateTimePickerControl_type,+    filterDateTimePickerControl_filterControlId,+    filterDateTimePickerControl_title,+    filterDateTimePickerControl_sourceFilterId,++    -- ** FilterDropDownControl+    filterDropDownControl_cascadingControlConfiguration,+    filterDropDownControl_displayOptions,+    filterDropDownControl_selectableValues,+    filterDropDownControl_type,+    filterDropDownControl_filterControlId,+    filterDropDownControl_title,+    filterDropDownControl_sourceFilterId,++    -- ** FilterGroup+    filterGroup_status,+    filterGroup_filterGroupId,+    filterGroup_filters,+    filterGroup_scopeConfiguration,+    filterGroup_crossDataset,++    -- ** FilterListConfiguration+    filterListConfiguration_categoryValues,+    filterListConfiguration_selectAllOptions,+    filterListConfiguration_matchOperator,++    -- ** FilterListControl+    filterListControl_cascadingControlConfiguration,+    filterListControl_displayOptions,+    filterListControl_selectableValues,+    filterListControl_type,+    filterListControl_filterControlId,+    filterListControl_title,+    filterListControl_sourceFilterId,++    -- ** FilterOperation+    filterOperation_conditionExpression,++    -- ** FilterOperationSelectedFieldsConfiguration+    filterOperationSelectedFieldsConfiguration_selectedFieldOptions,+    filterOperationSelectedFieldsConfiguration_selectedFields,++    -- ** FilterOperationTargetVisualsConfiguration+    filterOperationTargetVisualsConfiguration_sameSheetTargetVisualConfiguration,++    -- ** FilterRelativeDateTimeControl+    filterRelativeDateTimeControl_displayOptions,+    filterRelativeDateTimeControl_filterControlId,+    filterRelativeDateTimeControl_title,+    filterRelativeDateTimeControl_sourceFilterId,++    -- ** FilterScopeConfiguration+    filterScopeConfiguration_selectedSheets,++    -- ** FilterSelectableValues+    filterSelectableValues_values,++    -- ** FilterSliderControl+    filterSliderControl_displayOptions,+    filterSliderControl_type,+    filterSliderControl_filterControlId,+    filterSliderControl_title,+    filterSliderControl_sourceFilterId,+    filterSliderControl_maximumValue,+    filterSliderControl_minimumValue,+    filterSliderControl_stepSize,++    -- ** FilterTextAreaControl+    filterTextAreaControl_delimiter,+    filterTextAreaControl_displayOptions,+    filterTextAreaControl_filterControlId,+    filterTextAreaControl_title,+    filterTextAreaControl_sourceFilterId,++    -- ** FilterTextFieldControl+    filterTextFieldControl_displayOptions,+    filterTextFieldControl_filterControlId,+    filterTextFieldControl_title,+    filterTextFieldControl_sourceFilterId,++    -- ** Folder+    folder_arn,+    folder_createdTime,+    folder_folderId,+    folder_folderPath,+    folder_folderType,+    folder_lastUpdatedTime,+    folder_name,++    -- ** FolderMember+    folderMember_memberId,+    folderMember_memberType,++    -- ** FolderSearchFilter+    folderSearchFilter_name,+    folderSearchFilter_operator,+    folderSearchFilter_value,++    -- ** FolderSummary+    folderSummary_arn,+    folderSummary_createdTime,+    folderSummary_folderId,+    folderSummary_folderType,+    folderSummary_lastUpdatedTime,+    folderSummary_name,++    -- ** Font+    font_fontFamily,++    -- ** FontConfiguration+    fontConfiguration_fontColor,+    fontConfiguration_fontDecoration,+    fontConfiguration_fontSize,+    fontConfiguration_fontStyle,+    fontConfiguration_fontWeight,++    -- ** FontSize+    fontSize_relative,++    -- ** FontWeight+    fontWeight_name,++    -- ** ForecastComputation+    forecastComputation_customSeasonalityValue,+    forecastComputation_lowerBoundary,+    forecastComputation_name,+    forecastComputation_periodsBackward,+    forecastComputation_periodsForward,+    forecastComputation_predictionInterval,+    forecastComputation_seasonality,+    forecastComputation_upperBoundary,+    forecastComputation_value,+    forecastComputation_computationId,+    forecastComputation_time,++    -- ** ForecastConfiguration+    forecastConfiguration_forecastProperties,+    forecastConfiguration_scenario,++    -- ** ForecastScenario+    forecastScenario_whatIfPointScenario,+    forecastScenario_whatIfRangeScenario,++    -- ** FormatConfiguration+    formatConfiguration_dateTimeFormatConfiguration,+    formatConfiguration_numberFormatConfiguration,+    formatConfiguration_stringFormatConfiguration,++    -- ** FreeFormLayoutCanvasSizeOptions+    freeFormLayoutCanvasSizeOptions_screenCanvasSizeOptions,++    -- ** FreeFormLayoutConfiguration+    freeFormLayoutConfiguration_canvasSizeOptions,+    freeFormLayoutConfiguration_elements,++    -- ** FreeFormLayoutElement+    freeFormLayoutElement_backgroundStyle,+    freeFormLayoutElement_borderStyle,+    freeFormLayoutElement_loadingAnimation,+    freeFormLayoutElement_renderingRules,+    freeFormLayoutElement_selectedBorderStyle,+    freeFormLayoutElement_visibility,+    freeFormLayoutElement_elementId,+    freeFormLayoutElement_elementType,+    freeFormLayoutElement_xAxisLocation,+    freeFormLayoutElement_yAxisLocation,+    freeFormLayoutElement_width,+    freeFormLayoutElement_height,++    -- ** FreeFormLayoutElementBackgroundStyle+    freeFormLayoutElementBackgroundStyle_color,+    freeFormLayoutElementBackgroundStyle_visibility,++    -- ** FreeFormLayoutElementBorderStyle+    freeFormLayoutElementBorderStyle_color,+    freeFormLayoutElementBorderStyle_visibility,++    -- ** FreeFormLayoutScreenCanvasSizeOptions+    freeFormLayoutScreenCanvasSizeOptions_optimizedViewPortWidth,++    -- ** FreeFormSectionLayoutConfiguration+    freeFormSectionLayoutConfiguration_elements,++    -- ** FunnelChartAggregatedFieldWells+    funnelChartAggregatedFieldWells_category,+    funnelChartAggregatedFieldWells_values,++    -- ** FunnelChartConfiguration+    funnelChartConfiguration_categoryLabelOptions,+    funnelChartConfiguration_dataLabelOptions,+    funnelChartConfiguration_fieldWells,+    funnelChartConfiguration_sortConfiguration,+    funnelChartConfiguration_tooltip,+    funnelChartConfiguration_valueLabelOptions,+    funnelChartConfiguration_visualPalette,++    -- ** FunnelChartDataLabelOptions+    funnelChartDataLabelOptions_categoryLabelVisibility,+    funnelChartDataLabelOptions_labelColor,+    funnelChartDataLabelOptions_labelFontConfiguration,+    funnelChartDataLabelOptions_measureDataLabelStyle,+    funnelChartDataLabelOptions_measureLabelVisibility,+    funnelChartDataLabelOptions_position,+    funnelChartDataLabelOptions_visibility,++    -- ** FunnelChartFieldWells+    funnelChartFieldWells_funnelChartAggregatedFieldWells,++    -- ** FunnelChartSortConfiguration+    funnelChartSortConfiguration_categoryItemsLimit,+    funnelChartSortConfiguration_categorySort,++    -- ** FunnelChartVisual+    funnelChartVisual_actions,+    funnelChartVisual_chartConfiguration,+    funnelChartVisual_columnHierarchies,+    funnelChartVisual_subtitle,+    funnelChartVisual_title,+    funnelChartVisual_visualId,++    -- ** GaugeChartArcConditionalFormatting+    gaugeChartArcConditionalFormatting_foregroundColor,++    -- ** GaugeChartConditionalFormatting+    gaugeChartConditionalFormatting_conditionalFormattingOptions,++    -- ** GaugeChartConditionalFormattingOption+    gaugeChartConditionalFormattingOption_arc,+    gaugeChartConditionalFormattingOption_primaryValue,++    -- ** GaugeChartConfiguration+    gaugeChartConfiguration_dataLabels,+    gaugeChartConfiguration_fieldWells,+    gaugeChartConfiguration_gaugeChartOptions,+    gaugeChartConfiguration_tooltipOptions,+    gaugeChartConfiguration_visualPalette,++    -- ** GaugeChartFieldWells+    gaugeChartFieldWells_targetValues,+    gaugeChartFieldWells_values,++    -- ** GaugeChartOptions+    gaugeChartOptions_arc,+    gaugeChartOptions_arcAxis,+    gaugeChartOptions_comparison,+    gaugeChartOptions_primaryValueDisplayType,+    gaugeChartOptions_primaryValueFontConfiguration,++    -- ** GaugeChartPrimaryValueConditionalFormatting+    gaugeChartPrimaryValueConditionalFormatting_icon,+    gaugeChartPrimaryValueConditionalFormatting_textColor,++    -- ** GaugeChartVisual+    gaugeChartVisual_actions,+    gaugeChartVisual_chartConfiguration,+    gaugeChartVisual_conditionalFormatting,+    gaugeChartVisual_subtitle,+    gaugeChartVisual_title,+    gaugeChartVisual_visualId,++    -- ** GeoSpatialColumnGroup+    geoSpatialColumnGroup_countryCode,+    geoSpatialColumnGroup_name,+    geoSpatialColumnGroup_columns,++    -- ** GeospatialCoordinateBounds+    geospatialCoordinateBounds_north,+    geospatialCoordinateBounds_south,+    geospatialCoordinateBounds_west,+    geospatialCoordinateBounds_east,++    -- ** GeospatialMapAggregatedFieldWells+    geospatialMapAggregatedFieldWells_colors,+    geospatialMapAggregatedFieldWells_geospatial,+    geospatialMapAggregatedFieldWells_values,++    -- ** GeospatialMapConfiguration+    geospatialMapConfiguration_fieldWells,+    geospatialMapConfiguration_legend,+    geospatialMapConfiguration_mapStyleOptions,+    geospatialMapConfiguration_pointStyleOptions,+    geospatialMapConfiguration_tooltip,+    geospatialMapConfiguration_visualPalette,+    geospatialMapConfiguration_windowOptions,++    -- ** GeospatialMapFieldWells+    geospatialMapFieldWells_geospatialMapAggregatedFieldWells,++    -- ** GeospatialMapStyleOptions+    geospatialMapStyleOptions_baseMapStyle,++    -- ** GeospatialMapVisual+    geospatialMapVisual_actions,+    geospatialMapVisual_chartConfiguration,+    geospatialMapVisual_columnHierarchies,+    geospatialMapVisual_subtitle,+    geospatialMapVisual_title,+    geospatialMapVisual_visualId,++    -- ** GeospatialPointStyleOptions+    geospatialPointStyleOptions_clusterMarkerConfiguration,+    geospatialPointStyleOptions_selectedPointStyle,++    -- ** GeospatialWindowOptions+    geospatialWindowOptions_bounds,+    geospatialWindowOptions_mapZoomMode,++    -- ** GlobalTableBorderOptions+    globalTableBorderOptions_sideSpecificBorder,+    globalTableBorderOptions_uniformBorder,++    -- ** GradientColor+    gradientColor_stops,++    -- ** GradientStop+    gradientStop_color,+    gradientStop_dataValue,+    gradientStop_gradientOffset,++    -- ** GridLayoutCanvasSizeOptions+    gridLayoutCanvasSizeOptions_screenCanvasSizeOptions,++    -- ** GridLayoutConfiguration+    gridLayoutConfiguration_canvasSizeOptions,+    gridLayoutConfiguration_elements,++    -- ** GridLayoutElement+    gridLayoutElement_columnIndex,+    gridLayoutElement_rowIndex,+    gridLayoutElement_elementId,+    gridLayoutElement_elementType,+    gridLayoutElement_columnSpan,+    gridLayoutElement_rowSpan,++    -- ** GridLayoutScreenCanvasSizeOptions+    gridLayoutScreenCanvasSizeOptions_optimizedViewPortWidth,+    gridLayoutScreenCanvasSizeOptions_resizeOption,++    -- ** Group+    group_arn,+    group_description,+    group_groupName,+    group_principalId,++    -- ** GroupMember+    groupMember_arn,+    groupMember_memberName,++    -- ** GroupSearchFilter+    groupSearchFilter_operator,+    groupSearchFilter_name,+    groupSearchFilter_value,++    -- ** GrowthRateComputation+    growthRateComputation_name,+    growthRateComputation_periodSize,+    growthRateComputation_value,+    growthRateComputation_computationId,+    growthRateComputation_time,++    -- ** GutterStyle+    gutterStyle_show,++    -- ** HeaderFooterSectionConfiguration+    headerFooterSectionConfiguration_style,+    headerFooterSectionConfiguration_sectionId,+    headerFooterSectionConfiguration_layout,++    -- ** HeatMapAggregatedFieldWells+    heatMapAggregatedFieldWells_columns,+    heatMapAggregatedFieldWells_rows,+    heatMapAggregatedFieldWells_values,++    -- ** HeatMapConfiguration+    heatMapConfiguration_colorScale,+    heatMapConfiguration_columnLabelOptions,+    heatMapConfiguration_dataLabels,+    heatMapConfiguration_fieldWells,+    heatMapConfiguration_legend,+    heatMapConfiguration_rowLabelOptions,+    heatMapConfiguration_sortConfiguration,+    heatMapConfiguration_tooltip,++    -- ** HeatMapFieldWells+    heatMapFieldWells_heatMapAggregatedFieldWells,++    -- ** HeatMapSortConfiguration+    heatMapSortConfiguration_heatMapColumnItemsLimitConfiguration,+    heatMapSortConfiguration_heatMapColumnSort,+    heatMapSortConfiguration_heatMapRowItemsLimitConfiguration,+    heatMapSortConfiguration_heatMapRowSort,++    -- ** HeatMapVisual+    heatMapVisual_actions,+    heatMapVisual_chartConfiguration,+    heatMapVisual_columnHierarchies,+    heatMapVisual_subtitle,+    heatMapVisual_title,+    heatMapVisual_visualId,++    -- ** HistogramAggregatedFieldWells+    histogramAggregatedFieldWells_values,++    -- ** HistogramBinOptions+    histogramBinOptions_binCount,+    histogramBinOptions_binWidth,+    histogramBinOptions_selectedBinType,+    histogramBinOptions_startValue,++    -- ** HistogramConfiguration+    histogramConfiguration_binOptions,+    histogramConfiguration_dataLabels,+    histogramConfiguration_fieldWells,+    histogramConfiguration_tooltip,+    histogramConfiguration_visualPalette,+    histogramConfiguration_xAxisDisplayOptions,+    histogramConfiguration_xAxisLabelOptions,+    histogramConfiguration_yAxisDisplayOptions,++    -- ** HistogramFieldWells+    histogramFieldWells_histogramAggregatedFieldWells,++    -- ** HistogramVisual+    histogramVisual_actions,+    histogramVisual_chartConfiguration,+    histogramVisual_subtitle,+    histogramVisual_title,+    histogramVisual_visualId,++    -- ** IAMPolicyAssignment+    iAMPolicyAssignment_assignmentId,+    iAMPolicyAssignment_assignmentName,+    iAMPolicyAssignment_assignmentStatus,+    iAMPolicyAssignment_awsAccountId,+    iAMPolicyAssignment_identities,+    iAMPolicyAssignment_policyArn,++    -- ** IAMPolicyAssignmentSummary+    iAMPolicyAssignmentSummary_assignmentName,+    iAMPolicyAssignmentSummary_assignmentStatus,++    -- ** Ingestion+    ingestion_errorInfo,+    ingestion_ingestionId,+    ingestion_ingestionSizeInBytes,+    ingestion_ingestionTimeInSeconds,+    ingestion_queueInfo,+    ingestion_requestSource,+    ingestion_requestType,+    ingestion_rowInfo,+    ingestion_arn,+    ingestion_ingestionStatus,+    ingestion_createdTime,++    -- ** InputColumn+    inputColumn_name,+    inputColumn_type,++    -- ** InsightConfiguration+    insightConfiguration_computations,+    insightConfiguration_customNarrative,++    -- ** InsightVisual+    insightVisual_actions,+    insightVisual_insightConfiguration,+    insightVisual_subtitle,+    insightVisual_title,+    insightVisual_visualId,+    insightVisual_dataSetIdentifier,++    -- ** IntegerDefaultValues+    integerDefaultValues_dynamicValue,+    integerDefaultValues_staticValues,++    -- ** IntegerParameter+    integerParameter_name,+    integerParameter_values,++    -- ** IntegerParameterDeclaration+    integerParameterDeclaration_defaultValues,+    integerParameterDeclaration_valueWhenUnset,+    integerParameterDeclaration_parameterValueType,+    integerParameterDeclaration_name,++    -- ** IntegerValueWhenUnsetConfiguration+    integerValueWhenUnsetConfiguration_customValue,+    integerValueWhenUnsetConfiguration_valueWhenUnsetOption,++    -- ** ItemsLimitConfiguration+    itemsLimitConfiguration_itemsLimit,+    itemsLimitConfiguration_otherCategories,++    -- ** JiraParameters+    jiraParameters_siteBaseUrl,++    -- ** JoinInstruction+    joinInstruction_leftJoinKeyProperties,+    joinInstruction_rightJoinKeyProperties,+    joinInstruction_leftOperand,+    joinInstruction_rightOperand,+    joinInstruction_type,+    joinInstruction_onClause,++    -- ** JoinKeyProperties+    joinKeyProperties_uniqueKey,++    -- ** KPIConditionalFormatting+    kPIConditionalFormatting_conditionalFormattingOptions,++    -- ** KPIConditionalFormattingOption+    kPIConditionalFormattingOption_primaryValue,+    kPIConditionalFormattingOption_progressBar,++    -- ** KPIConfiguration+    kPIConfiguration_fieldWells,+    kPIConfiguration_kPIOptions,+    kPIConfiguration_sortConfiguration,++    -- ** KPIFieldWells+    kPIFieldWells_targetValues,+    kPIFieldWells_trendGroups,+    kPIFieldWells_values,++    -- ** KPIOptions+    kPIOptions_comparison,+    kPIOptions_primaryValueDisplayType,+    kPIOptions_primaryValueFontConfiguration,+    kPIOptions_progressBar,+    kPIOptions_secondaryValue,+    kPIOptions_secondaryValueFontConfiguration,+    kPIOptions_trendArrows,++    -- ** KPIPrimaryValueConditionalFormatting+    kPIPrimaryValueConditionalFormatting_icon,+    kPIPrimaryValueConditionalFormatting_textColor,++    -- ** KPIProgressBarConditionalFormatting+    kPIProgressBarConditionalFormatting_foregroundColor,++    -- ** KPISortConfiguration+    kPISortConfiguration_trendGroupSort,++    -- ** KPIVisual+    kPIVisual_actions,+    kPIVisual_chartConfiguration,+    kPIVisual_columnHierarchies,+    kPIVisual_conditionalFormatting,+    kPIVisual_subtitle,+    kPIVisual_title,+    kPIVisual_visualId,++    -- ** LabelOptions+    labelOptions_customLabel,+    labelOptions_fontConfiguration,+    labelOptions_visibility,++    -- ** Layout+    layout_configuration,++    -- ** LayoutConfiguration+    layoutConfiguration_freeFormLayout,+    layoutConfiguration_gridLayout,+    layoutConfiguration_sectionBasedLayout,++    -- ** LegendOptions+    legendOptions_height,+    legendOptions_position,+    legendOptions_title,+    legendOptions_visibility,+    legendOptions_width,++    -- ** LineChartAggregatedFieldWells+    lineChartAggregatedFieldWells_category,+    lineChartAggregatedFieldWells_colors,+    lineChartAggregatedFieldWells_smallMultiples,+    lineChartAggregatedFieldWells_values,++    -- ** LineChartConfiguration+    lineChartConfiguration_contributionAnalysisDefaults,+    lineChartConfiguration_dataLabels,+    lineChartConfiguration_defaultSeriesSettings,+    lineChartConfiguration_fieldWells,+    lineChartConfiguration_forecastConfigurations,+    lineChartConfiguration_legend,+    lineChartConfiguration_primaryYAxisDisplayOptions,+    lineChartConfiguration_primaryYAxisLabelOptions,+    lineChartConfiguration_referenceLines,+    lineChartConfiguration_secondaryYAxisDisplayOptions,+    lineChartConfiguration_secondaryYAxisLabelOptions,+    lineChartConfiguration_series,+    lineChartConfiguration_smallMultiplesOptions,+    lineChartConfiguration_sortConfiguration,+    lineChartConfiguration_tooltip,+    lineChartConfiguration_type,+    lineChartConfiguration_visualPalette,+    lineChartConfiguration_xAxisDisplayOptions,+    lineChartConfiguration_xAxisLabelOptions,++    -- ** LineChartDefaultSeriesSettings+    lineChartDefaultSeriesSettings_axisBinding,+    lineChartDefaultSeriesSettings_lineStyleSettings,+    lineChartDefaultSeriesSettings_markerStyleSettings,++    -- ** LineChartFieldWells+    lineChartFieldWells_lineChartAggregatedFieldWells,++    -- ** LineChartLineStyleSettings+    lineChartLineStyleSettings_lineInterpolation,+    lineChartLineStyleSettings_lineStyle,+    lineChartLineStyleSettings_lineVisibility,+    lineChartLineStyleSettings_lineWidth,++    -- ** LineChartMarkerStyleSettings+    lineChartMarkerStyleSettings_markerColor,+    lineChartMarkerStyleSettings_markerShape,+    lineChartMarkerStyleSettings_markerSize,+    lineChartMarkerStyleSettings_markerVisibility,++    -- ** LineChartSeriesSettings+    lineChartSeriesSettings_lineStyleSettings,+    lineChartSeriesSettings_markerStyleSettings,++    -- ** LineChartSortConfiguration+    lineChartSortConfiguration_categoryItemsLimitConfiguration,+    lineChartSortConfiguration_categorySort,+    lineChartSortConfiguration_colorItemsLimitConfiguration,+    lineChartSortConfiguration_smallMultiplesLimitConfiguration,+    lineChartSortConfiguration_smallMultiplesSort,++    -- ** LineChartVisual+    lineChartVisual_actions,+    lineChartVisual_chartConfiguration,+    lineChartVisual_columnHierarchies,+    lineChartVisual_subtitle,+    lineChartVisual_title,+    lineChartVisual_visualId,++    -- ** LineSeriesAxisDisplayOptions+    lineSeriesAxisDisplayOptions_axisOptions,+    lineSeriesAxisDisplayOptions_missingDataConfigurations,++    -- ** LinkSharingConfiguration+    linkSharingConfiguration_permissions,++    -- ** ListControlDisplayOptions+    listControlDisplayOptions_searchOptions,+    listControlDisplayOptions_selectAllOptions,+    listControlDisplayOptions_titleOptions,++    -- ** ListControlSearchOptions+    listControlSearchOptions_visibility,++    -- ** ListControlSelectAllOptions+    listControlSelectAllOptions_visibility,++    -- ** LoadingAnimation+    loadingAnimation_visibility,++    -- ** LocalNavigationConfiguration+    localNavigationConfiguration_targetSheetId,++    -- ** LogicalTable+    logicalTable_dataTransforms,+    logicalTable_alias,+    logicalTable_source,++    -- ** LogicalTableSource+    logicalTableSource_dataSetArn,+    logicalTableSource_joinInstruction,+    logicalTableSource_physicalTableId,++    -- ** LongFormatText+    longFormatText_plainText,+    longFormatText_richText,++    -- ** ManifestFileLocation+    manifestFileLocation_bucket,+    manifestFileLocation_key,++    -- ** MarginStyle+    marginStyle_show,++    -- ** MariaDbParameters+    mariaDbParameters_host,+    mariaDbParameters_port,+    mariaDbParameters_database,++    -- ** MaximumLabelType+    maximumLabelType_visibility,++    -- ** MaximumMinimumComputation+    maximumMinimumComputation_name,+    maximumMinimumComputation_value,+    maximumMinimumComputation_computationId,+    maximumMinimumComputation_time,+    maximumMinimumComputation_type,++    -- ** MeasureField+    measureField_calculatedMeasureField,+    measureField_categoricalMeasureField,+    measureField_dateMeasureField,+    measureField_numericalMeasureField,++    -- ** MemberIdArnPair+    memberIdArnPair_memberArn,+    memberIdArnPair_memberId,++    -- ** MetricComparisonComputation+    metricComparisonComputation_name,+    metricComparisonComputation_computationId,+    metricComparisonComputation_time,+    metricComparisonComputation_fromValue,+    metricComparisonComputation_targetValue,++    -- ** MinimumLabelType+    minimumLabelType_visibility,++    -- ** MissingDataConfiguration+    missingDataConfiguration_treatmentOption,++    -- ** MySqlParameters+    mySqlParameters_host,+    mySqlParameters_port,+    mySqlParameters_database,++    -- ** NamespaceError+    namespaceError_message,+    namespaceError_type,++    -- ** NamespaceInfoV2+    namespaceInfoV2_arn,+    namespaceInfoV2_capacityRegion,+    namespaceInfoV2_creationStatus,+    namespaceInfoV2_identityStore,+    namespaceInfoV2_name,+    namespaceInfoV2_namespaceError,++    -- ** NegativeValueConfiguration+    negativeValueConfiguration_displayMode,++    -- ** NullValueFormatConfiguration+    nullValueFormatConfiguration_nullString,++    -- ** NumberDisplayFormatConfiguration+    numberDisplayFormatConfiguration_decimalPlacesConfiguration,+    numberDisplayFormatConfiguration_negativeValueConfiguration,+    numberDisplayFormatConfiguration_nullValueFormatConfiguration,+    numberDisplayFormatConfiguration_numberScale,+    numberDisplayFormatConfiguration_prefix,+    numberDisplayFormatConfiguration_separatorConfiguration,+    numberDisplayFormatConfiguration_suffix,++    -- ** NumberFormatConfiguration+    numberFormatConfiguration_formatConfiguration,++    -- ** NumericAxisOptions+    numericAxisOptions_range,+    numericAxisOptions_scale,++    -- ** NumericEqualityDrillDownFilter+    numericEqualityDrillDownFilter_column,+    numericEqualityDrillDownFilter_value,++    -- ** NumericEqualityFilter+    numericEqualityFilter_aggregationFunction,+    numericEqualityFilter_parameterName,+    numericEqualityFilter_selectAllOptions,+    numericEqualityFilter_value,+    numericEqualityFilter_filterId,+    numericEqualityFilter_column,+    numericEqualityFilter_matchOperator,+    numericEqualityFilter_nullOption,++    -- ** NumericFormatConfiguration+    numericFormatConfiguration_currencyDisplayFormatConfiguration,+    numericFormatConfiguration_numberDisplayFormatConfiguration,+    numericFormatConfiguration_percentageDisplayFormatConfiguration,++    -- ** NumericRangeFilter+    numericRangeFilter_aggregationFunction,+    numericRangeFilter_includeMaximum,+    numericRangeFilter_includeMinimum,+    numericRangeFilter_rangeMaximum,+    numericRangeFilter_rangeMinimum,+    numericRangeFilter_selectAllOptions,+    numericRangeFilter_filterId,+    numericRangeFilter_column,+    numericRangeFilter_nullOption,++    -- ** NumericRangeFilterValue+    numericRangeFilterValue_parameter,+    numericRangeFilterValue_staticValue,++    -- ** NumericSeparatorConfiguration+    numericSeparatorConfiguration_decimalSeparator,+    numericSeparatorConfiguration_thousandsSeparator,++    -- ** NumericalAggregationFunction+    numericalAggregationFunction_percentileAggregation,+    numericalAggregationFunction_simpleNumericalAggregation,++    -- ** NumericalDimensionField+    numericalDimensionField_formatConfiguration,+    numericalDimensionField_hierarchyId,+    numericalDimensionField_fieldId,+    numericalDimensionField_column,++    -- ** NumericalMeasureField+    numericalMeasureField_aggregationFunction,+    numericalMeasureField_formatConfiguration,+    numericalMeasureField_fieldId,+    numericalMeasureField_column,++    -- ** OracleParameters+    oracleParameters_host,+    oracleParameters_port,+    oracleParameters_database,++    -- ** OutputColumn+    outputColumn_description,+    outputColumn_name,+    outputColumn_type,++    -- ** PaginationConfiguration+    paginationConfiguration_pageSize,+    paginationConfiguration_pageNumber,++    -- ** PanelConfiguration+    panelConfiguration_backgroundColor,+    panelConfiguration_backgroundVisibility,+    panelConfiguration_borderColor,+    panelConfiguration_borderStyle,+    panelConfiguration_borderThickness,+    panelConfiguration_borderVisibility,+    panelConfiguration_gutterSpacing,+    panelConfiguration_gutterVisibility,+    panelConfiguration_title,++    -- ** PanelTitleOptions+    panelTitleOptions_fontConfiguration,+    panelTitleOptions_horizontalTextAlignment,+    panelTitleOptions_visibility,++    -- ** ParameterControl+    parameterControl_dateTimePicker,+    parameterControl_dropdown,+    parameterControl_list,+    parameterControl_slider,+    parameterControl_textArea,+    parameterControl_textField,++    -- ** ParameterDateTimePickerControl+    parameterDateTimePickerControl_displayOptions,+    parameterDateTimePickerControl_parameterControlId,+    parameterDateTimePickerControl_title,+    parameterDateTimePickerControl_sourceParameterName,++    -- ** ParameterDeclaration+    parameterDeclaration_dateTimeParameterDeclaration,+    parameterDeclaration_decimalParameterDeclaration,+    parameterDeclaration_integerParameterDeclaration,+    parameterDeclaration_stringParameterDeclaration,++    -- ** ParameterDropDownControl+    parameterDropDownControl_cascadingControlConfiguration,+    parameterDropDownControl_displayOptions,+    parameterDropDownControl_selectableValues,+    parameterDropDownControl_type,+    parameterDropDownControl_parameterControlId,+    parameterDropDownControl_title,+    parameterDropDownControl_sourceParameterName,++    -- ** ParameterListControl+    parameterListControl_cascadingControlConfiguration,+    parameterListControl_displayOptions,+    parameterListControl_selectableValues,+    parameterListControl_type,+    parameterListControl_parameterControlId,+    parameterListControl_title,+    parameterListControl_sourceParameterName,++    -- ** ParameterSelectableValues+    parameterSelectableValues_linkToDataSetColumn,+    parameterSelectableValues_values,++    -- ** ParameterSliderControl+    parameterSliderControl_displayOptions,+    parameterSliderControl_parameterControlId,+    parameterSliderControl_title,+    parameterSliderControl_sourceParameterName,+    parameterSliderControl_maximumValue,+    parameterSliderControl_minimumValue,+    parameterSliderControl_stepSize,++    -- ** ParameterTextAreaControl+    parameterTextAreaControl_delimiter,+    parameterTextAreaControl_displayOptions,+    parameterTextAreaControl_parameterControlId,+    parameterTextAreaControl_title,+    parameterTextAreaControl_sourceParameterName,++    -- ** ParameterTextFieldControl+    parameterTextFieldControl_displayOptions,+    parameterTextFieldControl_parameterControlId,+    parameterTextFieldControl_title,+    parameterTextFieldControl_sourceParameterName,++    -- ** Parameters+    parameters_dateTimeParameters,+    parameters_decimalParameters,+    parameters_integerParameters,+    parameters_stringParameters,++    -- ** PercentVisibleRange+    percentVisibleRange_from,+    percentVisibleRange_to,++    -- ** PercentageDisplayFormatConfiguration+    percentageDisplayFormatConfiguration_decimalPlacesConfiguration,+    percentageDisplayFormatConfiguration_negativeValueConfiguration,+    percentageDisplayFormatConfiguration_nullValueFormatConfiguration,+    percentageDisplayFormatConfiguration_prefix,+    percentageDisplayFormatConfiguration_separatorConfiguration,+    percentageDisplayFormatConfiguration_suffix,++    -- ** PercentileAggregation+    percentileAggregation_percentileValue,++    -- ** PeriodOverPeriodComputation+    periodOverPeriodComputation_name,+    periodOverPeriodComputation_value,+    periodOverPeriodComputation_computationId,+    periodOverPeriodComputation_time,++    -- ** PeriodToDateComputation+    periodToDateComputation_name,+    periodToDateComputation_periodTimeGranularity,+    periodToDateComputation_value,+    periodToDateComputation_computationId,+    periodToDateComputation_time,++    -- ** PhysicalTable+    physicalTable_customSql,+    physicalTable_relationalTable,+    physicalTable_s3Source,++    -- ** PieChartAggregatedFieldWells+    pieChartAggregatedFieldWells_category,+    pieChartAggregatedFieldWells_smallMultiples,+    pieChartAggregatedFieldWells_values,++    -- ** PieChartConfiguration+    pieChartConfiguration_categoryLabelOptions,+    pieChartConfiguration_contributionAnalysisDefaults,+    pieChartConfiguration_dataLabels,+    pieChartConfiguration_donutOptions,+    pieChartConfiguration_fieldWells,+    pieChartConfiguration_legend,+    pieChartConfiguration_smallMultiplesOptions,+    pieChartConfiguration_sortConfiguration,+    pieChartConfiguration_tooltip,+    pieChartConfiguration_valueLabelOptions,+    pieChartConfiguration_visualPalette,++    -- ** PieChartFieldWells+    pieChartFieldWells_pieChartAggregatedFieldWells,++    -- ** PieChartSortConfiguration+    pieChartSortConfiguration_categoryItemsLimit,+    pieChartSortConfiguration_categorySort,+    pieChartSortConfiguration_smallMultiplesLimitConfiguration,+    pieChartSortConfiguration_smallMultiplesSort,++    -- ** PieChartVisual+    pieChartVisual_actions,+    pieChartVisual_chartConfiguration,+    pieChartVisual_columnHierarchies,+    pieChartVisual_subtitle,+    pieChartVisual_title,+    pieChartVisual_visualId,++    -- ** PivotFieldSortOptions+    pivotFieldSortOptions_fieldId,+    pivotFieldSortOptions_sortBy,++    -- ** PivotTableAggregatedFieldWells+    pivotTableAggregatedFieldWells_columns,+    pivotTableAggregatedFieldWells_rows,+    pivotTableAggregatedFieldWells_values,++    -- ** PivotTableCellConditionalFormatting+    pivotTableCellConditionalFormatting_scope,+    pivotTableCellConditionalFormatting_textFormat,+    pivotTableCellConditionalFormatting_fieldId,++    -- ** PivotTableConditionalFormatting+    pivotTableConditionalFormatting_conditionalFormattingOptions,++    -- ** PivotTableConditionalFormattingOption+    pivotTableConditionalFormattingOption_cell,++    -- ** PivotTableConditionalFormattingScope+    pivotTableConditionalFormattingScope_role,++    -- ** PivotTableConfiguration+    pivotTableConfiguration_fieldOptions,+    pivotTableConfiguration_fieldWells,+    pivotTableConfiguration_paginatedReportOptions,+    pivotTableConfiguration_sortConfiguration,+    pivotTableConfiguration_tableOptions,+    pivotTableConfiguration_totalOptions,++    -- ** PivotTableDataPathOption+    pivotTableDataPathOption_width,+    pivotTableDataPathOption_dataPathList,++    -- ** PivotTableFieldOption+    pivotTableFieldOption_customLabel,+    pivotTableFieldOption_visibility,+    pivotTableFieldOption_fieldId,++    -- ** PivotTableFieldOptions+    pivotTableFieldOptions_dataPathOptions,+    pivotTableFieldOptions_selectedFieldOptions,++    -- ** PivotTableFieldSubtotalOptions+    pivotTableFieldSubtotalOptions_fieldId,++    -- ** PivotTableFieldWells+    pivotTableFieldWells_pivotTableAggregatedFieldWells,++    -- ** PivotTableOptions+    pivotTableOptions_cellStyle,+    pivotTableOptions_columnHeaderStyle,+    pivotTableOptions_columnNamesVisibility,+    pivotTableOptions_metricPlacement,+    pivotTableOptions_rowAlternateColorOptions,+    pivotTableOptions_rowFieldNamesStyle,+    pivotTableOptions_rowHeaderStyle,+    pivotTableOptions_singleMetricVisibility,+    pivotTableOptions_toggleButtonsVisibility,++    -- ** PivotTablePaginatedReportOptions+    pivotTablePaginatedReportOptions_overflowColumnHeaderVisibility,+    pivotTablePaginatedReportOptions_verticalOverflowVisibility,++    -- ** PivotTableSortBy+    pivotTableSortBy_column,+    pivotTableSortBy_dataPath,+    pivotTableSortBy_field,++    -- ** PivotTableSortConfiguration+    pivotTableSortConfiguration_fieldSortOptions,++    -- ** PivotTableTotalOptions+    pivotTableTotalOptions_columnSubtotalOptions,+    pivotTableTotalOptions_columnTotalOptions,+    pivotTableTotalOptions_rowSubtotalOptions,+    pivotTableTotalOptions_rowTotalOptions,++    -- ** PivotTableVisual+    pivotTableVisual_actions,+    pivotTableVisual_chartConfiguration,+    pivotTableVisual_conditionalFormatting,+    pivotTableVisual_subtitle,+    pivotTableVisual_title,+    pivotTableVisual_visualId,++    -- ** PivotTotalOptions+    pivotTotalOptions_customLabel,+    pivotTotalOptions_metricHeaderCellStyle,+    pivotTotalOptions_placement,+    pivotTotalOptions_scrollStatus,+    pivotTotalOptions_totalCellStyle,+    pivotTotalOptions_totalsVisibility,+    pivotTotalOptions_valueCellStyle,++    -- ** PostgreSqlParameters+    postgreSqlParameters_host,+    postgreSqlParameters_port,+    postgreSqlParameters_database,++    -- ** PredefinedHierarchy+    predefinedHierarchy_drillDownFilters,+    predefinedHierarchy_hierarchyId,+    predefinedHierarchy_columns,++    -- ** PrestoParameters+    prestoParameters_host,+    prestoParameters_port,+    prestoParameters_catalog,++    -- ** ProgressBarOptions+    progressBarOptions_visibility,++    -- ** ProjectOperation+    projectOperation_projectedColumns,++    -- ** QueueInfo+    queueInfo_waitingOnIngestion,+    queueInfo_queuedIngestion,++    -- ** RangeEndsLabelType+    rangeEndsLabelType_visibility,++    -- ** RdsParameters+    rdsParameters_instanceId,+    rdsParameters_database,++    -- ** RedshiftParameters+    redshiftParameters_clusterId,+    redshiftParameters_host,+    redshiftParameters_port,+    redshiftParameters_database,++    -- ** ReferenceLine+    referenceLine_labelConfiguration,+    referenceLine_status,+    referenceLine_styleConfiguration,+    referenceLine_dataConfiguration,++    -- ** ReferenceLineCustomLabelConfiguration+    referenceLineCustomLabelConfiguration_customLabel,++    -- ** ReferenceLineDataConfiguration+    referenceLineDataConfiguration_axisBinding,+    referenceLineDataConfiguration_dynamicConfiguration,+    referenceLineDataConfiguration_staticConfiguration,++    -- ** ReferenceLineDynamicDataConfiguration+    referenceLineDynamicDataConfiguration_column,+    referenceLineDynamicDataConfiguration_measureAggregationFunction,+    referenceLineDynamicDataConfiguration_calculation,++    -- ** ReferenceLineLabelConfiguration+    referenceLineLabelConfiguration_customLabelConfiguration,+    referenceLineLabelConfiguration_fontColor,+    referenceLineLabelConfiguration_fontConfiguration,+    referenceLineLabelConfiguration_horizontalPosition,+    referenceLineLabelConfiguration_valueLabelConfiguration,+    referenceLineLabelConfiguration_verticalPosition,++    -- ** ReferenceLineStaticDataConfiguration+    referenceLineStaticDataConfiguration_value,++    -- ** ReferenceLineStyleConfiguration+    referenceLineStyleConfiguration_color,+    referenceLineStyleConfiguration_pattern,++    -- ** ReferenceLineValueLabelConfiguration+    referenceLineValueLabelConfiguration_formatConfiguration,+    referenceLineValueLabelConfiguration_relativePosition,++    -- ** RegisteredUserDashboardEmbeddingConfiguration+    registeredUserDashboardEmbeddingConfiguration_initialDashboardId,++    -- ** RegisteredUserDashboardVisualEmbeddingConfiguration+    registeredUserDashboardVisualEmbeddingConfiguration_initialDashboardVisualId,++    -- ** RegisteredUserEmbeddingExperienceConfiguration+    registeredUserEmbeddingExperienceConfiguration_dashboard,+    registeredUserEmbeddingExperienceConfiguration_dashboardVisual,+    registeredUserEmbeddingExperienceConfiguration_qSearchBar,+    registeredUserEmbeddingExperienceConfiguration_quickSightConsole,++    -- ** RegisteredUserQSearchBarEmbeddingConfiguration+    registeredUserQSearchBarEmbeddingConfiguration_initialTopicId,++    -- ** RegisteredUserQuickSightConsoleEmbeddingConfiguration+    registeredUserQuickSightConsoleEmbeddingConfiguration_initialPath,++    -- ** RelationalTable+    relationalTable_catalog,+    relationalTable_schema,+    relationalTable_dataSourceArn,+    relationalTable_name,+    relationalTable_inputColumns,++    -- ** RelativeDateTimeControlDisplayOptions+    relativeDateTimeControlDisplayOptions_dateTimeFormat,+    relativeDateTimeControlDisplayOptions_titleOptions,++    -- ** RelativeDatesFilter+    relativeDatesFilter_excludePeriodConfiguration,+    relativeDatesFilter_minimumGranularity,+    relativeDatesFilter_parameterName,+    relativeDatesFilter_relativeDateValue,+    relativeDatesFilter_filterId,+    relativeDatesFilter_column,+    relativeDatesFilter_anchorDateConfiguration,+    relativeDatesFilter_timeGranularity,+    relativeDatesFilter_relativeDateType,+    relativeDatesFilter_nullOption,++    -- ** RenameColumnOperation+    renameColumnOperation_columnName,+    renameColumnOperation_newColumnName,++    -- ** ResourcePermission+    resourcePermission_principal,+    resourcePermission_actions,++    -- ** RollingDateConfiguration+    rollingDateConfiguration_dataSetIdentifier,+    rollingDateConfiguration_expression,++    -- ** RowAlternateColorOptions+    rowAlternateColorOptions_rowAlternateColors,+    rowAlternateColorOptions_status,++    -- ** RowInfo+    rowInfo_rowsDropped,+    rowInfo_rowsIngested,+    rowInfo_totalRowsInDataset,++    -- ** RowLevelPermissionDataSet+    rowLevelPermissionDataSet_formatVersion,+    rowLevelPermissionDataSet_namespace,+    rowLevelPermissionDataSet_status,+    rowLevelPermissionDataSet_arn,+    rowLevelPermissionDataSet_permissionPolicy,++    -- ** RowLevelPermissionTagConfiguration+    rowLevelPermissionTagConfiguration_status,+    rowLevelPermissionTagConfiguration_tagRules,++    -- ** RowLevelPermissionTagRule+    rowLevelPermissionTagRule_matchAllValue,+    rowLevelPermissionTagRule_tagMultiValueDelimiter,+    rowLevelPermissionTagRule_tagKey,+    rowLevelPermissionTagRule_columnName,++    -- ** S3Parameters+    s3Parameters_manifestFileLocation,++    -- ** S3Source+    s3Source_uploadSettings,+    s3Source_dataSourceArn,+    s3Source_inputColumns,++    -- ** SameSheetTargetVisualConfiguration+    sameSheetTargetVisualConfiguration_targetVisualOptions,+    sameSheetTargetVisualConfiguration_targetVisuals,++    -- ** SankeyDiagramAggregatedFieldWells+    sankeyDiagramAggregatedFieldWells_destination,+    sankeyDiagramAggregatedFieldWells_source,+    sankeyDiagramAggregatedFieldWells_weight,++    -- ** SankeyDiagramChartConfiguration+    sankeyDiagramChartConfiguration_dataLabels,+    sankeyDiagramChartConfiguration_fieldWells,+    sankeyDiagramChartConfiguration_sortConfiguration,++    -- ** SankeyDiagramFieldWells+    sankeyDiagramFieldWells_sankeyDiagramAggregatedFieldWells,++    -- ** SankeyDiagramSortConfiguration+    sankeyDiagramSortConfiguration_destinationItemsLimit,+    sankeyDiagramSortConfiguration_sourceItemsLimit,+    sankeyDiagramSortConfiguration_weightSort,++    -- ** SankeyDiagramVisual+    sankeyDiagramVisual_actions,+    sankeyDiagramVisual_chartConfiguration,+    sankeyDiagramVisual_subtitle,+    sankeyDiagramVisual_title,+    sankeyDiagramVisual_visualId,++    -- ** ScatterPlotCategoricallyAggregatedFieldWells+    scatterPlotCategoricallyAggregatedFieldWells_category,+    scatterPlotCategoricallyAggregatedFieldWells_size,+    scatterPlotCategoricallyAggregatedFieldWells_xAxis,+    scatterPlotCategoricallyAggregatedFieldWells_yAxis,++    -- ** ScatterPlotConfiguration+    scatterPlotConfiguration_dataLabels,+    scatterPlotConfiguration_fieldWells,+    scatterPlotConfiguration_legend,+    scatterPlotConfiguration_tooltip,+    scatterPlotConfiguration_visualPalette,+    scatterPlotConfiguration_xAxisDisplayOptions,+    scatterPlotConfiguration_xAxisLabelOptions,+    scatterPlotConfiguration_yAxisDisplayOptions,+    scatterPlotConfiguration_yAxisLabelOptions,++    -- ** ScatterPlotFieldWells+    scatterPlotFieldWells_scatterPlotCategoricallyAggregatedFieldWells,+    scatterPlotFieldWells_scatterPlotUnaggregatedFieldWells,++    -- ** ScatterPlotUnaggregatedFieldWells+    scatterPlotUnaggregatedFieldWells_size,+    scatterPlotUnaggregatedFieldWells_xAxis,+    scatterPlotUnaggregatedFieldWells_yAxis,++    -- ** ScatterPlotVisual+    scatterPlotVisual_actions,+    scatterPlotVisual_chartConfiguration,+    scatterPlotVisual_columnHierarchies,+    scatterPlotVisual_subtitle,+    scatterPlotVisual_title,+    scatterPlotVisual_visualId,++    -- ** ScrollBarOptions+    scrollBarOptions_visibility,+    scrollBarOptions_visibleRange,++    -- ** SecondaryValueOptions+    secondaryValueOptions_visibility,++    -- ** SectionAfterPageBreak+    sectionAfterPageBreak_status,++    -- ** SectionBasedLayoutCanvasSizeOptions+    sectionBasedLayoutCanvasSizeOptions_paperCanvasSizeOptions,++    -- ** SectionBasedLayoutConfiguration+    sectionBasedLayoutConfiguration_headerSections,+    sectionBasedLayoutConfiguration_bodySections,+    sectionBasedLayoutConfiguration_footerSections,+    sectionBasedLayoutConfiguration_canvasSizeOptions,++    -- ** SectionBasedLayoutPaperCanvasSizeOptions+    sectionBasedLayoutPaperCanvasSizeOptions_paperMargin,+    sectionBasedLayoutPaperCanvasSizeOptions_paperOrientation,+    sectionBasedLayoutPaperCanvasSizeOptions_paperSize,++    -- ** SectionLayoutConfiguration+    sectionLayoutConfiguration_freeFormLayout,++    -- ** SectionPageBreakConfiguration+    sectionPageBreakConfiguration_after,++    -- ** SectionStyle+    sectionStyle_height,+    sectionStyle_padding,++    -- ** SelectedSheetsFilterScopeConfiguration+    selectedSheetsFilterScopeConfiguration_sheetVisualScopingConfigurations,++    -- ** SeriesItem+    seriesItem_dataFieldSeriesItem,+    seriesItem_fieldSeriesItem,++    -- ** ServiceNowParameters+    serviceNowParameters_siteBaseUrl,++    -- ** SessionTag+    sessionTag_key,+    sessionTag_value,++    -- ** SetParameterValueConfiguration+    setParameterValueConfiguration_destinationParameterName,+    setParameterValueConfiguration_value,++    -- ** ShapeConditionalFormat+    shapeConditionalFormat_backgroundColor,++    -- ** Sheet+    sheet_name,+    sheet_sheetId,++    -- ** SheetControlLayout+    sheetControlLayout_configuration,++    -- ** SheetControlLayoutConfiguration+    sheetControlLayoutConfiguration_gridLayout,++    -- ** SheetControlsOption+    sheetControlsOption_visibilityState,++    -- ** SheetDefinition+    sheetDefinition_contentType,+    sheetDefinition_description,+    sheetDefinition_filterControls,+    sheetDefinition_layouts,+    sheetDefinition_name,+    sheetDefinition_parameterControls,+    sheetDefinition_sheetControlLayouts,+    sheetDefinition_textBoxes,+    sheetDefinition_title,+    sheetDefinition_visuals,+    sheetDefinition_sheetId,++    -- ** SheetElementConfigurationOverrides+    sheetElementConfigurationOverrides_visibility,++    -- ** SheetElementRenderingRule+    sheetElementRenderingRule_expression,+    sheetElementRenderingRule_configurationOverrides,++    -- ** SheetStyle+    sheetStyle_tile,+    sheetStyle_tileLayout,++    -- ** SheetTextBox+    sheetTextBox_content,+    sheetTextBox_sheetTextBoxId,++    -- ** SheetVisualScopingConfiguration+    sheetVisualScopingConfiguration_visualIds,+    sheetVisualScopingConfiguration_sheetId,+    sheetVisualScopingConfiguration_scope,++    -- ** ShortFormatText+    shortFormatText_plainText,+    shortFormatText_richText,++    -- ** SignupResponse+    signupResponse_iAMUser,+    signupResponse_accountName,+    signupResponse_directoryType,+    signupResponse_userLoginName,++    -- ** SimpleClusterMarker+    simpleClusterMarker_color,++    -- ** SliderControlDisplayOptions+    sliderControlDisplayOptions_titleOptions,++    -- ** SmallMultiplesOptions+    smallMultiplesOptions_maxVisibleColumns,+    smallMultiplesOptions_maxVisibleRows,+    smallMultiplesOptions_panelConfiguration,++    -- ** SnowflakeParameters+    snowflakeParameters_host,+    snowflakeParameters_database,+    snowflakeParameters_warehouse,++    -- ** Spacing+    spacing_bottom,+    spacing_left,+    spacing_right,+    spacing_top,++    -- ** SparkParameters+    sparkParameters_host,+    sparkParameters_port,++    -- ** SqlServerParameters+    sqlServerParameters_host,+    sqlServerParameters_port,+    sqlServerParameters_database,++    -- ** SslProperties+    sslProperties_disableSsl,++    -- ** StringDefaultValues+    stringDefaultValues_dynamicValue,+    stringDefaultValues_staticValues,++    -- ** StringFormatConfiguration+    stringFormatConfiguration_nullValueFormatConfiguration,+    stringFormatConfiguration_numericFormatConfiguration,++    -- ** StringParameter+    stringParameter_name,+    stringParameter_values,++    -- ** StringParameterDeclaration+    stringParameterDeclaration_defaultValues,+    stringParameterDeclaration_valueWhenUnset,+    stringParameterDeclaration_parameterValueType,+    stringParameterDeclaration_name,++    -- ** StringValueWhenUnsetConfiguration+    stringValueWhenUnsetConfiguration_customValue,+    stringValueWhenUnsetConfiguration_valueWhenUnsetOption,++    -- ** SubtotalOptions+    subtotalOptions_customLabel,+    subtotalOptions_fieldLevel,+    subtotalOptions_fieldLevelOptions,+    subtotalOptions_metricHeaderCellStyle,+    subtotalOptions_totalCellStyle,+    subtotalOptions_totalsVisibility,+    subtotalOptions_valueCellStyle,++    -- ** TableAggregatedFieldWells+    tableAggregatedFieldWells_groupBy,+    tableAggregatedFieldWells_values,++    -- ** TableBorderOptions+    tableBorderOptions_color,+    tableBorderOptions_style,+    tableBorderOptions_thickness,++    -- ** TableCellConditionalFormatting+    tableCellConditionalFormatting_textFormat,+    tableCellConditionalFormatting_fieldId,++    -- ** TableCellImageSizingConfiguration+    tableCellImageSizingConfiguration_tableCellImageScalingConfiguration,++    -- ** TableCellStyle+    tableCellStyle_backgroundColor,+    tableCellStyle_border,+    tableCellStyle_fontConfiguration,+    tableCellStyle_height,+    tableCellStyle_horizontalTextAlignment,+    tableCellStyle_textWrap,+    tableCellStyle_verticalTextAlignment,+    tableCellStyle_visibility,++    -- ** TableConditionalFormatting+    tableConditionalFormatting_conditionalFormattingOptions,++    -- ** TableConditionalFormattingOption+    tableConditionalFormattingOption_cell,+    tableConditionalFormattingOption_row,++    -- ** TableConfiguration+    tableConfiguration_fieldOptions,+    tableConfiguration_fieldWells,+    tableConfiguration_paginatedReportOptions,+    tableConfiguration_sortConfiguration,+    tableConfiguration_tableOptions,+    tableConfiguration_totalOptions,++    -- ** TableFieldCustomIconContent+    tableFieldCustomIconContent_icon,++    -- ** TableFieldCustomTextContent+    tableFieldCustomTextContent_value,+    tableFieldCustomTextContent_fontConfiguration,++    -- ** TableFieldImageConfiguration+    tableFieldImageConfiguration_sizingOptions,++    -- ** TableFieldLinkConfiguration+    tableFieldLinkConfiguration_target,+    tableFieldLinkConfiguration_content,++    -- ** TableFieldLinkContentConfiguration+    tableFieldLinkContentConfiguration_customIconContent,+    tableFieldLinkContentConfiguration_customTextContent,++    -- ** TableFieldOption+    tableFieldOption_customLabel,+    tableFieldOption_uRLStyling,+    tableFieldOption_visibility,+    tableFieldOption_width,+    tableFieldOption_fieldId,++    -- ** TableFieldOptions+    tableFieldOptions_order,+    tableFieldOptions_selectedFieldOptions,++    -- ** TableFieldURLConfiguration+    tableFieldURLConfiguration_imageConfiguration,+    tableFieldURLConfiguration_linkConfiguration,++    -- ** TableFieldWells+    tableFieldWells_tableAggregatedFieldWells,+    tableFieldWells_tableUnaggregatedFieldWells,++    -- ** TableOptions+    tableOptions_cellStyle,+    tableOptions_headerStyle,+    tableOptions_orientation,+    tableOptions_rowAlternateColorOptions,++    -- ** TablePaginatedReportOptions+    tablePaginatedReportOptions_overflowColumnHeaderVisibility,+    tablePaginatedReportOptions_verticalOverflowVisibility,++    -- ** TableRowConditionalFormatting+    tableRowConditionalFormatting_backgroundColor,+    tableRowConditionalFormatting_textColor,++    -- ** TableSideBorderOptions+    tableSideBorderOptions_bottom,+    tableSideBorderOptions_innerHorizontal,+    tableSideBorderOptions_innerVertical,+    tableSideBorderOptions_left,+    tableSideBorderOptions_right,+    tableSideBorderOptions_top,++    -- ** TableSortConfiguration+    tableSortConfiguration_paginationConfiguration,+    tableSortConfiguration_rowSort,++    -- ** TableUnaggregatedFieldWells+    tableUnaggregatedFieldWells_values,++    -- ** TableVisual+    tableVisual_actions,+    tableVisual_chartConfiguration,+    tableVisual_conditionalFormatting,+    tableVisual_subtitle,+    tableVisual_title,+    tableVisual_visualId,++    -- ** Tag+    tag_key,+    tag_value,++    -- ** TagColumnOperation+    tagColumnOperation_columnName,+    tagColumnOperation_tags,++    -- ** Template+    template_arn,+    template_createdTime,+    template_lastUpdatedTime,+    template_name,+    template_templateId,+    template_version,++    -- ** TemplateAlias+    templateAlias_aliasName,+    templateAlias_arn,+    templateAlias_templateVersionNumber,++    -- ** TemplateError+    templateError_message,+    templateError_type,+    templateError_violatedEntities,++    -- ** TemplateSourceAnalysis+    templateSourceAnalysis_arn,+    templateSourceAnalysis_dataSetReferences,++    -- ** TemplateSourceEntity+    templateSourceEntity_sourceAnalysis,+    templateSourceEntity_sourceTemplate,++    -- ** TemplateSourceTemplate+    templateSourceTemplate_arn,++    -- ** TemplateSummary+    templateSummary_arn,+    templateSummary_createdTime,+    templateSummary_lastUpdatedTime,+    templateSummary_latestVersionNumber,+    templateSummary_name,+    templateSummary_templateId,++    -- ** TemplateVersion+    templateVersion_createdTime,+    templateVersion_dataSetConfigurations,+    templateVersion_description,+    templateVersion_errors,+    templateVersion_sheets,+    templateVersion_sourceEntityArn,+    templateVersion_status,+    templateVersion_themeArn,+    templateVersion_versionNumber,++    -- ** TemplateVersionDefinition+    templateVersionDefinition_analysisDefaults,+    templateVersionDefinition_calculatedFields,+    templateVersionDefinition_columnConfigurations,+    templateVersionDefinition_filterGroups,+    templateVersionDefinition_parameterDeclarations,+    templateVersionDefinition_sheets,+    templateVersionDefinition_dataSetConfigurations,++    -- ** TemplateVersionSummary+    templateVersionSummary_arn,+    templateVersionSummary_createdTime,+    templateVersionSummary_description,+    templateVersionSummary_status,+    templateVersionSummary_versionNumber,++    -- ** TeradataParameters+    teradataParameters_host,+    teradataParameters_port,+    teradataParameters_database,++    -- ** TextAreaControlDisplayOptions+    textAreaControlDisplayOptions_placeholderOptions,+    textAreaControlDisplayOptions_titleOptions,++    -- ** TextConditionalFormat+    textConditionalFormat_backgroundColor,+    textConditionalFormat_icon,+    textConditionalFormat_textColor,++    -- ** TextControlPlaceholderOptions+    textControlPlaceholderOptions_visibility,++    -- ** TextFieldControlDisplayOptions+    textFieldControlDisplayOptions_placeholderOptions,+    textFieldControlDisplayOptions_titleOptions,++    -- ** Theme+    theme_arn,+    theme_createdTime,+    theme_lastUpdatedTime,+    theme_name,+    theme_themeId,+    theme_type,+    theme_version,++    -- ** ThemeAlias+    themeAlias_aliasName,+    themeAlias_arn,+    themeAlias_themeVersionNumber,++    -- ** ThemeConfiguration+    themeConfiguration_dataColorPalette,+    themeConfiguration_sheet,+    themeConfiguration_typography,+    themeConfiguration_uIColorPalette,++    -- ** ThemeError+    themeError_message,+    themeError_type,++    -- ** ThemeSummary+    themeSummary_arn,+    themeSummary_createdTime,+    themeSummary_lastUpdatedTime,+    themeSummary_latestVersionNumber,+    themeSummary_name,+    themeSummary_themeId,++    -- ** ThemeVersion+    themeVersion_arn,+    themeVersion_baseThemeId,+    themeVersion_configuration,+    themeVersion_createdTime,+    themeVersion_description,+    themeVersion_errors,+    themeVersion_status,+    themeVersion_versionNumber,++    -- ** ThemeVersionSummary+    themeVersionSummary_arn,+    themeVersionSummary_createdTime,+    themeVersionSummary_description,+    themeVersionSummary_status,+    themeVersionSummary_versionNumber,++    -- ** ThousandSeparatorOptions+    thousandSeparatorOptions_symbol,+    thousandSeparatorOptions_visibility,++    -- ** TileLayoutStyle+    tileLayoutStyle_gutter,+    tileLayoutStyle_margin,++    -- ** TileStyle+    tileStyle_border,++    -- ** TimeBasedForecastProperties+    timeBasedForecastProperties_lowerBoundary,+    timeBasedForecastProperties_periodsBackward,+    timeBasedForecastProperties_periodsForward,+    timeBasedForecastProperties_predictionInterval,+    timeBasedForecastProperties_seasonality,+    timeBasedForecastProperties_upperBoundary,++    -- ** TimeEqualityFilter+    timeEqualityFilter_parameterName,+    timeEqualityFilter_timeGranularity,+    timeEqualityFilter_value,+    timeEqualityFilter_filterId,+    timeEqualityFilter_column,++    -- ** TimeRangeDrillDownFilter+    timeRangeDrillDownFilter_column,+    timeRangeDrillDownFilter_rangeMinimum,+    timeRangeDrillDownFilter_rangeMaximum,+    timeRangeDrillDownFilter_timeGranularity,++    -- ** TimeRangeFilter+    timeRangeFilter_excludePeriodConfiguration,+    timeRangeFilter_includeMaximum,+    timeRangeFilter_includeMinimum,+    timeRangeFilter_rangeMaximumValue,+    timeRangeFilter_rangeMinimumValue,+    timeRangeFilter_timeGranularity,+    timeRangeFilter_filterId,+    timeRangeFilter_column,+    timeRangeFilter_nullOption,++    -- ** TimeRangeFilterValue+    timeRangeFilterValue_parameter,+    timeRangeFilterValue_rollingDate,+    timeRangeFilterValue_staticValue,++    -- ** TooltipItem+    tooltipItem_columnTooltipItem,+    tooltipItem_fieldTooltipItem,++    -- ** TooltipOptions+    tooltipOptions_fieldBasedTooltip,+    tooltipOptions_selectedTooltipType,+    tooltipOptions_tooltipVisibility,++    -- ** TopBottomFilter+    topBottomFilter_limit,+    topBottomFilter_parameterName,+    topBottomFilter_timeGranularity,+    topBottomFilter_filterId,+    topBottomFilter_column,+    topBottomFilter_aggregationSortConfigurations,++    -- ** TopBottomMoversComputation+    topBottomMoversComputation_moverSize,+    topBottomMoversComputation_name,+    topBottomMoversComputation_sortOrder,+    topBottomMoversComputation_value,+    topBottomMoversComputation_computationId,+    topBottomMoversComputation_time,+    topBottomMoversComputation_category,+    topBottomMoversComputation_type,++    -- ** TopBottomRankedComputation+    topBottomRankedComputation_name,+    topBottomRankedComputation_resultSize,+    topBottomRankedComputation_value,+    topBottomRankedComputation_computationId,+    topBottomRankedComputation_category,+    topBottomRankedComputation_type,++    -- ** TotalAggregationComputation+    totalAggregationComputation_name,+    totalAggregationComputation_computationId,+    totalAggregationComputation_value,++    -- ** TotalOptions+    totalOptions_customLabel,+    totalOptions_placement,+    totalOptions_scrollStatus,+    totalOptions_totalCellStyle,+    totalOptions_totalsVisibility,++    -- ** TransformOperation+    transformOperation_castColumnTypeOperation,+    transformOperation_createColumnsOperation,+    transformOperation_filterOperation,+    transformOperation_projectOperation,+    transformOperation_renameColumnOperation,+    transformOperation_tagColumnOperation,+    transformOperation_untagColumnOperation,++    -- ** TreeMapAggregatedFieldWells+    treeMapAggregatedFieldWells_colors,+    treeMapAggregatedFieldWells_groups,+    treeMapAggregatedFieldWells_sizes,++    -- ** TreeMapConfiguration+    treeMapConfiguration_colorLabelOptions,+    treeMapConfiguration_colorScale,+    treeMapConfiguration_dataLabels,+    treeMapConfiguration_fieldWells,+    treeMapConfiguration_groupLabelOptions,+    treeMapConfiguration_legend,+    treeMapConfiguration_sizeLabelOptions,+    treeMapConfiguration_sortConfiguration,+    treeMapConfiguration_tooltip,++    -- ** TreeMapFieldWells+    treeMapFieldWells_treeMapAggregatedFieldWells,++    -- ** TreeMapSortConfiguration+    treeMapSortConfiguration_treeMapGroupItemsLimitConfiguration,+    treeMapSortConfiguration_treeMapSort,++    -- ** TreeMapVisual+    treeMapVisual_actions,+    treeMapVisual_chartConfiguration,+    treeMapVisual_columnHierarchies,+    treeMapVisual_subtitle,+    treeMapVisual_title,+    treeMapVisual_visualId,++    -- ** TrendArrowOptions+    trendArrowOptions_visibility,++    -- ** TwitterParameters+    twitterParameters_query,+    twitterParameters_maxRows,++    -- ** Typography+    typography_fontFamilies,++    -- ** UIColorPalette+    uIColorPalette_accent,+    uIColorPalette_accentForeground,+    uIColorPalette_danger,+    uIColorPalette_dangerForeground,+    uIColorPalette_dimension,+    uIColorPalette_dimensionForeground,+    uIColorPalette_measure,+    uIColorPalette_measureForeground,+    uIColorPalette_primaryBackground,+    uIColorPalette_primaryForeground,+    uIColorPalette_secondaryBackground,+    uIColorPalette_secondaryForeground,+    uIColorPalette_success,+    uIColorPalette_successForeground,+    uIColorPalette_warning,+    uIColorPalette_warningForeground,++    -- ** UnaggregatedField+    unaggregatedField_formatConfiguration,+    unaggregatedField_fieldId,+    unaggregatedField_column,++    -- ** UniqueValuesComputation+    uniqueValuesComputation_name,+    uniqueValuesComputation_computationId,+    uniqueValuesComputation_category,++    -- ** UntagColumnOperation+    untagColumnOperation_columnName,+    untagColumnOperation_tagNames,++    -- ** UploadSettings+    uploadSettings_containsHeader,+    uploadSettings_delimiter,+    uploadSettings_format,+    uploadSettings_startFromRow,+    uploadSettings_textQualifier,++    -- ** User+    user_active,+    user_arn,+    user_customPermissionsName,+    user_email,+    user_externalLoginFederationProviderType,+    user_externalLoginFederationProviderUrl,+    user_externalLoginId,+    user_identityType,+    user_principalId,+    user_role,+    user_userName,++    -- ** VisibleRangeOptions+    visibleRangeOptions_percentRange,++    -- ** Visual+    visual_barChartVisual,+    visual_boxPlotVisual,+    visual_comboChartVisual,+    visual_customContentVisual,+    visual_emptyVisual,+    visual_filledMapVisual,+    visual_funnelChartVisual,+    visual_gaugeChartVisual,+    visual_geospatialMapVisual,+    visual_heatMapVisual,+    visual_histogramVisual,+    visual_insightVisual,+    visual_kPIVisual,+    visual_lineChartVisual,+    visual_pieChartVisual,+    visual_pivotTableVisual,+    visual_sankeyDiagramVisual,+    visual_scatterPlotVisual,+    visual_tableVisual,+    visual_treeMapVisual,+    visual_waterfallVisual,+    visual_wordCloudVisual,++    -- ** VisualCustomAction+    visualCustomAction_status,+    visualCustomAction_customActionId,+    visualCustomAction_name,+    visualCustomAction_trigger,+    visualCustomAction_actionOperations,++    -- ** VisualCustomActionOperation+    visualCustomActionOperation_filterOperation,+    visualCustomActionOperation_navigationOperation,+    visualCustomActionOperation_setParametersOperation,+    visualCustomActionOperation_uRLOperation,++    -- ** VisualPalette+    visualPalette_chartColor,+    visualPalette_colorMap,++    -- ** VisualSubtitleLabelOptions+    visualSubtitleLabelOptions_formatText,+    visualSubtitleLabelOptions_visibility,++    -- ** VisualTitleLabelOptions+    visualTitleLabelOptions_formatText,+    visualTitleLabelOptions_visibility,++    -- ** VpcConnectionProperties+    vpcConnectionProperties_vpcConnectionArn,++    -- ** WaterfallChartAggregatedFieldWells+    waterfallChartAggregatedFieldWells_breakdowns,+    waterfallChartAggregatedFieldWells_categories,+    waterfallChartAggregatedFieldWells_values,++    -- ** WaterfallChartConfiguration+    waterfallChartConfiguration_categoryAxisDisplayOptions,+    waterfallChartConfiguration_categoryAxisLabelOptions,+    waterfallChartConfiguration_dataLabels,+    waterfallChartConfiguration_fieldWells,+    waterfallChartConfiguration_legend,+    waterfallChartConfiguration_primaryYAxisDisplayOptions,+    waterfallChartConfiguration_primaryYAxisLabelOptions,+    waterfallChartConfiguration_sortConfiguration,+    waterfallChartConfiguration_visualPalette,+    waterfallChartConfiguration_waterfallChartOptions,++    -- ** WaterfallChartFieldWells+    waterfallChartFieldWells_waterfallChartAggregatedFieldWells,++    -- ** WaterfallChartOptions+    waterfallChartOptions_totalBarLabel,++    -- ** WaterfallChartSortConfiguration+    waterfallChartSortConfiguration_breakdownItemsLimit,+    waterfallChartSortConfiguration_categorySort,++    -- ** WaterfallVisual+    waterfallVisual_actions,+    waterfallVisual_chartConfiguration,+    waterfallVisual_columnHierarchies,+    waterfallVisual_subtitle,+    waterfallVisual_title,+    waterfallVisual_visualId,++    -- ** WhatIfPointScenario+    whatIfPointScenario_date,+    whatIfPointScenario_value,++    -- ** WhatIfRangeScenario+    whatIfRangeScenario_startDate,+    whatIfRangeScenario_endDate,+    whatIfRangeScenario_value,++    -- ** WordCloudAggregatedFieldWells+    wordCloudAggregatedFieldWells_groupBy,+    wordCloudAggregatedFieldWells_size,++    -- ** WordCloudChartConfiguration+    wordCloudChartConfiguration_categoryLabelOptions,+    wordCloudChartConfiguration_fieldWells,+    wordCloudChartConfiguration_sortConfiguration,+    wordCloudChartConfiguration_wordCloudOptions,++    -- ** WordCloudFieldWells+    wordCloudFieldWells_wordCloudAggregatedFieldWells,++    -- ** WordCloudOptions+    wordCloudOptions_cloudLayout,+    wordCloudOptions_maximumStringLength,+    wordCloudOptions_wordCasing,+    wordCloudOptions_wordOrientation,+    wordCloudOptions_wordPadding,+    wordCloudOptions_wordScaling,++    -- ** WordCloudSortConfiguration+    wordCloudSortConfiguration_categoryItemsLimit,+    wordCloudSortConfiguration_categorySort,++    -- ** WordCloudVisual+    wordCloudVisual_actions,+    wordCloudVisual_chartConfiguration,+    wordCloudVisual_columnHierarchies,+    wordCloudVisual_subtitle,+    wordCloudVisual_title,+    wordCloudVisual_visualId,+  )+where++import Amazonka.QuickSight.CancelIngestion+import Amazonka.QuickSight.CreateAccountCustomization+import Amazonka.QuickSight.CreateAccountSubscription+import Amazonka.QuickSight.CreateAnalysis+import Amazonka.QuickSight.CreateDashboard+import Amazonka.QuickSight.CreateDataSet+import Amazonka.QuickSight.CreateDataSource+import Amazonka.QuickSight.CreateFolder+import Amazonka.QuickSight.CreateFolderMembership+import Amazonka.QuickSight.CreateGroup+import Amazonka.QuickSight.CreateGroupMembership+import Amazonka.QuickSight.CreateIAMPolicyAssignment+import Amazonka.QuickSight.CreateIngestion+import Amazonka.QuickSight.CreateNamespace+import Amazonka.QuickSight.CreateTemplate+import Amazonka.QuickSight.CreateTemplateAlias+import Amazonka.QuickSight.CreateTheme+import Amazonka.QuickSight.CreateThemeAlias+import Amazonka.QuickSight.DeleteAccountCustomization+import Amazonka.QuickSight.DeleteAccountSubscription+import Amazonka.QuickSight.DeleteAnalysis+import Amazonka.QuickSight.DeleteDashboard+import Amazonka.QuickSight.DeleteDataSet+import Amazonka.QuickSight.DeleteDataSource+import Amazonka.QuickSight.DeleteFolder+import Amazonka.QuickSight.DeleteFolderMembership+import Amazonka.QuickSight.DeleteGroup+import Amazonka.QuickSight.DeleteGroupMembership+import Amazonka.QuickSight.DeleteIAMPolicyAssignment+import Amazonka.QuickSight.DeleteNamespace+import Amazonka.QuickSight.DeleteTemplate+import Amazonka.QuickSight.DeleteTemplateAlias+import Amazonka.QuickSight.DeleteTheme+import Amazonka.QuickSight.DeleteThemeAlias+import Amazonka.QuickSight.DeleteUser+import Amazonka.QuickSight.DeleteUserByPrincipalId+import Amazonka.QuickSight.DescribeAccountCustomization+import Amazonka.QuickSight.DescribeAccountSettings+import Amazonka.QuickSight.DescribeAccountSubscription+import Amazonka.QuickSight.DescribeAnalysis+import Amazonka.QuickSight.DescribeAnalysisDefinition+import Amazonka.QuickSight.DescribeAnalysisPermissions+import Amazonka.QuickSight.DescribeDashboard+import Amazonka.QuickSight.DescribeDashboardDefinition+import Amazonka.QuickSight.DescribeDashboardPermissions+import Amazonka.QuickSight.DescribeDataSet+import Amazonka.QuickSight.DescribeDataSetPermissions+import Amazonka.QuickSight.DescribeDataSource+import Amazonka.QuickSight.DescribeDataSourcePermissions+import Amazonka.QuickSight.DescribeFolder+import Amazonka.QuickSight.DescribeFolderPermissions+import Amazonka.QuickSight.DescribeFolderResolvedPermissions+import Amazonka.QuickSight.DescribeGroup+import Amazonka.QuickSight.DescribeGroupMembership+import Amazonka.QuickSight.DescribeIAMPolicyAssignment+import Amazonka.QuickSight.DescribeIngestion+import Amazonka.QuickSight.DescribeIpRestriction+import Amazonka.QuickSight.DescribeNamespace+import Amazonka.QuickSight.DescribeTemplate+import Amazonka.QuickSight.DescribeTemplateAlias+import Amazonka.QuickSight.DescribeTemplateDefinition+import Amazonka.QuickSight.DescribeTemplatePermissions+import Amazonka.QuickSight.DescribeTheme+import Amazonka.QuickSight.DescribeThemeAlias+import Amazonka.QuickSight.DescribeThemePermissions+import Amazonka.QuickSight.DescribeUser+import Amazonka.QuickSight.GenerateEmbedUrlForAnonymousUser+import Amazonka.QuickSight.GenerateEmbedUrlForRegisteredUser+import Amazonka.QuickSight.GetDashboardEmbedUrl+import Amazonka.QuickSight.GetSessionEmbedUrl+import Amazonka.QuickSight.ListAnalyses+import Amazonka.QuickSight.ListDashboardVersions+import Amazonka.QuickSight.ListDashboards+import Amazonka.QuickSight.ListDataSets+import Amazonka.QuickSight.ListDataSources+import Amazonka.QuickSight.ListFolderMembers+import Amazonka.QuickSight.ListFolders+import Amazonka.QuickSight.ListGroupMemberships+import Amazonka.QuickSight.ListGroups+import Amazonka.QuickSight.ListIAMPolicyAssignments+import Amazonka.QuickSight.ListIAMPolicyAssignmentsForUser+import Amazonka.QuickSight.ListIngestions+import Amazonka.QuickSight.ListNamespaces+import Amazonka.QuickSight.ListTagsForResource+import Amazonka.QuickSight.ListTemplateAliases+import Amazonka.QuickSight.ListTemplateVersions+import Amazonka.QuickSight.ListTemplates+import Amazonka.QuickSight.ListThemeAliases+import Amazonka.QuickSight.ListThemeVersions+import Amazonka.QuickSight.ListThemes+import Amazonka.QuickSight.ListUserGroups+import Amazonka.QuickSight.ListUsers+import Amazonka.QuickSight.RegisterUser+import Amazonka.QuickSight.RestoreAnalysis+import Amazonka.QuickSight.SearchAnalyses+import Amazonka.QuickSight.SearchDashboards+import Amazonka.QuickSight.SearchDataSets+import Amazonka.QuickSight.SearchDataSources+import Amazonka.QuickSight.SearchFolders+import Amazonka.QuickSight.SearchGroups+import Amazonka.QuickSight.TagResource+import Amazonka.QuickSight.Types.AccountCustomization+import Amazonka.QuickSight.Types.AccountInfo+import Amazonka.QuickSight.Types.AccountSettings+import Amazonka.QuickSight.Types.ActiveIAMPolicyAssignment+import Amazonka.QuickSight.Types.AdHocFilteringOption+import Amazonka.QuickSight.Types.AggregationFunction+import Amazonka.QuickSight.Types.AggregationSortConfiguration+import Amazonka.QuickSight.Types.AmazonElasticsearchParameters+import Amazonka.QuickSight.Types.AmazonOpenSearchParameters+import Amazonka.QuickSight.Types.Analysis+import Amazonka.QuickSight.Types.AnalysisDefaults+import Amazonka.QuickSight.Types.AnalysisDefinition+import Amazonka.QuickSight.Types.AnalysisError+import Amazonka.QuickSight.Types.AnalysisSearchFilter+import Amazonka.QuickSight.Types.AnalysisSourceEntity+import Amazonka.QuickSight.Types.AnalysisSourceTemplate+import Amazonka.QuickSight.Types.AnalysisSummary+import Amazonka.QuickSight.Types.AnchorDateConfiguration+import Amazonka.QuickSight.Types.AnonymousUserDashboardEmbeddingConfiguration+import Amazonka.QuickSight.Types.AnonymousUserDashboardVisualEmbeddingConfiguration+import Amazonka.QuickSight.Types.AnonymousUserEmbeddingExperienceConfiguration+import Amazonka.QuickSight.Types.AnonymousUserQSearchBarEmbeddingConfiguration+import Amazonka.QuickSight.Types.ArcAxisConfiguration+import Amazonka.QuickSight.Types.ArcAxisDisplayRange+import Amazonka.QuickSight.Types.ArcConfiguration+import Amazonka.QuickSight.Types.ArcOptions+import Amazonka.QuickSight.Types.AthenaParameters+import Amazonka.QuickSight.Types.AuroraParameters+import Amazonka.QuickSight.Types.AuroraPostgreSqlParameters+import Amazonka.QuickSight.Types.AwsIotAnalyticsParameters+import Amazonka.QuickSight.Types.AxisDataOptions+import Amazonka.QuickSight.Types.AxisDisplayDataDrivenRange+import Amazonka.QuickSight.Types.AxisDisplayMinMaxRange+import Amazonka.QuickSight.Types.AxisDisplayOptions+import Amazonka.QuickSight.Types.AxisDisplayRange+import Amazonka.QuickSight.Types.AxisLabelOptions+import Amazonka.QuickSight.Types.AxisLabelReferenceOptions+import Amazonka.QuickSight.Types.AxisLinearScale+import Amazonka.QuickSight.Types.AxisLogarithmicScale+import Amazonka.QuickSight.Types.AxisScale+import Amazonka.QuickSight.Types.AxisTickLabelOptions+import Amazonka.QuickSight.Types.BarChartAggregatedFieldWells+import Amazonka.QuickSight.Types.BarChartConfiguration+import Amazonka.QuickSight.Types.BarChartFieldWells+import Amazonka.QuickSight.Types.BarChartSortConfiguration+import Amazonka.QuickSight.Types.BarChartVisual+import Amazonka.QuickSight.Types.BinCountOptions+import Amazonka.QuickSight.Types.BinWidthOptions+import Amazonka.QuickSight.Types.BodySectionConfiguration+import Amazonka.QuickSight.Types.BodySectionContent+import Amazonka.QuickSight.Types.BorderStyle+import Amazonka.QuickSight.Types.BoxPlotAggregatedFieldWells+import Amazonka.QuickSight.Types.BoxPlotChartConfiguration+import Amazonka.QuickSight.Types.BoxPlotFieldWells+import Amazonka.QuickSight.Types.BoxPlotOptions+import Amazonka.QuickSight.Types.BoxPlotSortConfiguration+import Amazonka.QuickSight.Types.BoxPlotStyleOptions+import Amazonka.QuickSight.Types.BoxPlotVisual+import Amazonka.QuickSight.Types.CalculatedColumn+import Amazonka.QuickSight.Types.CalculatedField+import Amazonka.QuickSight.Types.CalculatedMeasureField+import Amazonka.QuickSight.Types.CascadingControlConfiguration+import Amazonka.QuickSight.Types.CascadingControlSource+import Amazonka.QuickSight.Types.CastColumnTypeOperation+import Amazonka.QuickSight.Types.CategoricalDimensionField+import Amazonka.QuickSight.Types.CategoricalMeasureField+import Amazonka.QuickSight.Types.CategoryDrillDownFilter+import Amazonka.QuickSight.Types.CategoryFilter+import Amazonka.QuickSight.Types.CategoryFilterConfiguration+import Amazonka.QuickSight.Types.ChartAxisLabelOptions+import Amazonka.QuickSight.Types.ClusterMarker+import Amazonka.QuickSight.Types.ClusterMarkerConfiguration+import Amazonka.QuickSight.Types.ColorScale+import Amazonka.QuickSight.Types.ColumnConfiguration+import Amazonka.QuickSight.Types.ColumnDescription+import Amazonka.QuickSight.Types.ColumnGroup+import Amazonka.QuickSight.Types.ColumnGroupColumnSchema+import Amazonka.QuickSight.Types.ColumnGroupSchema+import Amazonka.QuickSight.Types.ColumnHierarchy+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.ColumnLevelPermissionRule+import Amazonka.QuickSight.Types.ColumnSchema+import Amazonka.QuickSight.Types.ColumnSort+import Amazonka.QuickSight.Types.ColumnTag+import Amazonka.QuickSight.Types.ColumnTooltipItem+import Amazonka.QuickSight.Types.ComboChartAggregatedFieldWells+import Amazonka.QuickSight.Types.ComboChartConfiguration+import Amazonka.QuickSight.Types.ComboChartFieldWells+import Amazonka.QuickSight.Types.ComboChartSortConfiguration+import Amazonka.QuickSight.Types.ComboChartVisual+import Amazonka.QuickSight.Types.ComparisonConfiguration+import Amazonka.QuickSight.Types.ComparisonFormatConfiguration+import Amazonka.QuickSight.Types.Computation+import Amazonka.QuickSight.Types.ConditionalFormattingColor+import Amazonka.QuickSight.Types.ConditionalFormattingCustomIconCondition+import Amazonka.QuickSight.Types.ConditionalFormattingCustomIconOptions+import Amazonka.QuickSight.Types.ConditionalFormattingGradientColor+import Amazonka.QuickSight.Types.ConditionalFormattingIcon+import Amazonka.QuickSight.Types.ConditionalFormattingIconDisplayConfiguration+import Amazonka.QuickSight.Types.ConditionalFormattingIconSet+import Amazonka.QuickSight.Types.ConditionalFormattingSolidColor+import Amazonka.QuickSight.Types.ContributionAnalysisDefault+import Amazonka.QuickSight.Types.CreateColumnsOperation+import Amazonka.QuickSight.Types.CredentialPair+import Amazonka.QuickSight.Types.CurrencyDisplayFormatConfiguration+import Amazonka.QuickSight.Types.CustomActionFilterOperation+import Amazonka.QuickSight.Types.CustomActionNavigationOperation+import Amazonka.QuickSight.Types.CustomActionSetParametersOperation+import Amazonka.QuickSight.Types.CustomActionURLOperation+import Amazonka.QuickSight.Types.CustomContentConfiguration+import Amazonka.QuickSight.Types.CustomContentVisual+import Amazonka.QuickSight.Types.CustomFilterConfiguration+import Amazonka.QuickSight.Types.CustomFilterListConfiguration+import Amazonka.QuickSight.Types.CustomNarrativeOptions+import Amazonka.QuickSight.Types.CustomParameterValues+import Amazonka.QuickSight.Types.CustomSql+import Amazonka.QuickSight.Types.CustomValuesConfiguration+import Amazonka.QuickSight.Types.Dashboard+import Amazonka.QuickSight.Types.DashboardError+import Amazonka.QuickSight.Types.DashboardPublishOptions+import Amazonka.QuickSight.Types.DashboardSearchFilter+import Amazonka.QuickSight.Types.DashboardSourceEntity+import Amazonka.QuickSight.Types.DashboardSourceTemplate+import Amazonka.QuickSight.Types.DashboardSummary+import Amazonka.QuickSight.Types.DashboardVersion+import Amazonka.QuickSight.Types.DashboardVersionDefinition+import Amazonka.QuickSight.Types.DashboardVersionSummary+import Amazonka.QuickSight.Types.DashboardVisualId+import Amazonka.QuickSight.Types.DashboardVisualPublishOptions+import Amazonka.QuickSight.Types.DataColor+import Amazonka.QuickSight.Types.DataColorPalette+import Amazonka.QuickSight.Types.DataFieldSeriesItem+import Amazonka.QuickSight.Types.DataLabelOptions+import Amazonka.QuickSight.Types.DataLabelType+import Amazonka.QuickSight.Types.DataPathColor+import Amazonka.QuickSight.Types.DataPathLabelType+import Amazonka.QuickSight.Types.DataPathSort+import Amazonka.QuickSight.Types.DataPathValue+import Amazonka.QuickSight.Types.DataSet+import Amazonka.QuickSight.Types.DataSetConfiguration+import Amazonka.QuickSight.Types.DataSetIdentifierDeclaration+import Amazonka.QuickSight.Types.DataSetReference+import Amazonka.QuickSight.Types.DataSetSchema+import Amazonka.QuickSight.Types.DataSetSearchFilter+import Amazonka.QuickSight.Types.DataSetSummary+import Amazonka.QuickSight.Types.DataSetUsageConfiguration+import Amazonka.QuickSight.Types.DataSource+import Amazonka.QuickSight.Types.DataSourceCredentials+import Amazonka.QuickSight.Types.DataSourceErrorInfo+import Amazonka.QuickSight.Types.DataSourceParameters+import Amazonka.QuickSight.Types.DataSourceSearchFilter+import Amazonka.QuickSight.Types.DataSourceSummary+import Amazonka.QuickSight.Types.DatabricksParameters+import Amazonka.QuickSight.Types.DateAxisOptions+import Amazonka.QuickSight.Types.DateDimensionField+import Amazonka.QuickSight.Types.DateMeasureField+import Amazonka.QuickSight.Types.DateTimeDefaultValues+import Amazonka.QuickSight.Types.DateTimeFormatConfiguration+import Amazonka.QuickSight.Types.DateTimeHierarchy+import Amazonka.QuickSight.Types.DateTimeParameter+import Amazonka.QuickSight.Types.DateTimeParameterDeclaration+import Amazonka.QuickSight.Types.DateTimePickerControlDisplayOptions+import Amazonka.QuickSight.Types.DateTimeValueWhenUnsetConfiguration+import Amazonka.QuickSight.Types.DecimalDefaultValues+import Amazonka.QuickSight.Types.DecimalParameter+import Amazonka.QuickSight.Types.DecimalParameterDeclaration+import Amazonka.QuickSight.Types.DecimalPlacesConfiguration+import Amazonka.QuickSight.Types.DecimalValueWhenUnsetConfiguration+import Amazonka.QuickSight.Types.DefaultFreeFormLayoutConfiguration+import Amazonka.QuickSight.Types.DefaultGridLayoutConfiguration+import Amazonka.QuickSight.Types.DefaultInteractiveLayoutConfiguration+import Amazonka.QuickSight.Types.DefaultNewSheetConfiguration+import Amazonka.QuickSight.Types.DefaultPaginatedLayoutConfiguration+import Amazonka.QuickSight.Types.DefaultSectionBasedLayoutConfiguration+import Amazonka.QuickSight.Types.DestinationParameterValueConfiguration+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.DonutCenterOptions+import Amazonka.QuickSight.Types.DonutOptions+import Amazonka.QuickSight.Types.DrillDownFilter+import Amazonka.QuickSight.Types.DropDownControlDisplayOptions+import Amazonka.QuickSight.Types.DynamicDefaultValue+import Amazonka.QuickSight.Types.EmptyVisual+import Amazonka.QuickSight.Types.Entity+import Amazonka.QuickSight.Types.ErrorInfo+import Amazonka.QuickSight.Types.ExasolParameters+import Amazonka.QuickSight.Types.ExcludePeriodConfiguration+import Amazonka.QuickSight.Types.ExplicitHierarchy+import Amazonka.QuickSight.Types.ExportHiddenFieldsOption+import Amazonka.QuickSight.Types.ExportToCSVOption+import Amazonka.QuickSight.Types.FieldBasedTooltip+import Amazonka.QuickSight.Types.FieldFolder+import Amazonka.QuickSight.Types.FieldLabelType+import Amazonka.QuickSight.Types.FieldSeriesItem+import Amazonka.QuickSight.Types.FieldSort+import Amazonka.QuickSight.Types.FieldSortOptions+import Amazonka.QuickSight.Types.FieldTooltipItem+import Amazonka.QuickSight.Types.FilledMapAggregatedFieldWells+import Amazonka.QuickSight.Types.FilledMapConditionalFormatting+import Amazonka.QuickSight.Types.FilledMapConditionalFormattingOption+import Amazonka.QuickSight.Types.FilledMapConfiguration+import Amazonka.QuickSight.Types.FilledMapFieldWells+import Amazonka.QuickSight.Types.FilledMapShapeConditionalFormatting+import Amazonka.QuickSight.Types.FilledMapSortConfiguration+import Amazonka.QuickSight.Types.FilledMapVisual+import Amazonka.QuickSight.Types.Filter+import Amazonka.QuickSight.Types.FilterControl+import Amazonka.QuickSight.Types.FilterDateTimePickerControl+import Amazonka.QuickSight.Types.FilterDropDownControl+import Amazonka.QuickSight.Types.FilterGroup+import Amazonka.QuickSight.Types.FilterListConfiguration+import Amazonka.QuickSight.Types.FilterListControl+import Amazonka.QuickSight.Types.FilterOperation+import Amazonka.QuickSight.Types.FilterOperationSelectedFieldsConfiguration+import Amazonka.QuickSight.Types.FilterOperationTargetVisualsConfiguration+import Amazonka.QuickSight.Types.FilterRelativeDateTimeControl+import Amazonka.QuickSight.Types.FilterScopeConfiguration+import Amazonka.QuickSight.Types.FilterSelectableValues+import Amazonka.QuickSight.Types.FilterSliderControl+import Amazonka.QuickSight.Types.FilterTextAreaControl+import Amazonka.QuickSight.Types.FilterTextFieldControl+import Amazonka.QuickSight.Types.Folder+import Amazonka.QuickSight.Types.FolderMember+import Amazonka.QuickSight.Types.FolderSearchFilter+import Amazonka.QuickSight.Types.FolderSummary+import Amazonka.QuickSight.Types.Font+import Amazonka.QuickSight.Types.FontConfiguration+import Amazonka.QuickSight.Types.FontSize+import Amazonka.QuickSight.Types.FontWeight+import Amazonka.QuickSight.Types.ForecastComputation+import Amazonka.QuickSight.Types.ForecastConfiguration+import Amazonka.QuickSight.Types.ForecastScenario+import Amazonka.QuickSight.Types.FormatConfiguration+import Amazonka.QuickSight.Types.FreeFormLayoutCanvasSizeOptions+import Amazonka.QuickSight.Types.FreeFormLayoutConfiguration+import Amazonka.QuickSight.Types.FreeFormLayoutElement+import Amazonka.QuickSight.Types.FreeFormLayoutElementBackgroundStyle+import Amazonka.QuickSight.Types.FreeFormLayoutElementBorderStyle+import Amazonka.QuickSight.Types.FreeFormLayoutScreenCanvasSizeOptions+import Amazonka.QuickSight.Types.FreeFormSectionLayoutConfiguration+import Amazonka.QuickSight.Types.FunnelChartAggregatedFieldWells+import Amazonka.QuickSight.Types.FunnelChartConfiguration+import Amazonka.QuickSight.Types.FunnelChartDataLabelOptions+import Amazonka.QuickSight.Types.FunnelChartFieldWells+import Amazonka.QuickSight.Types.FunnelChartSortConfiguration+import Amazonka.QuickSight.Types.FunnelChartVisual+import Amazonka.QuickSight.Types.GaugeChartArcConditionalFormatting+import Amazonka.QuickSight.Types.GaugeChartConditionalFormatting+import Amazonka.QuickSight.Types.GaugeChartConditionalFormattingOption+import Amazonka.QuickSight.Types.GaugeChartConfiguration+import Amazonka.QuickSight.Types.GaugeChartFieldWells+import Amazonka.QuickSight.Types.GaugeChartOptions+import Amazonka.QuickSight.Types.GaugeChartPrimaryValueConditionalFormatting+import Amazonka.QuickSight.Types.GaugeChartVisual+import Amazonka.QuickSight.Types.GeoSpatialColumnGroup+import Amazonka.QuickSight.Types.GeospatialCoordinateBounds+import Amazonka.QuickSight.Types.GeospatialMapAggregatedFieldWells+import Amazonka.QuickSight.Types.GeospatialMapConfiguration+import Amazonka.QuickSight.Types.GeospatialMapFieldWells+import Amazonka.QuickSight.Types.GeospatialMapStyleOptions+import Amazonka.QuickSight.Types.GeospatialMapVisual+import Amazonka.QuickSight.Types.GeospatialPointStyleOptions+import Amazonka.QuickSight.Types.GeospatialWindowOptions+import Amazonka.QuickSight.Types.GlobalTableBorderOptions+import Amazonka.QuickSight.Types.GradientColor+import Amazonka.QuickSight.Types.GradientStop+import Amazonka.QuickSight.Types.GridLayoutCanvasSizeOptions+import Amazonka.QuickSight.Types.GridLayoutConfiguration+import Amazonka.QuickSight.Types.GridLayoutElement+import Amazonka.QuickSight.Types.GridLayoutScreenCanvasSizeOptions+import Amazonka.QuickSight.Types.Group+import Amazonka.QuickSight.Types.GroupMember+import Amazonka.QuickSight.Types.GroupSearchFilter+import Amazonka.QuickSight.Types.GrowthRateComputation+import Amazonka.QuickSight.Types.GutterStyle+import Amazonka.QuickSight.Types.HeaderFooterSectionConfiguration+import Amazonka.QuickSight.Types.HeatMapAggregatedFieldWells+import Amazonka.QuickSight.Types.HeatMapConfiguration+import Amazonka.QuickSight.Types.HeatMapFieldWells+import Amazonka.QuickSight.Types.HeatMapSortConfiguration+import Amazonka.QuickSight.Types.HeatMapVisual+import Amazonka.QuickSight.Types.HistogramAggregatedFieldWells+import Amazonka.QuickSight.Types.HistogramBinOptions+import Amazonka.QuickSight.Types.HistogramConfiguration+import Amazonka.QuickSight.Types.HistogramFieldWells+import Amazonka.QuickSight.Types.HistogramVisual+import Amazonka.QuickSight.Types.IAMPolicyAssignment+import Amazonka.QuickSight.Types.IAMPolicyAssignmentSummary+import Amazonka.QuickSight.Types.Ingestion+import Amazonka.QuickSight.Types.InputColumn+import Amazonka.QuickSight.Types.InsightConfiguration+import Amazonka.QuickSight.Types.InsightVisual+import Amazonka.QuickSight.Types.IntegerDefaultValues+import Amazonka.QuickSight.Types.IntegerParameter+import Amazonka.QuickSight.Types.IntegerParameterDeclaration+import Amazonka.QuickSight.Types.IntegerValueWhenUnsetConfiguration+import Amazonka.QuickSight.Types.ItemsLimitConfiguration+import Amazonka.QuickSight.Types.JiraParameters+import Amazonka.QuickSight.Types.JoinInstruction+import Amazonka.QuickSight.Types.JoinKeyProperties+import Amazonka.QuickSight.Types.KPIConditionalFormatting+import Amazonka.QuickSight.Types.KPIConditionalFormattingOption+import Amazonka.QuickSight.Types.KPIConfiguration+import Amazonka.QuickSight.Types.KPIFieldWells+import Amazonka.QuickSight.Types.KPIOptions+import Amazonka.QuickSight.Types.KPIPrimaryValueConditionalFormatting+import Amazonka.QuickSight.Types.KPIProgressBarConditionalFormatting+import Amazonka.QuickSight.Types.KPISortConfiguration+import Amazonka.QuickSight.Types.KPIVisual+import Amazonka.QuickSight.Types.LabelOptions+import Amazonka.QuickSight.Types.Layout+import Amazonka.QuickSight.Types.LayoutConfiguration+import Amazonka.QuickSight.Types.LegendOptions+import Amazonka.QuickSight.Types.LineChartAggregatedFieldWells+import Amazonka.QuickSight.Types.LineChartConfiguration+import Amazonka.QuickSight.Types.LineChartDefaultSeriesSettings+import Amazonka.QuickSight.Types.LineChartFieldWells+import Amazonka.QuickSight.Types.LineChartLineStyleSettings+import Amazonka.QuickSight.Types.LineChartMarkerStyleSettings+import Amazonka.QuickSight.Types.LineChartSeriesSettings+import Amazonka.QuickSight.Types.LineChartSortConfiguration+import Amazonka.QuickSight.Types.LineChartVisual+import Amazonka.QuickSight.Types.LineSeriesAxisDisplayOptions+import Amazonka.QuickSight.Types.LinkSharingConfiguration+import Amazonka.QuickSight.Types.ListControlDisplayOptions+import Amazonka.QuickSight.Types.ListControlSearchOptions+import Amazonka.QuickSight.Types.ListControlSelectAllOptions+import Amazonka.QuickSight.Types.LoadingAnimation+import Amazonka.QuickSight.Types.LocalNavigationConfiguration+import Amazonka.QuickSight.Types.LogicalTable+import Amazonka.QuickSight.Types.LogicalTableSource+import Amazonka.QuickSight.Types.LongFormatText+import Amazonka.QuickSight.Types.ManifestFileLocation+import Amazonka.QuickSight.Types.MarginStyle+import Amazonka.QuickSight.Types.MariaDbParameters+import Amazonka.QuickSight.Types.MaximumLabelType+import Amazonka.QuickSight.Types.MaximumMinimumComputation+import Amazonka.QuickSight.Types.MeasureField+import Amazonka.QuickSight.Types.MemberIdArnPair+import Amazonka.QuickSight.Types.MetricComparisonComputation+import Amazonka.QuickSight.Types.MinimumLabelType+import Amazonka.QuickSight.Types.MissingDataConfiguration+import Amazonka.QuickSight.Types.MySqlParameters+import Amazonka.QuickSight.Types.NamespaceError+import Amazonka.QuickSight.Types.NamespaceInfoV2+import Amazonka.QuickSight.Types.NegativeValueConfiguration+import Amazonka.QuickSight.Types.NullValueFormatConfiguration+import Amazonka.QuickSight.Types.NumberDisplayFormatConfiguration+import Amazonka.QuickSight.Types.NumberFormatConfiguration+import Amazonka.QuickSight.Types.NumericAxisOptions+import Amazonka.QuickSight.Types.NumericEqualityDrillDownFilter+import Amazonka.QuickSight.Types.NumericEqualityFilter+import Amazonka.QuickSight.Types.NumericFormatConfiguration+import Amazonka.QuickSight.Types.NumericRangeFilter+import Amazonka.QuickSight.Types.NumericRangeFilterValue+import Amazonka.QuickSight.Types.NumericSeparatorConfiguration+import Amazonka.QuickSight.Types.NumericalAggregationFunction+import Amazonka.QuickSight.Types.NumericalDimensionField+import Amazonka.QuickSight.Types.NumericalMeasureField+import Amazonka.QuickSight.Types.OracleParameters+import Amazonka.QuickSight.Types.OutputColumn+import Amazonka.QuickSight.Types.PaginationConfiguration+import Amazonka.QuickSight.Types.PanelConfiguration+import Amazonka.QuickSight.Types.PanelTitleOptions+import Amazonka.QuickSight.Types.ParameterControl+import Amazonka.QuickSight.Types.ParameterDateTimePickerControl+import Amazonka.QuickSight.Types.ParameterDeclaration+import Amazonka.QuickSight.Types.ParameterDropDownControl+import Amazonka.QuickSight.Types.ParameterListControl+import Amazonka.QuickSight.Types.ParameterSelectableValues+import Amazonka.QuickSight.Types.ParameterSliderControl+import Amazonka.QuickSight.Types.ParameterTextAreaControl+import Amazonka.QuickSight.Types.ParameterTextFieldControl+import Amazonka.QuickSight.Types.Parameters+import Amazonka.QuickSight.Types.PercentVisibleRange+import Amazonka.QuickSight.Types.PercentageDisplayFormatConfiguration+import Amazonka.QuickSight.Types.PercentileAggregation+import Amazonka.QuickSight.Types.PeriodOverPeriodComputation+import Amazonka.QuickSight.Types.PeriodToDateComputation+import Amazonka.QuickSight.Types.PhysicalTable+import Amazonka.QuickSight.Types.PieChartAggregatedFieldWells+import Amazonka.QuickSight.Types.PieChartConfiguration+import Amazonka.QuickSight.Types.PieChartFieldWells+import Amazonka.QuickSight.Types.PieChartSortConfiguration+import Amazonka.QuickSight.Types.PieChartVisual+import Amazonka.QuickSight.Types.PivotFieldSortOptions+import Amazonka.QuickSight.Types.PivotTableAggregatedFieldWells+import Amazonka.QuickSight.Types.PivotTableCellConditionalFormatting+import Amazonka.QuickSight.Types.PivotTableConditionalFormatting+import Amazonka.QuickSight.Types.PivotTableConditionalFormattingOption+import Amazonka.QuickSight.Types.PivotTableConditionalFormattingScope+import Amazonka.QuickSight.Types.PivotTableConfiguration+import Amazonka.QuickSight.Types.PivotTableDataPathOption+import Amazonka.QuickSight.Types.PivotTableFieldOption+import Amazonka.QuickSight.Types.PivotTableFieldOptions+import Amazonka.QuickSight.Types.PivotTableFieldSubtotalOptions+import Amazonka.QuickSight.Types.PivotTableFieldWells+import Amazonka.QuickSight.Types.PivotTableOptions+import Amazonka.QuickSight.Types.PivotTablePaginatedReportOptions+import Amazonka.QuickSight.Types.PivotTableSortBy+import Amazonka.QuickSight.Types.PivotTableSortConfiguration+import Amazonka.QuickSight.Types.PivotTableTotalOptions+import Amazonka.QuickSight.Types.PivotTableVisual+import Amazonka.QuickSight.Types.PivotTotalOptions+import Amazonka.QuickSight.Types.PostgreSqlParameters+import Amazonka.QuickSight.Types.PredefinedHierarchy+import Amazonka.QuickSight.Types.PrestoParameters+import Amazonka.QuickSight.Types.ProgressBarOptions+import Amazonka.QuickSight.Types.ProjectOperation+import Amazonka.QuickSight.Types.QueueInfo+import Amazonka.QuickSight.Types.RangeEndsLabelType+import Amazonka.QuickSight.Types.RdsParameters+import Amazonka.QuickSight.Types.RedshiftParameters+import Amazonka.QuickSight.Types.ReferenceLine+import Amazonka.QuickSight.Types.ReferenceLineCustomLabelConfiguration+import Amazonka.QuickSight.Types.ReferenceLineDataConfiguration+import Amazonka.QuickSight.Types.ReferenceLineDynamicDataConfiguration+import Amazonka.QuickSight.Types.ReferenceLineLabelConfiguration+import Amazonka.QuickSight.Types.ReferenceLineStaticDataConfiguration+import Amazonka.QuickSight.Types.ReferenceLineStyleConfiguration+import Amazonka.QuickSight.Types.ReferenceLineValueLabelConfiguration+import Amazonka.QuickSight.Types.RegisteredUserDashboardEmbeddingConfiguration+import Amazonka.QuickSight.Types.RegisteredUserDashboardVisualEmbeddingConfiguration+import Amazonka.QuickSight.Types.RegisteredUserEmbeddingExperienceConfiguration+import Amazonka.QuickSight.Types.RegisteredUserQSearchBarEmbeddingConfiguration+import Amazonka.QuickSight.Types.RegisteredUserQuickSightConsoleEmbeddingConfiguration+import Amazonka.QuickSight.Types.RelationalTable+import Amazonka.QuickSight.Types.RelativeDateTimeControlDisplayOptions+import Amazonka.QuickSight.Types.RelativeDatesFilter+import Amazonka.QuickSight.Types.RenameColumnOperation+import Amazonka.QuickSight.Types.ResourcePermission+import Amazonka.QuickSight.Types.RollingDateConfiguration+import Amazonka.QuickSight.Types.RowAlternateColorOptions+import Amazonka.QuickSight.Types.RowInfo+import Amazonka.QuickSight.Types.RowLevelPermissionDataSet+import Amazonka.QuickSight.Types.RowLevelPermissionTagConfiguration+import Amazonka.QuickSight.Types.RowLevelPermissionTagRule+import Amazonka.QuickSight.Types.S3Parameters+import Amazonka.QuickSight.Types.S3Source+import Amazonka.QuickSight.Types.SameSheetTargetVisualConfiguration+import Amazonka.QuickSight.Types.SankeyDiagramAggregatedFieldWells+import Amazonka.QuickSight.Types.SankeyDiagramChartConfiguration+import Amazonka.QuickSight.Types.SankeyDiagramFieldWells+import Amazonka.QuickSight.Types.SankeyDiagramSortConfiguration+import Amazonka.QuickSight.Types.SankeyDiagramVisual+import Amazonka.QuickSight.Types.ScatterPlotCategoricallyAggregatedFieldWells+import Amazonka.QuickSight.Types.ScatterPlotConfiguration+import Amazonka.QuickSight.Types.ScatterPlotFieldWells+import Amazonka.QuickSight.Types.ScatterPlotUnaggregatedFieldWells+import Amazonka.QuickSight.Types.ScatterPlotVisual+import Amazonka.QuickSight.Types.ScrollBarOptions+import Amazonka.QuickSight.Types.SecondaryValueOptions+import Amazonka.QuickSight.Types.SectionAfterPageBreak+import Amazonka.QuickSight.Types.SectionBasedLayoutCanvasSizeOptions+import Amazonka.QuickSight.Types.SectionBasedLayoutConfiguration+import Amazonka.QuickSight.Types.SectionBasedLayoutPaperCanvasSizeOptions+import Amazonka.QuickSight.Types.SectionLayoutConfiguration+import Amazonka.QuickSight.Types.SectionPageBreakConfiguration+import Amazonka.QuickSight.Types.SectionStyle+import Amazonka.QuickSight.Types.SelectedSheetsFilterScopeConfiguration+import Amazonka.QuickSight.Types.SeriesItem+import Amazonka.QuickSight.Types.ServiceNowParameters+import Amazonka.QuickSight.Types.SessionTag+import Amazonka.QuickSight.Types.SetParameterValueConfiguration+import Amazonka.QuickSight.Types.ShapeConditionalFormat+import Amazonka.QuickSight.Types.Sheet+import Amazonka.QuickSight.Types.SheetControlLayout+import Amazonka.QuickSight.Types.SheetControlLayoutConfiguration+import Amazonka.QuickSight.Types.SheetControlsOption+import Amazonka.QuickSight.Types.SheetDefinition+import Amazonka.QuickSight.Types.SheetElementConfigurationOverrides+import Amazonka.QuickSight.Types.SheetElementRenderingRule+import Amazonka.QuickSight.Types.SheetStyle+import Amazonka.QuickSight.Types.SheetTextBox+import Amazonka.QuickSight.Types.SheetVisualScopingConfiguration+import Amazonka.QuickSight.Types.ShortFormatText+import Amazonka.QuickSight.Types.SignupResponse+import Amazonka.QuickSight.Types.SimpleClusterMarker+import Amazonka.QuickSight.Types.SliderControlDisplayOptions+import Amazonka.QuickSight.Types.SmallMultiplesOptions+import Amazonka.QuickSight.Types.SnowflakeParameters+import Amazonka.QuickSight.Types.Spacing+import Amazonka.QuickSight.Types.SparkParameters+import Amazonka.QuickSight.Types.SqlServerParameters+import Amazonka.QuickSight.Types.SslProperties+import Amazonka.QuickSight.Types.StringDefaultValues+import Amazonka.QuickSight.Types.StringFormatConfiguration+import Amazonka.QuickSight.Types.StringParameter+import Amazonka.QuickSight.Types.StringParameterDeclaration+import Amazonka.QuickSight.Types.StringValueWhenUnsetConfiguration+import Amazonka.QuickSight.Types.SubtotalOptions+import Amazonka.QuickSight.Types.TableAggregatedFieldWells+import Amazonka.QuickSight.Types.TableBorderOptions+import Amazonka.QuickSight.Types.TableCellConditionalFormatting+import Amazonka.QuickSight.Types.TableCellImageSizingConfiguration+import Amazonka.QuickSight.Types.TableCellStyle+import Amazonka.QuickSight.Types.TableConditionalFormatting+import Amazonka.QuickSight.Types.TableConditionalFormattingOption+import Amazonka.QuickSight.Types.TableConfiguration+import Amazonka.QuickSight.Types.TableFieldCustomIconContent+import Amazonka.QuickSight.Types.TableFieldCustomTextContent+import Amazonka.QuickSight.Types.TableFieldImageConfiguration+import Amazonka.QuickSight.Types.TableFieldLinkConfiguration+import Amazonka.QuickSight.Types.TableFieldLinkContentConfiguration+import Amazonka.QuickSight.Types.TableFieldOption+import Amazonka.QuickSight.Types.TableFieldOptions+import Amazonka.QuickSight.Types.TableFieldURLConfiguration+import Amazonka.QuickSight.Types.TableFieldWells+import Amazonka.QuickSight.Types.TableOptions+import Amazonka.QuickSight.Types.TablePaginatedReportOptions+import Amazonka.QuickSight.Types.TableRowConditionalFormatting+import Amazonka.QuickSight.Types.TableSideBorderOptions+import Amazonka.QuickSight.Types.TableSortConfiguration+import Amazonka.QuickSight.Types.TableUnaggregatedFieldWells+import Amazonka.QuickSight.Types.TableVisual+import Amazonka.QuickSight.Types.Tag+import Amazonka.QuickSight.Types.TagColumnOperation+import Amazonka.QuickSight.Types.Template+import Amazonka.QuickSight.Types.TemplateAlias+import Amazonka.QuickSight.Types.TemplateError+import Amazonka.QuickSight.Types.TemplateSourceAnalysis+import Amazonka.QuickSight.Types.TemplateSourceEntity+import Amazonka.QuickSight.Types.TemplateSourceTemplate+import Amazonka.QuickSight.Types.TemplateSummary+import Amazonka.QuickSight.Types.TemplateVersion+import Amazonka.QuickSight.Types.TemplateVersionDefinition+import Amazonka.QuickSight.Types.TemplateVersionSummary+import Amazonka.QuickSight.Types.TeradataParameters+import Amazonka.QuickSight.Types.TextAreaControlDisplayOptions+import Amazonka.QuickSight.Types.TextConditionalFormat+import Amazonka.QuickSight.Types.TextControlPlaceholderOptions+import Amazonka.QuickSight.Types.TextFieldControlDisplayOptions+import Amazonka.QuickSight.Types.Theme+import Amazonka.QuickSight.Types.ThemeAlias+import Amazonka.QuickSight.Types.ThemeConfiguration+import Amazonka.QuickSight.Types.ThemeError+import Amazonka.QuickSight.Types.ThemeSummary+import Amazonka.QuickSight.Types.ThemeVersion+import Amazonka.QuickSight.Types.ThemeVersionSummary+import Amazonka.QuickSight.Types.ThousandSeparatorOptions+import Amazonka.QuickSight.Types.TileLayoutStyle+import Amazonka.QuickSight.Types.TileStyle+import Amazonka.QuickSight.Types.TimeBasedForecastProperties+import Amazonka.QuickSight.Types.TimeEqualityFilter+import Amazonka.QuickSight.Types.TimeRangeDrillDownFilter+import Amazonka.QuickSight.Types.TimeRangeFilter+import Amazonka.QuickSight.Types.TimeRangeFilterValue+import Amazonka.QuickSight.Types.TooltipItem+import Amazonka.QuickSight.Types.TooltipOptions+import Amazonka.QuickSight.Types.TopBottomFilter+import Amazonka.QuickSight.Types.TopBottomMoversComputation+import Amazonka.QuickSight.Types.TopBottomRankedComputation+import Amazonka.QuickSight.Types.TotalAggregationComputation+import Amazonka.QuickSight.Types.TotalOptions+import Amazonka.QuickSight.Types.TransformOperation+import Amazonka.QuickSight.Types.TreeMapAggregatedFieldWells+import Amazonka.QuickSight.Types.TreeMapConfiguration+import Amazonka.QuickSight.Types.TreeMapFieldWells+import Amazonka.QuickSight.Types.TreeMapSortConfiguration+import Amazonka.QuickSight.Types.TreeMapVisual+import Amazonka.QuickSight.Types.TrendArrowOptions+import Amazonka.QuickSight.Types.TwitterParameters+import Amazonka.QuickSight.Types.Typography+import Amazonka.QuickSight.Types.UIColorPalette+import Amazonka.QuickSight.Types.UnaggregatedField+import Amazonka.QuickSight.Types.UniqueValuesComputation+import Amazonka.QuickSight.Types.UntagColumnOperation+import Amazonka.QuickSight.Types.UploadSettings+import Amazonka.QuickSight.Types.User+import Amazonka.QuickSight.Types.VisibleRangeOptions+import Amazonka.QuickSight.Types.Visual+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualCustomActionOperation+import Amazonka.QuickSight.Types.VisualPalette+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions+import Amazonka.QuickSight.Types.VpcConnectionProperties+import Amazonka.QuickSight.Types.WaterfallChartAggregatedFieldWells+import Amazonka.QuickSight.Types.WaterfallChartConfiguration+import Amazonka.QuickSight.Types.WaterfallChartFieldWells+import Amazonka.QuickSight.Types.WaterfallChartOptions+import Amazonka.QuickSight.Types.WaterfallChartSortConfiguration+import Amazonka.QuickSight.Types.WaterfallVisual+import Amazonka.QuickSight.Types.WhatIfPointScenario+import Amazonka.QuickSight.Types.WhatIfRangeScenario+import Amazonka.QuickSight.Types.WordCloudAggregatedFieldWells+import Amazonka.QuickSight.Types.WordCloudChartConfiguration+import Amazonka.QuickSight.Types.WordCloudFieldWells+import Amazonka.QuickSight.Types.WordCloudOptions+import Amazonka.QuickSight.Types.WordCloudSortConfiguration+import Amazonka.QuickSight.Types.WordCloudVisual+import Amazonka.QuickSight.UntagResource+import Amazonka.QuickSight.UpdateAccountCustomization+import Amazonka.QuickSight.UpdateAccountSettings+import Amazonka.QuickSight.UpdateAnalysis+import Amazonka.QuickSight.UpdateAnalysisPermissions+import Amazonka.QuickSight.UpdateDashboard+import Amazonka.QuickSight.UpdateDashboardPermissions+import Amazonka.QuickSight.UpdateDashboardPublishedVersion+import Amazonka.QuickSight.UpdateDataSet+import Amazonka.QuickSight.UpdateDataSetPermissions+import Amazonka.QuickSight.UpdateDataSource+import Amazonka.QuickSight.UpdateDataSourcePermissions+import Amazonka.QuickSight.UpdateFolder+import Amazonka.QuickSight.UpdateFolderPermissions+import Amazonka.QuickSight.UpdateGroup+import Amazonka.QuickSight.UpdateIAMPolicyAssignment+import Amazonka.QuickSight.UpdateIpRestriction+import Amazonka.QuickSight.UpdatePublicSharingSettings+import Amazonka.QuickSight.UpdateTemplate+import Amazonka.QuickSight.UpdateTemplateAlias+import Amazonka.QuickSight.UpdateTemplatePermissions+import Amazonka.QuickSight.UpdateTheme+import Amazonka.QuickSight.UpdateThemeAlias+import Amazonka.QuickSight.UpdateThemePermissions+import Amazonka.QuickSight.UpdateUser
+ gen/Amazonka/QuickSight/ListAnalyses.hs view
@@ -0,0 +1,241 @@+{-# 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.QuickSight.ListAnalyses+-- 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 Amazon QuickSight analyses that exist in the specified Amazon Web+-- Services account.+--+-- This operation returns paginated results.+module Amazonka.QuickSight.ListAnalyses+  ( -- * Creating a Request+    ListAnalyses (..),+    newListAnalyses,++    -- * Request Lenses+    listAnalyses_maxResults,+    listAnalyses_nextToken,+    listAnalyses_awsAccountId,++    -- * Destructuring the Response+    ListAnalysesResponse (..),+    newListAnalysesResponse,++    -- * Response Lenses+    listAnalysesResponse_analysisSummaryList,+    listAnalysesResponse_nextToken,+    listAnalysesResponse_requestId,+    listAnalysesResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAnalyses' smart constructor.+data ListAnalyses = ListAnalyses'+  { -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | A pagination token that can be used in a subsequent request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account that contains the analyses.+    awsAccountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAnalyses' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listAnalyses_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'listAnalyses_nextToken' - A pagination token that can be used in a subsequent request.+--+-- 'awsAccountId', 'listAnalyses_awsAccountId' - The ID of the Amazon Web Services account that contains the analyses.+newListAnalyses ::+  -- | 'awsAccountId'+  Prelude.Text ->+  ListAnalyses+newListAnalyses pAwsAccountId_ =+  ListAnalyses'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_+    }++-- | The maximum number of results to return.+listAnalyses_maxResults :: Lens.Lens' ListAnalyses (Prelude.Maybe Prelude.Natural)+listAnalyses_maxResults = Lens.lens (\ListAnalyses' {maxResults} -> maxResults) (\s@ListAnalyses' {} a -> s {maxResults = a} :: ListAnalyses)++-- | A pagination token that can be used in a subsequent request.+listAnalyses_nextToken :: Lens.Lens' ListAnalyses (Prelude.Maybe Prelude.Text)+listAnalyses_nextToken = Lens.lens (\ListAnalyses' {nextToken} -> nextToken) (\s@ListAnalyses' {} a -> s {nextToken = a} :: ListAnalyses)++-- | The ID of the Amazon Web Services account that contains the analyses.+listAnalyses_awsAccountId :: Lens.Lens' ListAnalyses Prelude.Text+listAnalyses_awsAccountId = Lens.lens (\ListAnalyses' {awsAccountId} -> awsAccountId) (\s@ListAnalyses' {} a -> s {awsAccountId = a} :: ListAnalyses)++instance Core.AWSPager ListAnalyses where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listAnalysesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listAnalysesResponse_analysisSummaryList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listAnalyses_nextToken+          Lens..~ rs+          Lens.^? listAnalysesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListAnalyses where+  type AWSResponse ListAnalyses = ListAnalysesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAnalysesResponse'+            Prelude.<$> ( x+                            Data..?> "AnalysisSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListAnalyses where+  hashWithSalt _salt ListAnalyses' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId++instance Prelude.NFData ListAnalyses where+  rnf ListAnalyses' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId++instance Data.ToHeaders ListAnalyses where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListAnalyses where+  toPath ListAnalyses' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS awsAccountId, "/analyses"]++instance Data.ToQuery ListAnalyses where+  toQuery ListAnalyses' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListAnalysesResponse' smart constructor.+data ListAnalysesResponse = ListAnalysesResponse'+  { -- | Metadata describing each of the analyses that are listed.+    analysisSummaryList :: Prelude.Maybe [AnalysisSummary],+    -- | A pagination token that can be used in a subsequent request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAnalysesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analysisSummaryList', 'listAnalysesResponse_analysisSummaryList' - Metadata describing each of the analyses that are listed.+--+-- 'nextToken', 'listAnalysesResponse_nextToken' - A pagination token that can be used in a subsequent request.+--+-- 'requestId', 'listAnalysesResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'listAnalysesResponse_status' - The HTTP status of the request.+newListAnalysesResponse ::+  -- | 'status'+  Prelude.Int ->+  ListAnalysesResponse+newListAnalysesResponse pStatus_ =+  ListAnalysesResponse'+    { analysisSummaryList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | Metadata describing each of the analyses that are listed.+listAnalysesResponse_analysisSummaryList :: Lens.Lens' ListAnalysesResponse (Prelude.Maybe [AnalysisSummary])+listAnalysesResponse_analysisSummaryList = Lens.lens (\ListAnalysesResponse' {analysisSummaryList} -> analysisSummaryList) (\s@ListAnalysesResponse' {} a -> s {analysisSummaryList = a} :: ListAnalysesResponse) Prelude.. Lens.mapping Lens.coerced++-- | A pagination token that can be used in a subsequent request.+listAnalysesResponse_nextToken :: Lens.Lens' ListAnalysesResponse (Prelude.Maybe Prelude.Text)+listAnalysesResponse_nextToken = Lens.lens (\ListAnalysesResponse' {nextToken} -> nextToken) (\s@ListAnalysesResponse' {} a -> s {nextToken = a} :: ListAnalysesResponse)++-- | The Amazon Web Services request ID for this operation.+listAnalysesResponse_requestId :: Lens.Lens' ListAnalysesResponse (Prelude.Maybe Prelude.Text)+listAnalysesResponse_requestId = Lens.lens (\ListAnalysesResponse' {requestId} -> requestId) (\s@ListAnalysesResponse' {} a -> s {requestId = a} :: ListAnalysesResponse)++-- | The HTTP status of the request.+listAnalysesResponse_status :: Lens.Lens' ListAnalysesResponse Prelude.Int+listAnalysesResponse_status = Lens.lens (\ListAnalysesResponse' {status} -> status) (\s@ListAnalysesResponse' {} a -> s {status = a} :: ListAnalysesResponse)++instance Prelude.NFData ListAnalysesResponse where+  rnf ListAnalysesResponse' {..} =+    Prelude.rnf analysisSummaryList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListDashboardVersions.hs view
@@ -0,0 +1,275 @@+{-# 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.QuickSight.ListDashboardVersions+-- 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 versions of the dashboards in the Amazon QuickSight+-- subscription.+--+-- This operation returns paginated results.+module Amazonka.QuickSight.ListDashboardVersions+  ( -- * Creating a Request+    ListDashboardVersions (..),+    newListDashboardVersions,++    -- * Request Lenses+    listDashboardVersions_maxResults,+    listDashboardVersions_nextToken,+    listDashboardVersions_awsAccountId,+    listDashboardVersions_dashboardId,++    -- * Destructuring the Response+    ListDashboardVersionsResponse (..),+    newListDashboardVersionsResponse,++    -- * Response Lenses+    listDashboardVersionsResponse_dashboardVersionSummaryList,+    listDashboardVersionsResponse_nextToken,+    listDashboardVersionsResponse_requestId,+    listDashboardVersionsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDashboardVersions' smart constructor.+data ListDashboardVersions = ListDashboardVersions'+  { -- | The maximum number of results to be returned per request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account that contains the dashboard+    -- that you\'re listing versions for.+    awsAccountId :: Prelude.Text,+    -- | The ID for the dashboard.+    dashboardId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDashboardVersions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listDashboardVersions_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listDashboardVersions_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'awsAccountId', 'listDashboardVersions_awsAccountId' - The ID of the Amazon Web Services account that contains the dashboard+-- that you\'re listing versions for.+--+-- 'dashboardId', 'listDashboardVersions_dashboardId' - The ID for the dashboard.+newListDashboardVersions ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dashboardId'+  Prelude.Text ->+  ListDashboardVersions+newListDashboardVersions pAwsAccountId_ pDashboardId_ =+  ListDashboardVersions'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      dashboardId = pDashboardId_+    }++-- | The maximum number of results to be returned per request.+listDashboardVersions_maxResults :: Lens.Lens' ListDashboardVersions (Prelude.Maybe Prelude.Natural)+listDashboardVersions_maxResults = Lens.lens (\ListDashboardVersions' {maxResults} -> maxResults) (\s@ListDashboardVersions' {} a -> s {maxResults = a} :: ListDashboardVersions)++-- | The token for the next set of results, or null if there are no more+-- results.+listDashboardVersions_nextToken :: Lens.Lens' ListDashboardVersions (Prelude.Maybe Prelude.Text)+listDashboardVersions_nextToken = Lens.lens (\ListDashboardVersions' {nextToken} -> nextToken) (\s@ListDashboardVersions' {} a -> s {nextToken = a} :: ListDashboardVersions)++-- | The ID of the Amazon Web Services account that contains the dashboard+-- that you\'re listing versions for.+listDashboardVersions_awsAccountId :: Lens.Lens' ListDashboardVersions Prelude.Text+listDashboardVersions_awsAccountId = Lens.lens (\ListDashboardVersions' {awsAccountId} -> awsAccountId) (\s@ListDashboardVersions' {} a -> s {awsAccountId = a} :: ListDashboardVersions)++-- | The ID for the dashboard.+listDashboardVersions_dashboardId :: Lens.Lens' ListDashboardVersions Prelude.Text+listDashboardVersions_dashboardId = Lens.lens (\ListDashboardVersions' {dashboardId} -> dashboardId) (\s@ListDashboardVersions' {} a -> s {dashboardId = a} :: ListDashboardVersions)++instance Core.AWSPager ListDashboardVersions where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listDashboardVersionsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listDashboardVersionsResponse_dashboardVersionSummaryList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listDashboardVersions_nextToken+          Lens..~ rs+          Lens.^? listDashboardVersionsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListDashboardVersions where+  type+    AWSResponse ListDashboardVersions =+      ListDashboardVersionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListDashboardVersionsResponse'+            Prelude.<$> ( x+                            Data..?> "DashboardVersionSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListDashboardVersions where+  hashWithSalt _salt ListDashboardVersions' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dashboardId++instance Prelude.NFData ListDashboardVersions where+  rnf ListDashboardVersions' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dashboardId++instance Data.ToHeaders ListDashboardVersions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListDashboardVersions where+  toPath ListDashboardVersions' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/dashboards/",+        Data.toBS dashboardId,+        "/versions"+      ]++instance Data.ToQuery ListDashboardVersions where+  toQuery ListDashboardVersions' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListDashboardVersionsResponse' smart constructor.+data ListDashboardVersionsResponse = ListDashboardVersionsResponse'+  { -- | A structure that contains information about each version of the+    -- dashboard.+    dashboardVersionSummaryList :: Prelude.Maybe [DashboardVersionSummary],+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDashboardVersionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dashboardVersionSummaryList', 'listDashboardVersionsResponse_dashboardVersionSummaryList' - A structure that contains information about each version of the+-- dashboard.+--+-- 'nextToken', 'listDashboardVersionsResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'requestId', 'listDashboardVersionsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'listDashboardVersionsResponse_status' - The HTTP status of the request.+newListDashboardVersionsResponse ::+  -- | 'status'+  Prelude.Int ->+  ListDashboardVersionsResponse+newListDashboardVersionsResponse pStatus_ =+  ListDashboardVersionsResponse'+    { dashboardVersionSummaryList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | A structure that contains information about each version of the+-- dashboard.+listDashboardVersionsResponse_dashboardVersionSummaryList :: Lens.Lens' ListDashboardVersionsResponse (Prelude.Maybe [DashboardVersionSummary])+listDashboardVersionsResponse_dashboardVersionSummaryList = Lens.lens (\ListDashboardVersionsResponse' {dashboardVersionSummaryList} -> dashboardVersionSummaryList) (\s@ListDashboardVersionsResponse' {} a -> s {dashboardVersionSummaryList = a} :: ListDashboardVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results, or null if there are no more+-- results.+listDashboardVersionsResponse_nextToken :: Lens.Lens' ListDashboardVersionsResponse (Prelude.Maybe Prelude.Text)+listDashboardVersionsResponse_nextToken = Lens.lens (\ListDashboardVersionsResponse' {nextToken} -> nextToken) (\s@ListDashboardVersionsResponse' {} a -> s {nextToken = a} :: ListDashboardVersionsResponse)++-- | The Amazon Web Services request ID for this operation.+listDashboardVersionsResponse_requestId :: Lens.Lens' ListDashboardVersionsResponse (Prelude.Maybe Prelude.Text)+listDashboardVersionsResponse_requestId = Lens.lens (\ListDashboardVersionsResponse' {requestId} -> requestId) (\s@ListDashboardVersionsResponse' {} a -> s {requestId = a} :: ListDashboardVersionsResponse)++-- | The HTTP status of the request.+listDashboardVersionsResponse_status :: Lens.Lens' ListDashboardVersionsResponse Prelude.Int+listDashboardVersionsResponse_status = Lens.lens (\ListDashboardVersionsResponse' {status} -> status) (\s@ListDashboardVersionsResponse' {} a -> s {status = a} :: ListDashboardVersionsResponse)++instance Prelude.NFData ListDashboardVersionsResponse where+  rnf ListDashboardVersionsResponse' {..} =+    Prelude.rnf dashboardVersionSummaryList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListDashboards.hs view
@@ -0,0 +1,257 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.ListDashboards+-- 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 dashboards in an Amazon Web Services account.+--+-- This operation returns paginated results.+module Amazonka.QuickSight.ListDashboards+  ( -- * Creating a Request+    ListDashboards (..),+    newListDashboards,++    -- * Request Lenses+    listDashboards_maxResults,+    listDashboards_nextToken,+    listDashboards_awsAccountId,++    -- * Destructuring the Response+    ListDashboardsResponse (..),+    newListDashboardsResponse,++    -- * Response Lenses+    listDashboardsResponse_dashboardSummaryList,+    listDashboardsResponse_nextToken,+    listDashboardsResponse_requestId,+    listDashboardsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDashboards' smart constructor.+data ListDashboards = ListDashboards'+  { -- | The maximum number of results to be returned per request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account that contains the dashboards+    -- that you\'re listing.+    awsAccountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDashboards' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listDashboards_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listDashboards_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'awsAccountId', 'listDashboards_awsAccountId' - The ID of the Amazon Web Services account that contains the dashboards+-- that you\'re listing.+newListDashboards ::+  -- | 'awsAccountId'+  Prelude.Text ->+  ListDashboards+newListDashboards pAwsAccountId_ =+  ListDashboards'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_+    }++-- | The maximum number of results to be returned per request.+listDashboards_maxResults :: Lens.Lens' ListDashboards (Prelude.Maybe Prelude.Natural)+listDashboards_maxResults = Lens.lens (\ListDashboards' {maxResults} -> maxResults) (\s@ListDashboards' {} a -> s {maxResults = a} :: ListDashboards)++-- | The token for the next set of results, or null if there are no more+-- results.+listDashboards_nextToken :: Lens.Lens' ListDashboards (Prelude.Maybe Prelude.Text)+listDashboards_nextToken = Lens.lens (\ListDashboards' {nextToken} -> nextToken) (\s@ListDashboards' {} a -> s {nextToken = a} :: ListDashboards)++-- | The ID of the Amazon Web Services account that contains the dashboards+-- that you\'re listing.+listDashboards_awsAccountId :: Lens.Lens' ListDashboards Prelude.Text+listDashboards_awsAccountId = Lens.lens (\ListDashboards' {awsAccountId} -> awsAccountId) (\s@ListDashboards' {} a -> s {awsAccountId = a} :: ListDashboards)++instance Core.AWSPager ListDashboards where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listDashboardsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listDashboardsResponse_dashboardSummaryList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listDashboards_nextToken+          Lens..~ rs+          Lens.^? listDashboardsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListDashboards where+  type+    AWSResponse ListDashboards =+      ListDashboardsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListDashboardsResponse'+            Prelude.<$> ( x+                            Data..?> "DashboardSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListDashboards where+  hashWithSalt _salt ListDashboards' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId++instance Prelude.NFData ListDashboards where+  rnf ListDashboards' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId++instance Data.ToHeaders ListDashboards where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListDashboards where+  toPath ListDashboards' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS awsAccountId, "/dashboards"]++instance Data.ToQuery ListDashboards where+  toQuery ListDashboards' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListDashboardsResponse' smart constructor.+data ListDashboardsResponse = ListDashboardsResponse'+  { -- | A structure that contains all of the dashboards in your Amazon Web+    -- Services account. This structure provides basic information about the+    -- dashboards.+    dashboardSummaryList :: Prelude.Maybe [DashboardSummary],+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDashboardsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dashboardSummaryList', 'listDashboardsResponse_dashboardSummaryList' - A structure that contains all of the dashboards in your Amazon Web+-- Services account. This structure provides basic information about the+-- dashboards.+--+-- 'nextToken', 'listDashboardsResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'requestId', 'listDashboardsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'listDashboardsResponse_status' - The HTTP status of the request.+newListDashboardsResponse ::+  -- | 'status'+  Prelude.Int ->+  ListDashboardsResponse+newListDashboardsResponse pStatus_ =+  ListDashboardsResponse'+    { dashboardSummaryList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | A structure that contains all of the dashboards in your Amazon Web+-- Services account. This structure provides basic information about the+-- dashboards.+listDashboardsResponse_dashboardSummaryList :: Lens.Lens' ListDashboardsResponse (Prelude.Maybe [DashboardSummary])+listDashboardsResponse_dashboardSummaryList = Lens.lens (\ListDashboardsResponse' {dashboardSummaryList} -> dashboardSummaryList) (\s@ListDashboardsResponse' {} a -> s {dashboardSummaryList = a} :: ListDashboardsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results, or null if there are no more+-- results.+listDashboardsResponse_nextToken :: Lens.Lens' ListDashboardsResponse (Prelude.Maybe Prelude.Text)+listDashboardsResponse_nextToken = Lens.lens (\ListDashboardsResponse' {nextToken} -> nextToken) (\s@ListDashboardsResponse' {} a -> s {nextToken = a} :: ListDashboardsResponse)++-- | The Amazon Web Services request ID for this operation.+listDashboardsResponse_requestId :: Lens.Lens' ListDashboardsResponse (Prelude.Maybe Prelude.Text)+listDashboardsResponse_requestId = Lens.lens (\ListDashboardsResponse' {requestId} -> requestId) (\s@ListDashboardsResponse' {} a -> s {requestId = a} :: ListDashboardsResponse)++-- | The HTTP status of the request.+listDashboardsResponse_status :: Lens.Lens' ListDashboardsResponse Prelude.Int+listDashboardsResponse_status = Lens.lens (\ListDashboardsResponse' {status} -> status) (\s@ListDashboardsResponse' {} a -> s {status = a} :: ListDashboardsResponse)++instance Prelude.NFData ListDashboardsResponse where+  rnf ListDashboardsResponse' {..} =+    Prelude.rnf dashboardSummaryList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListDataSets.hs view
@@ -0,0 +1,250 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.ListDataSets+-- 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 of the datasets belonging to the current Amazon Web Services+-- account in an Amazon Web Services Region.+--+-- The permissions resource is+-- @arn:aws:quicksight:region:aws-account-id:dataset\/*@.+--+-- This operation returns paginated results.+module Amazonka.QuickSight.ListDataSets+  ( -- * Creating a Request+    ListDataSets (..),+    newListDataSets,++    -- * Request Lenses+    listDataSets_maxResults,+    listDataSets_nextToken,+    listDataSets_awsAccountId,++    -- * Destructuring the Response+    ListDataSetsResponse (..),+    newListDataSetsResponse,++    -- * Response Lenses+    listDataSetsResponse_dataSetSummaries,+    listDataSetsResponse_nextToken,+    listDataSetsResponse_requestId,+    listDataSetsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDataSets' smart constructor.+data ListDataSets = ListDataSets'+  { -- | The maximum number of results to be returned per request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDataSets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listDataSets_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listDataSets_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'awsAccountId', 'listDataSets_awsAccountId' - The Amazon Web Services account ID.+newListDataSets ::+  -- | 'awsAccountId'+  Prelude.Text ->+  ListDataSets+newListDataSets pAwsAccountId_ =+  ListDataSets'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_+    }++-- | The maximum number of results to be returned per request.+listDataSets_maxResults :: Lens.Lens' ListDataSets (Prelude.Maybe Prelude.Natural)+listDataSets_maxResults = Lens.lens (\ListDataSets' {maxResults} -> maxResults) (\s@ListDataSets' {} a -> s {maxResults = a} :: ListDataSets)++-- | The token for the next set of results, or null if there are no more+-- results.+listDataSets_nextToken :: Lens.Lens' ListDataSets (Prelude.Maybe Prelude.Text)+listDataSets_nextToken = Lens.lens (\ListDataSets' {nextToken} -> nextToken) (\s@ListDataSets' {} a -> s {nextToken = a} :: ListDataSets)++-- | The Amazon Web Services account ID.+listDataSets_awsAccountId :: Lens.Lens' ListDataSets Prelude.Text+listDataSets_awsAccountId = Lens.lens (\ListDataSets' {awsAccountId} -> awsAccountId) (\s@ListDataSets' {} a -> s {awsAccountId = a} :: ListDataSets)++instance Core.AWSPager ListDataSets where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listDataSetsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listDataSetsResponse_dataSetSummaries+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listDataSets_nextToken+          Lens..~ rs+          Lens.^? listDataSetsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListDataSets where+  type AWSResponse ListDataSets = ListDataSetsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListDataSetsResponse'+            Prelude.<$> ( x+                            Data..?> "DataSetSummaries"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListDataSets where+  hashWithSalt _salt ListDataSets' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId++instance Prelude.NFData ListDataSets where+  rnf ListDataSets' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId++instance Data.ToHeaders ListDataSets where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListDataSets where+  toPath ListDataSets' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS awsAccountId, "/data-sets"]++instance Data.ToQuery ListDataSets where+  toQuery ListDataSets' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListDataSetsResponse' smart constructor.+data ListDataSetsResponse = ListDataSetsResponse'+  { -- | The list of dataset summaries.+    dataSetSummaries :: Prelude.Maybe [DataSetSummary],+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDataSetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSetSummaries', 'listDataSetsResponse_dataSetSummaries' - The list of dataset summaries.+--+-- 'nextToken', 'listDataSetsResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'requestId', 'listDataSetsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'listDataSetsResponse_status' - The HTTP status of the request.+newListDataSetsResponse ::+  -- | 'status'+  Prelude.Int ->+  ListDataSetsResponse+newListDataSetsResponse pStatus_ =+  ListDataSetsResponse'+    { dataSetSummaries =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The list of dataset summaries.+listDataSetsResponse_dataSetSummaries :: Lens.Lens' ListDataSetsResponse (Prelude.Maybe [DataSetSummary])+listDataSetsResponse_dataSetSummaries = Lens.lens (\ListDataSetsResponse' {dataSetSummaries} -> dataSetSummaries) (\s@ListDataSetsResponse' {} a -> s {dataSetSummaries = a} :: ListDataSetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results, or null if there are no more+-- results.+listDataSetsResponse_nextToken :: Lens.Lens' ListDataSetsResponse (Prelude.Maybe Prelude.Text)+listDataSetsResponse_nextToken = Lens.lens (\ListDataSetsResponse' {nextToken} -> nextToken) (\s@ListDataSetsResponse' {} a -> s {nextToken = a} :: ListDataSetsResponse)++-- | The Amazon Web Services request ID for this operation.+listDataSetsResponse_requestId :: Lens.Lens' ListDataSetsResponse (Prelude.Maybe Prelude.Text)+listDataSetsResponse_requestId = Lens.lens (\ListDataSetsResponse' {requestId} -> requestId) (\s@ListDataSetsResponse' {} a -> s {requestId = a} :: ListDataSetsResponse)++-- | The HTTP status of the request.+listDataSetsResponse_status :: Lens.Lens' ListDataSetsResponse Prelude.Int+listDataSetsResponse_status = Lens.lens (\ListDataSetsResponse' {status} -> status) (\s@ListDataSetsResponse' {} a -> s {status = a} :: ListDataSetsResponse)++instance Prelude.NFData ListDataSetsResponse where+  rnf ListDataSetsResponse' {..} =+    Prelude.rnf dataSetSummaries+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListDataSources.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.QuickSight.ListDataSources+-- 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 data sources in current Amazon Web Services Region that belong to+-- this Amazon Web Services account.+--+-- This operation returns paginated results.+module Amazonka.QuickSight.ListDataSources+  ( -- * Creating a Request+    ListDataSources (..),+    newListDataSources,++    -- * Request Lenses+    listDataSources_maxResults,+    listDataSources_nextToken,+    listDataSources_awsAccountId,++    -- * Destructuring the Response+    ListDataSourcesResponse (..),+    newListDataSourcesResponse,++    -- * Response Lenses+    listDataSourcesResponse_dataSources,+    listDataSourcesResponse_nextToken,+    listDataSourcesResponse_requestId,+    listDataSourcesResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDataSources' smart constructor.+data ListDataSources = ListDataSources'+  { -- | The maximum number of results to be returned per request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDataSources' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listDataSources_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listDataSources_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'awsAccountId', 'listDataSources_awsAccountId' - The Amazon Web Services account ID.+newListDataSources ::+  -- | 'awsAccountId'+  Prelude.Text ->+  ListDataSources+newListDataSources pAwsAccountId_ =+  ListDataSources'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_+    }++-- | The maximum number of results to be returned per request.+listDataSources_maxResults :: Lens.Lens' ListDataSources (Prelude.Maybe Prelude.Natural)+listDataSources_maxResults = Lens.lens (\ListDataSources' {maxResults} -> maxResults) (\s@ListDataSources' {} a -> s {maxResults = a} :: ListDataSources)++-- | The token for the next set of results, or null if there are no more+-- results.+listDataSources_nextToken :: Lens.Lens' ListDataSources (Prelude.Maybe Prelude.Text)+listDataSources_nextToken = Lens.lens (\ListDataSources' {nextToken} -> nextToken) (\s@ListDataSources' {} a -> s {nextToken = a} :: ListDataSources)++-- | The Amazon Web Services account ID.+listDataSources_awsAccountId :: Lens.Lens' ListDataSources Prelude.Text+listDataSources_awsAccountId = Lens.lens (\ListDataSources' {awsAccountId} -> awsAccountId) (\s@ListDataSources' {} a -> s {awsAccountId = a} :: ListDataSources)++instance Core.AWSPager ListDataSources where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listDataSourcesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listDataSourcesResponse_dataSources+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listDataSources_nextToken+          Lens..~ rs+          Lens.^? listDataSourcesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListDataSources where+  type+    AWSResponse ListDataSources =+      ListDataSourcesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListDataSourcesResponse'+            Prelude.<$> (x Data..?> "DataSources" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListDataSources where+  hashWithSalt _salt ListDataSources' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId++instance Prelude.NFData ListDataSources where+  rnf ListDataSources' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId++instance Data.ToHeaders ListDataSources where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListDataSources where+  toPath ListDataSources' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/data-sources"+      ]++instance Data.ToQuery ListDataSources where+  toQuery ListDataSources' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListDataSourcesResponse' smart constructor.+data ListDataSourcesResponse = ListDataSourcesResponse'+  { -- | A list of data sources.+    dataSources :: Prelude.Maybe [DataSource],+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDataSourcesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSources', 'listDataSourcesResponse_dataSources' - A list of data sources.+--+-- 'nextToken', 'listDataSourcesResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'requestId', 'listDataSourcesResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'listDataSourcesResponse_status' - The HTTP status of the request.+newListDataSourcesResponse ::+  -- | 'status'+  Prelude.Int ->+  ListDataSourcesResponse+newListDataSourcesResponse pStatus_ =+  ListDataSourcesResponse'+    { dataSources =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | A list of data sources.+listDataSourcesResponse_dataSources :: Lens.Lens' ListDataSourcesResponse (Prelude.Maybe [DataSource])+listDataSourcesResponse_dataSources = Lens.lens (\ListDataSourcesResponse' {dataSources} -> dataSources) (\s@ListDataSourcesResponse' {} a -> s {dataSources = a} :: ListDataSourcesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results, or null if there are no more+-- results.+listDataSourcesResponse_nextToken :: Lens.Lens' ListDataSourcesResponse (Prelude.Maybe Prelude.Text)+listDataSourcesResponse_nextToken = Lens.lens (\ListDataSourcesResponse' {nextToken} -> nextToken) (\s@ListDataSourcesResponse' {} a -> s {nextToken = a} :: ListDataSourcesResponse)++-- | The Amazon Web Services request ID for this operation.+listDataSourcesResponse_requestId :: Lens.Lens' ListDataSourcesResponse (Prelude.Maybe Prelude.Text)+listDataSourcesResponse_requestId = Lens.lens (\ListDataSourcesResponse' {requestId} -> requestId) (\s@ListDataSourcesResponse' {} a -> s {requestId = a} :: ListDataSourcesResponse)++-- | The HTTP status of the request.+listDataSourcesResponse_status :: Lens.Lens' ListDataSourcesResponse Prelude.Int+listDataSourcesResponse_status = Lens.lens (\ListDataSourcesResponse' {status} -> status) (\s@ListDataSourcesResponse' {} a -> s {status = a} :: ListDataSourcesResponse)++instance Prelude.NFData ListDataSourcesResponse where+  rnf ListDataSourcesResponse' {..} =+    Prelude.rnf dataSources+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListFolderMembers.hs view
@@ -0,0 +1,246 @@+{-# 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.QuickSight.ListFolderMembers+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List all assets (@DASHBOARD@, @ANALYSIS@, and @DATASET@) in a folder.+module Amazonka.QuickSight.ListFolderMembers+  ( -- * Creating a Request+    ListFolderMembers (..),+    newListFolderMembers,++    -- * Request Lenses+    listFolderMembers_maxResults,+    listFolderMembers_nextToken,+    listFolderMembers_awsAccountId,+    listFolderMembers_folderId,++    -- * Destructuring the Response+    ListFolderMembersResponse (..),+    newListFolderMembersResponse,++    -- * Response Lenses+    listFolderMembersResponse_folderMemberList,+    listFolderMembersResponse_nextToken,+    listFolderMembersResponse_requestId,+    listFolderMembersResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListFolderMembers' smart constructor.+data ListFolderMembers = ListFolderMembers'+  { -- | The maximum number of results to be returned per request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID for the Amazon Web Services account that contains the folder.+    awsAccountId :: Prelude.Text,+    -- | The ID of the folder.+    folderId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFolderMembers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listFolderMembers_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listFolderMembers_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'awsAccountId', 'listFolderMembers_awsAccountId' - The ID for the Amazon Web Services account that contains the folder.+--+-- 'folderId', 'listFolderMembers_folderId' - The ID of the folder.+newListFolderMembers ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'folderId'+  Prelude.Text ->+  ListFolderMembers+newListFolderMembers pAwsAccountId_ pFolderId_ =+  ListFolderMembers'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      folderId = pFolderId_+    }++-- | The maximum number of results to be returned per request.+listFolderMembers_maxResults :: Lens.Lens' ListFolderMembers (Prelude.Maybe Prelude.Natural)+listFolderMembers_maxResults = Lens.lens (\ListFolderMembers' {maxResults} -> maxResults) (\s@ListFolderMembers' {} a -> s {maxResults = a} :: ListFolderMembers)++-- | The token for the next set of results, or null if there are no more+-- results.+listFolderMembers_nextToken :: Lens.Lens' ListFolderMembers (Prelude.Maybe Prelude.Text)+listFolderMembers_nextToken = Lens.lens (\ListFolderMembers' {nextToken} -> nextToken) (\s@ListFolderMembers' {} a -> s {nextToken = a} :: ListFolderMembers)++-- | The ID for the Amazon Web Services account that contains the folder.+listFolderMembers_awsAccountId :: Lens.Lens' ListFolderMembers Prelude.Text+listFolderMembers_awsAccountId = Lens.lens (\ListFolderMembers' {awsAccountId} -> awsAccountId) (\s@ListFolderMembers' {} a -> s {awsAccountId = a} :: ListFolderMembers)++-- | The ID of the folder.+listFolderMembers_folderId :: Lens.Lens' ListFolderMembers Prelude.Text+listFolderMembers_folderId = Lens.lens (\ListFolderMembers' {folderId} -> folderId) (\s@ListFolderMembers' {} a -> s {folderId = a} :: ListFolderMembers)++instance Core.AWSRequest ListFolderMembers where+  type+    AWSResponse ListFolderMembers =+      ListFolderMembersResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListFolderMembersResponse'+            Prelude.<$> ( x+                            Data..?> "FolderMemberList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListFolderMembers where+  hashWithSalt _salt ListFolderMembers' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` folderId++instance Prelude.NFData ListFolderMembers where+  rnf ListFolderMembers' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf folderId++instance Data.ToHeaders ListFolderMembers where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListFolderMembers where+  toPath ListFolderMembers' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/folders/",+        Data.toBS folderId,+        "/members"+      ]++instance Data.ToQuery ListFolderMembers where+  toQuery ListFolderMembers' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListFolderMembersResponse' smart constructor.+data ListFolderMembersResponse = ListFolderMembersResponse'+  { -- | A structure that contains all of the folder members (dashboards,+    -- analyses, and datasets) in the folder.+    folderMemberList :: Prelude.Maybe [MemberIdArnPair],+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFolderMembersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'folderMemberList', 'listFolderMembersResponse_folderMemberList' - A structure that contains all of the folder members (dashboards,+-- analyses, and datasets) in the folder.+--+-- 'nextToken', 'listFolderMembersResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'requestId', 'listFolderMembersResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'listFolderMembersResponse_status' - The HTTP status of the request.+newListFolderMembersResponse ::+  -- | 'status'+  Prelude.Int ->+  ListFolderMembersResponse+newListFolderMembersResponse pStatus_ =+  ListFolderMembersResponse'+    { folderMemberList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | A structure that contains all of the folder members (dashboards,+-- analyses, and datasets) in the folder.+listFolderMembersResponse_folderMemberList :: Lens.Lens' ListFolderMembersResponse (Prelude.Maybe [MemberIdArnPair])+listFolderMembersResponse_folderMemberList = Lens.lens (\ListFolderMembersResponse' {folderMemberList} -> folderMemberList) (\s@ListFolderMembersResponse' {} a -> s {folderMemberList = a} :: ListFolderMembersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results, or null if there are no more+-- results.+listFolderMembersResponse_nextToken :: Lens.Lens' ListFolderMembersResponse (Prelude.Maybe Prelude.Text)+listFolderMembersResponse_nextToken = Lens.lens (\ListFolderMembersResponse' {nextToken} -> nextToken) (\s@ListFolderMembersResponse' {} a -> s {nextToken = a} :: ListFolderMembersResponse)++-- | The Amazon Web Services request ID for this operation.+listFolderMembersResponse_requestId :: Lens.Lens' ListFolderMembersResponse (Prelude.Maybe Prelude.Text)+listFolderMembersResponse_requestId = Lens.lens (\ListFolderMembersResponse' {requestId} -> requestId) (\s@ListFolderMembersResponse' {} a -> s {requestId = a} :: ListFolderMembersResponse)++-- | The HTTP status of the request.+listFolderMembersResponse_status :: Lens.Lens' ListFolderMembersResponse Prelude.Int+listFolderMembersResponse_status = Lens.lens (\ListFolderMembersResponse' {status} -> status) (\s@ListFolderMembersResponse' {} a -> s {status = a} :: ListFolderMembersResponse)++instance Prelude.NFData ListFolderMembersResponse where+  rnf ListFolderMembersResponse' {..} =+    Prelude.rnf folderMemberList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListFolders.hs view
@@ -0,0 +1,225 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.ListFolders+-- 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 folders in an account.+module Amazonka.QuickSight.ListFolders+  ( -- * Creating a Request+    ListFolders (..),+    newListFolders,++    -- * Request Lenses+    listFolders_maxResults,+    listFolders_nextToken,+    listFolders_awsAccountId,++    -- * Destructuring the Response+    ListFoldersResponse (..),+    newListFoldersResponse,++    -- * Response Lenses+    listFoldersResponse_folderSummaryList,+    listFoldersResponse_nextToken,+    listFoldersResponse_requestId,+    listFoldersResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListFolders' smart constructor.+data ListFolders = ListFolders'+  { -- | The maximum number of results to be returned per request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID for the Amazon Web Services account that contains the folder.+    awsAccountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFolders' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listFolders_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listFolders_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'awsAccountId', 'listFolders_awsAccountId' - The ID for the Amazon Web Services account that contains the folder.+newListFolders ::+  -- | 'awsAccountId'+  Prelude.Text ->+  ListFolders+newListFolders pAwsAccountId_ =+  ListFolders'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_+    }++-- | The maximum number of results to be returned per request.+listFolders_maxResults :: Lens.Lens' ListFolders (Prelude.Maybe Prelude.Natural)+listFolders_maxResults = Lens.lens (\ListFolders' {maxResults} -> maxResults) (\s@ListFolders' {} a -> s {maxResults = a} :: ListFolders)++-- | The token for the next set of results, or null if there are no more+-- results.+listFolders_nextToken :: Lens.Lens' ListFolders (Prelude.Maybe Prelude.Text)+listFolders_nextToken = Lens.lens (\ListFolders' {nextToken} -> nextToken) (\s@ListFolders' {} a -> s {nextToken = a} :: ListFolders)++-- | The ID for the Amazon Web Services account that contains the folder.+listFolders_awsAccountId :: Lens.Lens' ListFolders Prelude.Text+listFolders_awsAccountId = Lens.lens (\ListFolders' {awsAccountId} -> awsAccountId) (\s@ListFolders' {} a -> s {awsAccountId = a} :: ListFolders)++instance Core.AWSRequest ListFolders where+  type AWSResponse ListFolders = ListFoldersResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListFoldersResponse'+            Prelude.<$> ( x+                            Data..?> "FolderSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListFolders where+  hashWithSalt _salt ListFolders' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId++instance Prelude.NFData ListFolders where+  rnf ListFolders' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId++instance Data.ToHeaders ListFolders where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListFolders where+  toPath ListFolders' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS awsAccountId, "/folders"]++instance Data.ToQuery ListFolders where+  toQuery ListFolders' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListFoldersResponse' smart constructor.+data ListFoldersResponse = ListFoldersResponse'+  { -- | A structure that contains all of the folders in the Amazon Web Services+    -- account. This structure provides basic information about the folders.+    folderSummaryList :: Prelude.Maybe [FolderSummary],+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFoldersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'folderSummaryList', 'listFoldersResponse_folderSummaryList' - A structure that contains all of the folders in the Amazon Web Services+-- account. This structure provides basic information about the folders.+--+-- 'nextToken', 'listFoldersResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'requestId', 'listFoldersResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'listFoldersResponse_status' - The HTTP status of the request.+newListFoldersResponse ::+  -- | 'status'+  Prelude.Int ->+  ListFoldersResponse+newListFoldersResponse pStatus_ =+  ListFoldersResponse'+    { folderSummaryList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | A structure that contains all of the folders in the Amazon Web Services+-- account. This structure provides basic information about the folders.+listFoldersResponse_folderSummaryList :: Lens.Lens' ListFoldersResponse (Prelude.Maybe [FolderSummary])+listFoldersResponse_folderSummaryList = Lens.lens (\ListFoldersResponse' {folderSummaryList} -> folderSummaryList) (\s@ListFoldersResponse' {} a -> s {folderSummaryList = a} :: ListFoldersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results, or null if there are no more+-- results.+listFoldersResponse_nextToken :: Lens.Lens' ListFoldersResponse (Prelude.Maybe Prelude.Text)+listFoldersResponse_nextToken = Lens.lens (\ListFoldersResponse' {nextToken} -> nextToken) (\s@ListFoldersResponse' {} a -> s {nextToken = a} :: ListFoldersResponse)++-- | The Amazon Web Services request ID for this operation.+listFoldersResponse_requestId :: Lens.Lens' ListFoldersResponse (Prelude.Maybe Prelude.Text)+listFoldersResponse_requestId = Lens.lens (\ListFoldersResponse' {requestId} -> requestId) (\s@ListFoldersResponse' {} a -> s {requestId = a} :: ListFoldersResponse)++-- | The HTTP status of the request.+listFoldersResponse_status :: Lens.Lens' ListFoldersResponse Prelude.Int+listFoldersResponse_status = Lens.lens (\ListFoldersResponse' {status} -> status) (\s@ListFoldersResponse' {} a -> s {status = a} :: ListFoldersResponse)++instance Prelude.NFData ListFoldersResponse where+  rnf ListFoldersResponse' {..} =+    Prelude.rnf folderSummaryList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListGroupMemberships.hs view
@@ -0,0 +1,262 @@+{-# 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.QuickSight.ListGroupMemberships+-- 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 member users in a group.+module Amazonka.QuickSight.ListGroupMemberships+  ( -- * Creating a Request+    ListGroupMemberships (..),+    newListGroupMemberships,++    -- * Request Lenses+    listGroupMemberships_maxResults,+    listGroupMemberships_nextToken,+    listGroupMemberships_groupName,+    listGroupMemberships_awsAccountId,+    listGroupMemberships_namespace,++    -- * Destructuring the Response+    ListGroupMembershipsResponse (..),+    newListGroupMembershipsResponse,++    -- * Response Lenses+    listGroupMembershipsResponse_groupMemberList,+    listGroupMembershipsResponse_nextToken,+    listGroupMembershipsResponse_requestId,+    listGroupMembershipsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListGroupMemberships' smart constructor.+data ListGroupMemberships = ListGroupMemberships'+  { -- | The maximum number of results to return from this request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | A pagination token that can be used in a subsequent request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the group that you want to see a membership list of.+    groupName :: Prelude.Text,+    -- | The ID for the Amazon Web Services account that the group is in.+    -- Currently, you use the ID for the Amazon Web Services account that+    -- contains your Amazon QuickSight account.+    awsAccountId :: Prelude.Text,+    -- | The namespace of the group that you want a list of users from.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGroupMemberships' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listGroupMemberships_maxResults' - The maximum number of results to return from this request.+--+-- 'nextToken', 'listGroupMemberships_nextToken' - A pagination token that can be used in a subsequent request.+--+-- 'groupName', 'listGroupMemberships_groupName' - The name of the group that you want to see a membership list of.+--+-- 'awsAccountId', 'listGroupMemberships_awsAccountId' - The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+--+-- 'namespace', 'listGroupMemberships_namespace' - The namespace of the group that you want a list of users from.+newListGroupMemberships ::+  -- | 'groupName'+  Prelude.Text ->+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  ListGroupMemberships+newListGroupMemberships+  pGroupName_+  pAwsAccountId_+  pNamespace_ =+    ListGroupMemberships'+      { maxResults = Prelude.Nothing,+        nextToken = Prelude.Nothing,+        groupName = pGroupName_,+        awsAccountId = pAwsAccountId_,+        namespace = pNamespace_+      }++-- | The maximum number of results to return from this request.+listGroupMemberships_maxResults :: Lens.Lens' ListGroupMemberships (Prelude.Maybe Prelude.Natural)+listGroupMemberships_maxResults = Lens.lens (\ListGroupMemberships' {maxResults} -> maxResults) (\s@ListGroupMemberships' {} a -> s {maxResults = a} :: ListGroupMemberships)++-- | A pagination token that can be used in a subsequent request.+listGroupMemberships_nextToken :: Lens.Lens' ListGroupMemberships (Prelude.Maybe Prelude.Text)+listGroupMemberships_nextToken = Lens.lens (\ListGroupMemberships' {nextToken} -> nextToken) (\s@ListGroupMemberships' {} a -> s {nextToken = a} :: ListGroupMemberships)++-- | The name of the group that you want to see a membership list of.+listGroupMemberships_groupName :: Lens.Lens' ListGroupMemberships Prelude.Text+listGroupMemberships_groupName = Lens.lens (\ListGroupMemberships' {groupName} -> groupName) (\s@ListGroupMemberships' {} a -> s {groupName = a} :: ListGroupMemberships)++-- | The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+listGroupMemberships_awsAccountId :: Lens.Lens' ListGroupMemberships Prelude.Text+listGroupMemberships_awsAccountId = Lens.lens (\ListGroupMemberships' {awsAccountId} -> awsAccountId) (\s@ListGroupMemberships' {} a -> s {awsAccountId = a} :: ListGroupMemberships)++-- | The namespace of the group that you want a list of users from.+listGroupMemberships_namespace :: Lens.Lens' ListGroupMemberships Prelude.Text+listGroupMemberships_namespace = Lens.lens (\ListGroupMemberships' {namespace} -> namespace) (\s@ListGroupMemberships' {} a -> s {namespace = a} :: ListGroupMemberships)++instance Core.AWSRequest ListGroupMemberships where+  type+    AWSResponse ListGroupMemberships =+      ListGroupMembershipsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListGroupMembershipsResponse'+            Prelude.<$> ( x+                            Data..?> "GroupMemberList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListGroupMemberships where+  hashWithSalt _salt ListGroupMemberships' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` groupName+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData ListGroupMemberships where+  rnf ListGroupMemberships' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf groupName+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders ListGroupMemberships where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListGroupMemberships where+  toPath ListGroupMemberships' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/groups/",+        Data.toBS groupName,+        "/members"+      ]++instance Data.ToQuery ListGroupMemberships where+  toQuery ListGroupMemberships' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListGroupMembershipsResponse' smart constructor.+data ListGroupMembershipsResponse = ListGroupMembershipsResponse'+  { -- | The list of the members of the group.+    groupMemberList :: Prelude.Maybe [GroupMember],+    -- | A pagination token that can be used in a subsequent request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGroupMembershipsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'groupMemberList', 'listGroupMembershipsResponse_groupMemberList' - The list of the members of the group.+--+-- 'nextToken', 'listGroupMembershipsResponse_nextToken' - A pagination token that can be used in a subsequent request.+--+-- 'requestId', 'listGroupMembershipsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'listGroupMembershipsResponse_status' - The HTTP status of the request.+newListGroupMembershipsResponse ::+  -- | 'status'+  Prelude.Int ->+  ListGroupMembershipsResponse+newListGroupMembershipsResponse pStatus_ =+  ListGroupMembershipsResponse'+    { groupMemberList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The list of the members of the group.+listGroupMembershipsResponse_groupMemberList :: Lens.Lens' ListGroupMembershipsResponse (Prelude.Maybe [GroupMember])+listGroupMembershipsResponse_groupMemberList = Lens.lens (\ListGroupMembershipsResponse' {groupMemberList} -> groupMemberList) (\s@ListGroupMembershipsResponse' {} a -> s {groupMemberList = a} :: ListGroupMembershipsResponse) Prelude.. Lens.mapping Lens.coerced++-- | A pagination token that can be used in a subsequent request.+listGroupMembershipsResponse_nextToken :: Lens.Lens' ListGroupMembershipsResponse (Prelude.Maybe Prelude.Text)+listGroupMembershipsResponse_nextToken = Lens.lens (\ListGroupMembershipsResponse' {nextToken} -> nextToken) (\s@ListGroupMembershipsResponse' {} a -> s {nextToken = a} :: ListGroupMembershipsResponse)++-- | The Amazon Web Services request ID for this operation.+listGroupMembershipsResponse_requestId :: Lens.Lens' ListGroupMembershipsResponse (Prelude.Maybe Prelude.Text)+listGroupMembershipsResponse_requestId = Lens.lens (\ListGroupMembershipsResponse' {requestId} -> requestId) (\s@ListGroupMembershipsResponse' {} a -> s {requestId = a} :: ListGroupMembershipsResponse)++-- | The HTTP status of the request.+listGroupMembershipsResponse_status :: Lens.Lens' ListGroupMembershipsResponse Prelude.Int+listGroupMembershipsResponse_status = Lens.lens (\ListGroupMembershipsResponse' {status} -> status) (\s@ListGroupMembershipsResponse' {} a -> s {status = a} :: ListGroupMembershipsResponse)++instance Prelude.NFData ListGroupMembershipsResponse where+  rnf ListGroupMembershipsResponse' {..} =+    Prelude.rnf groupMemberList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListGroups.hs view
@@ -0,0 +1,237 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.ListGroups+-- 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 user groups in Amazon QuickSight.+module Amazonka.QuickSight.ListGroups+  ( -- * Creating a Request+    ListGroups (..),+    newListGroups,++    -- * Request Lenses+    listGroups_maxResults,+    listGroups_nextToken,+    listGroups_awsAccountId,+    listGroups_namespace,++    -- * Destructuring the Response+    ListGroupsResponse (..),+    newListGroupsResponse,++    -- * Response Lenses+    listGroupsResponse_groupList,+    listGroupsResponse_nextToken,+    listGroupsResponse_requestId,+    listGroupsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListGroups' smart constructor.+data ListGroups = ListGroups'+  { -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | A pagination token that can be used in a subsequent request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID for the Amazon Web Services account that the group is in.+    -- Currently, you use the ID for the Amazon Web Services account that+    -- contains your Amazon QuickSight account.+    awsAccountId :: Prelude.Text,+    -- | The namespace that you want a list of groups from.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGroups' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listGroups_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'listGroups_nextToken' - A pagination token that can be used in a subsequent request.+--+-- 'awsAccountId', 'listGroups_awsAccountId' - The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+--+-- 'namespace', 'listGroups_namespace' - The namespace that you want a list of groups from.+newListGroups ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  ListGroups+newListGroups pAwsAccountId_ pNamespace_ =+  ListGroups'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      namespace = pNamespace_+    }++-- | The maximum number of results to return.+listGroups_maxResults :: Lens.Lens' ListGroups (Prelude.Maybe Prelude.Natural)+listGroups_maxResults = Lens.lens (\ListGroups' {maxResults} -> maxResults) (\s@ListGroups' {} a -> s {maxResults = a} :: ListGroups)++-- | A pagination token that can be used in a subsequent request.+listGroups_nextToken :: Lens.Lens' ListGroups (Prelude.Maybe Prelude.Text)+listGroups_nextToken = Lens.lens (\ListGroups' {nextToken} -> nextToken) (\s@ListGroups' {} a -> s {nextToken = a} :: ListGroups)++-- | The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+listGroups_awsAccountId :: Lens.Lens' ListGroups Prelude.Text+listGroups_awsAccountId = Lens.lens (\ListGroups' {awsAccountId} -> awsAccountId) (\s@ListGroups' {} a -> s {awsAccountId = a} :: ListGroups)++-- | The namespace that you want a list of groups from.+listGroups_namespace :: Lens.Lens' ListGroups Prelude.Text+listGroups_namespace = Lens.lens (\ListGroups' {namespace} -> namespace) (\s@ListGroups' {} a -> s {namespace = a} :: ListGroups)++instance Core.AWSRequest ListGroups where+  type AWSResponse ListGroups = ListGroupsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListGroupsResponse'+            Prelude.<$> (x Data..?> "GroupList" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListGroups where+  hashWithSalt _salt ListGroups' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData ListGroups where+  rnf ListGroups' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders ListGroups where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListGroups where+  toPath ListGroups' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/groups"+      ]++instance Data.ToQuery ListGroups where+  toQuery ListGroups' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListGroupsResponse' smart constructor.+data ListGroupsResponse = ListGroupsResponse'+  { -- | The list of the groups.+    groupList :: Prelude.Maybe [Group],+    -- | A pagination token that can be used in a subsequent request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGroupsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'groupList', 'listGroupsResponse_groupList' - The list of the groups.+--+-- 'nextToken', 'listGroupsResponse_nextToken' - A pagination token that can be used in a subsequent request.+--+-- 'requestId', 'listGroupsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'listGroupsResponse_status' - The HTTP status of the request.+newListGroupsResponse ::+  -- | 'status'+  Prelude.Int ->+  ListGroupsResponse+newListGroupsResponse pStatus_ =+  ListGroupsResponse'+    { groupList = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The list of the groups.+listGroupsResponse_groupList :: Lens.Lens' ListGroupsResponse (Prelude.Maybe [Group])+listGroupsResponse_groupList = Lens.lens (\ListGroupsResponse' {groupList} -> groupList) (\s@ListGroupsResponse' {} a -> s {groupList = a} :: ListGroupsResponse) Prelude.. Lens.mapping Lens.coerced++-- | A pagination token that can be used in a subsequent request.+listGroupsResponse_nextToken :: Lens.Lens' ListGroupsResponse (Prelude.Maybe Prelude.Text)+listGroupsResponse_nextToken = Lens.lens (\ListGroupsResponse' {nextToken} -> nextToken) (\s@ListGroupsResponse' {} a -> s {nextToken = a} :: ListGroupsResponse)++-- | The Amazon Web Services request ID for this operation.+listGroupsResponse_requestId :: Lens.Lens' ListGroupsResponse (Prelude.Maybe Prelude.Text)+listGroupsResponse_requestId = Lens.lens (\ListGroupsResponse' {requestId} -> requestId) (\s@ListGroupsResponse' {} a -> s {requestId = a} :: ListGroupsResponse)++-- | The HTTP status of the request.+listGroupsResponse_status :: Lens.Lens' ListGroupsResponse Prelude.Int+listGroupsResponse_status = Lens.lens (\ListGroupsResponse' {status} -> status) (\s@ListGroupsResponse' {} a -> s {status = a} :: ListGroupsResponse)++instance Prelude.NFData ListGroupsResponse where+  rnf ListGroupsResponse' {..} =+    Prelude.rnf groupList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListIAMPolicyAssignments.hs view
@@ -0,0 +1,264 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.ListIAMPolicyAssignments+-- 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 IAM policy assignments in the current Amazon QuickSight account.+module Amazonka.QuickSight.ListIAMPolicyAssignments+  ( -- * Creating a Request+    ListIAMPolicyAssignments (..),+    newListIAMPolicyAssignments,++    -- * Request Lenses+    listIAMPolicyAssignments_assignmentStatus,+    listIAMPolicyAssignments_maxResults,+    listIAMPolicyAssignments_nextToken,+    listIAMPolicyAssignments_awsAccountId,+    listIAMPolicyAssignments_namespace,++    -- * Destructuring the Response+    ListIAMPolicyAssignmentsResponse (..),+    newListIAMPolicyAssignmentsResponse,++    -- * Response Lenses+    listIAMPolicyAssignmentsResponse_iAMPolicyAssignments,+    listIAMPolicyAssignmentsResponse_nextToken,+    listIAMPolicyAssignmentsResponse_requestId,+    listIAMPolicyAssignmentsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListIAMPolicyAssignments' smart constructor.+data ListIAMPolicyAssignments = ListIAMPolicyAssignments'+  { -- | The status of the assignments.+    assignmentStatus :: Prelude.Maybe AssignmentStatus,+    -- | The maximum number of results to be returned per request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account that contains these IAM policy+    -- assignments.+    awsAccountId :: Prelude.Text,+    -- | The namespace for the assignments.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListIAMPolicyAssignments' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assignmentStatus', 'listIAMPolicyAssignments_assignmentStatus' - The status of the assignments.+--+-- 'maxResults', 'listIAMPolicyAssignments_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listIAMPolicyAssignments_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'awsAccountId', 'listIAMPolicyAssignments_awsAccountId' - The ID of the Amazon Web Services account that contains these IAM policy+-- assignments.+--+-- 'namespace', 'listIAMPolicyAssignments_namespace' - The namespace for the assignments.+newListIAMPolicyAssignments ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  ListIAMPolicyAssignments+newListIAMPolicyAssignments+  pAwsAccountId_+  pNamespace_ =+    ListIAMPolicyAssignments'+      { assignmentStatus =+          Prelude.Nothing,+        maxResults = Prelude.Nothing,+        nextToken = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        namespace = pNamespace_+      }++-- | The status of the assignments.+listIAMPolicyAssignments_assignmentStatus :: Lens.Lens' ListIAMPolicyAssignments (Prelude.Maybe AssignmentStatus)+listIAMPolicyAssignments_assignmentStatus = Lens.lens (\ListIAMPolicyAssignments' {assignmentStatus} -> assignmentStatus) (\s@ListIAMPolicyAssignments' {} a -> s {assignmentStatus = a} :: ListIAMPolicyAssignments)++-- | The maximum number of results to be returned per request.+listIAMPolicyAssignments_maxResults :: Lens.Lens' ListIAMPolicyAssignments (Prelude.Maybe Prelude.Natural)+listIAMPolicyAssignments_maxResults = Lens.lens (\ListIAMPolicyAssignments' {maxResults} -> maxResults) (\s@ListIAMPolicyAssignments' {} a -> s {maxResults = a} :: ListIAMPolicyAssignments)++-- | The token for the next set of results, or null if there are no more+-- results.+listIAMPolicyAssignments_nextToken :: Lens.Lens' ListIAMPolicyAssignments (Prelude.Maybe Prelude.Text)+listIAMPolicyAssignments_nextToken = Lens.lens (\ListIAMPolicyAssignments' {nextToken} -> nextToken) (\s@ListIAMPolicyAssignments' {} a -> s {nextToken = a} :: ListIAMPolicyAssignments)++-- | The ID of the Amazon Web Services account that contains these IAM policy+-- assignments.+listIAMPolicyAssignments_awsAccountId :: Lens.Lens' ListIAMPolicyAssignments Prelude.Text+listIAMPolicyAssignments_awsAccountId = Lens.lens (\ListIAMPolicyAssignments' {awsAccountId} -> awsAccountId) (\s@ListIAMPolicyAssignments' {} a -> s {awsAccountId = a} :: ListIAMPolicyAssignments)++-- | The namespace for the assignments.+listIAMPolicyAssignments_namespace :: Lens.Lens' ListIAMPolicyAssignments Prelude.Text+listIAMPolicyAssignments_namespace = Lens.lens (\ListIAMPolicyAssignments' {namespace} -> namespace) (\s@ListIAMPolicyAssignments' {} a -> s {namespace = a} :: ListIAMPolicyAssignments)++instance Core.AWSRequest ListIAMPolicyAssignments where+  type+    AWSResponse ListIAMPolicyAssignments =+      ListIAMPolicyAssignmentsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListIAMPolicyAssignmentsResponse'+            Prelude.<$> ( x+                            Data..?> "IAMPolicyAssignments"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListIAMPolicyAssignments where+  hashWithSalt _salt ListIAMPolicyAssignments' {..} =+    _salt+      `Prelude.hashWithSalt` assignmentStatus+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData ListIAMPolicyAssignments where+  rnf ListIAMPolicyAssignments' {..} =+    Prelude.rnf assignmentStatus+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders ListIAMPolicyAssignments where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListIAMPolicyAssignments where+  toPath ListIAMPolicyAssignments' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/iam-policy-assignments"+      ]++instance Data.ToQuery ListIAMPolicyAssignments where+  toQuery ListIAMPolicyAssignments' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListIAMPolicyAssignmentsResponse' smart constructor.+data ListIAMPolicyAssignmentsResponse = ListIAMPolicyAssignmentsResponse'+  { -- | Information describing the IAM policy assignments.+    iAMPolicyAssignments :: Prelude.Maybe [IAMPolicyAssignmentSummary],+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListIAMPolicyAssignmentsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iAMPolicyAssignments', 'listIAMPolicyAssignmentsResponse_iAMPolicyAssignments' - Information describing the IAM policy assignments.+--+-- 'nextToken', 'listIAMPolicyAssignmentsResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'requestId', 'listIAMPolicyAssignmentsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'listIAMPolicyAssignmentsResponse_status' - The HTTP status of the request.+newListIAMPolicyAssignmentsResponse ::+  -- | 'status'+  Prelude.Int ->+  ListIAMPolicyAssignmentsResponse+newListIAMPolicyAssignmentsResponse pStatus_ =+  ListIAMPolicyAssignmentsResponse'+    { iAMPolicyAssignments =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | Information describing the IAM policy assignments.+listIAMPolicyAssignmentsResponse_iAMPolicyAssignments :: Lens.Lens' ListIAMPolicyAssignmentsResponse (Prelude.Maybe [IAMPolicyAssignmentSummary])+listIAMPolicyAssignmentsResponse_iAMPolicyAssignments = Lens.lens (\ListIAMPolicyAssignmentsResponse' {iAMPolicyAssignments} -> iAMPolicyAssignments) (\s@ListIAMPolicyAssignmentsResponse' {} a -> s {iAMPolicyAssignments = a} :: ListIAMPolicyAssignmentsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results, or null if there are no more+-- results.+listIAMPolicyAssignmentsResponse_nextToken :: Lens.Lens' ListIAMPolicyAssignmentsResponse (Prelude.Maybe Prelude.Text)+listIAMPolicyAssignmentsResponse_nextToken = Lens.lens (\ListIAMPolicyAssignmentsResponse' {nextToken} -> nextToken) (\s@ListIAMPolicyAssignmentsResponse' {} a -> s {nextToken = a} :: ListIAMPolicyAssignmentsResponse)++-- | The Amazon Web Services request ID for this operation.+listIAMPolicyAssignmentsResponse_requestId :: Lens.Lens' ListIAMPolicyAssignmentsResponse (Prelude.Maybe Prelude.Text)+listIAMPolicyAssignmentsResponse_requestId = Lens.lens (\ListIAMPolicyAssignmentsResponse' {requestId} -> requestId) (\s@ListIAMPolicyAssignmentsResponse' {} a -> s {requestId = a} :: ListIAMPolicyAssignmentsResponse)++-- | The HTTP status of the request.+listIAMPolicyAssignmentsResponse_status :: Lens.Lens' ListIAMPolicyAssignmentsResponse Prelude.Int+listIAMPolicyAssignmentsResponse_status = Lens.lens (\ListIAMPolicyAssignmentsResponse' {status} -> status) (\s@ListIAMPolicyAssignmentsResponse' {} a -> s {status = a} :: ListIAMPolicyAssignmentsResponse)++instance+  Prelude.NFData+    ListIAMPolicyAssignmentsResponse+  where+  rnf ListIAMPolicyAssignmentsResponse' {..} =+    Prelude.rnf iAMPolicyAssignments+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListIAMPolicyAssignmentsForUser.hs view
@@ -0,0 +1,282 @@+{-# 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.QuickSight.ListIAMPolicyAssignmentsForUser+-- 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 IAM policy assignments, including the Amazon Resource+-- Names (ARNs) for the IAM policies assigned to the specified user and+-- group or groups that the user belongs to.+module Amazonka.QuickSight.ListIAMPolicyAssignmentsForUser+  ( -- * Creating a Request+    ListIAMPolicyAssignmentsForUser (..),+    newListIAMPolicyAssignmentsForUser,++    -- * Request Lenses+    listIAMPolicyAssignmentsForUser_maxResults,+    listIAMPolicyAssignmentsForUser_nextToken,+    listIAMPolicyAssignmentsForUser_awsAccountId,+    listIAMPolicyAssignmentsForUser_userName,+    listIAMPolicyAssignmentsForUser_namespace,++    -- * Destructuring the Response+    ListIAMPolicyAssignmentsForUserResponse (..),+    newListIAMPolicyAssignmentsForUserResponse,++    -- * Response Lenses+    listIAMPolicyAssignmentsForUserResponse_activeAssignments,+    listIAMPolicyAssignmentsForUserResponse_nextToken,+    listIAMPolicyAssignmentsForUserResponse_requestId,+    listIAMPolicyAssignmentsForUserResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListIAMPolicyAssignmentsForUser' smart constructor.+data ListIAMPolicyAssignmentsForUser = ListIAMPolicyAssignmentsForUser'+  { -- | The maximum number of results to be returned per request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account that contains the assignments.+    awsAccountId :: Prelude.Text,+    -- | The name of the user.+    userName :: Prelude.Text,+    -- | The namespace of the assignment.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListIAMPolicyAssignmentsForUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listIAMPolicyAssignmentsForUser_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listIAMPolicyAssignmentsForUser_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'awsAccountId', 'listIAMPolicyAssignmentsForUser_awsAccountId' - The ID of the Amazon Web Services account that contains the assignments.+--+-- 'userName', 'listIAMPolicyAssignmentsForUser_userName' - The name of the user.+--+-- 'namespace', 'listIAMPolicyAssignmentsForUser_namespace' - The namespace of the assignment.+newListIAMPolicyAssignmentsForUser ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'userName'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  ListIAMPolicyAssignmentsForUser+newListIAMPolicyAssignmentsForUser+  pAwsAccountId_+  pUserName_+  pNamespace_ =+    ListIAMPolicyAssignmentsForUser'+      { maxResults =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        userName = pUserName_,+        namespace = pNamespace_+      }++-- | The maximum number of results to be returned per request.+listIAMPolicyAssignmentsForUser_maxResults :: Lens.Lens' ListIAMPolicyAssignmentsForUser (Prelude.Maybe Prelude.Natural)+listIAMPolicyAssignmentsForUser_maxResults = Lens.lens (\ListIAMPolicyAssignmentsForUser' {maxResults} -> maxResults) (\s@ListIAMPolicyAssignmentsForUser' {} a -> s {maxResults = a} :: ListIAMPolicyAssignmentsForUser)++-- | The token for the next set of results, or null if there are no more+-- results.+listIAMPolicyAssignmentsForUser_nextToken :: Lens.Lens' ListIAMPolicyAssignmentsForUser (Prelude.Maybe Prelude.Text)+listIAMPolicyAssignmentsForUser_nextToken = Lens.lens (\ListIAMPolicyAssignmentsForUser' {nextToken} -> nextToken) (\s@ListIAMPolicyAssignmentsForUser' {} a -> s {nextToken = a} :: ListIAMPolicyAssignmentsForUser)++-- | The ID of the Amazon Web Services account that contains the assignments.+listIAMPolicyAssignmentsForUser_awsAccountId :: Lens.Lens' ListIAMPolicyAssignmentsForUser Prelude.Text+listIAMPolicyAssignmentsForUser_awsAccountId = Lens.lens (\ListIAMPolicyAssignmentsForUser' {awsAccountId} -> awsAccountId) (\s@ListIAMPolicyAssignmentsForUser' {} a -> s {awsAccountId = a} :: ListIAMPolicyAssignmentsForUser)++-- | The name of the user.+listIAMPolicyAssignmentsForUser_userName :: Lens.Lens' ListIAMPolicyAssignmentsForUser Prelude.Text+listIAMPolicyAssignmentsForUser_userName = Lens.lens (\ListIAMPolicyAssignmentsForUser' {userName} -> userName) (\s@ListIAMPolicyAssignmentsForUser' {} a -> s {userName = a} :: ListIAMPolicyAssignmentsForUser)++-- | The namespace of the assignment.+listIAMPolicyAssignmentsForUser_namespace :: Lens.Lens' ListIAMPolicyAssignmentsForUser Prelude.Text+listIAMPolicyAssignmentsForUser_namespace = Lens.lens (\ListIAMPolicyAssignmentsForUser' {namespace} -> namespace) (\s@ListIAMPolicyAssignmentsForUser' {} a -> s {namespace = a} :: ListIAMPolicyAssignmentsForUser)++instance+  Core.AWSRequest+    ListIAMPolicyAssignmentsForUser+  where+  type+    AWSResponse ListIAMPolicyAssignmentsForUser =+      ListIAMPolicyAssignmentsForUserResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListIAMPolicyAssignmentsForUserResponse'+            Prelude.<$> ( x+                            Data..?> "ActiveAssignments"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListIAMPolicyAssignmentsForUser+  where+  hashWithSalt+    _salt+    ListIAMPolicyAssignmentsForUser' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` awsAccountId+        `Prelude.hashWithSalt` userName+        `Prelude.hashWithSalt` namespace++instance+  Prelude.NFData+    ListIAMPolicyAssignmentsForUser+  where+  rnf ListIAMPolicyAssignmentsForUser' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf userName+      `Prelude.seq` Prelude.rnf namespace++instance+  Data.ToHeaders+    ListIAMPolicyAssignmentsForUser+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListIAMPolicyAssignmentsForUser where+  toPath ListIAMPolicyAssignmentsForUser' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/users/",+        Data.toBS userName,+        "/iam-policy-assignments"+      ]++instance Data.ToQuery ListIAMPolicyAssignmentsForUser where+  toQuery ListIAMPolicyAssignmentsForUser' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListIAMPolicyAssignmentsForUserResponse' smart constructor.+data ListIAMPolicyAssignmentsForUserResponse = ListIAMPolicyAssignmentsForUserResponse'+  { -- | The active assignments for this user.+    activeAssignments :: Prelude.Maybe [ActiveIAMPolicyAssignment],+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListIAMPolicyAssignmentsForUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'activeAssignments', 'listIAMPolicyAssignmentsForUserResponse_activeAssignments' - The active assignments for this user.+--+-- 'nextToken', 'listIAMPolicyAssignmentsForUserResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'requestId', 'listIAMPolicyAssignmentsForUserResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'listIAMPolicyAssignmentsForUserResponse_status' - The HTTP status of the request.+newListIAMPolicyAssignmentsForUserResponse ::+  -- | 'status'+  Prelude.Int ->+  ListIAMPolicyAssignmentsForUserResponse+newListIAMPolicyAssignmentsForUserResponse pStatus_ =+  ListIAMPolicyAssignmentsForUserResponse'+    { activeAssignments =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The active assignments for this user.+listIAMPolicyAssignmentsForUserResponse_activeAssignments :: Lens.Lens' ListIAMPolicyAssignmentsForUserResponse (Prelude.Maybe [ActiveIAMPolicyAssignment])+listIAMPolicyAssignmentsForUserResponse_activeAssignments = Lens.lens (\ListIAMPolicyAssignmentsForUserResponse' {activeAssignments} -> activeAssignments) (\s@ListIAMPolicyAssignmentsForUserResponse' {} a -> s {activeAssignments = a} :: ListIAMPolicyAssignmentsForUserResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results, or null if there are no more+-- results.+listIAMPolicyAssignmentsForUserResponse_nextToken :: Lens.Lens' ListIAMPolicyAssignmentsForUserResponse (Prelude.Maybe Prelude.Text)+listIAMPolicyAssignmentsForUserResponse_nextToken = Lens.lens (\ListIAMPolicyAssignmentsForUserResponse' {nextToken} -> nextToken) (\s@ListIAMPolicyAssignmentsForUserResponse' {} a -> s {nextToken = a} :: ListIAMPolicyAssignmentsForUserResponse)++-- | The Amazon Web Services request ID for this operation.+listIAMPolicyAssignmentsForUserResponse_requestId :: Lens.Lens' ListIAMPolicyAssignmentsForUserResponse (Prelude.Maybe Prelude.Text)+listIAMPolicyAssignmentsForUserResponse_requestId = Lens.lens (\ListIAMPolicyAssignmentsForUserResponse' {requestId} -> requestId) (\s@ListIAMPolicyAssignmentsForUserResponse' {} a -> s {requestId = a} :: ListIAMPolicyAssignmentsForUserResponse)++-- | The HTTP status of the request.+listIAMPolicyAssignmentsForUserResponse_status :: Lens.Lens' ListIAMPolicyAssignmentsForUserResponse Prelude.Int+listIAMPolicyAssignmentsForUserResponse_status = Lens.lens (\ListIAMPolicyAssignmentsForUserResponse' {status} -> status) (\s@ListIAMPolicyAssignmentsForUserResponse' {} a -> s {status = a} :: ListIAMPolicyAssignmentsForUserResponse)++instance+  Prelude.NFData+    ListIAMPolicyAssignmentsForUserResponse+  where+  rnf ListIAMPolicyAssignmentsForUserResponse' {..} =+    Prelude.rnf activeAssignments+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListIngestions.hs view
@@ -0,0 +1,264 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.ListIngestions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the history of SPICE ingestions for a dataset.+--+-- This operation returns paginated results.+module Amazonka.QuickSight.ListIngestions+  ( -- * Creating a Request+    ListIngestions (..),+    newListIngestions,++    -- * Request Lenses+    listIngestions_maxResults,+    listIngestions_nextToken,+    listIngestions_dataSetId,+    listIngestions_awsAccountId,++    -- * Destructuring the Response+    ListIngestionsResponse (..),+    newListIngestionsResponse,++    -- * Response Lenses+    listIngestionsResponse_ingestions,+    listIngestionsResponse_nextToken,+    listIngestionsResponse_requestId,+    listIngestionsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListIngestions' smart constructor.+data ListIngestions = ListIngestions'+  { -- | The maximum number of results to be returned per request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the dataset used in the ingestion.+    dataSetId :: Prelude.Text,+    -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListIngestions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listIngestions_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listIngestions_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'dataSetId', 'listIngestions_dataSetId' - The ID of the dataset used in the ingestion.+--+-- 'awsAccountId', 'listIngestions_awsAccountId' - The Amazon Web Services account ID.+newListIngestions ::+  -- | 'dataSetId'+  Prelude.Text ->+  -- | 'awsAccountId'+  Prelude.Text ->+  ListIngestions+newListIngestions pDataSetId_ pAwsAccountId_ =+  ListIngestions'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      dataSetId = pDataSetId_,+      awsAccountId = pAwsAccountId_+    }++-- | The maximum number of results to be returned per request.+listIngestions_maxResults :: Lens.Lens' ListIngestions (Prelude.Maybe Prelude.Natural)+listIngestions_maxResults = Lens.lens (\ListIngestions' {maxResults} -> maxResults) (\s@ListIngestions' {} a -> s {maxResults = a} :: ListIngestions)++-- | The token for the next set of results, or null if there are no more+-- results.+listIngestions_nextToken :: Lens.Lens' ListIngestions (Prelude.Maybe Prelude.Text)+listIngestions_nextToken = Lens.lens (\ListIngestions' {nextToken} -> nextToken) (\s@ListIngestions' {} a -> s {nextToken = a} :: ListIngestions)++-- | The ID of the dataset used in the ingestion.+listIngestions_dataSetId :: Lens.Lens' ListIngestions Prelude.Text+listIngestions_dataSetId = Lens.lens (\ListIngestions' {dataSetId} -> dataSetId) (\s@ListIngestions' {} a -> s {dataSetId = a} :: ListIngestions)++-- | The Amazon Web Services account ID.+listIngestions_awsAccountId :: Lens.Lens' ListIngestions Prelude.Text+listIngestions_awsAccountId = Lens.lens (\ListIngestions' {awsAccountId} -> awsAccountId) (\s@ListIngestions' {} a -> s {awsAccountId = a} :: ListIngestions)++instance Core.AWSPager ListIngestions where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listIngestionsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listIngestionsResponse_ingestions+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listIngestions_nextToken+          Lens..~ rs+          Lens.^? listIngestionsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListIngestions where+  type+    AWSResponse ListIngestions =+      ListIngestionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListIngestionsResponse'+            Prelude.<$> (x Data..?> "Ingestions" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListIngestions where+  hashWithSalt _salt ListIngestions' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` dataSetId+      `Prelude.hashWithSalt` awsAccountId++instance Prelude.NFData ListIngestions where+  rnf ListIngestions' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf dataSetId+      `Prelude.seq` Prelude.rnf awsAccountId++instance Data.ToHeaders ListIngestions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListIngestions where+  toPath ListIngestions' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/data-sets/",+        Data.toBS dataSetId,+        "/ingestions"+      ]++instance Data.ToQuery ListIngestions where+  toQuery ListIngestions' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListIngestionsResponse' smart constructor.+data ListIngestionsResponse = ListIngestionsResponse'+  { -- | A list of the ingestions.+    ingestions :: Prelude.Maybe [Ingestion],+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListIngestionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ingestions', 'listIngestionsResponse_ingestions' - A list of the ingestions.+--+-- 'nextToken', 'listIngestionsResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'requestId', 'listIngestionsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'listIngestionsResponse_status' - The HTTP status of the request.+newListIngestionsResponse ::+  -- | 'status'+  Prelude.Int ->+  ListIngestionsResponse+newListIngestionsResponse pStatus_ =+  ListIngestionsResponse'+    { ingestions =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | A list of the ingestions.+listIngestionsResponse_ingestions :: Lens.Lens' ListIngestionsResponse (Prelude.Maybe [Ingestion])+listIngestionsResponse_ingestions = Lens.lens (\ListIngestionsResponse' {ingestions} -> ingestions) (\s@ListIngestionsResponse' {} a -> s {ingestions = a} :: ListIngestionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results, or null if there are no more+-- results.+listIngestionsResponse_nextToken :: Lens.Lens' ListIngestionsResponse (Prelude.Maybe Prelude.Text)+listIngestionsResponse_nextToken = Lens.lens (\ListIngestionsResponse' {nextToken} -> nextToken) (\s@ListIngestionsResponse' {} a -> s {nextToken = a} :: ListIngestionsResponse)++-- | The Amazon Web Services request ID for this operation.+listIngestionsResponse_requestId :: Lens.Lens' ListIngestionsResponse (Prelude.Maybe Prelude.Text)+listIngestionsResponse_requestId = Lens.lens (\ListIngestionsResponse' {requestId} -> requestId) (\s@ListIngestionsResponse' {} a -> s {requestId = a} :: ListIngestionsResponse)++-- | The HTTP status of the request.+listIngestionsResponse_status :: Lens.Lens' ListIngestionsResponse Prelude.Int+listIngestionsResponse_status = Lens.lens (\ListIngestionsResponse' {status} -> status) (\s@ListIngestionsResponse' {} a -> s {status = a} :: ListIngestionsResponse)++instance Prelude.NFData ListIngestionsResponse where+  rnf ListIngestionsResponse' {..} =+    Prelude.rnf ingestions+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListNamespaces.hs view
@@ -0,0 +1,291 @@+{-# 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.QuickSight.ListNamespaces+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the namespaces for the specified Amazon Web Services account. This+-- operation doesn\'t list deleted namespaces.+--+-- This operation returns paginated results.+module Amazonka.QuickSight.ListNamespaces+  ( -- * Creating a Request+    ListNamespaces (..),+    newListNamespaces,++    -- * Request Lenses+    listNamespaces_maxResults,+    listNamespaces_nextToken,+    listNamespaces_awsAccountId,++    -- * Destructuring the Response+    ListNamespacesResponse (..),+    newListNamespacesResponse,++    -- * Response Lenses+    listNamespacesResponse_namespaces,+    listNamespacesResponse_nextToken,+    listNamespacesResponse_requestId,+    listNamespacesResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListNamespaces' smart constructor.+data ListNamespaces = ListNamespaces'+  { -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | A unique pagination token that can be used in a subsequent request. You+    -- will receive a pagination token in the response body of a previous+    -- @ListNameSpaces@ API call if there is more data that can be returned. To+    -- receive the data, make another @ListNamespaces@ API call with the+    -- returned token to retrieve the next page of data. Each token is valid+    -- for 24 hours. If you try to make a @ListNamespaces@ API call with an+    -- expired token, you will receive a @HTTP 400 InvalidNextTokenException@+    -- error.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID for the Amazon Web Services account that contains the Amazon+    -- QuickSight namespaces that you want to list.+    awsAccountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNamespaces' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listNamespaces_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'listNamespaces_nextToken' - A unique pagination token that can be used in a subsequent request. You+-- will receive a pagination token in the response body of a previous+-- @ListNameSpaces@ API call if there is more data that can be returned. To+-- receive the data, make another @ListNamespaces@ API call with the+-- returned token to retrieve the next page of data. Each token is valid+-- for 24 hours. If you try to make a @ListNamespaces@ API call with an+-- expired token, you will receive a @HTTP 400 InvalidNextTokenException@+-- error.+--+-- 'awsAccountId', 'listNamespaces_awsAccountId' - The ID for the Amazon Web Services account that contains the Amazon+-- QuickSight namespaces that you want to list.+newListNamespaces ::+  -- | 'awsAccountId'+  Prelude.Text ->+  ListNamespaces+newListNamespaces pAwsAccountId_ =+  ListNamespaces'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_+    }++-- | The maximum number of results to return.+listNamespaces_maxResults :: Lens.Lens' ListNamespaces (Prelude.Maybe Prelude.Natural)+listNamespaces_maxResults = Lens.lens (\ListNamespaces' {maxResults} -> maxResults) (\s@ListNamespaces' {} a -> s {maxResults = a} :: ListNamespaces)++-- | A unique pagination token that can be used in a subsequent request. You+-- will receive a pagination token in the response body of a previous+-- @ListNameSpaces@ API call if there is more data that can be returned. To+-- receive the data, make another @ListNamespaces@ API call with the+-- returned token to retrieve the next page of data. Each token is valid+-- for 24 hours. If you try to make a @ListNamespaces@ API call with an+-- expired token, you will receive a @HTTP 400 InvalidNextTokenException@+-- error.+listNamespaces_nextToken :: Lens.Lens' ListNamespaces (Prelude.Maybe Prelude.Text)+listNamespaces_nextToken = Lens.lens (\ListNamespaces' {nextToken} -> nextToken) (\s@ListNamespaces' {} a -> s {nextToken = a} :: ListNamespaces)++-- | The ID for the Amazon Web Services account that contains the Amazon+-- QuickSight namespaces that you want to list.+listNamespaces_awsAccountId :: Lens.Lens' ListNamespaces Prelude.Text+listNamespaces_awsAccountId = Lens.lens (\ListNamespaces' {awsAccountId} -> awsAccountId) (\s@ListNamespaces' {} a -> s {awsAccountId = a} :: ListNamespaces)++instance Core.AWSPager ListNamespaces where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listNamespacesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listNamespacesResponse_namespaces+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listNamespaces_nextToken+          Lens..~ rs+          Lens.^? listNamespacesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListNamespaces where+  type+    AWSResponse ListNamespaces =+      ListNamespacesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListNamespacesResponse'+            Prelude.<$> (x Data..?> "Namespaces" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListNamespaces where+  hashWithSalt _salt ListNamespaces' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId++instance Prelude.NFData ListNamespaces where+  rnf ListNamespaces' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId++instance Data.ToHeaders ListNamespaces where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListNamespaces where+  toPath ListNamespaces' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS awsAccountId, "/namespaces"]++instance Data.ToQuery ListNamespaces where+  toQuery ListNamespaces' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListNamespacesResponse' smart constructor.+data ListNamespacesResponse = ListNamespacesResponse'+  { -- | The information about the namespaces in this Amazon Web Services+    -- account. The response includes the namespace ARN, name, Amazon Web+    -- Services Region, notification email address, creation status, and+    -- identity store.+    namespaces :: Prelude.Maybe [NamespaceInfoV2],+    -- | A unique pagination token that can be used in a subsequent request.+    -- Receiving @NextToken@ in your response inticates that there is more data+    -- that can be returned. To receive the data, make another @ListNamespaces@+    -- API call with the returned token to retrieve the next page of data. Each+    -- token is valid for 24 hours. If you try to make a @ListNamespaces@ API+    -- call with an expired token, you will receive a+    -- @HTTP 400 InvalidNextTokenException@ error.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNamespacesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'namespaces', 'listNamespacesResponse_namespaces' - The information about the namespaces in this Amazon Web Services+-- account. The response includes the namespace ARN, name, Amazon Web+-- Services Region, notification email address, creation status, and+-- identity store.+--+-- 'nextToken', 'listNamespacesResponse_nextToken' - A unique pagination token that can be used in a subsequent request.+-- Receiving @NextToken@ in your response inticates that there is more data+-- that can be returned. To receive the data, make another @ListNamespaces@+-- API call with the returned token to retrieve the next page of data. Each+-- token is valid for 24 hours. If you try to make a @ListNamespaces@ API+-- call with an expired token, you will receive a+-- @HTTP 400 InvalidNextTokenException@ error.+--+-- 'requestId', 'listNamespacesResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'listNamespacesResponse_status' - The HTTP status of the request.+newListNamespacesResponse ::+  -- | 'status'+  Prelude.Int ->+  ListNamespacesResponse+newListNamespacesResponse pStatus_ =+  ListNamespacesResponse'+    { namespaces =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The information about the namespaces in this Amazon Web Services+-- account. The response includes the namespace ARN, name, Amazon Web+-- Services Region, notification email address, creation status, and+-- identity store.+listNamespacesResponse_namespaces :: Lens.Lens' ListNamespacesResponse (Prelude.Maybe [NamespaceInfoV2])+listNamespacesResponse_namespaces = Lens.lens (\ListNamespacesResponse' {namespaces} -> namespaces) (\s@ListNamespacesResponse' {} a -> s {namespaces = a} :: ListNamespacesResponse) Prelude.. Lens.mapping Lens.coerced++-- | A unique pagination token that can be used in a subsequent request.+-- Receiving @NextToken@ in your response inticates that there is more data+-- that can be returned. To receive the data, make another @ListNamespaces@+-- API call with the returned token to retrieve the next page of data. Each+-- token is valid for 24 hours. If you try to make a @ListNamespaces@ API+-- call with an expired token, you will receive a+-- @HTTP 400 InvalidNextTokenException@ error.+listNamespacesResponse_nextToken :: Lens.Lens' ListNamespacesResponse (Prelude.Maybe Prelude.Text)+listNamespacesResponse_nextToken = Lens.lens (\ListNamespacesResponse' {nextToken} -> nextToken) (\s@ListNamespacesResponse' {} a -> s {nextToken = a} :: ListNamespacesResponse)++-- | The Amazon Web Services request ID for this operation.+listNamespacesResponse_requestId :: Lens.Lens' ListNamespacesResponse (Prelude.Maybe Prelude.Text)+listNamespacesResponse_requestId = Lens.lens (\ListNamespacesResponse' {requestId} -> requestId) (\s@ListNamespacesResponse' {} a -> s {requestId = a} :: ListNamespacesResponse)++-- | The HTTP status of the request.+listNamespacesResponse_status :: Lens.Lens' ListNamespacesResponse Prelude.Int+listNamespacesResponse_status = Lens.lens (\ListNamespacesResponse' {status} -> status) (\s@ListNamespacesResponse' {} a -> s {status = a} :: ListNamespacesResponse)++instance Prelude.NFData ListNamespacesResponse where+  rnf ListNamespacesResponse' {..} =+    Prelude.rnf namespaces+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListTagsForResource.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.QuickSight.ListTagsForResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the tags assigned to a resource.+module Amazonka.QuickSight.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_requestId,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | The Amazon Resource Name (ARN) of the resource that you want a list of+    -- tags for.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) of the resource that you want a list of+-- tags for.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the resource that you want a list of+-- tags for.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "Tags")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTagsForResource where+  hashWithSalt _salt ListTagsForResource' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+  rnf ListTagsForResource' {..} =+    Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListTagsForResource where+  toPath ListTagsForResource' {..} =+    Prelude.mconcat+      ["/resources/", Data.toBS resourceArn, "/tags"]++instance Data.ToQuery ListTagsForResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | Contains a map of the key-value pairs for the resource tag or tags+    -- assigned to the resource.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The HTTP status of the request.+    status :: 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:+--+-- 'requestId', 'listTagsForResourceResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'tags', 'listTagsForResourceResponse_tags' - Contains a map of the key-value pairs for the resource tag or tags+-- assigned to the resource.+--+-- 'status', 'listTagsForResourceResponse_status' - The HTTP status of the request.+newListTagsForResourceResponse ::+  -- | 'status'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pStatus_ =+  ListTagsForResourceResponse'+    { requestId =+        Prelude.Nothing,+      tags = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+listTagsForResourceResponse_requestId :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe Prelude.Text)+listTagsForResourceResponse_requestId = Lens.lens (\ListTagsForResourceResponse' {requestId} -> requestId) (\s@ListTagsForResourceResponse' {} a -> s {requestId = a} :: ListTagsForResourceResponse)++-- | Contains a map of the key-value pairs for the resource tag or tags+-- assigned to the resource.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.NonEmpty Tag))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The HTTP status of the request.+listTagsForResourceResponse_status :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_status = Lens.lens (\ListTagsForResourceResponse' {status} -> status) (\s@ListTagsForResourceResponse' {} a -> s {status = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+  rnf ListTagsForResourceResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListTemplateAliases.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.QuickSight.ListTemplateAliases+-- 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 aliases of a template.+--+-- This operation returns paginated results.+module Amazonka.QuickSight.ListTemplateAliases+  ( -- * Creating a Request+    ListTemplateAliases (..),+    newListTemplateAliases,++    -- * Request Lenses+    listTemplateAliases_maxResults,+    listTemplateAliases_nextToken,+    listTemplateAliases_awsAccountId,+    listTemplateAliases_templateId,++    -- * Destructuring the Response+    ListTemplateAliasesResponse (..),+    newListTemplateAliasesResponse,++    -- * Response Lenses+    listTemplateAliasesResponse_nextToken,+    listTemplateAliasesResponse_requestId,+    listTemplateAliasesResponse_templateAliasList,+    listTemplateAliasesResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTemplateAliases' smart constructor.+data ListTemplateAliases = ListTemplateAliases'+  { -- | The maximum number of results to be returned per request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account that contains the template+    -- aliases that you\'re listing.+    awsAccountId :: Prelude.Text,+    -- | The ID for the template.+    templateId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTemplateAliases' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listTemplateAliases_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listTemplateAliases_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'awsAccountId', 'listTemplateAliases_awsAccountId' - The ID of the Amazon Web Services account that contains the template+-- aliases that you\'re listing.+--+-- 'templateId', 'listTemplateAliases_templateId' - The ID for the template.+newListTemplateAliases ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'templateId'+  Prelude.Text ->+  ListTemplateAliases+newListTemplateAliases pAwsAccountId_ pTemplateId_ =+  ListTemplateAliases'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      templateId = pTemplateId_+    }++-- | The maximum number of results to be returned per request.+listTemplateAliases_maxResults :: Lens.Lens' ListTemplateAliases (Prelude.Maybe Prelude.Natural)+listTemplateAliases_maxResults = Lens.lens (\ListTemplateAliases' {maxResults} -> maxResults) (\s@ListTemplateAliases' {} a -> s {maxResults = a} :: ListTemplateAliases)++-- | The token for the next set of results, or null if there are no more+-- results.+listTemplateAliases_nextToken :: Lens.Lens' ListTemplateAliases (Prelude.Maybe Prelude.Text)+listTemplateAliases_nextToken = Lens.lens (\ListTemplateAliases' {nextToken} -> nextToken) (\s@ListTemplateAliases' {} a -> s {nextToken = a} :: ListTemplateAliases)++-- | The ID of the Amazon Web Services account that contains the template+-- aliases that you\'re listing.+listTemplateAliases_awsAccountId :: Lens.Lens' ListTemplateAliases Prelude.Text+listTemplateAliases_awsAccountId = Lens.lens (\ListTemplateAliases' {awsAccountId} -> awsAccountId) (\s@ListTemplateAliases' {} a -> s {awsAccountId = a} :: ListTemplateAliases)++-- | The ID for the template.+listTemplateAliases_templateId :: Lens.Lens' ListTemplateAliases Prelude.Text+listTemplateAliases_templateId = Lens.lens (\ListTemplateAliases' {templateId} -> templateId) (\s@ListTemplateAliases' {} a -> s {templateId = a} :: ListTemplateAliases)++instance Core.AWSPager ListTemplateAliases where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listTemplateAliasesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listTemplateAliasesResponse_templateAliasList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listTemplateAliases_nextToken+          Lens..~ rs+          Lens.^? listTemplateAliasesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListTemplateAliases where+  type+    AWSResponse ListTemplateAliases =+      ListTemplateAliasesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTemplateAliasesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> ( x+                            Data..?> "TemplateAliasList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTemplateAliases where+  hashWithSalt _salt ListTemplateAliases' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` templateId++instance Prelude.NFData ListTemplateAliases where+  rnf ListTemplateAliases' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf templateId++instance Data.ToHeaders ListTemplateAliases where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListTemplateAliases where+  toPath ListTemplateAliases' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/templates/",+        Data.toBS templateId,+        "/aliases"+      ]++instance Data.ToQuery ListTemplateAliases where+  toQuery ListTemplateAliases' {..} =+    Prelude.mconcat+      [ "max-result" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListTemplateAliasesResponse' smart constructor.+data ListTemplateAliasesResponse = ListTemplateAliasesResponse'+  { -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | A structure containing the list of the template\'s aliases.+    templateAliasList :: Prelude.Maybe [TemplateAlias],+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTemplateAliasesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listTemplateAliasesResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'requestId', 'listTemplateAliasesResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'templateAliasList', 'listTemplateAliasesResponse_templateAliasList' - A structure containing the list of the template\'s aliases.+--+-- 'status', 'listTemplateAliasesResponse_status' - The HTTP status of the request.+newListTemplateAliasesResponse ::+  -- | 'status'+  Prelude.Int ->+  ListTemplateAliasesResponse+newListTemplateAliasesResponse pStatus_ =+  ListTemplateAliasesResponse'+    { nextToken =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      templateAliasList = Prelude.Nothing,+      status = pStatus_+    }++-- | The token for the next set of results, or null if there are no more+-- results.+listTemplateAliasesResponse_nextToken :: Lens.Lens' ListTemplateAliasesResponse (Prelude.Maybe Prelude.Text)+listTemplateAliasesResponse_nextToken = Lens.lens (\ListTemplateAliasesResponse' {nextToken} -> nextToken) (\s@ListTemplateAliasesResponse' {} a -> s {nextToken = a} :: ListTemplateAliasesResponse)++-- | The Amazon Web Services request ID for this operation.+listTemplateAliasesResponse_requestId :: Lens.Lens' ListTemplateAliasesResponse (Prelude.Maybe Prelude.Text)+listTemplateAliasesResponse_requestId = Lens.lens (\ListTemplateAliasesResponse' {requestId} -> requestId) (\s@ListTemplateAliasesResponse' {} a -> s {requestId = a} :: ListTemplateAliasesResponse)++-- | A structure containing the list of the template\'s aliases.+listTemplateAliasesResponse_templateAliasList :: Lens.Lens' ListTemplateAliasesResponse (Prelude.Maybe [TemplateAlias])+listTemplateAliasesResponse_templateAliasList = Lens.lens (\ListTemplateAliasesResponse' {templateAliasList} -> templateAliasList) (\s@ListTemplateAliasesResponse' {} a -> s {templateAliasList = a} :: ListTemplateAliasesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The HTTP status of the request.+listTemplateAliasesResponse_status :: Lens.Lens' ListTemplateAliasesResponse Prelude.Int+listTemplateAliasesResponse_status = Lens.lens (\ListTemplateAliasesResponse' {status} -> status) (\s@ListTemplateAliasesResponse' {} a -> s {status = a} :: ListTemplateAliasesResponse)++instance Prelude.NFData ListTemplateAliasesResponse where+  rnf ListTemplateAliasesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf templateAliasList+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListTemplateVersions.hs view
@@ -0,0 +1,274 @@+{-# 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.QuickSight.ListTemplateVersions+-- 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 versions of the templates in the current Amazon QuickSight+-- account.+--+-- This operation returns paginated results.+module Amazonka.QuickSight.ListTemplateVersions+  ( -- * Creating a Request+    ListTemplateVersions (..),+    newListTemplateVersions,++    -- * Request Lenses+    listTemplateVersions_maxResults,+    listTemplateVersions_nextToken,+    listTemplateVersions_awsAccountId,+    listTemplateVersions_templateId,++    -- * Destructuring the Response+    ListTemplateVersionsResponse (..),+    newListTemplateVersionsResponse,++    -- * Response Lenses+    listTemplateVersionsResponse_nextToken,+    listTemplateVersionsResponse_requestId,+    listTemplateVersionsResponse_templateVersionSummaryList,+    listTemplateVersionsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTemplateVersions' smart constructor.+data ListTemplateVersions = ListTemplateVersions'+  { -- | The maximum number of results to be returned per request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account that contains the templates+    -- that you\'re listing.+    awsAccountId :: Prelude.Text,+    -- | The ID for the template.+    templateId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTemplateVersions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listTemplateVersions_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listTemplateVersions_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'awsAccountId', 'listTemplateVersions_awsAccountId' - The ID of the Amazon Web Services account that contains the templates+-- that you\'re listing.+--+-- 'templateId', 'listTemplateVersions_templateId' - The ID for the template.+newListTemplateVersions ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'templateId'+  Prelude.Text ->+  ListTemplateVersions+newListTemplateVersions pAwsAccountId_ pTemplateId_ =+  ListTemplateVersions'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      templateId = pTemplateId_+    }++-- | The maximum number of results to be returned per request.+listTemplateVersions_maxResults :: Lens.Lens' ListTemplateVersions (Prelude.Maybe Prelude.Natural)+listTemplateVersions_maxResults = Lens.lens (\ListTemplateVersions' {maxResults} -> maxResults) (\s@ListTemplateVersions' {} a -> s {maxResults = a} :: ListTemplateVersions)++-- | The token for the next set of results, or null if there are no more+-- results.+listTemplateVersions_nextToken :: Lens.Lens' ListTemplateVersions (Prelude.Maybe Prelude.Text)+listTemplateVersions_nextToken = Lens.lens (\ListTemplateVersions' {nextToken} -> nextToken) (\s@ListTemplateVersions' {} a -> s {nextToken = a} :: ListTemplateVersions)++-- | The ID of the Amazon Web Services account that contains the templates+-- that you\'re listing.+listTemplateVersions_awsAccountId :: Lens.Lens' ListTemplateVersions Prelude.Text+listTemplateVersions_awsAccountId = Lens.lens (\ListTemplateVersions' {awsAccountId} -> awsAccountId) (\s@ListTemplateVersions' {} a -> s {awsAccountId = a} :: ListTemplateVersions)++-- | The ID for the template.+listTemplateVersions_templateId :: Lens.Lens' ListTemplateVersions Prelude.Text+listTemplateVersions_templateId = Lens.lens (\ListTemplateVersions' {templateId} -> templateId) (\s@ListTemplateVersions' {} a -> s {templateId = a} :: ListTemplateVersions)++instance Core.AWSPager ListTemplateVersions where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listTemplateVersionsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listTemplateVersionsResponse_templateVersionSummaryList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listTemplateVersions_nextToken+          Lens..~ rs+          Lens.^? listTemplateVersionsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListTemplateVersions where+  type+    AWSResponse ListTemplateVersions =+      ListTemplateVersionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTemplateVersionsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> ( x+                            Data..?> "TemplateVersionSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTemplateVersions where+  hashWithSalt _salt ListTemplateVersions' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` templateId++instance Prelude.NFData ListTemplateVersions where+  rnf ListTemplateVersions' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf templateId++instance Data.ToHeaders ListTemplateVersions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListTemplateVersions where+  toPath ListTemplateVersions' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/templates/",+        Data.toBS templateId,+        "/versions"+      ]++instance Data.ToQuery ListTemplateVersions where+  toQuery ListTemplateVersions' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListTemplateVersionsResponse' smart constructor.+data ListTemplateVersionsResponse = ListTemplateVersionsResponse'+  { -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | A structure containing a list of all the versions of the specified+    -- template.+    templateVersionSummaryList :: Prelude.Maybe [TemplateVersionSummary],+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTemplateVersionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listTemplateVersionsResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'requestId', 'listTemplateVersionsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'templateVersionSummaryList', 'listTemplateVersionsResponse_templateVersionSummaryList' - A structure containing a list of all the versions of the specified+-- template.+--+-- 'status', 'listTemplateVersionsResponse_status' - The HTTP status of the request.+newListTemplateVersionsResponse ::+  -- | 'status'+  Prelude.Int ->+  ListTemplateVersionsResponse+newListTemplateVersionsResponse pStatus_ =+  ListTemplateVersionsResponse'+    { nextToken =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      templateVersionSummaryList = Prelude.Nothing,+      status = pStatus_+    }++-- | The token for the next set of results, or null if there are no more+-- results.+listTemplateVersionsResponse_nextToken :: Lens.Lens' ListTemplateVersionsResponse (Prelude.Maybe Prelude.Text)+listTemplateVersionsResponse_nextToken = Lens.lens (\ListTemplateVersionsResponse' {nextToken} -> nextToken) (\s@ListTemplateVersionsResponse' {} a -> s {nextToken = a} :: ListTemplateVersionsResponse)++-- | The Amazon Web Services request ID for this operation.+listTemplateVersionsResponse_requestId :: Lens.Lens' ListTemplateVersionsResponse (Prelude.Maybe Prelude.Text)+listTemplateVersionsResponse_requestId = Lens.lens (\ListTemplateVersionsResponse' {requestId} -> requestId) (\s@ListTemplateVersionsResponse' {} a -> s {requestId = a} :: ListTemplateVersionsResponse)++-- | A structure containing a list of all the versions of the specified+-- template.+listTemplateVersionsResponse_templateVersionSummaryList :: Lens.Lens' ListTemplateVersionsResponse (Prelude.Maybe [TemplateVersionSummary])+listTemplateVersionsResponse_templateVersionSummaryList = Lens.lens (\ListTemplateVersionsResponse' {templateVersionSummaryList} -> templateVersionSummaryList) (\s@ListTemplateVersionsResponse' {} a -> s {templateVersionSummaryList = a} :: ListTemplateVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The HTTP status of the request.+listTemplateVersionsResponse_status :: Lens.Lens' ListTemplateVersionsResponse Prelude.Int+listTemplateVersionsResponse_status = Lens.lens (\ListTemplateVersionsResponse' {status} -> status) (\s@ListTemplateVersionsResponse' {} a -> s {status = a} :: ListTemplateVersionsResponse)++instance Prelude.NFData ListTemplateVersionsResponse where+  rnf ListTemplateVersionsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf templateVersionSummaryList+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListTemplates.hs view
@@ -0,0 +1,250 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.ListTemplates+-- 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 templates in the current Amazon QuickSight account.+--+-- This operation returns paginated results.+module Amazonka.QuickSight.ListTemplates+  ( -- * Creating a Request+    ListTemplates (..),+    newListTemplates,++    -- * Request Lenses+    listTemplates_maxResults,+    listTemplates_nextToken,+    listTemplates_awsAccountId,++    -- * Destructuring the Response+    ListTemplatesResponse (..),+    newListTemplatesResponse,++    -- * Response Lenses+    listTemplatesResponse_nextToken,+    listTemplatesResponse_requestId,+    listTemplatesResponse_templateSummaryList,+    listTemplatesResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTemplates' smart constructor.+data ListTemplates = ListTemplates'+  { -- | The maximum number of results to be returned per request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account that contains the templates+    -- that you\'re listing.+    awsAccountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTemplates' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listTemplates_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listTemplates_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'awsAccountId', 'listTemplates_awsAccountId' - The ID of the Amazon Web Services account that contains the templates+-- that you\'re listing.+newListTemplates ::+  -- | 'awsAccountId'+  Prelude.Text ->+  ListTemplates+newListTemplates pAwsAccountId_ =+  ListTemplates'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_+    }++-- | The maximum number of results to be returned per request.+listTemplates_maxResults :: Lens.Lens' ListTemplates (Prelude.Maybe Prelude.Natural)+listTemplates_maxResults = Lens.lens (\ListTemplates' {maxResults} -> maxResults) (\s@ListTemplates' {} a -> s {maxResults = a} :: ListTemplates)++-- | The token for the next set of results, or null if there are no more+-- results.+listTemplates_nextToken :: Lens.Lens' ListTemplates (Prelude.Maybe Prelude.Text)+listTemplates_nextToken = Lens.lens (\ListTemplates' {nextToken} -> nextToken) (\s@ListTemplates' {} a -> s {nextToken = a} :: ListTemplates)++-- | The ID of the Amazon Web Services account that contains the templates+-- that you\'re listing.+listTemplates_awsAccountId :: Lens.Lens' ListTemplates Prelude.Text+listTemplates_awsAccountId = Lens.lens (\ListTemplates' {awsAccountId} -> awsAccountId) (\s@ListTemplates' {} a -> s {awsAccountId = a} :: ListTemplates)++instance Core.AWSPager ListTemplates where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listTemplatesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listTemplatesResponse_templateSummaryList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listTemplates_nextToken+          Lens..~ rs+          Lens.^? listTemplatesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListTemplates where+  type+    AWSResponse ListTemplates =+      ListTemplatesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTemplatesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> ( x+                            Data..?> "TemplateSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTemplates where+  hashWithSalt _salt ListTemplates' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId++instance Prelude.NFData ListTemplates where+  rnf ListTemplates' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId++instance Data.ToHeaders ListTemplates where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListTemplates where+  toPath ListTemplates' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS awsAccountId, "/templates"]++instance Data.ToQuery ListTemplates where+  toQuery ListTemplates' {..} =+    Prelude.mconcat+      [ "max-result" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListTemplatesResponse' smart constructor.+data ListTemplatesResponse = ListTemplatesResponse'+  { -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | A structure containing information about the templates in the list.+    templateSummaryList :: Prelude.Maybe [TemplateSummary],+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTemplatesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listTemplatesResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'requestId', 'listTemplatesResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'templateSummaryList', 'listTemplatesResponse_templateSummaryList' - A structure containing information about the templates in the list.+--+-- 'status', 'listTemplatesResponse_status' - The HTTP status of the request.+newListTemplatesResponse ::+  -- | 'status'+  Prelude.Int ->+  ListTemplatesResponse+newListTemplatesResponse pStatus_ =+  ListTemplatesResponse'+    { nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      templateSummaryList = Prelude.Nothing,+      status = pStatus_+    }++-- | The token for the next set of results, or null if there are no more+-- results.+listTemplatesResponse_nextToken :: Lens.Lens' ListTemplatesResponse (Prelude.Maybe Prelude.Text)+listTemplatesResponse_nextToken = Lens.lens (\ListTemplatesResponse' {nextToken} -> nextToken) (\s@ListTemplatesResponse' {} a -> s {nextToken = a} :: ListTemplatesResponse)++-- | The Amazon Web Services request ID for this operation.+listTemplatesResponse_requestId :: Lens.Lens' ListTemplatesResponse (Prelude.Maybe Prelude.Text)+listTemplatesResponse_requestId = Lens.lens (\ListTemplatesResponse' {requestId} -> requestId) (\s@ListTemplatesResponse' {} a -> s {requestId = a} :: ListTemplatesResponse)++-- | A structure containing information about the templates in the list.+listTemplatesResponse_templateSummaryList :: Lens.Lens' ListTemplatesResponse (Prelude.Maybe [TemplateSummary])+listTemplatesResponse_templateSummaryList = Lens.lens (\ListTemplatesResponse' {templateSummaryList} -> templateSummaryList) (\s@ListTemplatesResponse' {} a -> s {templateSummaryList = a} :: ListTemplatesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The HTTP status of the request.+listTemplatesResponse_status :: Lens.Lens' ListTemplatesResponse Prelude.Int+listTemplatesResponse_status = Lens.lens (\ListTemplatesResponse' {status} -> status) (\s@ListTemplatesResponse' {} a -> s {status = a} :: ListTemplatesResponse)++instance Prelude.NFData ListTemplatesResponse where+  rnf ListTemplatesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf templateSummaryList+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListThemeAliases.hs view
@@ -0,0 +1,243 @@+{-# 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.QuickSight.ListThemeAliases+-- 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 aliases of a theme.+module Amazonka.QuickSight.ListThemeAliases+  ( -- * Creating a Request+    ListThemeAliases (..),+    newListThemeAliases,++    -- * Request Lenses+    listThemeAliases_maxResults,+    listThemeAliases_nextToken,+    listThemeAliases_awsAccountId,+    listThemeAliases_themeId,++    -- * Destructuring the Response+    ListThemeAliasesResponse (..),+    newListThemeAliasesResponse,++    -- * Response Lenses+    listThemeAliasesResponse_nextToken,+    listThemeAliasesResponse_requestId,+    listThemeAliasesResponse_themeAliasList,+    listThemeAliasesResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListThemeAliases' smart constructor.+data ListThemeAliases = ListThemeAliases'+  { -- | The maximum number of results to be returned per request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account that contains the theme+    -- aliases that you\'re listing.+    awsAccountId :: Prelude.Text,+    -- | The ID for the theme.+    themeId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListThemeAliases' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listThemeAliases_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listThemeAliases_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'awsAccountId', 'listThemeAliases_awsAccountId' - The ID of the Amazon Web Services account that contains the theme+-- aliases that you\'re listing.+--+-- 'themeId', 'listThemeAliases_themeId' - The ID for the theme.+newListThemeAliases ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'themeId'+  Prelude.Text ->+  ListThemeAliases+newListThemeAliases pAwsAccountId_ pThemeId_ =+  ListThemeAliases'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      themeId = pThemeId_+    }++-- | The maximum number of results to be returned per request.+listThemeAliases_maxResults :: Lens.Lens' ListThemeAliases (Prelude.Maybe Prelude.Natural)+listThemeAliases_maxResults = Lens.lens (\ListThemeAliases' {maxResults} -> maxResults) (\s@ListThemeAliases' {} a -> s {maxResults = a} :: ListThemeAliases)++-- | The token for the next set of results, or null if there are no more+-- results.+listThemeAliases_nextToken :: Lens.Lens' ListThemeAliases (Prelude.Maybe Prelude.Text)+listThemeAliases_nextToken = Lens.lens (\ListThemeAliases' {nextToken} -> nextToken) (\s@ListThemeAliases' {} a -> s {nextToken = a} :: ListThemeAliases)++-- | The ID of the Amazon Web Services account that contains the theme+-- aliases that you\'re listing.+listThemeAliases_awsAccountId :: Lens.Lens' ListThemeAliases Prelude.Text+listThemeAliases_awsAccountId = Lens.lens (\ListThemeAliases' {awsAccountId} -> awsAccountId) (\s@ListThemeAliases' {} a -> s {awsAccountId = a} :: ListThemeAliases)++-- | The ID for the theme.+listThemeAliases_themeId :: Lens.Lens' ListThemeAliases Prelude.Text+listThemeAliases_themeId = Lens.lens (\ListThemeAliases' {themeId} -> themeId) (\s@ListThemeAliases' {} a -> s {themeId = a} :: ListThemeAliases)++instance Core.AWSRequest ListThemeAliases where+  type+    AWSResponse ListThemeAliases =+      ListThemeAliasesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListThemeAliasesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "ThemeAliasList" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListThemeAliases where+  hashWithSalt _salt ListThemeAliases' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` themeId++instance Prelude.NFData ListThemeAliases where+  rnf ListThemeAliases' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf themeId++instance Data.ToHeaders ListThemeAliases where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListThemeAliases where+  toPath ListThemeAliases' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/themes/",+        Data.toBS themeId,+        "/aliases"+      ]++instance Data.ToQuery ListThemeAliases where+  toQuery ListThemeAliases' {..} =+    Prelude.mconcat+      [ "max-result" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListThemeAliasesResponse' smart constructor.+data ListThemeAliasesResponse = ListThemeAliasesResponse'+  { -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | A structure containing the list of the theme\'s aliases.+    themeAliasList :: Prelude.Maybe [ThemeAlias],+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListThemeAliasesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listThemeAliasesResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'requestId', 'listThemeAliasesResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'themeAliasList', 'listThemeAliasesResponse_themeAliasList' - A structure containing the list of the theme\'s aliases.+--+-- 'status', 'listThemeAliasesResponse_status' - The HTTP status of the request.+newListThemeAliasesResponse ::+  -- | 'status'+  Prelude.Int ->+  ListThemeAliasesResponse+newListThemeAliasesResponse pStatus_ =+  ListThemeAliasesResponse'+    { nextToken =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      themeAliasList = Prelude.Nothing,+      status = pStatus_+    }++-- | The token for the next set of results, or null if there are no more+-- results.+listThemeAliasesResponse_nextToken :: Lens.Lens' ListThemeAliasesResponse (Prelude.Maybe Prelude.Text)+listThemeAliasesResponse_nextToken = Lens.lens (\ListThemeAliasesResponse' {nextToken} -> nextToken) (\s@ListThemeAliasesResponse' {} a -> s {nextToken = a} :: ListThemeAliasesResponse)++-- | The Amazon Web Services request ID for this operation.+listThemeAliasesResponse_requestId :: Lens.Lens' ListThemeAliasesResponse (Prelude.Maybe Prelude.Text)+listThemeAliasesResponse_requestId = Lens.lens (\ListThemeAliasesResponse' {requestId} -> requestId) (\s@ListThemeAliasesResponse' {} a -> s {requestId = a} :: ListThemeAliasesResponse)++-- | A structure containing the list of the theme\'s aliases.+listThemeAliasesResponse_themeAliasList :: Lens.Lens' ListThemeAliasesResponse (Prelude.Maybe [ThemeAlias])+listThemeAliasesResponse_themeAliasList = Lens.lens (\ListThemeAliasesResponse' {themeAliasList} -> themeAliasList) (\s@ListThemeAliasesResponse' {} a -> s {themeAliasList = a} :: ListThemeAliasesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The HTTP status of the request.+listThemeAliasesResponse_status :: Lens.Lens' ListThemeAliasesResponse Prelude.Int+listThemeAliasesResponse_status = Lens.lens (\ListThemeAliasesResponse' {status} -> status) (\s@ListThemeAliasesResponse' {} a -> s {status = a} :: ListThemeAliasesResponse)++instance Prelude.NFData ListThemeAliasesResponse where+  rnf ListThemeAliasesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf themeAliasList+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListThemeVersions.hs view
@@ -0,0 +1,274 @@+{-# 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.QuickSight.ListThemeVersions+-- 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 versions of the themes in the current Amazon Web Services+-- account.+--+-- This operation returns paginated results.+module Amazonka.QuickSight.ListThemeVersions+  ( -- * Creating a Request+    ListThemeVersions (..),+    newListThemeVersions,++    -- * Request Lenses+    listThemeVersions_maxResults,+    listThemeVersions_nextToken,+    listThemeVersions_awsAccountId,+    listThemeVersions_themeId,++    -- * Destructuring the Response+    ListThemeVersionsResponse (..),+    newListThemeVersionsResponse,++    -- * Response Lenses+    listThemeVersionsResponse_nextToken,+    listThemeVersionsResponse_requestId,+    listThemeVersionsResponse_themeVersionSummaryList,+    listThemeVersionsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListThemeVersions' smart constructor.+data ListThemeVersions = ListThemeVersions'+  { -- | The maximum number of results to be returned per request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account that contains the themes that+    -- you\'re listing.+    awsAccountId :: Prelude.Text,+    -- | The ID for the theme.+    themeId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListThemeVersions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listThemeVersions_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listThemeVersions_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'awsAccountId', 'listThemeVersions_awsAccountId' - The ID of the Amazon Web Services account that contains the themes that+-- you\'re listing.+--+-- 'themeId', 'listThemeVersions_themeId' - The ID for the theme.+newListThemeVersions ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'themeId'+  Prelude.Text ->+  ListThemeVersions+newListThemeVersions pAwsAccountId_ pThemeId_ =+  ListThemeVersions'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      themeId = pThemeId_+    }++-- | The maximum number of results to be returned per request.+listThemeVersions_maxResults :: Lens.Lens' ListThemeVersions (Prelude.Maybe Prelude.Natural)+listThemeVersions_maxResults = Lens.lens (\ListThemeVersions' {maxResults} -> maxResults) (\s@ListThemeVersions' {} a -> s {maxResults = a} :: ListThemeVersions)++-- | The token for the next set of results, or null if there are no more+-- results.+listThemeVersions_nextToken :: Lens.Lens' ListThemeVersions (Prelude.Maybe Prelude.Text)+listThemeVersions_nextToken = Lens.lens (\ListThemeVersions' {nextToken} -> nextToken) (\s@ListThemeVersions' {} a -> s {nextToken = a} :: ListThemeVersions)++-- | The ID of the Amazon Web Services account that contains the themes that+-- you\'re listing.+listThemeVersions_awsAccountId :: Lens.Lens' ListThemeVersions Prelude.Text+listThemeVersions_awsAccountId = Lens.lens (\ListThemeVersions' {awsAccountId} -> awsAccountId) (\s@ListThemeVersions' {} a -> s {awsAccountId = a} :: ListThemeVersions)++-- | The ID for the theme.+listThemeVersions_themeId :: Lens.Lens' ListThemeVersions Prelude.Text+listThemeVersions_themeId = Lens.lens (\ListThemeVersions' {themeId} -> themeId) (\s@ListThemeVersions' {} a -> s {themeId = a} :: ListThemeVersions)++instance Core.AWSPager ListThemeVersions where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listThemeVersionsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listThemeVersionsResponse_themeVersionSummaryList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listThemeVersions_nextToken+          Lens..~ rs+          Lens.^? listThemeVersionsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListThemeVersions where+  type+    AWSResponse ListThemeVersions =+      ListThemeVersionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListThemeVersionsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> ( x+                            Data..?> "ThemeVersionSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListThemeVersions where+  hashWithSalt _salt ListThemeVersions' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` themeId++instance Prelude.NFData ListThemeVersions where+  rnf ListThemeVersions' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf themeId++instance Data.ToHeaders ListThemeVersions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListThemeVersions where+  toPath ListThemeVersions' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/themes/",+        Data.toBS themeId,+        "/versions"+      ]++instance Data.ToQuery ListThemeVersions where+  toQuery ListThemeVersions' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListThemeVersionsResponse' smart constructor.+data ListThemeVersionsResponse = ListThemeVersionsResponse'+  { -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | A structure containing a list of all the versions of the specified+    -- theme.+    themeVersionSummaryList :: Prelude.Maybe [ThemeVersionSummary],+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListThemeVersionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listThemeVersionsResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'requestId', 'listThemeVersionsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'themeVersionSummaryList', 'listThemeVersionsResponse_themeVersionSummaryList' - A structure containing a list of all the versions of the specified+-- theme.+--+-- 'status', 'listThemeVersionsResponse_status' - The HTTP status of the request.+newListThemeVersionsResponse ::+  -- | 'status'+  Prelude.Int ->+  ListThemeVersionsResponse+newListThemeVersionsResponse pStatus_ =+  ListThemeVersionsResponse'+    { nextToken =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      themeVersionSummaryList = Prelude.Nothing,+      status = pStatus_+    }++-- | The token for the next set of results, or null if there are no more+-- results.+listThemeVersionsResponse_nextToken :: Lens.Lens' ListThemeVersionsResponse (Prelude.Maybe Prelude.Text)+listThemeVersionsResponse_nextToken = Lens.lens (\ListThemeVersionsResponse' {nextToken} -> nextToken) (\s@ListThemeVersionsResponse' {} a -> s {nextToken = a} :: ListThemeVersionsResponse)++-- | The Amazon Web Services request ID for this operation.+listThemeVersionsResponse_requestId :: Lens.Lens' ListThemeVersionsResponse (Prelude.Maybe Prelude.Text)+listThemeVersionsResponse_requestId = Lens.lens (\ListThemeVersionsResponse' {requestId} -> requestId) (\s@ListThemeVersionsResponse' {} a -> s {requestId = a} :: ListThemeVersionsResponse)++-- | A structure containing a list of all the versions of the specified+-- theme.+listThemeVersionsResponse_themeVersionSummaryList :: Lens.Lens' ListThemeVersionsResponse (Prelude.Maybe [ThemeVersionSummary])+listThemeVersionsResponse_themeVersionSummaryList = Lens.lens (\ListThemeVersionsResponse' {themeVersionSummaryList} -> themeVersionSummaryList) (\s@ListThemeVersionsResponse' {} a -> s {themeVersionSummaryList = a} :: ListThemeVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The HTTP status of the request.+listThemeVersionsResponse_status :: Lens.Lens' ListThemeVersionsResponse Prelude.Int+listThemeVersionsResponse_status = Lens.lens (\ListThemeVersionsResponse' {status} -> status) (\s@ListThemeVersionsResponse' {} a -> s {status = a} :: ListThemeVersionsResponse)++instance Prelude.NFData ListThemeVersionsResponse where+  rnf ListThemeVersionsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf themeVersionSummaryList+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListThemes.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.QuickSight.ListThemes+-- 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 themes in the current Amazon Web Services account.+--+-- This operation returns paginated results.+module Amazonka.QuickSight.ListThemes+  ( -- * Creating a Request+    ListThemes (..),+    newListThemes,++    -- * Request Lenses+    listThemes_maxResults,+    listThemes_nextToken,+    listThemes_type,+    listThemes_awsAccountId,++    -- * Destructuring the Response+    ListThemesResponse (..),+    newListThemesResponse,++    -- * Response Lenses+    listThemesResponse_nextToken,+    listThemesResponse_requestId,+    listThemesResponse_themeSummaryList,+    listThemesResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListThemes' smart constructor.+data ListThemes = ListThemes'+  { -- | The maximum number of results to be returned per request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The type of themes that you want to list. Valid options include the+    -- following:+    --+    -- -   @ALL (default)@- Display all existing themes.+    --+    -- -   @CUSTOM@ - Display only the themes created by people using Amazon+    --     QuickSight.+    --+    -- -   @QUICKSIGHT@ - Display only the starting themes defined by Amazon+    --     QuickSight.+    type' :: Prelude.Maybe ThemeType,+    -- | The ID of the Amazon Web Services account that contains the themes that+    -- you\'re listing.+    awsAccountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListThemes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listThemes_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listThemes_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'type'', 'listThemes_type' - The type of themes that you want to list. Valid options include the+-- following:+--+-- -   @ALL (default)@- Display all existing themes.+--+-- -   @CUSTOM@ - Display only the themes created by people using Amazon+--     QuickSight.+--+-- -   @QUICKSIGHT@ - Display only the starting themes defined by Amazon+--     QuickSight.+--+-- 'awsAccountId', 'listThemes_awsAccountId' - The ID of the Amazon Web Services account that contains the themes that+-- you\'re listing.+newListThemes ::+  -- | 'awsAccountId'+  Prelude.Text ->+  ListThemes+newListThemes pAwsAccountId_ =+  ListThemes'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      type' = Prelude.Nothing,+      awsAccountId = pAwsAccountId_+    }++-- | The maximum number of results to be returned per request.+listThemes_maxResults :: Lens.Lens' ListThemes (Prelude.Maybe Prelude.Natural)+listThemes_maxResults = Lens.lens (\ListThemes' {maxResults} -> maxResults) (\s@ListThemes' {} a -> s {maxResults = a} :: ListThemes)++-- | The token for the next set of results, or null if there are no more+-- results.+listThemes_nextToken :: Lens.Lens' ListThemes (Prelude.Maybe Prelude.Text)+listThemes_nextToken = Lens.lens (\ListThemes' {nextToken} -> nextToken) (\s@ListThemes' {} a -> s {nextToken = a} :: ListThemes)++-- | The type of themes that you want to list. Valid options include the+-- following:+--+-- -   @ALL (default)@- Display all existing themes.+--+-- -   @CUSTOM@ - Display only the themes created by people using Amazon+--     QuickSight.+--+-- -   @QUICKSIGHT@ - Display only the starting themes defined by Amazon+--     QuickSight.+listThemes_type :: Lens.Lens' ListThemes (Prelude.Maybe ThemeType)+listThemes_type = Lens.lens (\ListThemes' {type'} -> type') (\s@ListThemes' {} a -> s {type' = a} :: ListThemes)++-- | The ID of the Amazon Web Services account that contains the themes that+-- you\'re listing.+listThemes_awsAccountId :: Lens.Lens' ListThemes Prelude.Text+listThemes_awsAccountId = Lens.lens (\ListThemes' {awsAccountId} -> awsAccountId) (\s@ListThemes' {} a -> s {awsAccountId = a} :: ListThemes)++instance Core.AWSPager ListThemes where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listThemesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listThemesResponse_themeSummaryList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listThemes_nextToken+          Lens..~ rs+          Lens.^? listThemesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListThemes where+  type AWSResponse ListThemes = ListThemesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListThemesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> ( x+                            Data..?> "ThemeSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListThemes where+  hashWithSalt _salt ListThemes' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` awsAccountId++instance Prelude.NFData ListThemes where+  rnf ListThemes' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf awsAccountId++instance Data.ToHeaders ListThemes where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListThemes where+  toPath ListThemes' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS awsAccountId, "/themes"]++instance Data.ToQuery ListThemes where+  toQuery ListThemes' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken,+        "type" Data.=: type'+      ]++-- | /See:/ 'newListThemesResponse' smart constructor.+data ListThemesResponse = ListThemesResponse'+  { -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | Information about the themes in the list.+    themeSummaryList :: Prelude.Maybe [ThemeSummary],+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListThemesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listThemesResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'requestId', 'listThemesResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'themeSummaryList', 'listThemesResponse_themeSummaryList' - Information about the themes in the list.+--+-- 'status', 'listThemesResponse_status' - The HTTP status of the request.+newListThemesResponse ::+  -- | 'status'+  Prelude.Int ->+  ListThemesResponse+newListThemesResponse pStatus_ =+  ListThemesResponse'+    { nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      themeSummaryList = Prelude.Nothing,+      status = pStatus_+    }++-- | The token for the next set of results, or null if there are no more+-- results.+listThemesResponse_nextToken :: Lens.Lens' ListThemesResponse (Prelude.Maybe Prelude.Text)+listThemesResponse_nextToken = Lens.lens (\ListThemesResponse' {nextToken} -> nextToken) (\s@ListThemesResponse' {} a -> s {nextToken = a} :: ListThemesResponse)++-- | The Amazon Web Services request ID for this operation.+listThemesResponse_requestId :: Lens.Lens' ListThemesResponse (Prelude.Maybe Prelude.Text)+listThemesResponse_requestId = Lens.lens (\ListThemesResponse' {requestId} -> requestId) (\s@ListThemesResponse' {} a -> s {requestId = a} :: ListThemesResponse)++-- | Information about the themes in the list.+listThemesResponse_themeSummaryList :: Lens.Lens' ListThemesResponse (Prelude.Maybe [ThemeSummary])+listThemesResponse_themeSummaryList = Lens.lens (\ListThemesResponse' {themeSummaryList} -> themeSummaryList) (\s@ListThemesResponse' {} a -> s {themeSummaryList = a} :: ListThemesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The HTTP status of the request.+listThemesResponse_status :: Lens.Lens' ListThemesResponse Prelude.Int+listThemesResponse_status = Lens.lens (\ListThemesResponse' {status} -> status) (\s@ListThemesResponse' {} a -> s {status = a} :: ListThemesResponse)++instance Prelude.NFData ListThemesResponse where+  rnf ListThemesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf themeSummaryList+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListUserGroups.hs view
@@ -0,0 +1,263 @@+{-# 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.QuickSight.ListUserGroups+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the Amazon QuickSight groups that an Amazon QuickSight user is a+-- member of.+module Amazonka.QuickSight.ListUserGroups+  ( -- * Creating a Request+    ListUserGroups (..),+    newListUserGroups,++    -- * Request Lenses+    listUserGroups_maxResults,+    listUserGroups_nextToken,+    listUserGroups_userName,+    listUserGroups_awsAccountId,+    listUserGroups_namespace,++    -- * Destructuring the Response+    ListUserGroupsResponse (..),+    newListUserGroupsResponse,++    -- * Response Lenses+    listUserGroupsResponse_groupList,+    listUserGroupsResponse_nextToken,+    listUserGroupsResponse_requestId,+    listUserGroupsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListUserGroups' smart constructor.+data ListUserGroups = ListUserGroups'+  { -- | The maximum number of results to return from this request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | A pagination token that can be used in a subsequent request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon QuickSight user name that you want to list group memberships+    -- for.+    userName :: Prelude.Text,+    -- | The Amazon Web Services account ID that the user is in. Currently, you+    -- use the ID for the Amazon Web Services account that contains your Amazon+    -- QuickSight account.+    awsAccountId :: Prelude.Text,+    -- | The namespace. Currently, you should set this to @default@.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListUserGroups' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listUserGroups_maxResults' - The maximum number of results to return from this request.+--+-- 'nextToken', 'listUserGroups_nextToken' - A pagination token that can be used in a subsequent request.+--+-- 'userName', 'listUserGroups_userName' - The Amazon QuickSight user name that you want to list group memberships+-- for.+--+-- 'awsAccountId', 'listUserGroups_awsAccountId' - The Amazon Web Services account ID that the user is in. Currently, you+-- use the ID for the Amazon Web Services account that contains your Amazon+-- QuickSight account.+--+-- 'namespace', 'listUserGroups_namespace' - The namespace. Currently, you should set this to @default@.+newListUserGroups ::+  -- | 'userName'+  Prelude.Text ->+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  ListUserGroups+newListUserGroups+  pUserName_+  pAwsAccountId_+  pNamespace_ =+    ListUserGroups'+      { maxResults = Prelude.Nothing,+        nextToken = Prelude.Nothing,+        userName = pUserName_,+        awsAccountId = pAwsAccountId_,+        namespace = pNamespace_+      }++-- | The maximum number of results to return from this request.+listUserGroups_maxResults :: Lens.Lens' ListUserGroups (Prelude.Maybe Prelude.Natural)+listUserGroups_maxResults = Lens.lens (\ListUserGroups' {maxResults} -> maxResults) (\s@ListUserGroups' {} a -> s {maxResults = a} :: ListUserGroups)++-- | A pagination token that can be used in a subsequent request.+listUserGroups_nextToken :: Lens.Lens' ListUserGroups (Prelude.Maybe Prelude.Text)+listUserGroups_nextToken = Lens.lens (\ListUserGroups' {nextToken} -> nextToken) (\s@ListUserGroups' {} a -> s {nextToken = a} :: ListUserGroups)++-- | The Amazon QuickSight user name that you want to list group memberships+-- for.+listUserGroups_userName :: Lens.Lens' ListUserGroups Prelude.Text+listUserGroups_userName = Lens.lens (\ListUserGroups' {userName} -> userName) (\s@ListUserGroups' {} a -> s {userName = a} :: ListUserGroups)++-- | The Amazon Web Services account ID that the user is in. Currently, you+-- use the ID for the Amazon Web Services account that contains your Amazon+-- QuickSight account.+listUserGroups_awsAccountId :: Lens.Lens' ListUserGroups Prelude.Text+listUserGroups_awsAccountId = Lens.lens (\ListUserGroups' {awsAccountId} -> awsAccountId) (\s@ListUserGroups' {} a -> s {awsAccountId = a} :: ListUserGroups)++-- | The namespace. Currently, you should set this to @default@.+listUserGroups_namespace :: Lens.Lens' ListUserGroups Prelude.Text+listUserGroups_namespace = Lens.lens (\ListUserGroups' {namespace} -> namespace) (\s@ListUserGroups' {} a -> s {namespace = a} :: ListUserGroups)++instance Core.AWSRequest ListUserGroups where+  type+    AWSResponse ListUserGroups =+      ListUserGroupsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListUserGroupsResponse'+            Prelude.<$> (x Data..?> "GroupList" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListUserGroups where+  hashWithSalt _salt ListUserGroups' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` userName+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData ListUserGroups where+  rnf ListUserGroups' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf userName+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders ListUserGroups where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListUserGroups where+  toPath ListUserGroups' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/users/",+        Data.toBS userName,+        "/groups"+      ]++instance Data.ToQuery ListUserGroups where+  toQuery ListUserGroups' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListUserGroupsResponse' smart constructor.+data ListUserGroupsResponse = ListUserGroupsResponse'+  { -- | The list of groups the user is a member of.+    groupList :: Prelude.Maybe [Group],+    -- | A pagination token that can be used in a subsequent request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListUserGroupsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'groupList', 'listUserGroupsResponse_groupList' - The list of groups the user is a member of.+--+-- 'nextToken', 'listUserGroupsResponse_nextToken' - A pagination token that can be used in a subsequent request.+--+-- 'requestId', 'listUserGroupsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'listUserGroupsResponse_status' - The HTTP status of the request.+newListUserGroupsResponse ::+  -- | 'status'+  Prelude.Int ->+  ListUserGroupsResponse+newListUserGroupsResponse pStatus_ =+  ListUserGroupsResponse'+    { groupList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The list of groups the user is a member of.+listUserGroupsResponse_groupList :: Lens.Lens' ListUserGroupsResponse (Prelude.Maybe [Group])+listUserGroupsResponse_groupList = Lens.lens (\ListUserGroupsResponse' {groupList} -> groupList) (\s@ListUserGroupsResponse' {} a -> s {groupList = a} :: ListUserGroupsResponse) Prelude.. Lens.mapping Lens.coerced++-- | A pagination token that can be used in a subsequent request.+listUserGroupsResponse_nextToken :: Lens.Lens' ListUserGroupsResponse (Prelude.Maybe Prelude.Text)+listUserGroupsResponse_nextToken = Lens.lens (\ListUserGroupsResponse' {nextToken} -> nextToken) (\s@ListUserGroupsResponse' {} a -> s {nextToken = a} :: ListUserGroupsResponse)++-- | The Amazon Web Services request ID for this operation.+listUserGroupsResponse_requestId :: Lens.Lens' ListUserGroupsResponse (Prelude.Maybe Prelude.Text)+listUserGroupsResponse_requestId = Lens.lens (\ListUserGroupsResponse' {requestId} -> requestId) (\s@ListUserGroupsResponse' {} a -> s {requestId = a} :: ListUserGroupsResponse)++-- | The HTTP status of the request.+listUserGroupsResponse_status :: Lens.Lens' ListUserGroupsResponse Prelude.Int+listUserGroupsResponse_status = Lens.lens (\ListUserGroupsResponse' {status} -> status) (\s@ListUserGroupsResponse' {} a -> s {status = a} :: ListUserGroupsResponse)++instance Prelude.NFData ListUserGroupsResponse where+  rnf ListUserGroupsResponse' {..} =+    Prelude.rnf groupList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/ListUsers.hs view
@@ -0,0 +1,238 @@+{-# 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.QuickSight.ListUsers+-- 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 all of the Amazon QuickSight users belonging to this+-- account.+module Amazonka.QuickSight.ListUsers+  ( -- * Creating a Request+    ListUsers (..),+    newListUsers,++    -- * Request Lenses+    listUsers_maxResults,+    listUsers_nextToken,+    listUsers_awsAccountId,+    listUsers_namespace,++    -- * Destructuring the Response+    ListUsersResponse (..),+    newListUsersResponse,++    -- * Response Lenses+    listUsersResponse_nextToken,+    listUsersResponse_requestId,+    listUsersResponse_userList,+    listUsersResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListUsers' smart constructor.+data ListUsers = ListUsers'+  { -- | The maximum number of results to return from this request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | A pagination token that can be used in a subsequent request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID for the Amazon Web Services account that the user is in.+    -- Currently, you use the ID for the Amazon Web Services account that+    -- contains your Amazon QuickSight account.+    awsAccountId :: Prelude.Text,+    -- | The namespace. Currently, you should set this to @default@.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListUsers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listUsers_maxResults' - The maximum number of results to return from this request.+--+-- 'nextToken', 'listUsers_nextToken' - A pagination token that can be used in a subsequent request.+--+-- 'awsAccountId', 'listUsers_awsAccountId' - The ID for the Amazon Web Services account that the user is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+--+-- 'namespace', 'listUsers_namespace' - The namespace. Currently, you should set this to @default@.+newListUsers ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  ListUsers+newListUsers pAwsAccountId_ pNamespace_ =+  ListUsers'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      namespace = pNamespace_+    }++-- | The maximum number of results to return from this request.+listUsers_maxResults :: Lens.Lens' ListUsers (Prelude.Maybe Prelude.Natural)+listUsers_maxResults = Lens.lens (\ListUsers' {maxResults} -> maxResults) (\s@ListUsers' {} a -> s {maxResults = a} :: ListUsers)++-- | A pagination token that can be used in a subsequent request.+listUsers_nextToken :: Lens.Lens' ListUsers (Prelude.Maybe Prelude.Text)+listUsers_nextToken = Lens.lens (\ListUsers' {nextToken} -> nextToken) (\s@ListUsers' {} a -> s {nextToken = a} :: ListUsers)++-- | The ID for the Amazon Web Services account that the user is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+listUsers_awsAccountId :: Lens.Lens' ListUsers Prelude.Text+listUsers_awsAccountId = Lens.lens (\ListUsers' {awsAccountId} -> awsAccountId) (\s@ListUsers' {} a -> s {awsAccountId = a} :: ListUsers)++-- | The namespace. Currently, you should set this to @default@.+listUsers_namespace :: Lens.Lens' ListUsers Prelude.Text+listUsers_namespace = Lens.lens (\ListUsers' {namespace} -> namespace) (\s@ListUsers' {} a -> s {namespace = a} :: ListUsers)++instance Core.AWSRequest ListUsers where+  type AWSResponse ListUsers = ListUsersResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListUsersResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "UserList" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListUsers where+  hashWithSalt _salt ListUsers' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData ListUsers where+  rnf ListUsers' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders ListUsers where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListUsers where+  toPath ListUsers' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/users"+      ]++instance Data.ToQuery ListUsers where+  toQuery ListUsers' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListUsersResponse' smart constructor.+data ListUsersResponse = ListUsersResponse'+  { -- | A pagination token that can be used in a subsequent request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The list of users.+    userList :: Prelude.Maybe [User],+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListUsersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listUsersResponse_nextToken' - A pagination token that can be used in a subsequent request.+--+-- 'requestId', 'listUsersResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'userList', 'listUsersResponse_userList' - The list of users.+--+-- 'status', 'listUsersResponse_status' - The HTTP status of the request.+newListUsersResponse ::+  -- | 'status'+  Prelude.Int ->+  ListUsersResponse+newListUsersResponse pStatus_ =+  ListUsersResponse'+    { nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      userList = Prelude.Nothing,+      status = pStatus_+    }++-- | A pagination token that can be used in a subsequent request.+listUsersResponse_nextToken :: Lens.Lens' ListUsersResponse (Prelude.Maybe Prelude.Text)+listUsersResponse_nextToken = Lens.lens (\ListUsersResponse' {nextToken} -> nextToken) (\s@ListUsersResponse' {} a -> s {nextToken = a} :: ListUsersResponse)++-- | The Amazon Web Services request ID for this operation.+listUsersResponse_requestId :: Lens.Lens' ListUsersResponse (Prelude.Maybe Prelude.Text)+listUsersResponse_requestId = Lens.lens (\ListUsersResponse' {requestId} -> requestId) (\s@ListUsersResponse' {} a -> s {requestId = a} :: ListUsersResponse)++-- | The list of users.+listUsersResponse_userList :: Lens.Lens' ListUsersResponse (Prelude.Maybe [User])+listUsersResponse_userList = Lens.lens (\ListUsersResponse' {userList} -> userList) (\s@ListUsersResponse' {} a -> s {userList = a} :: ListUsersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The HTTP status of the request.+listUsersResponse_status :: Lens.Lens' ListUsersResponse Prelude.Int+listUsersResponse_status = Lens.lens (\ListUsersResponse' {status} -> status) (\s@ListUsersResponse' {} a -> s {status = a} :: ListUsersResponse)++instance Prelude.NFData ListUsersResponse where+  rnf ListUsersResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf userList+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/RegisterUser.hs view
@@ -0,0 +1,587 @@+{-# 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.QuickSight.RegisterUser+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an Amazon QuickSight user, whose identity is associated with the+-- Identity and Access Management (IAM) identity or role specified in the+-- request.+module Amazonka.QuickSight.RegisterUser+  ( -- * Creating a Request+    RegisterUser (..),+    newRegisterUser,++    -- * Request Lenses+    registerUser_customFederationProviderUrl,+    registerUser_customPermissionsName,+    registerUser_externalLoginFederationProviderType,+    registerUser_externalLoginId,+    registerUser_iamArn,+    registerUser_sessionName,+    registerUser_userName,+    registerUser_identityType,+    registerUser_email,+    registerUser_userRole,+    registerUser_awsAccountId,+    registerUser_namespace,++    -- * Destructuring the Response+    RegisterUserResponse (..),+    newRegisterUserResponse,++    -- * Response Lenses+    registerUserResponse_requestId,+    registerUserResponse_user,+    registerUserResponse_userInvitationUrl,+    registerUserResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRegisterUser' smart constructor.+data RegisterUser = RegisterUser'+  { -- | The URL of the custom OpenID Connect (OIDC) provider that provides+    -- identity to let a user federate into Amazon QuickSight with an+    -- associated Identity and Access Management(IAM) role. This parameter+    -- should only be used when @ExternalLoginFederationProviderType@ parameter+    -- is set to @CUSTOM_OIDC@.+    customFederationProviderUrl :: Prelude.Maybe Prelude.Text,+    -- | (Enterprise edition only) The name of the custom permissions profile+    -- that you want to assign to this user. Customized permissions allows you+    -- to control a user\'s access by restricting access the following+    -- operations:+    --+    -- -   Create and update data sources+    --+    -- -   Create and update datasets+    --+    -- -   Create and update email reports+    --+    -- -   Subscribe to email reports+    --+    -- To add custom permissions to an existing user, use+    -- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateUser.html UpdateUser>@ @+    -- instead.+    --+    -- A set of custom permissions includes any combination of these+    -- restrictions. Currently, you need to create the profile names for custom+    -- permission sets by using the Amazon QuickSight console. Then, you use+    -- the @RegisterUser@ API operation to assign the named set of permissions+    -- to a Amazon QuickSight user.+    --+    -- Amazon QuickSight custom permissions are applied through IAM policies.+    -- Therefore, they override the permissions typically granted by assigning+    -- Amazon QuickSight users to one of the default security cohorts in Amazon+    -- QuickSight (admin, author, reader).+    --+    -- This feature is available only to Amazon QuickSight Enterprise edition+    -- subscriptions.+    customPermissionsName :: Prelude.Maybe Prelude.Text,+    -- | The type of supported external login provider that provides identity to+    -- let a user federate into Amazon QuickSight with an associated Identity+    -- and Access Management(IAM) role. The type of supported external login+    -- provider can be one of the following.+    --+    -- -   @COGNITO@: Amazon Cognito. The provider URL is+    --     cognito-identity.amazonaws.com. When choosing the @COGNITO@ provider+    --     type, don’t use the \"CustomFederationProviderUrl\" parameter which+    --     is only needed when the external provider is custom.+    --+    -- -   @CUSTOM_OIDC@: Custom OpenID Connect (OIDC) provider. When choosing+    --     @CUSTOM_OIDC@ type, use the @CustomFederationProviderUrl@ parameter+    --     to provide the custom OIDC provider URL.+    externalLoginFederationProviderType :: Prelude.Maybe Prelude.Text,+    -- | The identity ID for a user in the external login provider.+    externalLoginId :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the IAM user or role that you are registering with Amazon+    -- QuickSight.+    iamArn :: Prelude.Maybe Prelude.Text,+    -- | You need to use this parameter only when you register one or more users+    -- using an assumed IAM role. You don\'t need to provide the session name+    -- for other scenarios, for example when you are registering an IAM user or+    -- an Amazon QuickSight user. You can register multiple users using the+    -- same IAM role if each user has a different session name. For more+    -- information on assuming IAM roles, see+    -- <https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html assume-role>+    -- in the /CLI Reference./+    sessionName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon QuickSight user name that you want to create for the user you+    -- are registering.+    userName :: Prelude.Maybe Prelude.Text,+    -- | Amazon QuickSight supports several ways of managing the identity of+    -- users. This parameter accepts two values:+    --+    -- -   @IAM@: A user whose identity maps to an existing IAM user or role.+    --+    -- -   @QUICKSIGHT@: A user whose identity is owned and managed internally+    --     by Amazon QuickSight.+    identityType :: IdentityType,+    -- | The email address of the user that you want to register.+    email :: Prelude.Text,+    -- | The Amazon QuickSight role for the user. The user role can be one of the+    -- following:+    --+    -- -   @READER@: A user who has read-only access to dashboards.+    --+    -- -   @AUTHOR@: A user who can create data sources, datasets, analyses,+    --     and dashboards.+    --+    -- -   @ADMIN@: A user who is an author, who can also manage Amazon+    --     QuickSight settings.+    --+    -- -   @RESTRICTED_READER@: This role isn\'t currently available for use.+    --+    -- -   @RESTRICTED_AUTHOR@: This role isn\'t currently available for use.+    userRole :: UserRole,+    -- | The ID for the Amazon Web Services account that the user is in.+    -- Currently, you use the ID for the Amazon Web Services account that+    -- contains your Amazon QuickSight account.+    awsAccountId :: Prelude.Text,+    -- | The namespace. Currently, you should set this to @default@.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegisterUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customFederationProviderUrl', 'registerUser_customFederationProviderUrl' - The URL of the custom OpenID Connect (OIDC) provider that provides+-- identity to let a user federate into Amazon QuickSight with an+-- associated Identity and Access Management(IAM) role. This parameter+-- should only be used when @ExternalLoginFederationProviderType@ parameter+-- is set to @CUSTOM_OIDC@.+--+-- 'customPermissionsName', 'registerUser_customPermissionsName' - (Enterprise edition only) The name of the custom permissions profile+-- that you want to assign to this user. Customized permissions allows you+-- to control a user\'s access by restricting access the following+-- operations:+--+-- -   Create and update data sources+--+-- -   Create and update datasets+--+-- -   Create and update email reports+--+-- -   Subscribe to email reports+--+-- To add custom permissions to an existing user, use+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateUser.html UpdateUser>@ @+-- instead.+--+-- A set of custom permissions includes any combination of these+-- restrictions. Currently, you need to create the profile names for custom+-- permission sets by using the Amazon QuickSight console. Then, you use+-- the @RegisterUser@ API operation to assign the named set of permissions+-- to a Amazon QuickSight user.+--+-- Amazon QuickSight custom permissions are applied through IAM policies.+-- Therefore, they override the permissions typically granted by assigning+-- Amazon QuickSight users to one of the default security cohorts in Amazon+-- QuickSight (admin, author, reader).+--+-- This feature is available only to Amazon QuickSight Enterprise edition+-- subscriptions.+--+-- 'externalLoginFederationProviderType', 'registerUser_externalLoginFederationProviderType' - The type of supported external login provider that provides identity to+-- let a user federate into Amazon QuickSight with an associated Identity+-- and Access Management(IAM) role. The type of supported external login+-- provider can be one of the following.+--+-- -   @COGNITO@: Amazon Cognito. The provider URL is+--     cognito-identity.amazonaws.com. When choosing the @COGNITO@ provider+--     type, don’t use the \"CustomFederationProviderUrl\" parameter which+--     is only needed when the external provider is custom.+--+-- -   @CUSTOM_OIDC@: Custom OpenID Connect (OIDC) provider. When choosing+--     @CUSTOM_OIDC@ type, use the @CustomFederationProviderUrl@ parameter+--     to provide the custom OIDC provider URL.+--+-- 'externalLoginId', 'registerUser_externalLoginId' - The identity ID for a user in the external login provider.+--+-- 'iamArn', 'registerUser_iamArn' - The ARN of the IAM user or role that you are registering with Amazon+-- QuickSight.+--+-- 'sessionName', 'registerUser_sessionName' - You need to use this parameter only when you register one or more users+-- using an assumed IAM role. You don\'t need to provide the session name+-- for other scenarios, for example when you are registering an IAM user or+-- an Amazon QuickSight user. You can register multiple users using the+-- same IAM role if each user has a different session name. For more+-- information on assuming IAM roles, see+-- <https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html assume-role>+-- in the /CLI Reference./+--+-- 'userName', 'registerUser_userName' - The Amazon QuickSight user name that you want to create for the user you+-- are registering.+--+-- 'identityType', 'registerUser_identityType' - Amazon QuickSight supports several ways of managing the identity of+-- users. This parameter accepts two values:+--+-- -   @IAM@: A user whose identity maps to an existing IAM user or role.+--+-- -   @QUICKSIGHT@: A user whose identity is owned and managed internally+--     by Amazon QuickSight.+--+-- 'email', 'registerUser_email' - The email address of the user that you want to register.+--+-- 'userRole', 'registerUser_userRole' - The Amazon QuickSight role for the user. The user role can be one of the+-- following:+--+-- -   @READER@: A user who has read-only access to dashboards.+--+-- -   @AUTHOR@: A user who can create data sources, datasets, analyses,+--     and dashboards.+--+-- -   @ADMIN@: A user who is an author, who can also manage Amazon+--     QuickSight settings.+--+-- -   @RESTRICTED_READER@: This role isn\'t currently available for use.+--+-- -   @RESTRICTED_AUTHOR@: This role isn\'t currently available for use.+--+-- 'awsAccountId', 'registerUser_awsAccountId' - The ID for the Amazon Web Services account that the user is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+--+-- 'namespace', 'registerUser_namespace' - The namespace. Currently, you should set this to @default@.+newRegisterUser ::+  -- | 'identityType'+  IdentityType ->+  -- | 'email'+  Prelude.Text ->+  -- | 'userRole'+  UserRole ->+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  RegisterUser+newRegisterUser+  pIdentityType_+  pEmail_+  pUserRole_+  pAwsAccountId_+  pNamespace_ =+    RegisterUser'+      { customFederationProviderUrl =+          Prelude.Nothing,+        customPermissionsName = Prelude.Nothing,+        externalLoginFederationProviderType =+          Prelude.Nothing,+        externalLoginId = Prelude.Nothing,+        iamArn = Prelude.Nothing,+        sessionName = Prelude.Nothing,+        userName = Prelude.Nothing,+        identityType = pIdentityType_,+        email = pEmail_,+        userRole = pUserRole_,+        awsAccountId = pAwsAccountId_,+        namespace = pNamespace_+      }++-- | The URL of the custom OpenID Connect (OIDC) provider that provides+-- identity to let a user federate into Amazon QuickSight with an+-- associated Identity and Access Management(IAM) role. This parameter+-- should only be used when @ExternalLoginFederationProviderType@ parameter+-- is set to @CUSTOM_OIDC@.+registerUser_customFederationProviderUrl :: Lens.Lens' RegisterUser (Prelude.Maybe Prelude.Text)+registerUser_customFederationProviderUrl = Lens.lens (\RegisterUser' {customFederationProviderUrl} -> customFederationProviderUrl) (\s@RegisterUser' {} a -> s {customFederationProviderUrl = a} :: RegisterUser)++-- | (Enterprise edition only) The name of the custom permissions profile+-- that you want to assign to this user. Customized permissions allows you+-- to control a user\'s access by restricting access the following+-- operations:+--+-- -   Create and update data sources+--+-- -   Create and update datasets+--+-- -   Create and update email reports+--+-- -   Subscribe to email reports+--+-- To add custom permissions to an existing user, use+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateUser.html UpdateUser>@ @+-- instead.+--+-- A set of custom permissions includes any combination of these+-- restrictions. Currently, you need to create the profile names for custom+-- permission sets by using the Amazon QuickSight console. Then, you use+-- the @RegisterUser@ API operation to assign the named set of permissions+-- to a Amazon QuickSight user.+--+-- Amazon QuickSight custom permissions are applied through IAM policies.+-- Therefore, they override the permissions typically granted by assigning+-- Amazon QuickSight users to one of the default security cohorts in Amazon+-- QuickSight (admin, author, reader).+--+-- This feature is available only to Amazon QuickSight Enterprise edition+-- subscriptions.+registerUser_customPermissionsName :: Lens.Lens' RegisterUser (Prelude.Maybe Prelude.Text)+registerUser_customPermissionsName = Lens.lens (\RegisterUser' {customPermissionsName} -> customPermissionsName) (\s@RegisterUser' {} a -> s {customPermissionsName = a} :: RegisterUser)++-- | The type of supported external login provider that provides identity to+-- let a user federate into Amazon QuickSight with an associated Identity+-- and Access Management(IAM) role. The type of supported external login+-- provider can be one of the following.+--+-- -   @COGNITO@: Amazon Cognito. The provider URL is+--     cognito-identity.amazonaws.com. When choosing the @COGNITO@ provider+--     type, don’t use the \"CustomFederationProviderUrl\" parameter which+--     is only needed when the external provider is custom.+--+-- -   @CUSTOM_OIDC@: Custom OpenID Connect (OIDC) provider. When choosing+--     @CUSTOM_OIDC@ type, use the @CustomFederationProviderUrl@ parameter+--     to provide the custom OIDC provider URL.+registerUser_externalLoginFederationProviderType :: Lens.Lens' RegisterUser (Prelude.Maybe Prelude.Text)+registerUser_externalLoginFederationProviderType = Lens.lens (\RegisterUser' {externalLoginFederationProviderType} -> externalLoginFederationProviderType) (\s@RegisterUser' {} a -> s {externalLoginFederationProviderType = a} :: RegisterUser)++-- | The identity ID for a user in the external login provider.+registerUser_externalLoginId :: Lens.Lens' RegisterUser (Prelude.Maybe Prelude.Text)+registerUser_externalLoginId = Lens.lens (\RegisterUser' {externalLoginId} -> externalLoginId) (\s@RegisterUser' {} a -> s {externalLoginId = a} :: RegisterUser)++-- | The ARN of the IAM user or role that you are registering with Amazon+-- QuickSight.+registerUser_iamArn :: Lens.Lens' RegisterUser (Prelude.Maybe Prelude.Text)+registerUser_iamArn = Lens.lens (\RegisterUser' {iamArn} -> iamArn) (\s@RegisterUser' {} a -> s {iamArn = a} :: RegisterUser)++-- | You need to use this parameter only when you register one or more users+-- using an assumed IAM role. You don\'t need to provide the session name+-- for other scenarios, for example when you are registering an IAM user or+-- an Amazon QuickSight user. You can register multiple users using the+-- same IAM role if each user has a different session name. For more+-- information on assuming IAM roles, see+-- <https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html assume-role>+-- in the /CLI Reference./+registerUser_sessionName :: Lens.Lens' RegisterUser (Prelude.Maybe Prelude.Text)+registerUser_sessionName = Lens.lens (\RegisterUser' {sessionName} -> sessionName) (\s@RegisterUser' {} a -> s {sessionName = a} :: RegisterUser)++-- | The Amazon QuickSight user name that you want to create for the user you+-- are registering.+registerUser_userName :: Lens.Lens' RegisterUser (Prelude.Maybe Prelude.Text)+registerUser_userName = Lens.lens (\RegisterUser' {userName} -> userName) (\s@RegisterUser' {} a -> s {userName = a} :: RegisterUser)++-- | Amazon QuickSight supports several ways of managing the identity of+-- users. This parameter accepts two values:+--+-- -   @IAM@: A user whose identity maps to an existing IAM user or role.+--+-- -   @QUICKSIGHT@: A user whose identity is owned and managed internally+--     by Amazon QuickSight.+registerUser_identityType :: Lens.Lens' RegisterUser IdentityType+registerUser_identityType = Lens.lens (\RegisterUser' {identityType} -> identityType) (\s@RegisterUser' {} a -> s {identityType = a} :: RegisterUser)++-- | The email address of the user that you want to register.+registerUser_email :: Lens.Lens' RegisterUser Prelude.Text+registerUser_email = Lens.lens (\RegisterUser' {email} -> email) (\s@RegisterUser' {} a -> s {email = a} :: RegisterUser)++-- | The Amazon QuickSight role for the user. The user role can be one of the+-- following:+--+-- -   @READER@: A user who has read-only access to dashboards.+--+-- -   @AUTHOR@: A user who can create data sources, datasets, analyses,+--     and dashboards.+--+-- -   @ADMIN@: A user who is an author, who can also manage Amazon+--     QuickSight settings.+--+-- -   @RESTRICTED_READER@: This role isn\'t currently available for use.+--+-- -   @RESTRICTED_AUTHOR@: This role isn\'t currently available for use.+registerUser_userRole :: Lens.Lens' RegisterUser UserRole+registerUser_userRole = Lens.lens (\RegisterUser' {userRole} -> userRole) (\s@RegisterUser' {} a -> s {userRole = a} :: RegisterUser)++-- | The ID for the Amazon Web Services account that the user is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+registerUser_awsAccountId :: Lens.Lens' RegisterUser Prelude.Text+registerUser_awsAccountId = Lens.lens (\RegisterUser' {awsAccountId} -> awsAccountId) (\s@RegisterUser' {} a -> s {awsAccountId = a} :: RegisterUser)++-- | The namespace. Currently, you should set this to @default@.+registerUser_namespace :: Lens.Lens' RegisterUser Prelude.Text+registerUser_namespace = Lens.lens (\RegisterUser' {namespace} -> namespace) (\s@RegisterUser' {} a -> s {namespace = a} :: RegisterUser)++instance Core.AWSRequest RegisterUser where+  type AWSResponse RegisterUser = RegisterUserResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          RegisterUserResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "User")+            Prelude.<*> (x Data..?> "UserInvitationUrl")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RegisterUser where+  hashWithSalt _salt RegisterUser' {..} =+    _salt+      `Prelude.hashWithSalt` customFederationProviderUrl+      `Prelude.hashWithSalt` customPermissionsName+      `Prelude.hashWithSalt` externalLoginFederationProviderType+      `Prelude.hashWithSalt` externalLoginId+      `Prelude.hashWithSalt` iamArn+      `Prelude.hashWithSalt` sessionName+      `Prelude.hashWithSalt` userName+      `Prelude.hashWithSalt` identityType+      `Prelude.hashWithSalt` email+      `Prelude.hashWithSalt` userRole+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData RegisterUser where+  rnf RegisterUser' {..} =+    Prelude.rnf customFederationProviderUrl+      `Prelude.seq` Prelude.rnf customPermissionsName+      `Prelude.seq` Prelude.rnf externalLoginFederationProviderType+      `Prelude.seq` Prelude.rnf externalLoginId+      `Prelude.seq` Prelude.rnf iamArn+      `Prelude.seq` Prelude.rnf sessionName+      `Prelude.seq` Prelude.rnf userName+      `Prelude.seq` Prelude.rnf identityType+      `Prelude.seq` Prelude.rnf email+      `Prelude.seq` Prelude.rnf userRole+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders RegisterUser where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON RegisterUser where+  toJSON RegisterUser' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomFederationProviderUrl" Data..=)+              Prelude.<$> customFederationProviderUrl,+            ("CustomPermissionsName" Data..=)+              Prelude.<$> customPermissionsName,+            ("ExternalLoginFederationProviderType" Data..=)+              Prelude.<$> externalLoginFederationProviderType,+            ("ExternalLoginId" Data..=)+              Prelude.<$> externalLoginId,+            ("IamArn" Data..=) Prelude.<$> iamArn,+            ("SessionName" Data..=) Prelude.<$> sessionName,+            ("UserName" Data..=) Prelude.<$> userName,+            Prelude.Just ("IdentityType" Data..= identityType),+            Prelude.Just ("Email" Data..= email),+            Prelude.Just ("UserRole" Data..= userRole)+          ]+      )++instance Data.ToPath RegisterUser where+  toPath RegisterUser' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/users"+      ]++instance Data.ToQuery RegisterUser where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRegisterUserResponse' smart constructor.+data RegisterUserResponse = RegisterUserResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The user\'s user name.+    user :: Prelude.Maybe User,+    -- | The URL the user visits to complete registration and provide a password.+    -- This is returned only for users with an identity type of @QUICKSIGHT@.+    userInvitationUrl :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegisterUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'registerUserResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'user', 'registerUserResponse_user' - The user\'s user name.+--+-- 'userInvitationUrl', 'registerUserResponse_userInvitationUrl' - The URL the user visits to complete registration and provide a password.+-- This is returned only for users with an identity type of @QUICKSIGHT@.+--+-- 'status', 'registerUserResponse_status' - The HTTP status of the request.+newRegisterUserResponse ::+  -- | 'status'+  Prelude.Int ->+  RegisterUserResponse+newRegisterUserResponse pStatus_ =+  RegisterUserResponse'+    { requestId = Prelude.Nothing,+      user = Prelude.Nothing,+      userInvitationUrl = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+registerUserResponse_requestId :: Lens.Lens' RegisterUserResponse (Prelude.Maybe Prelude.Text)+registerUserResponse_requestId = Lens.lens (\RegisterUserResponse' {requestId} -> requestId) (\s@RegisterUserResponse' {} a -> s {requestId = a} :: RegisterUserResponse)++-- | The user\'s user name.+registerUserResponse_user :: Lens.Lens' RegisterUserResponse (Prelude.Maybe User)+registerUserResponse_user = Lens.lens (\RegisterUserResponse' {user} -> user) (\s@RegisterUserResponse' {} a -> s {user = a} :: RegisterUserResponse)++-- | The URL the user visits to complete registration and provide a password.+-- This is returned only for users with an identity type of @QUICKSIGHT@.+registerUserResponse_userInvitationUrl :: Lens.Lens' RegisterUserResponse (Prelude.Maybe Prelude.Text)+registerUserResponse_userInvitationUrl = Lens.lens (\RegisterUserResponse' {userInvitationUrl} -> userInvitationUrl) (\s@RegisterUserResponse' {} a -> s {userInvitationUrl = a} :: RegisterUserResponse)++-- | The HTTP status of the request.+registerUserResponse_status :: Lens.Lens' RegisterUserResponse Prelude.Int+registerUserResponse_status = Lens.lens (\RegisterUserResponse' {status} -> status) (\s@RegisterUserResponse' {} a -> s {status = a} :: RegisterUserResponse)++instance Prelude.NFData RegisterUserResponse where+  rnf RegisterUserResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf user+      `Prelude.seq` Prelude.rnf userInvitationUrl+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/RestoreAnalysis.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.QuickSight.RestoreAnalysis+-- 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 an analysis.+module Amazonka.QuickSight.RestoreAnalysis+  ( -- * Creating a Request+    RestoreAnalysis (..),+    newRestoreAnalysis,++    -- * Request Lenses+    restoreAnalysis_awsAccountId,+    restoreAnalysis_analysisId,++    -- * Destructuring the Response+    RestoreAnalysisResponse (..),+    newRestoreAnalysisResponse,++    -- * Response Lenses+    restoreAnalysisResponse_analysisId,+    restoreAnalysisResponse_arn,+    restoreAnalysisResponse_requestId,+    restoreAnalysisResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRestoreAnalysis' smart constructor.+data RestoreAnalysis = RestoreAnalysis'+  { -- | The ID of the Amazon Web Services account that contains the analysis.+    awsAccountId :: Prelude.Text,+    -- | The ID of the analysis that you\'re restoring.+    analysisId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RestoreAnalysis' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'restoreAnalysis_awsAccountId' - The ID of the Amazon Web Services account that contains the analysis.+--+-- 'analysisId', 'restoreAnalysis_analysisId' - The ID of the analysis that you\'re restoring.+newRestoreAnalysis ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'analysisId'+  Prelude.Text ->+  RestoreAnalysis+newRestoreAnalysis pAwsAccountId_ pAnalysisId_ =+  RestoreAnalysis'+    { awsAccountId = pAwsAccountId_,+      analysisId = pAnalysisId_+    }++-- | The ID of the Amazon Web Services account that contains the analysis.+restoreAnalysis_awsAccountId :: Lens.Lens' RestoreAnalysis Prelude.Text+restoreAnalysis_awsAccountId = Lens.lens (\RestoreAnalysis' {awsAccountId} -> awsAccountId) (\s@RestoreAnalysis' {} a -> s {awsAccountId = a} :: RestoreAnalysis)++-- | The ID of the analysis that you\'re restoring.+restoreAnalysis_analysisId :: Lens.Lens' RestoreAnalysis Prelude.Text+restoreAnalysis_analysisId = Lens.lens (\RestoreAnalysis' {analysisId} -> analysisId) (\s@RestoreAnalysis' {} a -> s {analysisId = a} :: RestoreAnalysis)++instance Core.AWSRequest RestoreAnalysis where+  type+    AWSResponse RestoreAnalysis =+      RestoreAnalysisResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          RestoreAnalysisResponse'+            Prelude.<$> (x Data..?> "AnalysisId")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RestoreAnalysis where+  hashWithSalt _salt RestoreAnalysis' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` analysisId++instance Prelude.NFData RestoreAnalysis where+  rnf RestoreAnalysis' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf analysisId++instance Data.ToHeaders RestoreAnalysis where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON RestoreAnalysis where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath RestoreAnalysis where+  toPath RestoreAnalysis' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/restore/analyses/",+        Data.toBS analysisId+      ]++instance Data.ToQuery RestoreAnalysis where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRestoreAnalysisResponse' smart constructor.+data RestoreAnalysisResponse = RestoreAnalysisResponse'+  { -- | The ID of the analysis that you\'re restoring.+    analysisId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the analysis that you\'re restoring.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RestoreAnalysisResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analysisId', 'restoreAnalysisResponse_analysisId' - The ID of the analysis that you\'re restoring.+--+-- 'arn', 'restoreAnalysisResponse_arn' - The Amazon Resource Name (ARN) of the analysis that you\'re restoring.+--+-- 'requestId', 'restoreAnalysisResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'restoreAnalysisResponse_status' - The HTTP status of the request.+newRestoreAnalysisResponse ::+  -- | 'status'+  Prelude.Int ->+  RestoreAnalysisResponse+newRestoreAnalysisResponse pStatus_ =+  RestoreAnalysisResponse'+    { analysisId =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The ID of the analysis that you\'re restoring.+restoreAnalysisResponse_analysisId :: Lens.Lens' RestoreAnalysisResponse (Prelude.Maybe Prelude.Text)+restoreAnalysisResponse_analysisId = Lens.lens (\RestoreAnalysisResponse' {analysisId} -> analysisId) (\s@RestoreAnalysisResponse' {} a -> s {analysisId = a} :: RestoreAnalysisResponse)++-- | The Amazon Resource Name (ARN) of the analysis that you\'re restoring.+restoreAnalysisResponse_arn :: Lens.Lens' RestoreAnalysisResponse (Prelude.Maybe Prelude.Text)+restoreAnalysisResponse_arn = Lens.lens (\RestoreAnalysisResponse' {arn} -> arn) (\s@RestoreAnalysisResponse' {} a -> s {arn = a} :: RestoreAnalysisResponse)++-- | The Amazon Web Services request ID for this operation.+restoreAnalysisResponse_requestId :: Lens.Lens' RestoreAnalysisResponse (Prelude.Maybe Prelude.Text)+restoreAnalysisResponse_requestId = Lens.lens (\RestoreAnalysisResponse' {requestId} -> requestId) (\s@RestoreAnalysisResponse' {} a -> s {requestId = a} :: RestoreAnalysisResponse)++-- | The HTTP status of the request.+restoreAnalysisResponse_status :: Lens.Lens' RestoreAnalysisResponse Prelude.Int+restoreAnalysisResponse_status = Lens.lens (\RestoreAnalysisResponse' {status} -> status) (\s@RestoreAnalysisResponse' {} a -> s {status = a} :: RestoreAnalysisResponse)++instance Prelude.NFData RestoreAnalysisResponse where+  rnf RestoreAnalysisResponse' {..} =+    Prelude.rnf analysisId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/SearchAnalyses.hs view
@@ -0,0 +1,274 @@+{-# 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.QuickSight.SearchAnalyses+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Searches for analyses that belong to the user specified in the filter.+--+-- This operation is eventually consistent. The results are best effort and+-- may not reflect very recent updates and changes.+--+-- This operation returns paginated results.+module Amazonka.QuickSight.SearchAnalyses+  ( -- * Creating a Request+    SearchAnalyses (..),+    newSearchAnalyses,++    -- * Request Lenses+    searchAnalyses_maxResults,+    searchAnalyses_nextToken,+    searchAnalyses_awsAccountId,+    searchAnalyses_filters,++    -- * Destructuring the Response+    SearchAnalysesResponse (..),+    newSearchAnalysesResponse,++    -- * Response Lenses+    searchAnalysesResponse_analysisSummaryList,+    searchAnalysesResponse_nextToken,+    searchAnalysesResponse_requestId,+    searchAnalysesResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newSearchAnalyses' smart constructor.+data SearchAnalyses = SearchAnalyses'+  { -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | A pagination token that can be used in a subsequent request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account that contains the analyses+    -- that you\'re searching for.+    awsAccountId :: Prelude.Text,+    -- | The structure for the search filters that you want to apply to your+    -- search.+    filters :: Prelude.NonEmpty AnalysisSearchFilter+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchAnalyses' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'searchAnalyses_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'searchAnalyses_nextToken' - A pagination token that can be used in a subsequent request.+--+-- 'awsAccountId', 'searchAnalyses_awsAccountId' - The ID of the Amazon Web Services account that contains the analyses+-- that you\'re searching for.+--+-- 'filters', 'searchAnalyses_filters' - The structure for the search filters that you want to apply to your+-- search.+newSearchAnalyses ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'filters'+  Prelude.NonEmpty AnalysisSearchFilter ->+  SearchAnalyses+newSearchAnalyses pAwsAccountId_ pFilters_ =+  SearchAnalyses'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      filters = Lens.coerced Lens.# pFilters_+    }++-- | The maximum number of results to return.+searchAnalyses_maxResults :: Lens.Lens' SearchAnalyses (Prelude.Maybe Prelude.Natural)+searchAnalyses_maxResults = Lens.lens (\SearchAnalyses' {maxResults} -> maxResults) (\s@SearchAnalyses' {} a -> s {maxResults = a} :: SearchAnalyses)++-- | A pagination token that can be used in a subsequent request.+searchAnalyses_nextToken :: Lens.Lens' SearchAnalyses (Prelude.Maybe Prelude.Text)+searchAnalyses_nextToken = Lens.lens (\SearchAnalyses' {nextToken} -> nextToken) (\s@SearchAnalyses' {} a -> s {nextToken = a} :: SearchAnalyses)++-- | The ID of the Amazon Web Services account that contains the analyses+-- that you\'re searching for.+searchAnalyses_awsAccountId :: Lens.Lens' SearchAnalyses Prelude.Text+searchAnalyses_awsAccountId = Lens.lens (\SearchAnalyses' {awsAccountId} -> awsAccountId) (\s@SearchAnalyses' {} a -> s {awsAccountId = a} :: SearchAnalyses)++-- | The structure for the search filters that you want to apply to your+-- search.+searchAnalyses_filters :: Lens.Lens' SearchAnalyses (Prelude.NonEmpty AnalysisSearchFilter)+searchAnalyses_filters = Lens.lens (\SearchAnalyses' {filters} -> filters) (\s@SearchAnalyses' {} a -> s {filters = a} :: SearchAnalyses) Prelude.. Lens.coerced++instance Core.AWSPager SearchAnalyses where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? searchAnalysesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? searchAnalysesResponse_analysisSummaryList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& searchAnalyses_nextToken+          Lens..~ rs+          Lens.^? searchAnalysesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest SearchAnalyses where+  type+    AWSResponse SearchAnalyses =+      SearchAnalysesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          SearchAnalysesResponse'+            Prelude.<$> ( x+                            Data..?> "AnalysisSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable SearchAnalyses where+  hashWithSalt _salt SearchAnalyses' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` filters++instance Prelude.NFData SearchAnalyses where+  rnf SearchAnalyses' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf filters++instance Data.ToHeaders SearchAnalyses where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON SearchAnalyses where+  toJSON SearchAnalyses' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("Filters" Data..= filters)+          ]+      )++instance Data.ToPath SearchAnalyses where+  toPath SearchAnalyses' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/search/analyses"+      ]++instance Data.ToQuery SearchAnalyses where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newSearchAnalysesResponse' smart constructor.+data SearchAnalysesResponse = SearchAnalysesResponse'+  { -- | Metadata describing the analyses that you searched for.+    analysisSummaryList :: Prelude.Maybe [AnalysisSummary],+    -- | A pagination token that can be used in a subsequent request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchAnalysesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analysisSummaryList', 'searchAnalysesResponse_analysisSummaryList' - Metadata describing the analyses that you searched for.+--+-- 'nextToken', 'searchAnalysesResponse_nextToken' - A pagination token that can be used in a subsequent request.+--+-- 'requestId', 'searchAnalysesResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'searchAnalysesResponse_status' - The HTTP status of the request.+newSearchAnalysesResponse ::+  -- | 'status'+  Prelude.Int ->+  SearchAnalysesResponse+newSearchAnalysesResponse pStatus_ =+  SearchAnalysesResponse'+    { analysisSummaryList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | Metadata describing the analyses that you searched for.+searchAnalysesResponse_analysisSummaryList :: Lens.Lens' SearchAnalysesResponse (Prelude.Maybe [AnalysisSummary])+searchAnalysesResponse_analysisSummaryList = Lens.lens (\SearchAnalysesResponse' {analysisSummaryList} -> analysisSummaryList) (\s@SearchAnalysesResponse' {} a -> s {analysisSummaryList = a} :: SearchAnalysesResponse) Prelude.. Lens.mapping Lens.coerced++-- | A pagination token that can be used in a subsequent request.+searchAnalysesResponse_nextToken :: Lens.Lens' SearchAnalysesResponse (Prelude.Maybe Prelude.Text)+searchAnalysesResponse_nextToken = Lens.lens (\SearchAnalysesResponse' {nextToken} -> nextToken) (\s@SearchAnalysesResponse' {} a -> s {nextToken = a} :: SearchAnalysesResponse)++-- | The Amazon Web Services request ID for this operation.+searchAnalysesResponse_requestId :: Lens.Lens' SearchAnalysesResponse (Prelude.Maybe Prelude.Text)+searchAnalysesResponse_requestId = Lens.lens (\SearchAnalysesResponse' {requestId} -> requestId) (\s@SearchAnalysesResponse' {} a -> s {requestId = a} :: SearchAnalysesResponse)++-- | The HTTP status of the request.+searchAnalysesResponse_status :: Lens.Lens' SearchAnalysesResponse Prelude.Int+searchAnalysesResponse_status = Lens.lens (\SearchAnalysesResponse' {status} -> status) (\s@SearchAnalysesResponse' {} a -> s {status = a} :: SearchAnalysesResponse)++instance Prelude.NFData SearchAnalysesResponse where+  rnf SearchAnalysesResponse' {..} =+    Prelude.rnf analysisSummaryList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/SearchDashboards.hs view
@@ -0,0 +1,286 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.SearchDashboards+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Searches for dashboards that belong to a user.+--+-- This operation is eventually consistent. The results are best effort and+-- may not reflect very recent updates and changes.+--+-- This operation returns paginated results.+module Amazonka.QuickSight.SearchDashboards+  ( -- * Creating a Request+    SearchDashboards (..),+    newSearchDashboards,++    -- * Request Lenses+    searchDashboards_maxResults,+    searchDashboards_nextToken,+    searchDashboards_awsAccountId,+    searchDashboards_filters,++    -- * Destructuring the Response+    SearchDashboardsResponse (..),+    newSearchDashboardsResponse,++    -- * Response Lenses+    searchDashboardsResponse_dashboardSummaryList,+    searchDashboardsResponse_nextToken,+    searchDashboardsResponse_requestId,+    searchDashboardsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newSearchDashboards' smart constructor.+data SearchDashboards = SearchDashboards'+  { -- | The maximum number of results to be returned per request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account that contains the user whose+    -- dashboards you\'re searching for.+    awsAccountId :: Prelude.Text,+    -- | The filters to apply to the search. Currently, you can search only by+    -- user name, for example,+    -- @\"Filters\": [ { \"Name\": \"QUICKSIGHT_USER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\" } ]@+    filters :: Prelude.NonEmpty DashboardSearchFilter+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchDashboards' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'searchDashboards_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'searchDashboards_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'awsAccountId', 'searchDashboards_awsAccountId' - The ID of the Amazon Web Services account that contains the user whose+-- dashboards you\'re searching for.+--+-- 'filters', 'searchDashboards_filters' - The filters to apply to the search. Currently, you can search only by+-- user name, for example,+-- @\"Filters\": [ { \"Name\": \"QUICKSIGHT_USER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\" } ]@+newSearchDashboards ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'filters'+  Prelude.NonEmpty DashboardSearchFilter ->+  SearchDashboards+newSearchDashboards pAwsAccountId_ pFilters_ =+  SearchDashboards'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      filters = Lens.coerced Lens.# pFilters_+    }++-- | The maximum number of results to be returned per request.+searchDashboards_maxResults :: Lens.Lens' SearchDashboards (Prelude.Maybe Prelude.Natural)+searchDashboards_maxResults = Lens.lens (\SearchDashboards' {maxResults} -> maxResults) (\s@SearchDashboards' {} a -> s {maxResults = a} :: SearchDashboards)++-- | The token for the next set of results, or null if there are no more+-- results.+searchDashboards_nextToken :: Lens.Lens' SearchDashboards (Prelude.Maybe Prelude.Text)+searchDashboards_nextToken = Lens.lens (\SearchDashboards' {nextToken} -> nextToken) (\s@SearchDashboards' {} a -> s {nextToken = a} :: SearchDashboards)++-- | The ID of the Amazon Web Services account that contains the user whose+-- dashboards you\'re searching for.+searchDashboards_awsAccountId :: Lens.Lens' SearchDashboards Prelude.Text+searchDashboards_awsAccountId = Lens.lens (\SearchDashboards' {awsAccountId} -> awsAccountId) (\s@SearchDashboards' {} a -> s {awsAccountId = a} :: SearchDashboards)++-- | The filters to apply to the search. Currently, you can search only by+-- user name, for example,+-- @\"Filters\": [ { \"Name\": \"QUICKSIGHT_USER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\" } ]@+searchDashboards_filters :: Lens.Lens' SearchDashboards (Prelude.NonEmpty DashboardSearchFilter)+searchDashboards_filters = Lens.lens (\SearchDashboards' {filters} -> filters) (\s@SearchDashboards' {} a -> s {filters = a} :: SearchDashboards) Prelude.. Lens.coerced++instance Core.AWSPager SearchDashboards where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? searchDashboardsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? searchDashboardsResponse_dashboardSummaryList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& searchDashboards_nextToken+          Lens..~ rs+          Lens.^? searchDashboardsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest SearchDashboards where+  type+    AWSResponse SearchDashboards =+      SearchDashboardsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          SearchDashboardsResponse'+            Prelude.<$> ( x+                            Data..?> "DashboardSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable SearchDashboards where+  hashWithSalt _salt SearchDashboards' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` filters++instance Prelude.NFData SearchDashboards where+  rnf SearchDashboards' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf filters++instance Data.ToHeaders SearchDashboards where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON SearchDashboards where+  toJSON SearchDashboards' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("Filters" Data..= filters)+          ]+      )++instance Data.ToPath SearchDashboards where+  toPath SearchDashboards' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/search/dashboards"+      ]++instance Data.ToQuery SearchDashboards where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newSearchDashboardsResponse' smart constructor.+data SearchDashboardsResponse = SearchDashboardsResponse'+  { -- | The list of dashboards owned by the user specified in @Filters@ in your+    -- request.+    dashboardSummaryList :: Prelude.Maybe [DashboardSummary],+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchDashboardsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dashboardSummaryList', 'searchDashboardsResponse_dashboardSummaryList' - The list of dashboards owned by the user specified in @Filters@ in your+-- request.+--+-- 'nextToken', 'searchDashboardsResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'requestId', 'searchDashboardsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'searchDashboardsResponse_status' - The HTTP status of the request.+newSearchDashboardsResponse ::+  -- | 'status'+  Prelude.Int ->+  SearchDashboardsResponse+newSearchDashboardsResponse pStatus_ =+  SearchDashboardsResponse'+    { dashboardSummaryList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The list of dashboards owned by the user specified in @Filters@ in your+-- request.+searchDashboardsResponse_dashboardSummaryList :: Lens.Lens' SearchDashboardsResponse (Prelude.Maybe [DashboardSummary])+searchDashboardsResponse_dashboardSummaryList = Lens.lens (\SearchDashboardsResponse' {dashboardSummaryList} -> dashboardSummaryList) (\s@SearchDashboardsResponse' {} a -> s {dashboardSummaryList = a} :: SearchDashboardsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results, or null if there are no more+-- results.+searchDashboardsResponse_nextToken :: Lens.Lens' SearchDashboardsResponse (Prelude.Maybe Prelude.Text)+searchDashboardsResponse_nextToken = Lens.lens (\SearchDashboardsResponse' {nextToken} -> nextToken) (\s@SearchDashboardsResponse' {} a -> s {nextToken = a} :: SearchDashboardsResponse)++-- | The Amazon Web Services request ID for this operation.+searchDashboardsResponse_requestId :: Lens.Lens' SearchDashboardsResponse (Prelude.Maybe Prelude.Text)+searchDashboardsResponse_requestId = Lens.lens (\SearchDashboardsResponse' {requestId} -> requestId) (\s@SearchDashboardsResponse' {} a -> s {requestId = a} :: SearchDashboardsResponse)++-- | The HTTP status of the request.+searchDashboardsResponse_status :: Lens.Lens' SearchDashboardsResponse Prelude.Int+searchDashboardsResponse_status = Lens.lens (\SearchDashboardsResponse' {status} -> status) (\s@SearchDashboardsResponse' {} a -> s {status = a} :: SearchDashboardsResponse)++instance Prelude.NFData SearchDashboardsResponse where+  rnf SearchDashboardsResponse' {..} =+    Prelude.rnf dashboardSummaryList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/SearchDataSets.hs view
@@ -0,0 +1,266 @@+{-# 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.QuickSight.SearchDataSets+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use the @SearchDataSets@ operation to search for datasets that belong to+-- an account.+--+-- This operation returns paginated results.+module Amazonka.QuickSight.SearchDataSets+  ( -- * Creating a Request+    SearchDataSets (..),+    newSearchDataSets,++    -- * Request Lenses+    searchDataSets_maxResults,+    searchDataSets_nextToken,+    searchDataSets_awsAccountId,+    searchDataSets_filters,++    -- * Destructuring the Response+    SearchDataSetsResponse (..),+    newSearchDataSetsResponse,++    -- * Response Lenses+    searchDataSetsResponse_dataSetSummaries,+    searchDataSetsResponse_nextToken,+    searchDataSetsResponse_requestId,+    searchDataSetsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newSearchDataSets' smart constructor.+data SearchDataSets = SearchDataSets'+  { -- | The maximum number of results to be returned per request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | A pagination token that can be used in a subsequent request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text,+    -- | The filters to apply to the search.+    filters :: Prelude.NonEmpty DataSetSearchFilter+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchDataSets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'searchDataSets_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'searchDataSets_nextToken' - A pagination token that can be used in a subsequent request.+--+-- 'awsAccountId', 'searchDataSets_awsAccountId' - The Amazon Web Services account ID.+--+-- 'filters', 'searchDataSets_filters' - The filters to apply to the search.+newSearchDataSets ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'filters'+  Prelude.NonEmpty DataSetSearchFilter ->+  SearchDataSets+newSearchDataSets pAwsAccountId_ pFilters_ =+  SearchDataSets'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      filters = Lens.coerced Lens.# pFilters_+    }++-- | The maximum number of results to be returned per request.+searchDataSets_maxResults :: Lens.Lens' SearchDataSets (Prelude.Maybe Prelude.Natural)+searchDataSets_maxResults = Lens.lens (\SearchDataSets' {maxResults} -> maxResults) (\s@SearchDataSets' {} a -> s {maxResults = a} :: SearchDataSets)++-- | A pagination token that can be used in a subsequent request.+searchDataSets_nextToken :: Lens.Lens' SearchDataSets (Prelude.Maybe Prelude.Text)+searchDataSets_nextToken = Lens.lens (\SearchDataSets' {nextToken} -> nextToken) (\s@SearchDataSets' {} a -> s {nextToken = a} :: SearchDataSets)++-- | The Amazon Web Services account ID.+searchDataSets_awsAccountId :: Lens.Lens' SearchDataSets Prelude.Text+searchDataSets_awsAccountId = Lens.lens (\SearchDataSets' {awsAccountId} -> awsAccountId) (\s@SearchDataSets' {} a -> s {awsAccountId = a} :: SearchDataSets)++-- | The filters to apply to the search.+searchDataSets_filters :: Lens.Lens' SearchDataSets (Prelude.NonEmpty DataSetSearchFilter)+searchDataSets_filters = Lens.lens (\SearchDataSets' {filters} -> filters) (\s@SearchDataSets' {} a -> s {filters = a} :: SearchDataSets) Prelude.. Lens.coerced++instance Core.AWSPager SearchDataSets where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? searchDataSetsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? searchDataSetsResponse_dataSetSummaries+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& searchDataSets_nextToken+          Lens..~ rs+          Lens.^? searchDataSetsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest SearchDataSets where+  type+    AWSResponse SearchDataSets =+      SearchDataSetsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          SearchDataSetsResponse'+            Prelude.<$> ( x+                            Data..?> "DataSetSummaries"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable SearchDataSets where+  hashWithSalt _salt SearchDataSets' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` filters++instance Prelude.NFData SearchDataSets where+  rnf SearchDataSets' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf filters++instance Data.ToHeaders SearchDataSets where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON SearchDataSets where+  toJSON SearchDataSets' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("Filters" Data..= filters)+          ]+      )++instance Data.ToPath SearchDataSets where+  toPath SearchDataSets' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/search/data-sets"+      ]++instance Data.ToQuery SearchDataSets where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newSearchDataSetsResponse' smart constructor.+data SearchDataSetsResponse = SearchDataSetsResponse'+  { -- | A @DataSetSummaries@ object that returns a summary of a dataset.+    dataSetSummaries :: Prelude.Maybe [DataSetSummary],+    -- | A pagination token that can be used in a subsequent request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchDataSetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSetSummaries', 'searchDataSetsResponse_dataSetSummaries' - A @DataSetSummaries@ object that returns a summary of a dataset.+--+-- 'nextToken', 'searchDataSetsResponse_nextToken' - A pagination token that can be used in a subsequent request.+--+-- 'requestId', 'searchDataSetsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'searchDataSetsResponse_status' - The HTTP status of the request.+newSearchDataSetsResponse ::+  -- | 'status'+  Prelude.Int ->+  SearchDataSetsResponse+newSearchDataSetsResponse pStatus_ =+  SearchDataSetsResponse'+    { dataSetSummaries =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | A @DataSetSummaries@ object that returns a summary of a dataset.+searchDataSetsResponse_dataSetSummaries :: Lens.Lens' SearchDataSetsResponse (Prelude.Maybe [DataSetSummary])+searchDataSetsResponse_dataSetSummaries = Lens.lens (\SearchDataSetsResponse' {dataSetSummaries} -> dataSetSummaries) (\s@SearchDataSetsResponse' {} a -> s {dataSetSummaries = a} :: SearchDataSetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | A pagination token that can be used in a subsequent request.+searchDataSetsResponse_nextToken :: Lens.Lens' SearchDataSetsResponse (Prelude.Maybe Prelude.Text)+searchDataSetsResponse_nextToken = Lens.lens (\SearchDataSetsResponse' {nextToken} -> nextToken) (\s@SearchDataSetsResponse' {} a -> s {nextToken = a} :: SearchDataSetsResponse)++-- | The Amazon Web Services request ID for this operation.+searchDataSetsResponse_requestId :: Lens.Lens' SearchDataSetsResponse (Prelude.Maybe Prelude.Text)+searchDataSetsResponse_requestId = Lens.lens (\SearchDataSetsResponse' {requestId} -> requestId) (\s@SearchDataSetsResponse' {} a -> s {requestId = a} :: SearchDataSetsResponse)++-- | The HTTP status of the request.+searchDataSetsResponse_status :: Lens.Lens' SearchDataSetsResponse Prelude.Int+searchDataSetsResponse_status = Lens.lens (\SearchDataSetsResponse' {status} -> status) (\s@SearchDataSetsResponse' {} a -> s {status = a} :: SearchDataSetsResponse)++instance Prelude.NFData SearchDataSetsResponse where+  rnf SearchDataSetsResponse' {..} =+    Prelude.rnf dataSetSummaries+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/SearchDataSources.hs view
@@ -0,0 +1,266 @@+{-# 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.QuickSight.SearchDataSources+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use the @SearchDataSources@ operation to search for data sources that+-- belong to an account.+--+-- This operation returns paginated results.+module Amazonka.QuickSight.SearchDataSources+  ( -- * Creating a Request+    SearchDataSources (..),+    newSearchDataSources,++    -- * Request Lenses+    searchDataSources_maxResults,+    searchDataSources_nextToken,+    searchDataSources_awsAccountId,+    searchDataSources_filters,++    -- * Destructuring the Response+    SearchDataSourcesResponse (..),+    newSearchDataSourcesResponse,++    -- * Response Lenses+    searchDataSourcesResponse_dataSourceSummaries,+    searchDataSourcesResponse_nextToken,+    searchDataSourcesResponse_requestId,+    searchDataSourcesResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newSearchDataSources' smart constructor.+data SearchDataSources = SearchDataSources'+  { -- | The maximum number of results to be returned per request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | A pagination token that can be used in a subsequent request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text,+    -- | The filters to apply to the search.+    filters :: Prelude.NonEmpty DataSourceSearchFilter+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchDataSources' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'searchDataSources_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'searchDataSources_nextToken' - A pagination token that can be used in a subsequent request.+--+-- 'awsAccountId', 'searchDataSources_awsAccountId' - The Amazon Web Services account ID.+--+-- 'filters', 'searchDataSources_filters' - The filters to apply to the search.+newSearchDataSources ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'filters'+  Prelude.NonEmpty DataSourceSearchFilter ->+  SearchDataSources+newSearchDataSources pAwsAccountId_ pFilters_ =+  SearchDataSources'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      filters = Lens.coerced Lens.# pFilters_+    }++-- | The maximum number of results to be returned per request.+searchDataSources_maxResults :: Lens.Lens' SearchDataSources (Prelude.Maybe Prelude.Natural)+searchDataSources_maxResults = Lens.lens (\SearchDataSources' {maxResults} -> maxResults) (\s@SearchDataSources' {} a -> s {maxResults = a} :: SearchDataSources)++-- | A pagination token that can be used in a subsequent request.+searchDataSources_nextToken :: Lens.Lens' SearchDataSources (Prelude.Maybe Prelude.Text)+searchDataSources_nextToken = Lens.lens (\SearchDataSources' {nextToken} -> nextToken) (\s@SearchDataSources' {} a -> s {nextToken = a} :: SearchDataSources)++-- | The Amazon Web Services account ID.+searchDataSources_awsAccountId :: Lens.Lens' SearchDataSources Prelude.Text+searchDataSources_awsAccountId = Lens.lens (\SearchDataSources' {awsAccountId} -> awsAccountId) (\s@SearchDataSources' {} a -> s {awsAccountId = a} :: SearchDataSources)++-- | The filters to apply to the search.+searchDataSources_filters :: Lens.Lens' SearchDataSources (Prelude.NonEmpty DataSourceSearchFilter)+searchDataSources_filters = Lens.lens (\SearchDataSources' {filters} -> filters) (\s@SearchDataSources' {} a -> s {filters = a} :: SearchDataSources) Prelude.. Lens.coerced++instance Core.AWSPager SearchDataSources where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? searchDataSourcesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? searchDataSourcesResponse_dataSourceSummaries+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& searchDataSources_nextToken+          Lens..~ rs+          Lens.^? searchDataSourcesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest SearchDataSources where+  type+    AWSResponse SearchDataSources =+      SearchDataSourcesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          SearchDataSourcesResponse'+            Prelude.<$> ( x+                            Data..?> "DataSourceSummaries"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable SearchDataSources where+  hashWithSalt _salt SearchDataSources' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` filters++instance Prelude.NFData SearchDataSources where+  rnf SearchDataSources' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf filters++instance Data.ToHeaders SearchDataSources where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON SearchDataSources where+  toJSON SearchDataSources' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("Filters" Data..= filters)+          ]+      )++instance Data.ToPath SearchDataSources where+  toPath SearchDataSources' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/search/data-sources"+      ]++instance Data.ToQuery SearchDataSources where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newSearchDataSourcesResponse' smart constructor.+data SearchDataSourcesResponse = SearchDataSourcesResponse'+  { -- | A @DataSourceSummaries@ object that returns a summary of a data source.+    dataSourceSummaries :: Prelude.Maybe [DataSourceSummary],+    -- | A pagination token that can be used in a subsequent request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchDataSourcesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSourceSummaries', 'searchDataSourcesResponse_dataSourceSummaries' - A @DataSourceSummaries@ object that returns a summary of a data source.+--+-- 'nextToken', 'searchDataSourcesResponse_nextToken' - A pagination token that can be used in a subsequent request.+--+-- 'requestId', 'searchDataSourcesResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'searchDataSourcesResponse_status' - The HTTP status of the request.+newSearchDataSourcesResponse ::+  -- | 'status'+  Prelude.Int ->+  SearchDataSourcesResponse+newSearchDataSourcesResponse pStatus_ =+  SearchDataSourcesResponse'+    { dataSourceSummaries =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | A @DataSourceSummaries@ object that returns a summary of a data source.+searchDataSourcesResponse_dataSourceSummaries :: Lens.Lens' SearchDataSourcesResponse (Prelude.Maybe [DataSourceSummary])+searchDataSourcesResponse_dataSourceSummaries = Lens.lens (\SearchDataSourcesResponse' {dataSourceSummaries} -> dataSourceSummaries) (\s@SearchDataSourcesResponse' {} a -> s {dataSourceSummaries = a} :: SearchDataSourcesResponse) Prelude.. Lens.mapping Lens.coerced++-- | A pagination token that can be used in a subsequent request.+searchDataSourcesResponse_nextToken :: Lens.Lens' SearchDataSourcesResponse (Prelude.Maybe Prelude.Text)+searchDataSourcesResponse_nextToken = Lens.lens (\SearchDataSourcesResponse' {nextToken} -> nextToken) (\s@SearchDataSourcesResponse' {} a -> s {nextToken = a} :: SearchDataSourcesResponse)++-- | The Amazon Web Services request ID for this operation.+searchDataSourcesResponse_requestId :: Lens.Lens' SearchDataSourcesResponse (Prelude.Maybe Prelude.Text)+searchDataSourcesResponse_requestId = Lens.lens (\SearchDataSourcesResponse' {requestId} -> requestId) (\s@SearchDataSourcesResponse' {} a -> s {requestId = a} :: SearchDataSourcesResponse)++-- | The HTTP status of the request.+searchDataSourcesResponse_status :: Lens.Lens' SearchDataSourcesResponse Prelude.Int+searchDataSourcesResponse_status = Lens.lens (\SearchDataSourcesResponse' {status} -> status) (\s@SearchDataSourcesResponse' {} a -> s {status = a} :: SearchDataSourcesResponse)++instance Prelude.NFData SearchDataSourcesResponse where+  rnf SearchDataSourcesResponse' {..} =+    Prelude.rnf dataSourceSummaries+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/SearchFolders.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.QuickSight.SearchFolders+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Searches the subfolders in a folder.+module Amazonka.QuickSight.SearchFolders+  ( -- * Creating a Request+    SearchFolders (..),+    newSearchFolders,++    -- * Request Lenses+    searchFolders_maxResults,+    searchFolders_nextToken,+    searchFolders_awsAccountId,+    searchFolders_filters,++    -- * Destructuring the Response+    SearchFoldersResponse (..),+    newSearchFoldersResponse,++    -- * Response Lenses+    searchFoldersResponse_folderSummaryList,+    searchFoldersResponse_nextToken,+    searchFoldersResponse_requestId,+    searchFoldersResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newSearchFolders' smart constructor.+data SearchFolders = SearchFolders'+  { -- | The maximum number of results to be returned per request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID for the Amazon Web Services account that contains the folder.+    awsAccountId :: Prelude.Text,+    -- | The filters to apply to the search. Currently, you can search only by+    -- the parent folder ARN. For example,+    -- @\"Filters\": [ { \"Name\": \"PARENT_FOLDER_ARN\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:folder\/folderId\" } ]@.+    filters :: [FolderSearchFilter]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchFolders' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'searchFolders_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'searchFolders_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'awsAccountId', 'searchFolders_awsAccountId' - The ID for the Amazon Web Services account that contains the folder.+--+-- 'filters', 'searchFolders_filters' - The filters to apply to the search. Currently, you can search only by+-- the parent folder ARN. For example,+-- @\"Filters\": [ { \"Name\": \"PARENT_FOLDER_ARN\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:folder\/folderId\" } ]@.+newSearchFolders ::+  -- | 'awsAccountId'+  Prelude.Text ->+  SearchFolders+newSearchFolders pAwsAccountId_ =+  SearchFolders'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      filters = Prelude.mempty+    }++-- | The maximum number of results to be returned per request.+searchFolders_maxResults :: Lens.Lens' SearchFolders (Prelude.Maybe Prelude.Natural)+searchFolders_maxResults = Lens.lens (\SearchFolders' {maxResults} -> maxResults) (\s@SearchFolders' {} a -> s {maxResults = a} :: SearchFolders)++-- | The token for the next set of results, or null if there are no more+-- results.+searchFolders_nextToken :: Lens.Lens' SearchFolders (Prelude.Maybe Prelude.Text)+searchFolders_nextToken = Lens.lens (\SearchFolders' {nextToken} -> nextToken) (\s@SearchFolders' {} a -> s {nextToken = a} :: SearchFolders)++-- | The ID for the Amazon Web Services account that contains the folder.+searchFolders_awsAccountId :: Lens.Lens' SearchFolders Prelude.Text+searchFolders_awsAccountId = Lens.lens (\SearchFolders' {awsAccountId} -> awsAccountId) (\s@SearchFolders' {} a -> s {awsAccountId = a} :: SearchFolders)++-- | The filters to apply to the search. Currently, you can search only by+-- the parent folder ARN. For example,+-- @\"Filters\": [ { \"Name\": \"PARENT_FOLDER_ARN\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:folder\/folderId\" } ]@.+searchFolders_filters :: Lens.Lens' SearchFolders [FolderSearchFilter]+searchFolders_filters = Lens.lens (\SearchFolders' {filters} -> filters) (\s@SearchFolders' {} a -> s {filters = a} :: SearchFolders) Prelude.. Lens.coerced++instance Core.AWSRequest SearchFolders where+  type+    AWSResponse SearchFolders =+      SearchFoldersResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          SearchFoldersResponse'+            Prelude.<$> ( x+                            Data..?> "FolderSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable SearchFolders where+  hashWithSalt _salt SearchFolders' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` filters++instance Prelude.NFData SearchFolders where+  rnf SearchFolders' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf filters++instance Data.ToHeaders SearchFolders where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON SearchFolders where+  toJSON SearchFolders' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("Filters" Data..= filters)+          ]+      )++instance Data.ToPath SearchFolders where+  toPath SearchFolders' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/search/folders"+      ]++instance Data.ToQuery SearchFolders where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newSearchFoldersResponse' smart constructor.+data SearchFoldersResponse = SearchFoldersResponse'+  { -- | A structure that contains all of the folders in the Amazon Web Services+    -- account. This structure provides basic information about the folders.+    folderSummaryList :: Prelude.Maybe [FolderSummary],+    -- | The token for the next set of results, or null if there are no more+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchFoldersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'folderSummaryList', 'searchFoldersResponse_folderSummaryList' - A structure that contains all of the folders in the Amazon Web Services+-- account. This structure provides basic information about the folders.+--+-- 'nextToken', 'searchFoldersResponse_nextToken' - The token for the next set of results, or null if there are no more+-- results.+--+-- 'requestId', 'searchFoldersResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'searchFoldersResponse_status' - The HTTP status of the request.+newSearchFoldersResponse ::+  -- | 'status'+  Prelude.Int ->+  SearchFoldersResponse+newSearchFoldersResponse pStatus_ =+  SearchFoldersResponse'+    { folderSummaryList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | A structure that contains all of the folders in the Amazon Web Services+-- account. This structure provides basic information about the folders.+searchFoldersResponse_folderSummaryList :: Lens.Lens' SearchFoldersResponse (Prelude.Maybe [FolderSummary])+searchFoldersResponse_folderSummaryList = Lens.lens (\SearchFoldersResponse' {folderSummaryList} -> folderSummaryList) (\s@SearchFoldersResponse' {} a -> s {folderSummaryList = a} :: SearchFoldersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results, or null if there are no more+-- results.+searchFoldersResponse_nextToken :: Lens.Lens' SearchFoldersResponse (Prelude.Maybe Prelude.Text)+searchFoldersResponse_nextToken = Lens.lens (\SearchFoldersResponse' {nextToken} -> nextToken) (\s@SearchFoldersResponse' {} a -> s {nextToken = a} :: SearchFoldersResponse)++-- | The Amazon Web Services request ID for this operation.+searchFoldersResponse_requestId :: Lens.Lens' SearchFoldersResponse (Prelude.Maybe Prelude.Text)+searchFoldersResponse_requestId = Lens.lens (\SearchFoldersResponse' {requestId} -> requestId) (\s@SearchFoldersResponse' {} a -> s {requestId = a} :: SearchFoldersResponse)++-- | The HTTP status of the request.+searchFoldersResponse_status :: Lens.Lens' SearchFoldersResponse Prelude.Int+searchFoldersResponse_status = Lens.lens (\SearchFoldersResponse' {status} -> status) (\s@SearchFoldersResponse' {} a -> s {status = a} :: SearchFoldersResponse)++instance Prelude.NFData SearchFoldersResponse where+  rnf SearchFoldersResponse' {..} =+    Prelude.rnf folderSummaryList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/SearchGroups.hs view
@@ -0,0 +1,265 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.SearchGroups+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use the @SearchGroups@ operation to search groups in a specified Amazon+-- QuickSight namespace using the supplied filters.+module Amazonka.QuickSight.SearchGroups+  ( -- * Creating a Request+    SearchGroups (..),+    newSearchGroups,++    -- * Request Lenses+    searchGroups_maxResults,+    searchGroups_nextToken,+    searchGroups_awsAccountId,+    searchGroups_namespace,+    searchGroups_filters,++    -- * Destructuring the Response+    SearchGroupsResponse (..),+    newSearchGroupsResponse,++    -- * Response Lenses+    searchGroupsResponse_groupList,+    searchGroupsResponse_nextToken,+    searchGroupsResponse_requestId,+    searchGroupsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newSearchGroups' smart constructor.+data SearchGroups = SearchGroups'+  { -- | The maximum number of results to return from this request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | A pagination token that can be used in a subsequent request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID for the Amazon Web Services account that the group is in.+    -- Currently, you use the ID for the Amazon Web Services account that+    -- contains your Amazon QuickSight account.+    awsAccountId :: Prelude.Text,+    -- | The namespace that you want to search.+    namespace :: Prelude.Text,+    -- | The structure for the search filters that you want to apply to your+    -- search.+    filters :: Prelude.NonEmpty GroupSearchFilter+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchGroups' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'searchGroups_maxResults' - The maximum number of results to return from this request.+--+-- 'nextToken', 'searchGroups_nextToken' - A pagination token that can be used in a subsequent request.+--+-- 'awsAccountId', 'searchGroups_awsAccountId' - The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+--+-- 'namespace', 'searchGroups_namespace' - The namespace that you want to search.+--+-- 'filters', 'searchGroups_filters' - The structure for the search filters that you want to apply to your+-- search.+newSearchGroups ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  -- | 'filters'+  Prelude.NonEmpty GroupSearchFilter ->+  SearchGroups+newSearchGroups pAwsAccountId_ pNamespace_ pFilters_ =+  SearchGroups'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      namespace = pNamespace_,+      filters = Lens.coerced Lens.# pFilters_+    }++-- | The maximum number of results to return from this request.+searchGroups_maxResults :: Lens.Lens' SearchGroups (Prelude.Maybe Prelude.Natural)+searchGroups_maxResults = Lens.lens (\SearchGroups' {maxResults} -> maxResults) (\s@SearchGroups' {} a -> s {maxResults = a} :: SearchGroups)++-- | A pagination token that can be used in a subsequent request.+searchGroups_nextToken :: Lens.Lens' SearchGroups (Prelude.Maybe Prelude.Text)+searchGroups_nextToken = Lens.lens (\SearchGroups' {nextToken} -> nextToken) (\s@SearchGroups' {} a -> s {nextToken = a} :: SearchGroups)++-- | The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+searchGroups_awsAccountId :: Lens.Lens' SearchGroups Prelude.Text+searchGroups_awsAccountId = Lens.lens (\SearchGroups' {awsAccountId} -> awsAccountId) (\s@SearchGroups' {} a -> s {awsAccountId = a} :: SearchGroups)++-- | The namespace that you want to search.+searchGroups_namespace :: Lens.Lens' SearchGroups Prelude.Text+searchGroups_namespace = Lens.lens (\SearchGroups' {namespace} -> namespace) (\s@SearchGroups' {} a -> s {namespace = a} :: SearchGroups)++-- | The structure for the search filters that you want to apply to your+-- search.+searchGroups_filters :: Lens.Lens' SearchGroups (Prelude.NonEmpty GroupSearchFilter)+searchGroups_filters = Lens.lens (\SearchGroups' {filters} -> filters) (\s@SearchGroups' {} a -> s {filters = a} :: SearchGroups) Prelude.. Lens.coerced++instance Core.AWSRequest SearchGroups where+  type AWSResponse SearchGroups = SearchGroupsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          SearchGroupsResponse'+            Prelude.<$> (x Data..?> "GroupList" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable SearchGroups where+  hashWithSalt _salt SearchGroups' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` filters++instance Prelude.NFData SearchGroups where+  rnf SearchGroups' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf filters++instance Data.ToHeaders SearchGroups where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON SearchGroups where+  toJSON SearchGroups' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Filters" Data..= filters)]+      )++instance Data.ToPath SearchGroups where+  toPath SearchGroups' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/groups-search"+      ]++instance Data.ToQuery SearchGroups where+  toQuery SearchGroups' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newSearchGroupsResponse' smart constructor.+data SearchGroupsResponse = SearchGroupsResponse'+  { -- | A list of groups in a specified namespace that match the filters you set+    -- in your @SearchGroups@ request.+    groupList :: Prelude.Maybe [Group],+    -- | A pagination token that can be used in a subsequent request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchGroupsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'groupList', 'searchGroupsResponse_groupList' - A list of groups in a specified namespace that match the filters you set+-- in your @SearchGroups@ request.+--+-- 'nextToken', 'searchGroupsResponse_nextToken' - A pagination token that can be used in a subsequent request.+--+-- 'requestId', 'searchGroupsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'searchGroupsResponse_status' - The HTTP status of the request.+newSearchGroupsResponse ::+  -- | 'status'+  Prelude.Int ->+  SearchGroupsResponse+newSearchGroupsResponse pStatus_ =+  SearchGroupsResponse'+    { groupList = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | A list of groups in a specified namespace that match the filters you set+-- in your @SearchGroups@ request.+searchGroupsResponse_groupList :: Lens.Lens' SearchGroupsResponse (Prelude.Maybe [Group])+searchGroupsResponse_groupList = Lens.lens (\SearchGroupsResponse' {groupList} -> groupList) (\s@SearchGroupsResponse' {} a -> s {groupList = a} :: SearchGroupsResponse) Prelude.. Lens.mapping Lens.coerced++-- | A pagination token that can be used in a subsequent request.+searchGroupsResponse_nextToken :: Lens.Lens' SearchGroupsResponse (Prelude.Maybe Prelude.Text)+searchGroupsResponse_nextToken = Lens.lens (\SearchGroupsResponse' {nextToken} -> nextToken) (\s@SearchGroupsResponse' {} a -> s {nextToken = a} :: SearchGroupsResponse)++-- | The Amazon Web Services request ID for this operation.+searchGroupsResponse_requestId :: Lens.Lens' SearchGroupsResponse (Prelude.Maybe Prelude.Text)+searchGroupsResponse_requestId = Lens.lens (\SearchGroupsResponse' {requestId} -> requestId) (\s@SearchGroupsResponse' {} a -> s {requestId = a} :: SearchGroupsResponse)++-- | The HTTP status of the request.+searchGroupsResponse_status :: Lens.Lens' SearchGroupsResponse Prelude.Int+searchGroupsResponse_status = Lens.lens (\SearchGroupsResponse' {status} -> status) (\s@SearchGroupsResponse' {} a -> s {status = a} :: SearchGroupsResponse)++instance Prelude.NFData SearchGroupsResponse where+  rnf SearchGroupsResponse' {..} =+    Prelude.rnf groupList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/TagResource.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.QuickSight.TagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Assigns one or more tags (key-value pairs) to the specified Amazon+-- QuickSight resource.+--+-- Tags can help you organize and categorize your resources. You can also+-- use them to scope user permissions, by granting a user permission to+-- access or change only resources with certain tag values. You can use the+-- @TagResource@ operation with a resource that already has tags. If you+-- specify a new tag key for the resource, this tag is appended to the list+-- of tags associated with the resource. If you specify a tag key that is+-- already associated with the resource, the new tag value that you specify+-- replaces the previous value for that tag.+--+-- You can associate as many as 50 tags with a resource. Amazon QuickSight+-- supports tagging on data set, data source, dashboard, and template.+--+-- Tagging for Amazon QuickSight works in a similar way to tagging for+-- other Amazon Web Services services, except for the following:+--+-- -   You can\'t use tags to track costs for Amazon QuickSight. This+--     isn\'t possible because you can\'t tag the resources that Amazon+--     QuickSight costs are based on, for example Amazon QuickSight storage+--     capacity (SPICE), number of users, type of users, and usage metrics.+--+-- -   Amazon QuickSight doesn\'t currently support the tag editor for+--     Resource Groups.+module Amazonka.QuickSight.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceArn,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,++    -- * Response Lenses+    tagResourceResponse_requestId,+    tagResourceResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The Amazon Resource Name (ARN) of the resource that you want to tag.+    resourceArn :: Prelude.Text,+    -- | Contains a map of the key-value pairs for the resource tag or tags+    -- assigned to the resource.+    tags :: Prelude.NonEmpty Tag+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource that you want to tag.+--+-- 'tags', 'tagResource_tags' - Contains a map of the key-value pairs for the resource tag or tags+-- assigned to the resource.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  -- | 'tags'+  Prelude.NonEmpty Tag ->+  TagResource+newTagResource pResourceArn_ pTags_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Lens.coerced Lens.# pTags_+    }++-- | The Amazon Resource Name (ARN) of the resource that you want to tag.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | Contains a map of the key-value pairs for the resource tag or tags+-- assigned to the resource.+tagResource_tags :: Lens.Lens' TagResource (Prelude.NonEmpty Tag)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+  type AWSResponse TagResource = TagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          TagResourceResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable TagResource where+  hashWithSalt _salt TagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+  rnf TagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON TagResource where+  toJSON TagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Tags" Data..= tags)]+      )++instance Data.ToPath TagResource where+  toPath TagResource' {..} =+    Prelude.mconcat+      ["/resources/", Data.toBS resourceArn, "/tags"]++instance Data.ToQuery TagResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'tagResourceResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'tagResourceResponse_status' - The HTTP status of the request.+newTagResourceResponse ::+  -- | 'status'+  Prelude.Int ->+  TagResourceResponse+newTagResourceResponse pStatus_ =+  TagResourceResponse'+    { requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+tagResourceResponse_requestId :: Lens.Lens' TagResourceResponse (Prelude.Maybe Prelude.Text)+tagResourceResponse_requestId = Lens.lens (\TagResourceResponse' {requestId} -> requestId) (\s@TagResourceResponse' {} a -> s {requestId = a} :: TagResourceResponse)++-- | The HTTP status of the request.+tagResourceResponse_status :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_status = Lens.lens (\TagResourceResponse' {status} -> status) (\s@TagResourceResponse' {} a -> s {status = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+  rnf TagResourceResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/Types.hs view
@@ -0,0 +1,5774 @@+{-# 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.QuickSight.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.QuickSight.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _ConcurrentUpdatingException,+    _ConflictException,+    _DomainNotWhitelistedException,+    _IdentityTypeNotSupportedException,+    _InternalFailureException,+    _InvalidNextTokenException,+    _InvalidParameterValueException,+    _InvalidRequestException,+    _LimitExceededException,+    _PreconditionNotMetException,+    _QuickSightUserNotFoundException,+    _ResourceExistsException,+    _ResourceNotFoundException,+    _ResourceUnavailableException,+    _SessionLifetimeInMinutesInvalidException,+    _ThrottlingException,+    _UnsupportedPricingPlanException,+    _UnsupportedUserEditionException,++    -- * AnalysisErrorType+    AnalysisErrorType (..),++    -- * AnalysisFilterAttribute+    AnalysisFilterAttribute (..),++    -- * AnchorOption+    AnchorOption (..),++    -- * ArcThickness+    ArcThickness (..),++    -- * ArcThicknessOptions+    ArcThicknessOptions (..),++    -- * AssignmentStatus+    AssignmentStatus (..),++    -- * AuthenticationMethodOption+    AuthenticationMethodOption (..),++    -- * AxisBinding+    AxisBinding (..),++    -- * BarChartOrientation+    BarChartOrientation (..),++    -- * BarsArrangement+    BarsArrangement (..),++    -- * BaseMapStyleType+    BaseMapStyleType (..),++    -- * BoxPlotFillStyle+    BoxPlotFillStyle (..),++    -- * CategoricalAggregationFunction+    CategoricalAggregationFunction (..),++    -- * CategoryFilterMatchOperator+    CategoryFilterMatchOperator (..),++    -- * CategoryFilterSelectAllOptions+    CategoryFilterSelectAllOptions (..),++    -- * ColorFillType+    ColorFillType (..),++    -- * ColumnDataType+    ColumnDataType (..),++    -- * ColumnRole+    ColumnRole (..),++    -- * ColumnTagName+    ColumnTagName (..),++    -- * ComparisonMethod+    ComparisonMethod (..),++    -- * ConditionalFormattingIconDisplayOption+    ConditionalFormattingIconDisplayOption (..),++    -- * ConditionalFormattingIconSetType+    ConditionalFormattingIconSetType (..),++    -- * CrossDatasetTypes+    CrossDatasetTypes (..),++    -- * CustomContentImageScalingConfiguration+    CustomContentImageScalingConfiguration (..),++    -- * CustomContentType+    CustomContentType (..),++    -- * DashboardBehavior+    DashboardBehavior (..),++    -- * DashboardErrorType+    DashboardErrorType (..),++    -- * DashboardFilterAttribute+    DashboardFilterAttribute (..),++    -- * DashboardUIState+    DashboardUIState (..),++    -- * DataLabelContent+    DataLabelContent (..),++    -- * DataLabelOverlap+    DataLabelOverlap (..),++    -- * DataLabelPosition+    DataLabelPosition (..),++    -- * DataSetFilterAttribute+    DataSetFilterAttribute (..),++    -- * DataSetImportMode+    DataSetImportMode (..),++    -- * DataSourceErrorInfoType+    DataSourceErrorInfoType (..),++    -- * DataSourceFilterAttribute+    DataSourceFilterAttribute (..),++    -- * DataSourceType+    DataSourceType (..),++    -- * DateAggregationFunction+    DateAggregationFunction (..),++    -- * Edition+    Edition (..),++    -- * EmbeddingIdentityType+    EmbeddingIdentityType (..),++    -- * FileFormat+    FileFormat (..),++    -- * FilterNullOption+    FilterNullOption (..),++    -- * FilterOperator+    FilterOperator (..),++    -- * FilterVisualScope+    FilterVisualScope (..),++    -- * FolderFilterAttribute+    FolderFilterAttribute (..),++    -- * FolderType+    FolderType (..),++    -- * FontDecoration+    FontDecoration (..),++    -- * FontStyle+    FontStyle (..),++    -- * FontWeightName+    FontWeightName (..),++    -- * ForecastComputationSeasonality+    ForecastComputationSeasonality (..),++    -- * FunnelChartMeasureDataLabelStyle+    FunnelChartMeasureDataLabelStyle (..),++    -- * GeoSpatialCountryCode+    GeoSpatialCountryCode (..),++    -- * GeoSpatialDataRole+    GeoSpatialDataRole (..),++    -- * GeospatialSelectedPointStyle+    GeospatialSelectedPointStyle (..),++    -- * GroupFilterAttribute+    GroupFilterAttribute (..),++    -- * GroupFilterOperator+    GroupFilterOperator (..),++    -- * HistogramBinType+    HistogramBinType (..),++    -- * HorizontalTextAlignment+    HorizontalTextAlignment (..),++    -- * Icon+    Icon (..),++    -- * IdentityStore+    IdentityStore (..),++    -- * IdentityType+    IdentityType (..),++    -- * IngestionErrorType+    IngestionErrorType (..),++    -- * IngestionRequestSource+    IngestionRequestSource (..),++    -- * IngestionRequestType+    IngestionRequestType (..),++    -- * IngestionStatus+    IngestionStatus (..),++    -- * IngestionType+    IngestionType (..),++    -- * InputColumnDataType+    InputColumnDataType (..),++    -- * JoinType+    JoinType (..),++    -- * LayoutElementType+    LayoutElementType (..),++    -- * LegendPosition+    LegendPosition (..),++    -- * LineChartLineStyle+    LineChartLineStyle (..),++    -- * LineChartMarkerShape+    LineChartMarkerShape (..),++    -- * LineChartType+    LineChartType (..),++    -- * LineInterpolation+    LineInterpolation (..),++    -- * MapZoomMode+    MapZoomMode (..),++    -- * MaximumMinimumComputationType+    MaximumMinimumComputationType (..),++    -- * MemberType+    MemberType (..),++    -- * MissingDataTreatmentOption+    MissingDataTreatmentOption (..),++    -- * NamespaceErrorType+    NamespaceErrorType (..),++    -- * NamespaceStatus+    NamespaceStatus (..),++    -- * NegativeValueDisplayMode+    NegativeValueDisplayMode (..),++    -- * NumberScale+    NumberScale (..),++    -- * NumericEqualityMatchOperator+    NumericEqualityMatchOperator (..),++    -- * NumericFilterSelectAllOptions+    NumericFilterSelectAllOptions (..),++    -- * NumericSeparatorSymbol+    NumericSeparatorSymbol (..),++    -- * OtherCategories+    OtherCategories (..),++    -- * PanelBorderStyle+    PanelBorderStyle (..),++    -- * PaperOrientation+    PaperOrientation (..),++    -- * PaperSize+    PaperSize (..),++    -- * ParameterValueType+    ParameterValueType (..),++    -- * PivotTableConditionalFormattingScopeRole+    PivotTableConditionalFormattingScopeRole (..),++    -- * PivotTableMetricPlacement+    PivotTableMetricPlacement (..),++    -- * PivotTableSubtotalLevel+    PivotTableSubtotalLevel (..),++    -- * PrimaryValueDisplayType+    PrimaryValueDisplayType (..),++    -- * ReferenceLineLabelHorizontalPosition+    ReferenceLineLabelHorizontalPosition (..),++    -- * ReferenceLineLabelVerticalPosition+    ReferenceLineLabelVerticalPosition (..),++    -- * ReferenceLinePatternType+    ReferenceLinePatternType (..),++    -- * ReferenceLineValueLabelRelativePosition+    ReferenceLineValueLabelRelativePosition (..),++    -- * RelativeDateType+    RelativeDateType (..),++    -- * RelativeFontSize+    RelativeFontSize (..),++    -- * ResizeOption+    ResizeOption (..),++    -- * ResourceStatus+    ResourceStatus (..),++    -- * RowLevelPermissionFormatVersion+    RowLevelPermissionFormatVersion (..),++    -- * RowLevelPermissionPolicy+    RowLevelPermissionPolicy (..),++    -- * SectionPageBreakStatus+    SectionPageBreakStatus (..),++    -- * SelectAllValueOptions+    SelectAllValueOptions (..),++    -- * SelectedFieldOptions+    SelectedFieldOptions (..),++    -- * SelectedTooltipType+    SelectedTooltipType (..),++    -- * SheetContentType+    SheetContentType (..),++    -- * SheetControlDateTimePickerType+    SheetControlDateTimePickerType (..),++    -- * SheetControlListType+    SheetControlListType (..),++    -- * SheetControlSliderType+    SheetControlSliderType (..),++    -- * SimpleNumericalAggregationFunction+    SimpleNumericalAggregationFunction (..),++    -- * SortDirection+    SortDirection (..),++    -- * Status+    Status (..),++    -- * TableBorderStyle+    TableBorderStyle (..),++    -- * TableCellImageScalingConfiguration+    TableCellImageScalingConfiguration (..),++    -- * TableFieldIconSetType+    TableFieldIconSetType (..),++    -- * TableOrientation+    TableOrientation (..),++    -- * TableTotalsPlacement+    TableTotalsPlacement (..),++    -- * TableTotalsScrollStatus+    TableTotalsScrollStatus (..),++    -- * TargetVisualOptions+    TargetVisualOptions (..),++    -- * TemplateErrorType+    TemplateErrorType (..),++    -- * TextQualifier+    TextQualifier (..),++    -- * TextWrap+    TextWrap (..),++    -- * ThemeErrorType+    ThemeErrorType (..),++    -- * ThemeType+    ThemeType (..),++    -- * TimeGranularity+    TimeGranularity (..),++    -- * TooltipTitleType+    TooltipTitleType (..),++    -- * TopBottomComputationType+    TopBottomComputationType (..),++    -- * TopBottomSortOrder+    TopBottomSortOrder (..),++    -- * URLTargetConfiguration+    URLTargetConfiguration (..),++    -- * UserRole+    UserRole (..),++    -- * ValueWhenUnsetOption+    ValueWhenUnsetOption (..),++    -- * VerticalTextAlignment+    VerticalTextAlignment (..),++    -- * Visibility+    Visibility (..),++    -- * VisualCustomActionTrigger+    VisualCustomActionTrigger (..),++    -- * WidgetStatus+    WidgetStatus (..),++    -- * WordCloudCloudLayout+    WordCloudCloudLayout (..),++    -- * WordCloudWordCasing+    WordCloudWordCasing (..),++    -- * WordCloudWordOrientation+    WordCloudWordOrientation (..),++    -- * WordCloudWordPadding+    WordCloudWordPadding (..),++    -- * WordCloudWordScaling+    WordCloudWordScaling (..),++    -- * AccountCustomization+    AccountCustomization (..),+    newAccountCustomization,+    accountCustomization_defaultEmailCustomizationTemplate,+    accountCustomization_defaultTheme,++    -- * AccountInfo+    AccountInfo (..),+    newAccountInfo,+    accountInfo_accountName,+    accountInfo_accountSubscriptionStatus,+    accountInfo_authenticationType,+    accountInfo_edition,+    accountInfo_notificationEmail,++    -- * AccountSettings+    AccountSettings (..),+    newAccountSettings,+    accountSettings_accountName,+    accountSettings_defaultNamespace,+    accountSettings_edition,+    accountSettings_notificationEmail,+    accountSettings_publicSharingEnabled,+    accountSettings_terminationProtectionEnabled,++    -- * ActiveIAMPolicyAssignment+    ActiveIAMPolicyAssignment (..),+    newActiveIAMPolicyAssignment,+    activeIAMPolicyAssignment_assignmentName,+    activeIAMPolicyAssignment_policyArn,++    -- * AdHocFilteringOption+    AdHocFilteringOption (..),+    newAdHocFilteringOption,+    adHocFilteringOption_availabilityStatus,++    -- * AggregationFunction+    AggregationFunction (..),+    newAggregationFunction,+    aggregationFunction_categoricalAggregationFunction,+    aggregationFunction_dateAggregationFunction,+    aggregationFunction_numericalAggregationFunction,++    -- * AggregationSortConfiguration+    AggregationSortConfiguration (..),+    newAggregationSortConfiguration,+    aggregationSortConfiguration_column,+    aggregationSortConfiguration_sortDirection,+    aggregationSortConfiguration_aggregationFunction,++    -- * AmazonElasticsearchParameters+    AmazonElasticsearchParameters (..),+    newAmazonElasticsearchParameters,+    amazonElasticsearchParameters_domain,++    -- * AmazonOpenSearchParameters+    AmazonOpenSearchParameters (..),+    newAmazonOpenSearchParameters,+    amazonOpenSearchParameters_domain,++    -- * Analysis+    Analysis (..),+    newAnalysis,+    analysis_analysisId,+    analysis_arn,+    analysis_createdTime,+    analysis_dataSetArns,+    analysis_errors,+    analysis_lastUpdatedTime,+    analysis_name,+    analysis_sheets,+    analysis_status,+    analysis_themeArn,++    -- * AnalysisDefaults+    AnalysisDefaults (..),+    newAnalysisDefaults,+    analysisDefaults_defaultNewSheetConfiguration,++    -- * AnalysisDefinition+    AnalysisDefinition (..),+    newAnalysisDefinition,+    analysisDefinition_analysisDefaults,+    analysisDefinition_calculatedFields,+    analysisDefinition_columnConfigurations,+    analysisDefinition_filterGroups,+    analysisDefinition_parameterDeclarations,+    analysisDefinition_sheets,+    analysisDefinition_dataSetIdentifierDeclarations,++    -- * AnalysisError+    AnalysisError (..),+    newAnalysisError,+    analysisError_message,+    analysisError_type,+    analysisError_violatedEntities,++    -- * AnalysisSearchFilter+    AnalysisSearchFilter (..),+    newAnalysisSearchFilter,+    analysisSearchFilter_name,+    analysisSearchFilter_operator,+    analysisSearchFilter_value,++    -- * AnalysisSourceEntity+    AnalysisSourceEntity (..),+    newAnalysisSourceEntity,+    analysisSourceEntity_sourceTemplate,++    -- * AnalysisSourceTemplate+    AnalysisSourceTemplate (..),+    newAnalysisSourceTemplate,+    analysisSourceTemplate_dataSetReferences,+    analysisSourceTemplate_arn,++    -- * AnalysisSummary+    AnalysisSummary (..),+    newAnalysisSummary,+    analysisSummary_analysisId,+    analysisSummary_arn,+    analysisSummary_createdTime,+    analysisSummary_lastUpdatedTime,+    analysisSummary_name,+    analysisSummary_status,++    -- * AnchorDateConfiguration+    AnchorDateConfiguration (..),+    newAnchorDateConfiguration,+    anchorDateConfiguration_anchorOption,+    anchorDateConfiguration_parameterName,++    -- * AnonymousUserDashboardEmbeddingConfiguration+    AnonymousUserDashboardEmbeddingConfiguration (..),+    newAnonymousUserDashboardEmbeddingConfiguration,+    anonymousUserDashboardEmbeddingConfiguration_initialDashboardId,++    -- * AnonymousUserDashboardVisualEmbeddingConfiguration+    AnonymousUserDashboardVisualEmbeddingConfiguration (..),+    newAnonymousUserDashboardVisualEmbeddingConfiguration,+    anonymousUserDashboardVisualEmbeddingConfiguration_initialDashboardVisualId,++    -- * AnonymousUserEmbeddingExperienceConfiguration+    AnonymousUserEmbeddingExperienceConfiguration (..),+    newAnonymousUserEmbeddingExperienceConfiguration,+    anonymousUserEmbeddingExperienceConfiguration_dashboard,+    anonymousUserEmbeddingExperienceConfiguration_dashboardVisual,+    anonymousUserEmbeddingExperienceConfiguration_qSearchBar,++    -- * AnonymousUserQSearchBarEmbeddingConfiguration+    AnonymousUserQSearchBarEmbeddingConfiguration (..),+    newAnonymousUserQSearchBarEmbeddingConfiguration,+    anonymousUserQSearchBarEmbeddingConfiguration_initialTopicId,++    -- * ArcAxisConfiguration+    ArcAxisConfiguration (..),+    newArcAxisConfiguration,+    arcAxisConfiguration_range,+    arcAxisConfiguration_reserveRange,++    -- * ArcAxisDisplayRange+    ArcAxisDisplayRange (..),+    newArcAxisDisplayRange,+    arcAxisDisplayRange_max,+    arcAxisDisplayRange_min,++    -- * ArcConfiguration+    ArcConfiguration (..),+    newArcConfiguration,+    arcConfiguration_arcAngle,+    arcConfiguration_arcThickness,++    -- * ArcOptions+    ArcOptions (..),+    newArcOptions,+    arcOptions_arcThickness,++    -- * AthenaParameters+    AthenaParameters (..),+    newAthenaParameters,+    athenaParameters_roleArn,+    athenaParameters_workGroup,++    -- * AuroraParameters+    AuroraParameters (..),+    newAuroraParameters,+    auroraParameters_host,+    auroraParameters_port,+    auroraParameters_database,++    -- * AuroraPostgreSqlParameters+    AuroraPostgreSqlParameters (..),+    newAuroraPostgreSqlParameters,+    auroraPostgreSqlParameters_host,+    auroraPostgreSqlParameters_port,+    auroraPostgreSqlParameters_database,++    -- * AwsIotAnalyticsParameters+    AwsIotAnalyticsParameters (..),+    newAwsIotAnalyticsParameters,+    awsIotAnalyticsParameters_dataSetName,++    -- * AxisDataOptions+    AxisDataOptions (..),+    newAxisDataOptions,+    axisDataOptions_dateAxisOptions,+    axisDataOptions_numericAxisOptions,++    -- * AxisDisplayDataDrivenRange+    AxisDisplayDataDrivenRange (..),+    newAxisDisplayDataDrivenRange,++    -- * AxisDisplayMinMaxRange+    AxisDisplayMinMaxRange (..),+    newAxisDisplayMinMaxRange,+    axisDisplayMinMaxRange_maximum,+    axisDisplayMinMaxRange_minimum,++    -- * AxisDisplayOptions+    AxisDisplayOptions (..),+    newAxisDisplayOptions,+    axisDisplayOptions_axisLineVisibility,+    axisDisplayOptions_axisOffset,+    axisDisplayOptions_dataOptions,+    axisDisplayOptions_gridLineVisibility,+    axisDisplayOptions_scrollbarOptions,+    axisDisplayOptions_tickLabelOptions,++    -- * AxisDisplayRange+    AxisDisplayRange (..),+    newAxisDisplayRange,+    axisDisplayRange_dataDriven,+    axisDisplayRange_minMax,++    -- * AxisLabelOptions+    AxisLabelOptions (..),+    newAxisLabelOptions,+    axisLabelOptions_applyTo,+    axisLabelOptions_customLabel,+    axisLabelOptions_fontConfiguration,++    -- * AxisLabelReferenceOptions+    AxisLabelReferenceOptions (..),+    newAxisLabelReferenceOptions,+    axisLabelReferenceOptions_fieldId,+    axisLabelReferenceOptions_column,++    -- * AxisLinearScale+    AxisLinearScale (..),+    newAxisLinearScale,+    axisLinearScale_stepCount,+    axisLinearScale_stepSize,++    -- * AxisLogarithmicScale+    AxisLogarithmicScale (..),+    newAxisLogarithmicScale,+    axisLogarithmicScale_base,++    -- * AxisScale+    AxisScale (..),+    newAxisScale,+    axisScale_linear,+    axisScale_logarithmic,++    -- * AxisTickLabelOptions+    AxisTickLabelOptions (..),+    newAxisTickLabelOptions,+    axisTickLabelOptions_labelOptions,+    axisTickLabelOptions_rotationAngle,++    -- * BarChartAggregatedFieldWells+    BarChartAggregatedFieldWells (..),+    newBarChartAggregatedFieldWells,+    barChartAggregatedFieldWells_category,+    barChartAggregatedFieldWells_colors,+    barChartAggregatedFieldWells_smallMultiples,+    barChartAggregatedFieldWells_values,++    -- * BarChartConfiguration+    BarChartConfiguration (..),+    newBarChartConfiguration,+    barChartConfiguration_barsArrangement,+    barChartConfiguration_categoryAxis,+    barChartConfiguration_categoryLabelOptions,+    barChartConfiguration_colorLabelOptions,+    barChartConfiguration_contributionAnalysisDefaults,+    barChartConfiguration_dataLabels,+    barChartConfiguration_fieldWells,+    barChartConfiguration_legend,+    barChartConfiguration_orientation,+    barChartConfiguration_referenceLines,+    barChartConfiguration_smallMultiplesOptions,+    barChartConfiguration_sortConfiguration,+    barChartConfiguration_tooltip,+    barChartConfiguration_valueAxis,+    barChartConfiguration_valueLabelOptions,+    barChartConfiguration_visualPalette,++    -- * BarChartFieldWells+    BarChartFieldWells (..),+    newBarChartFieldWells,+    barChartFieldWells_barChartAggregatedFieldWells,++    -- * BarChartSortConfiguration+    BarChartSortConfiguration (..),+    newBarChartSortConfiguration,+    barChartSortConfiguration_categoryItemsLimit,+    barChartSortConfiguration_categorySort,+    barChartSortConfiguration_colorItemsLimit,+    barChartSortConfiguration_colorSort,+    barChartSortConfiguration_smallMultiplesLimitConfiguration,+    barChartSortConfiguration_smallMultiplesSort,++    -- * BarChartVisual+    BarChartVisual (..),+    newBarChartVisual,+    barChartVisual_actions,+    barChartVisual_chartConfiguration,+    barChartVisual_columnHierarchies,+    barChartVisual_subtitle,+    barChartVisual_title,+    barChartVisual_visualId,++    -- * BinCountOptions+    BinCountOptions (..),+    newBinCountOptions,+    binCountOptions_value,++    -- * BinWidthOptions+    BinWidthOptions (..),+    newBinWidthOptions,+    binWidthOptions_binCountLimit,+    binWidthOptions_value,++    -- * BodySectionConfiguration+    BodySectionConfiguration (..),+    newBodySectionConfiguration,+    bodySectionConfiguration_pageBreakConfiguration,+    bodySectionConfiguration_style,+    bodySectionConfiguration_sectionId,+    bodySectionConfiguration_content,++    -- * BodySectionContent+    BodySectionContent (..),+    newBodySectionContent,+    bodySectionContent_layout,++    -- * BorderStyle+    BorderStyle (..),+    newBorderStyle,+    borderStyle_show,++    -- * BoxPlotAggregatedFieldWells+    BoxPlotAggregatedFieldWells (..),+    newBoxPlotAggregatedFieldWells,+    boxPlotAggregatedFieldWells_groupBy,+    boxPlotAggregatedFieldWells_values,++    -- * BoxPlotChartConfiguration+    BoxPlotChartConfiguration (..),+    newBoxPlotChartConfiguration,+    boxPlotChartConfiguration_boxPlotOptions,+    boxPlotChartConfiguration_categoryAxis,+    boxPlotChartConfiguration_categoryLabelOptions,+    boxPlotChartConfiguration_fieldWells,+    boxPlotChartConfiguration_legend,+    boxPlotChartConfiguration_primaryYAxisDisplayOptions,+    boxPlotChartConfiguration_primaryYAxisLabelOptions,+    boxPlotChartConfiguration_referenceLines,+    boxPlotChartConfiguration_sortConfiguration,+    boxPlotChartConfiguration_tooltip,+    boxPlotChartConfiguration_visualPalette,++    -- * BoxPlotFieldWells+    BoxPlotFieldWells (..),+    newBoxPlotFieldWells,+    boxPlotFieldWells_boxPlotAggregatedFieldWells,++    -- * BoxPlotOptions+    BoxPlotOptions (..),+    newBoxPlotOptions,+    boxPlotOptions_allDataPointsVisibility,+    boxPlotOptions_outlierVisibility,+    boxPlotOptions_styleOptions,++    -- * BoxPlotSortConfiguration+    BoxPlotSortConfiguration (..),+    newBoxPlotSortConfiguration,+    boxPlotSortConfiguration_categorySort,+    boxPlotSortConfiguration_paginationConfiguration,++    -- * BoxPlotStyleOptions+    BoxPlotStyleOptions (..),+    newBoxPlotStyleOptions,+    boxPlotStyleOptions_fillStyle,++    -- * BoxPlotVisual+    BoxPlotVisual (..),+    newBoxPlotVisual,+    boxPlotVisual_actions,+    boxPlotVisual_chartConfiguration,+    boxPlotVisual_columnHierarchies,+    boxPlotVisual_subtitle,+    boxPlotVisual_title,+    boxPlotVisual_visualId,++    -- * CalculatedColumn+    CalculatedColumn (..),+    newCalculatedColumn,+    calculatedColumn_columnName,+    calculatedColumn_columnId,+    calculatedColumn_expression,++    -- * CalculatedField+    CalculatedField (..),+    newCalculatedField,+    calculatedField_dataSetIdentifier,+    calculatedField_name,+    calculatedField_expression,++    -- * CalculatedMeasureField+    CalculatedMeasureField (..),+    newCalculatedMeasureField,+    calculatedMeasureField_fieldId,+    calculatedMeasureField_expression,++    -- * CascadingControlConfiguration+    CascadingControlConfiguration (..),+    newCascadingControlConfiguration,+    cascadingControlConfiguration_sourceControls,++    -- * CascadingControlSource+    CascadingControlSource (..),+    newCascadingControlSource,+    cascadingControlSource_columnToMatch,+    cascadingControlSource_sourceSheetControlId,++    -- * CastColumnTypeOperation+    CastColumnTypeOperation (..),+    newCastColumnTypeOperation,+    castColumnTypeOperation_format,+    castColumnTypeOperation_columnName,+    castColumnTypeOperation_newColumnType,++    -- * CategoricalDimensionField+    CategoricalDimensionField (..),+    newCategoricalDimensionField,+    categoricalDimensionField_formatConfiguration,+    categoricalDimensionField_hierarchyId,+    categoricalDimensionField_fieldId,+    categoricalDimensionField_column,++    -- * CategoricalMeasureField+    CategoricalMeasureField (..),+    newCategoricalMeasureField,+    categoricalMeasureField_aggregationFunction,+    categoricalMeasureField_formatConfiguration,+    categoricalMeasureField_fieldId,+    categoricalMeasureField_column,++    -- * CategoryDrillDownFilter+    CategoryDrillDownFilter (..),+    newCategoryDrillDownFilter,+    categoryDrillDownFilter_column,+    categoryDrillDownFilter_categoryValues,++    -- * CategoryFilter+    CategoryFilter (..),+    newCategoryFilter,+    categoryFilter_configuration,+    categoryFilter_filterId,+    categoryFilter_column,++    -- * CategoryFilterConfiguration+    CategoryFilterConfiguration (..),+    newCategoryFilterConfiguration,+    categoryFilterConfiguration_customFilterConfiguration,+    categoryFilterConfiguration_customFilterListConfiguration,+    categoryFilterConfiguration_filterListConfiguration,++    -- * ChartAxisLabelOptions+    ChartAxisLabelOptions (..),+    newChartAxisLabelOptions,+    chartAxisLabelOptions_axisLabelOptions,+    chartAxisLabelOptions_sortIconVisibility,+    chartAxisLabelOptions_visibility,++    -- * ClusterMarker+    ClusterMarker (..),+    newClusterMarker,+    clusterMarker_simpleClusterMarker,++    -- * ClusterMarkerConfiguration+    ClusterMarkerConfiguration (..),+    newClusterMarkerConfiguration,+    clusterMarkerConfiguration_clusterMarker,++    -- * ColorScale+    ColorScale (..),+    newColorScale,+    colorScale_nullValueColor,+    colorScale_colors,+    colorScale_colorFillType,++    -- * ColumnConfiguration+    ColumnConfiguration (..),+    newColumnConfiguration,+    columnConfiguration_formatConfiguration,+    columnConfiguration_role,+    columnConfiguration_column,++    -- * ColumnDescription+    ColumnDescription (..),+    newColumnDescription,+    columnDescription_text,++    -- * ColumnGroup+    ColumnGroup (..),+    newColumnGroup,+    columnGroup_geoSpatialColumnGroup,++    -- * ColumnGroupColumnSchema+    ColumnGroupColumnSchema (..),+    newColumnGroupColumnSchema,+    columnGroupColumnSchema_name,++    -- * ColumnGroupSchema+    ColumnGroupSchema (..),+    newColumnGroupSchema,+    columnGroupSchema_columnGroupColumnSchemaList,+    columnGroupSchema_name,++    -- * ColumnHierarchy+    ColumnHierarchy (..),+    newColumnHierarchy,+    columnHierarchy_dateTimeHierarchy,+    columnHierarchy_explicitHierarchy,+    columnHierarchy_predefinedHierarchy,++    -- * ColumnIdentifier+    ColumnIdentifier (..),+    newColumnIdentifier,+    columnIdentifier_dataSetIdentifier,+    columnIdentifier_columnName,++    -- * ColumnLevelPermissionRule+    ColumnLevelPermissionRule (..),+    newColumnLevelPermissionRule,+    columnLevelPermissionRule_columnNames,+    columnLevelPermissionRule_principals,++    -- * ColumnSchema+    ColumnSchema (..),+    newColumnSchema,+    columnSchema_dataType,+    columnSchema_geographicRole,+    columnSchema_name,++    -- * ColumnSort+    ColumnSort (..),+    newColumnSort,+    columnSort_aggregationFunction,+    columnSort_sortBy,+    columnSort_direction,++    -- * ColumnTag+    ColumnTag (..),+    newColumnTag,+    columnTag_columnDescription,+    columnTag_columnGeographicRole,++    -- * ColumnTooltipItem+    ColumnTooltipItem (..),+    newColumnTooltipItem,+    columnTooltipItem_aggregation,+    columnTooltipItem_label,+    columnTooltipItem_visibility,+    columnTooltipItem_column,++    -- * ComboChartAggregatedFieldWells+    ComboChartAggregatedFieldWells (..),+    newComboChartAggregatedFieldWells,+    comboChartAggregatedFieldWells_barValues,+    comboChartAggregatedFieldWells_category,+    comboChartAggregatedFieldWells_colors,+    comboChartAggregatedFieldWells_lineValues,++    -- * ComboChartConfiguration+    ComboChartConfiguration (..),+    newComboChartConfiguration,+    comboChartConfiguration_barDataLabels,+    comboChartConfiguration_barsArrangement,+    comboChartConfiguration_categoryAxis,+    comboChartConfiguration_categoryLabelOptions,+    comboChartConfiguration_colorLabelOptions,+    comboChartConfiguration_fieldWells,+    comboChartConfiguration_legend,+    comboChartConfiguration_lineDataLabels,+    comboChartConfiguration_primaryYAxisDisplayOptions,+    comboChartConfiguration_primaryYAxisLabelOptions,+    comboChartConfiguration_referenceLines,+    comboChartConfiguration_secondaryYAxisDisplayOptions,+    comboChartConfiguration_secondaryYAxisLabelOptions,+    comboChartConfiguration_sortConfiguration,+    comboChartConfiguration_tooltip,+    comboChartConfiguration_visualPalette,++    -- * ComboChartFieldWells+    ComboChartFieldWells (..),+    newComboChartFieldWells,+    comboChartFieldWells_comboChartAggregatedFieldWells,++    -- * ComboChartSortConfiguration+    ComboChartSortConfiguration (..),+    newComboChartSortConfiguration,+    comboChartSortConfiguration_categoryItemsLimit,+    comboChartSortConfiguration_categorySort,+    comboChartSortConfiguration_colorItemsLimit,+    comboChartSortConfiguration_colorSort,++    -- * ComboChartVisual+    ComboChartVisual (..),+    newComboChartVisual,+    comboChartVisual_actions,+    comboChartVisual_chartConfiguration,+    comboChartVisual_columnHierarchies,+    comboChartVisual_subtitle,+    comboChartVisual_title,+    comboChartVisual_visualId,++    -- * ComparisonConfiguration+    ComparisonConfiguration (..),+    newComparisonConfiguration,+    comparisonConfiguration_comparisonFormat,+    comparisonConfiguration_comparisonMethod,++    -- * ComparisonFormatConfiguration+    ComparisonFormatConfiguration (..),+    newComparisonFormatConfiguration,+    comparisonFormatConfiguration_numberDisplayFormatConfiguration,+    comparisonFormatConfiguration_percentageDisplayFormatConfiguration,++    -- * Computation+    Computation (..),+    newComputation,+    computation_forecast,+    computation_growthRate,+    computation_maximumMinimum,+    computation_metricComparison,+    computation_periodOverPeriod,+    computation_periodToDate,+    computation_topBottomMovers,+    computation_topBottomRanked,+    computation_totalAggregation,+    computation_uniqueValues,++    -- * ConditionalFormattingColor+    ConditionalFormattingColor (..),+    newConditionalFormattingColor,+    conditionalFormattingColor_gradient,+    conditionalFormattingColor_solid,++    -- * ConditionalFormattingCustomIconCondition+    ConditionalFormattingCustomIconCondition (..),+    newConditionalFormattingCustomIconCondition,+    conditionalFormattingCustomIconCondition_color,+    conditionalFormattingCustomIconCondition_displayConfiguration,+    conditionalFormattingCustomIconCondition_expression,+    conditionalFormattingCustomIconCondition_iconOptions,++    -- * ConditionalFormattingCustomIconOptions+    ConditionalFormattingCustomIconOptions (..),+    newConditionalFormattingCustomIconOptions,+    conditionalFormattingCustomIconOptions_icon,+    conditionalFormattingCustomIconOptions_unicodeIcon,++    -- * ConditionalFormattingGradientColor+    ConditionalFormattingGradientColor (..),+    newConditionalFormattingGradientColor,+    conditionalFormattingGradientColor_expression,+    conditionalFormattingGradientColor_color,++    -- * ConditionalFormattingIcon+    ConditionalFormattingIcon (..),+    newConditionalFormattingIcon,+    conditionalFormattingIcon_customCondition,+    conditionalFormattingIcon_iconSet,++    -- * ConditionalFormattingIconDisplayConfiguration+    ConditionalFormattingIconDisplayConfiguration (..),+    newConditionalFormattingIconDisplayConfiguration,+    conditionalFormattingIconDisplayConfiguration_iconDisplayOption,++    -- * ConditionalFormattingIconSet+    ConditionalFormattingIconSet (..),+    newConditionalFormattingIconSet,+    conditionalFormattingIconSet_iconSetType,+    conditionalFormattingIconSet_expression,++    -- * ConditionalFormattingSolidColor+    ConditionalFormattingSolidColor (..),+    newConditionalFormattingSolidColor,+    conditionalFormattingSolidColor_color,+    conditionalFormattingSolidColor_expression,++    -- * ContributionAnalysisDefault+    ContributionAnalysisDefault (..),+    newContributionAnalysisDefault,+    contributionAnalysisDefault_measureFieldId,+    contributionAnalysisDefault_contributorDimensions,++    -- * CreateColumnsOperation+    CreateColumnsOperation (..),+    newCreateColumnsOperation,+    createColumnsOperation_columns,++    -- * CredentialPair+    CredentialPair (..),+    newCredentialPair,+    credentialPair_alternateDataSourceParameters,+    credentialPair_username,+    credentialPair_password,++    -- * CurrencyDisplayFormatConfiguration+    CurrencyDisplayFormatConfiguration (..),+    newCurrencyDisplayFormatConfiguration,+    currencyDisplayFormatConfiguration_decimalPlacesConfiguration,+    currencyDisplayFormatConfiguration_negativeValueConfiguration,+    currencyDisplayFormatConfiguration_nullValueFormatConfiguration,+    currencyDisplayFormatConfiguration_numberScale,+    currencyDisplayFormatConfiguration_prefix,+    currencyDisplayFormatConfiguration_separatorConfiguration,+    currencyDisplayFormatConfiguration_suffix,+    currencyDisplayFormatConfiguration_symbol,++    -- * CustomActionFilterOperation+    CustomActionFilterOperation (..),+    newCustomActionFilterOperation,+    customActionFilterOperation_selectedFieldsConfiguration,+    customActionFilterOperation_targetVisualsConfiguration,++    -- * CustomActionNavigationOperation+    CustomActionNavigationOperation (..),+    newCustomActionNavigationOperation,+    customActionNavigationOperation_localNavigationConfiguration,++    -- * CustomActionSetParametersOperation+    CustomActionSetParametersOperation (..),+    newCustomActionSetParametersOperation,+    customActionSetParametersOperation_parameterValueConfigurations,++    -- * CustomActionURLOperation+    CustomActionURLOperation (..),+    newCustomActionURLOperation,+    customActionURLOperation_uRLTemplate,+    customActionURLOperation_uRLTarget,++    -- * CustomContentConfiguration+    CustomContentConfiguration (..),+    newCustomContentConfiguration,+    customContentConfiguration_contentType,+    customContentConfiguration_contentUrl,+    customContentConfiguration_imageScaling,++    -- * CustomContentVisual+    CustomContentVisual (..),+    newCustomContentVisual,+    customContentVisual_actions,+    customContentVisual_chartConfiguration,+    customContentVisual_subtitle,+    customContentVisual_title,+    customContentVisual_visualId,+    customContentVisual_dataSetIdentifier,++    -- * CustomFilterConfiguration+    CustomFilterConfiguration (..),+    newCustomFilterConfiguration,+    customFilterConfiguration_categoryValue,+    customFilterConfiguration_parameterName,+    customFilterConfiguration_selectAllOptions,+    customFilterConfiguration_matchOperator,+    customFilterConfiguration_nullOption,++    -- * CustomFilterListConfiguration+    CustomFilterListConfiguration (..),+    newCustomFilterListConfiguration,+    customFilterListConfiguration_categoryValues,+    customFilterListConfiguration_selectAllOptions,+    customFilterListConfiguration_matchOperator,+    customFilterListConfiguration_nullOption,++    -- * CustomNarrativeOptions+    CustomNarrativeOptions (..),+    newCustomNarrativeOptions,+    customNarrativeOptions_narrative,++    -- * CustomParameterValues+    CustomParameterValues (..),+    newCustomParameterValues,+    customParameterValues_dateTimeValues,+    customParameterValues_decimalValues,+    customParameterValues_integerValues,+    customParameterValues_stringValues,++    -- * CustomSql+    CustomSql (..),+    newCustomSql,+    customSql_columns,+    customSql_dataSourceArn,+    customSql_name,+    customSql_sqlQuery,++    -- * CustomValuesConfiguration+    CustomValuesConfiguration (..),+    newCustomValuesConfiguration,+    customValuesConfiguration_includeNullValue,+    customValuesConfiguration_customValues,++    -- * Dashboard+    Dashboard (..),+    newDashboard,+    dashboard_arn,+    dashboard_createdTime,+    dashboard_dashboardId,+    dashboard_lastPublishedTime,+    dashboard_lastUpdatedTime,+    dashboard_name,+    dashboard_version,++    -- * DashboardError+    DashboardError (..),+    newDashboardError,+    dashboardError_message,+    dashboardError_type,+    dashboardError_violatedEntities,++    -- * DashboardPublishOptions+    DashboardPublishOptions (..),+    newDashboardPublishOptions,+    dashboardPublishOptions_adHocFilteringOption,+    dashboardPublishOptions_exportToCSVOption,+    dashboardPublishOptions_sheetControlsOption,+    dashboardPublishOptions_visualPublishOptions,++    -- * DashboardSearchFilter+    DashboardSearchFilter (..),+    newDashboardSearchFilter,+    dashboardSearchFilter_name,+    dashboardSearchFilter_value,+    dashboardSearchFilter_operator,++    -- * DashboardSourceEntity+    DashboardSourceEntity (..),+    newDashboardSourceEntity,+    dashboardSourceEntity_sourceTemplate,++    -- * DashboardSourceTemplate+    DashboardSourceTemplate (..),+    newDashboardSourceTemplate,+    dashboardSourceTemplate_dataSetReferences,+    dashboardSourceTemplate_arn,++    -- * DashboardSummary+    DashboardSummary (..),+    newDashboardSummary,+    dashboardSummary_arn,+    dashboardSummary_createdTime,+    dashboardSummary_dashboardId,+    dashboardSummary_lastPublishedTime,+    dashboardSummary_lastUpdatedTime,+    dashboardSummary_name,+    dashboardSummary_publishedVersionNumber,++    -- * DashboardVersion+    DashboardVersion (..),+    newDashboardVersion,+    dashboardVersion_arn,+    dashboardVersion_createdTime,+    dashboardVersion_dataSetArns,+    dashboardVersion_description,+    dashboardVersion_errors,+    dashboardVersion_sheets,+    dashboardVersion_sourceEntityArn,+    dashboardVersion_status,+    dashboardVersion_themeArn,+    dashboardVersion_versionNumber,++    -- * DashboardVersionDefinition+    DashboardVersionDefinition (..),+    newDashboardVersionDefinition,+    dashboardVersionDefinition_analysisDefaults,+    dashboardVersionDefinition_calculatedFields,+    dashboardVersionDefinition_columnConfigurations,+    dashboardVersionDefinition_filterGroups,+    dashboardVersionDefinition_parameterDeclarations,+    dashboardVersionDefinition_sheets,+    dashboardVersionDefinition_dataSetIdentifierDeclarations,++    -- * DashboardVersionSummary+    DashboardVersionSummary (..),+    newDashboardVersionSummary,+    dashboardVersionSummary_arn,+    dashboardVersionSummary_createdTime,+    dashboardVersionSummary_description,+    dashboardVersionSummary_sourceEntityArn,+    dashboardVersionSummary_status,+    dashboardVersionSummary_versionNumber,++    -- * DashboardVisualId+    DashboardVisualId (..),+    newDashboardVisualId,+    dashboardVisualId_dashboardId,+    dashboardVisualId_sheetId,+    dashboardVisualId_visualId,++    -- * DashboardVisualPublishOptions+    DashboardVisualPublishOptions (..),+    newDashboardVisualPublishOptions,+    dashboardVisualPublishOptions_exportHiddenFieldsOption,++    -- * DataColor+    DataColor (..),+    newDataColor,+    dataColor_color,+    dataColor_dataValue,++    -- * DataColorPalette+    DataColorPalette (..),+    newDataColorPalette,+    dataColorPalette_colors,+    dataColorPalette_emptyFillColor,+    dataColorPalette_minMaxGradient,++    -- * DataFieldSeriesItem+    DataFieldSeriesItem (..),+    newDataFieldSeriesItem,+    dataFieldSeriesItem_fieldValue,+    dataFieldSeriesItem_settings,+    dataFieldSeriesItem_fieldId,+    dataFieldSeriesItem_axisBinding,++    -- * DataLabelOptions+    DataLabelOptions (..),+    newDataLabelOptions,+    dataLabelOptions_categoryLabelVisibility,+    dataLabelOptions_dataLabelTypes,+    dataLabelOptions_labelColor,+    dataLabelOptions_labelContent,+    dataLabelOptions_labelFontConfiguration,+    dataLabelOptions_measureLabelVisibility,+    dataLabelOptions_overlap,+    dataLabelOptions_position,+    dataLabelOptions_visibility,++    -- * DataLabelType+    DataLabelType (..),+    newDataLabelType,+    dataLabelType_dataPathLabelType,+    dataLabelType_fieldLabelType,+    dataLabelType_maximumLabelType,+    dataLabelType_minimumLabelType,+    dataLabelType_rangeEndsLabelType,++    -- * DataPathColor+    DataPathColor (..),+    newDataPathColor,+    dataPathColor_timeGranularity,+    dataPathColor_element,+    dataPathColor_color,++    -- * DataPathLabelType+    DataPathLabelType (..),+    newDataPathLabelType,+    dataPathLabelType_fieldId,+    dataPathLabelType_fieldValue,+    dataPathLabelType_visibility,++    -- * DataPathSort+    DataPathSort (..),+    newDataPathSort,+    dataPathSort_direction,+    dataPathSort_sortPaths,++    -- * DataPathValue+    DataPathValue (..),+    newDataPathValue,+    dataPathValue_fieldId,+    dataPathValue_fieldValue,++    -- * DataSet+    DataSet (..),+    newDataSet,+    dataSet_arn,+    dataSet_columnGroups,+    dataSet_columnLevelPermissionRules,+    dataSet_consumedSpiceCapacityInBytes,+    dataSet_createdTime,+    dataSet_dataSetId,+    dataSet_dataSetUsageConfiguration,+    dataSet_fieldFolders,+    dataSet_importMode,+    dataSet_lastUpdatedTime,+    dataSet_logicalTableMap,+    dataSet_name,+    dataSet_outputColumns,+    dataSet_physicalTableMap,+    dataSet_rowLevelPermissionDataSet,+    dataSet_rowLevelPermissionTagConfiguration,++    -- * DataSetConfiguration+    DataSetConfiguration (..),+    newDataSetConfiguration,+    dataSetConfiguration_columnGroupSchemaList,+    dataSetConfiguration_dataSetSchema,+    dataSetConfiguration_placeholder,++    -- * DataSetIdentifierDeclaration+    DataSetIdentifierDeclaration (..),+    newDataSetIdentifierDeclaration,+    dataSetIdentifierDeclaration_identifier,+    dataSetIdentifierDeclaration_dataSetArn,++    -- * DataSetReference+    DataSetReference (..),+    newDataSetReference,+    dataSetReference_dataSetPlaceholder,+    dataSetReference_dataSetArn,++    -- * DataSetSchema+    DataSetSchema (..),+    newDataSetSchema,+    dataSetSchema_columnSchemaList,++    -- * DataSetSearchFilter+    DataSetSearchFilter (..),+    newDataSetSearchFilter,+    dataSetSearchFilter_operator,+    dataSetSearchFilter_name,+    dataSetSearchFilter_value,++    -- * DataSetSummary+    DataSetSummary (..),+    newDataSetSummary,+    dataSetSummary_arn,+    dataSetSummary_columnLevelPermissionRulesApplied,+    dataSetSummary_createdTime,+    dataSetSummary_dataSetId,+    dataSetSummary_importMode,+    dataSetSummary_lastUpdatedTime,+    dataSetSummary_name,+    dataSetSummary_rowLevelPermissionDataSet,+    dataSetSummary_rowLevelPermissionTagConfigurationApplied,++    -- * DataSetUsageConfiguration+    DataSetUsageConfiguration (..),+    newDataSetUsageConfiguration,+    dataSetUsageConfiguration_disableUseAsDirectQuerySource,+    dataSetUsageConfiguration_disableUseAsImportedSource,++    -- * DataSource+    DataSource (..),+    newDataSource,+    dataSource_alternateDataSourceParameters,+    dataSource_arn,+    dataSource_createdTime,+    dataSource_dataSourceId,+    dataSource_dataSourceParameters,+    dataSource_errorInfo,+    dataSource_lastUpdatedTime,+    dataSource_name,+    dataSource_secretArn,+    dataSource_sslProperties,+    dataSource_status,+    dataSource_type,+    dataSource_vpcConnectionProperties,++    -- * DataSourceCredentials+    DataSourceCredentials (..),+    newDataSourceCredentials,+    dataSourceCredentials_copySourceArn,+    dataSourceCredentials_credentialPair,+    dataSourceCredentials_secretArn,++    -- * DataSourceErrorInfo+    DataSourceErrorInfo (..),+    newDataSourceErrorInfo,+    dataSourceErrorInfo_message,+    dataSourceErrorInfo_type,++    -- * DataSourceParameters+    DataSourceParameters (..),+    newDataSourceParameters,+    dataSourceParameters_amazonElasticsearchParameters,+    dataSourceParameters_amazonOpenSearchParameters,+    dataSourceParameters_athenaParameters,+    dataSourceParameters_auroraParameters,+    dataSourceParameters_auroraPostgreSqlParameters,+    dataSourceParameters_awsIotAnalyticsParameters,+    dataSourceParameters_databricksParameters,+    dataSourceParameters_exasolParameters,+    dataSourceParameters_jiraParameters,+    dataSourceParameters_mariaDbParameters,+    dataSourceParameters_mySqlParameters,+    dataSourceParameters_oracleParameters,+    dataSourceParameters_postgreSqlParameters,+    dataSourceParameters_prestoParameters,+    dataSourceParameters_rdsParameters,+    dataSourceParameters_redshiftParameters,+    dataSourceParameters_s3Parameters,+    dataSourceParameters_serviceNowParameters,+    dataSourceParameters_snowflakeParameters,+    dataSourceParameters_sparkParameters,+    dataSourceParameters_sqlServerParameters,+    dataSourceParameters_teradataParameters,+    dataSourceParameters_twitterParameters,++    -- * DataSourceSearchFilter+    DataSourceSearchFilter (..),+    newDataSourceSearchFilter,+    dataSourceSearchFilter_operator,+    dataSourceSearchFilter_name,+    dataSourceSearchFilter_value,++    -- * DataSourceSummary+    DataSourceSummary (..),+    newDataSourceSummary,+    dataSourceSummary_arn,+    dataSourceSummary_createdTime,+    dataSourceSummary_dataSourceId,+    dataSourceSummary_lastUpdatedTime,+    dataSourceSummary_name,+    dataSourceSummary_type,++    -- * DatabricksParameters+    DatabricksParameters (..),+    newDatabricksParameters,+    databricksParameters_host,+    databricksParameters_port,+    databricksParameters_sqlEndpointPath,++    -- * DateAxisOptions+    DateAxisOptions (..),+    newDateAxisOptions,+    dateAxisOptions_missingDateVisibility,++    -- * DateDimensionField+    DateDimensionField (..),+    newDateDimensionField,+    dateDimensionField_dateGranularity,+    dateDimensionField_formatConfiguration,+    dateDimensionField_hierarchyId,+    dateDimensionField_fieldId,+    dateDimensionField_column,++    -- * DateMeasureField+    DateMeasureField (..),+    newDateMeasureField,+    dateMeasureField_aggregationFunction,+    dateMeasureField_formatConfiguration,+    dateMeasureField_fieldId,+    dateMeasureField_column,++    -- * DateTimeDefaultValues+    DateTimeDefaultValues (..),+    newDateTimeDefaultValues,+    dateTimeDefaultValues_dynamicValue,+    dateTimeDefaultValues_rollingDate,+    dateTimeDefaultValues_staticValues,++    -- * DateTimeFormatConfiguration+    DateTimeFormatConfiguration (..),+    newDateTimeFormatConfiguration,+    dateTimeFormatConfiguration_dateTimeFormat,+    dateTimeFormatConfiguration_nullValueFormatConfiguration,+    dateTimeFormatConfiguration_numericFormatConfiguration,++    -- * DateTimeHierarchy+    DateTimeHierarchy (..),+    newDateTimeHierarchy,+    dateTimeHierarchy_drillDownFilters,+    dateTimeHierarchy_hierarchyId,++    -- * DateTimeParameter+    DateTimeParameter (..),+    newDateTimeParameter,+    dateTimeParameter_name,+    dateTimeParameter_values,++    -- * DateTimeParameterDeclaration+    DateTimeParameterDeclaration (..),+    newDateTimeParameterDeclaration,+    dateTimeParameterDeclaration_defaultValues,+    dateTimeParameterDeclaration_timeGranularity,+    dateTimeParameterDeclaration_valueWhenUnset,+    dateTimeParameterDeclaration_name,++    -- * DateTimePickerControlDisplayOptions+    DateTimePickerControlDisplayOptions (..),+    newDateTimePickerControlDisplayOptions,+    dateTimePickerControlDisplayOptions_dateTimeFormat,+    dateTimePickerControlDisplayOptions_titleOptions,++    -- * DateTimeValueWhenUnsetConfiguration+    DateTimeValueWhenUnsetConfiguration (..),+    newDateTimeValueWhenUnsetConfiguration,+    dateTimeValueWhenUnsetConfiguration_customValue,+    dateTimeValueWhenUnsetConfiguration_valueWhenUnsetOption,++    -- * DecimalDefaultValues+    DecimalDefaultValues (..),+    newDecimalDefaultValues,+    decimalDefaultValues_dynamicValue,+    decimalDefaultValues_staticValues,++    -- * DecimalParameter+    DecimalParameter (..),+    newDecimalParameter,+    decimalParameter_name,+    decimalParameter_values,++    -- * DecimalParameterDeclaration+    DecimalParameterDeclaration (..),+    newDecimalParameterDeclaration,+    decimalParameterDeclaration_defaultValues,+    decimalParameterDeclaration_valueWhenUnset,+    decimalParameterDeclaration_parameterValueType,+    decimalParameterDeclaration_name,++    -- * DecimalPlacesConfiguration+    DecimalPlacesConfiguration (..),+    newDecimalPlacesConfiguration,+    decimalPlacesConfiguration_decimalPlaces,++    -- * DecimalValueWhenUnsetConfiguration+    DecimalValueWhenUnsetConfiguration (..),+    newDecimalValueWhenUnsetConfiguration,+    decimalValueWhenUnsetConfiguration_customValue,+    decimalValueWhenUnsetConfiguration_valueWhenUnsetOption,++    -- * DefaultFreeFormLayoutConfiguration+    DefaultFreeFormLayoutConfiguration (..),+    newDefaultFreeFormLayoutConfiguration,+    defaultFreeFormLayoutConfiguration_canvasSizeOptions,++    -- * DefaultGridLayoutConfiguration+    DefaultGridLayoutConfiguration (..),+    newDefaultGridLayoutConfiguration,+    defaultGridLayoutConfiguration_canvasSizeOptions,++    -- * DefaultInteractiveLayoutConfiguration+    DefaultInteractiveLayoutConfiguration (..),+    newDefaultInteractiveLayoutConfiguration,+    defaultInteractiveLayoutConfiguration_freeForm,+    defaultInteractiveLayoutConfiguration_grid,++    -- * DefaultNewSheetConfiguration+    DefaultNewSheetConfiguration (..),+    newDefaultNewSheetConfiguration,+    defaultNewSheetConfiguration_interactiveLayoutConfiguration,+    defaultNewSheetConfiguration_paginatedLayoutConfiguration,+    defaultNewSheetConfiguration_sheetContentType,++    -- * DefaultPaginatedLayoutConfiguration+    DefaultPaginatedLayoutConfiguration (..),+    newDefaultPaginatedLayoutConfiguration,+    defaultPaginatedLayoutConfiguration_sectionBased,++    -- * DefaultSectionBasedLayoutConfiguration+    DefaultSectionBasedLayoutConfiguration (..),+    newDefaultSectionBasedLayoutConfiguration,+    defaultSectionBasedLayoutConfiguration_canvasSizeOptions,++    -- * DestinationParameterValueConfiguration+    DestinationParameterValueConfiguration (..),+    newDestinationParameterValueConfiguration,+    destinationParameterValueConfiguration_customValuesConfiguration,+    destinationParameterValueConfiguration_selectAllValueOptions,+    destinationParameterValueConfiguration_sourceField,+    destinationParameterValueConfiguration_sourceParameterName,++    -- * DimensionField+    DimensionField (..),+    newDimensionField,+    dimensionField_categoricalDimensionField,+    dimensionField_dateDimensionField,+    dimensionField_numericalDimensionField,++    -- * DonutCenterOptions+    DonutCenterOptions (..),+    newDonutCenterOptions,+    donutCenterOptions_labelVisibility,++    -- * DonutOptions+    DonutOptions (..),+    newDonutOptions,+    donutOptions_arcOptions,+    donutOptions_donutCenterOptions,++    -- * DrillDownFilter+    DrillDownFilter (..),+    newDrillDownFilter,+    drillDownFilter_categoryFilter,+    drillDownFilter_numericEqualityFilter,+    drillDownFilter_timeRangeFilter,++    -- * DropDownControlDisplayOptions+    DropDownControlDisplayOptions (..),+    newDropDownControlDisplayOptions,+    dropDownControlDisplayOptions_selectAllOptions,+    dropDownControlDisplayOptions_titleOptions,++    -- * DynamicDefaultValue+    DynamicDefaultValue (..),+    newDynamicDefaultValue,+    dynamicDefaultValue_groupNameColumn,+    dynamicDefaultValue_userNameColumn,+    dynamicDefaultValue_defaultValueColumn,++    -- * EmptyVisual+    EmptyVisual (..),+    newEmptyVisual,+    emptyVisual_actions,+    emptyVisual_visualId,+    emptyVisual_dataSetIdentifier,++    -- * Entity+    Entity (..),+    newEntity,+    entity_path,++    -- * ErrorInfo+    ErrorInfo (..),+    newErrorInfo,+    errorInfo_message,+    errorInfo_type,++    -- * ExasolParameters+    ExasolParameters (..),+    newExasolParameters,+    exasolParameters_host,+    exasolParameters_port,++    -- * ExcludePeriodConfiguration+    ExcludePeriodConfiguration (..),+    newExcludePeriodConfiguration,+    excludePeriodConfiguration_status,+    excludePeriodConfiguration_amount,+    excludePeriodConfiguration_granularity,++    -- * ExplicitHierarchy+    ExplicitHierarchy (..),+    newExplicitHierarchy,+    explicitHierarchy_drillDownFilters,+    explicitHierarchy_hierarchyId,+    explicitHierarchy_columns,++    -- * ExportHiddenFieldsOption+    ExportHiddenFieldsOption (..),+    newExportHiddenFieldsOption,+    exportHiddenFieldsOption_availabilityStatus,++    -- * ExportToCSVOption+    ExportToCSVOption (..),+    newExportToCSVOption,+    exportToCSVOption_availabilityStatus,++    -- * FieldBasedTooltip+    FieldBasedTooltip (..),+    newFieldBasedTooltip,+    fieldBasedTooltip_aggregationVisibility,+    fieldBasedTooltip_tooltipFields,+    fieldBasedTooltip_tooltipTitleType,++    -- * FieldFolder+    FieldFolder (..),+    newFieldFolder,+    fieldFolder_columns,+    fieldFolder_description,++    -- * FieldLabelType+    FieldLabelType (..),+    newFieldLabelType,+    fieldLabelType_fieldId,+    fieldLabelType_visibility,++    -- * FieldSeriesItem+    FieldSeriesItem (..),+    newFieldSeriesItem,+    fieldSeriesItem_settings,+    fieldSeriesItem_fieldId,+    fieldSeriesItem_axisBinding,++    -- * FieldSort+    FieldSort (..),+    newFieldSort,+    fieldSort_fieldId,+    fieldSort_direction,++    -- * FieldSortOptions+    FieldSortOptions (..),+    newFieldSortOptions,+    fieldSortOptions_columnSort,+    fieldSortOptions_fieldSort,++    -- * FieldTooltipItem+    FieldTooltipItem (..),+    newFieldTooltipItem,+    fieldTooltipItem_label,+    fieldTooltipItem_visibility,+    fieldTooltipItem_fieldId,++    -- * FilledMapAggregatedFieldWells+    FilledMapAggregatedFieldWells (..),+    newFilledMapAggregatedFieldWells,+    filledMapAggregatedFieldWells_geospatial,+    filledMapAggregatedFieldWells_values,++    -- * FilledMapConditionalFormatting+    FilledMapConditionalFormatting (..),+    newFilledMapConditionalFormatting,+    filledMapConditionalFormatting_conditionalFormattingOptions,++    -- * FilledMapConditionalFormattingOption+    FilledMapConditionalFormattingOption (..),+    newFilledMapConditionalFormattingOption,+    filledMapConditionalFormattingOption_shape,++    -- * FilledMapConfiguration+    FilledMapConfiguration (..),+    newFilledMapConfiguration,+    filledMapConfiguration_fieldWells,+    filledMapConfiguration_legend,+    filledMapConfiguration_mapStyleOptions,+    filledMapConfiguration_sortConfiguration,+    filledMapConfiguration_tooltip,+    filledMapConfiguration_windowOptions,++    -- * FilledMapFieldWells+    FilledMapFieldWells (..),+    newFilledMapFieldWells,+    filledMapFieldWells_filledMapAggregatedFieldWells,++    -- * FilledMapShapeConditionalFormatting+    FilledMapShapeConditionalFormatting (..),+    newFilledMapShapeConditionalFormatting,+    filledMapShapeConditionalFormatting_format,+    filledMapShapeConditionalFormatting_fieldId,++    -- * FilledMapSortConfiguration+    FilledMapSortConfiguration (..),+    newFilledMapSortConfiguration,+    filledMapSortConfiguration_categorySort,++    -- * FilledMapVisual+    FilledMapVisual (..),+    newFilledMapVisual,+    filledMapVisual_actions,+    filledMapVisual_chartConfiguration,+    filledMapVisual_columnHierarchies,+    filledMapVisual_conditionalFormatting,+    filledMapVisual_subtitle,+    filledMapVisual_title,+    filledMapVisual_visualId,++    -- * Filter+    Filter (..),+    newFilter,+    filter_categoryFilter,+    filter_numericEqualityFilter,+    filter_numericRangeFilter,+    filter_relativeDatesFilter,+    filter_timeEqualityFilter,+    filter_timeRangeFilter,+    filter_topBottomFilter,++    -- * FilterControl+    FilterControl (..),+    newFilterControl,+    filterControl_dateTimePicker,+    filterControl_dropdown,+    filterControl_list,+    filterControl_relativeDateTime,+    filterControl_slider,+    filterControl_textArea,+    filterControl_textField,++    -- * FilterDateTimePickerControl+    FilterDateTimePickerControl (..),+    newFilterDateTimePickerControl,+    filterDateTimePickerControl_displayOptions,+    filterDateTimePickerControl_type,+    filterDateTimePickerControl_filterControlId,+    filterDateTimePickerControl_title,+    filterDateTimePickerControl_sourceFilterId,++    -- * FilterDropDownControl+    FilterDropDownControl (..),+    newFilterDropDownControl,+    filterDropDownControl_cascadingControlConfiguration,+    filterDropDownControl_displayOptions,+    filterDropDownControl_selectableValues,+    filterDropDownControl_type,+    filterDropDownControl_filterControlId,+    filterDropDownControl_title,+    filterDropDownControl_sourceFilterId,++    -- * FilterGroup+    FilterGroup (..),+    newFilterGroup,+    filterGroup_status,+    filterGroup_filterGroupId,+    filterGroup_filters,+    filterGroup_scopeConfiguration,+    filterGroup_crossDataset,++    -- * FilterListConfiguration+    FilterListConfiguration (..),+    newFilterListConfiguration,+    filterListConfiguration_categoryValues,+    filterListConfiguration_selectAllOptions,+    filterListConfiguration_matchOperator,++    -- * FilterListControl+    FilterListControl (..),+    newFilterListControl,+    filterListControl_cascadingControlConfiguration,+    filterListControl_displayOptions,+    filterListControl_selectableValues,+    filterListControl_type,+    filterListControl_filterControlId,+    filterListControl_title,+    filterListControl_sourceFilterId,++    -- * FilterOperation+    FilterOperation (..),+    newFilterOperation,+    filterOperation_conditionExpression,++    -- * FilterOperationSelectedFieldsConfiguration+    FilterOperationSelectedFieldsConfiguration (..),+    newFilterOperationSelectedFieldsConfiguration,+    filterOperationSelectedFieldsConfiguration_selectedFieldOptions,+    filterOperationSelectedFieldsConfiguration_selectedFields,++    -- * FilterOperationTargetVisualsConfiguration+    FilterOperationTargetVisualsConfiguration (..),+    newFilterOperationTargetVisualsConfiguration,+    filterOperationTargetVisualsConfiguration_sameSheetTargetVisualConfiguration,++    -- * FilterRelativeDateTimeControl+    FilterRelativeDateTimeControl (..),+    newFilterRelativeDateTimeControl,+    filterRelativeDateTimeControl_displayOptions,+    filterRelativeDateTimeControl_filterControlId,+    filterRelativeDateTimeControl_title,+    filterRelativeDateTimeControl_sourceFilterId,++    -- * FilterScopeConfiguration+    FilterScopeConfiguration (..),+    newFilterScopeConfiguration,+    filterScopeConfiguration_selectedSheets,++    -- * FilterSelectableValues+    FilterSelectableValues (..),+    newFilterSelectableValues,+    filterSelectableValues_values,++    -- * FilterSliderControl+    FilterSliderControl (..),+    newFilterSliderControl,+    filterSliderControl_displayOptions,+    filterSliderControl_type,+    filterSliderControl_filterControlId,+    filterSliderControl_title,+    filterSliderControl_sourceFilterId,+    filterSliderControl_maximumValue,+    filterSliderControl_minimumValue,+    filterSliderControl_stepSize,++    -- * FilterTextAreaControl+    FilterTextAreaControl (..),+    newFilterTextAreaControl,+    filterTextAreaControl_delimiter,+    filterTextAreaControl_displayOptions,+    filterTextAreaControl_filterControlId,+    filterTextAreaControl_title,+    filterTextAreaControl_sourceFilterId,++    -- * FilterTextFieldControl+    FilterTextFieldControl (..),+    newFilterTextFieldControl,+    filterTextFieldControl_displayOptions,+    filterTextFieldControl_filterControlId,+    filterTextFieldControl_title,+    filterTextFieldControl_sourceFilterId,++    -- * Folder+    Folder (..),+    newFolder,+    folder_arn,+    folder_createdTime,+    folder_folderId,+    folder_folderPath,+    folder_folderType,+    folder_lastUpdatedTime,+    folder_name,++    -- * FolderMember+    FolderMember (..),+    newFolderMember,+    folderMember_memberId,+    folderMember_memberType,++    -- * FolderSearchFilter+    FolderSearchFilter (..),+    newFolderSearchFilter,+    folderSearchFilter_name,+    folderSearchFilter_operator,+    folderSearchFilter_value,++    -- * FolderSummary+    FolderSummary (..),+    newFolderSummary,+    folderSummary_arn,+    folderSummary_createdTime,+    folderSummary_folderId,+    folderSummary_folderType,+    folderSummary_lastUpdatedTime,+    folderSummary_name,++    -- * Font+    Font (..),+    newFont,+    font_fontFamily,++    -- * FontConfiguration+    FontConfiguration (..),+    newFontConfiguration,+    fontConfiguration_fontColor,+    fontConfiguration_fontDecoration,+    fontConfiguration_fontSize,+    fontConfiguration_fontStyle,+    fontConfiguration_fontWeight,++    -- * FontSize+    FontSize (..),+    newFontSize,+    fontSize_relative,++    -- * FontWeight+    FontWeight (..),+    newFontWeight,+    fontWeight_name,++    -- * ForecastComputation+    ForecastComputation (..),+    newForecastComputation,+    forecastComputation_customSeasonalityValue,+    forecastComputation_lowerBoundary,+    forecastComputation_name,+    forecastComputation_periodsBackward,+    forecastComputation_periodsForward,+    forecastComputation_predictionInterval,+    forecastComputation_seasonality,+    forecastComputation_upperBoundary,+    forecastComputation_value,+    forecastComputation_computationId,+    forecastComputation_time,++    -- * ForecastConfiguration+    ForecastConfiguration (..),+    newForecastConfiguration,+    forecastConfiguration_forecastProperties,+    forecastConfiguration_scenario,++    -- * ForecastScenario+    ForecastScenario (..),+    newForecastScenario,+    forecastScenario_whatIfPointScenario,+    forecastScenario_whatIfRangeScenario,++    -- * FormatConfiguration+    FormatConfiguration (..),+    newFormatConfiguration,+    formatConfiguration_dateTimeFormatConfiguration,+    formatConfiguration_numberFormatConfiguration,+    formatConfiguration_stringFormatConfiguration,++    -- * FreeFormLayoutCanvasSizeOptions+    FreeFormLayoutCanvasSizeOptions (..),+    newFreeFormLayoutCanvasSizeOptions,+    freeFormLayoutCanvasSizeOptions_screenCanvasSizeOptions,++    -- * FreeFormLayoutConfiguration+    FreeFormLayoutConfiguration (..),+    newFreeFormLayoutConfiguration,+    freeFormLayoutConfiguration_canvasSizeOptions,+    freeFormLayoutConfiguration_elements,++    -- * FreeFormLayoutElement+    FreeFormLayoutElement (..),+    newFreeFormLayoutElement,+    freeFormLayoutElement_backgroundStyle,+    freeFormLayoutElement_borderStyle,+    freeFormLayoutElement_loadingAnimation,+    freeFormLayoutElement_renderingRules,+    freeFormLayoutElement_selectedBorderStyle,+    freeFormLayoutElement_visibility,+    freeFormLayoutElement_elementId,+    freeFormLayoutElement_elementType,+    freeFormLayoutElement_xAxisLocation,+    freeFormLayoutElement_yAxisLocation,+    freeFormLayoutElement_width,+    freeFormLayoutElement_height,++    -- * FreeFormLayoutElementBackgroundStyle+    FreeFormLayoutElementBackgroundStyle (..),+    newFreeFormLayoutElementBackgroundStyle,+    freeFormLayoutElementBackgroundStyle_color,+    freeFormLayoutElementBackgroundStyle_visibility,++    -- * FreeFormLayoutElementBorderStyle+    FreeFormLayoutElementBorderStyle (..),+    newFreeFormLayoutElementBorderStyle,+    freeFormLayoutElementBorderStyle_color,+    freeFormLayoutElementBorderStyle_visibility,++    -- * FreeFormLayoutScreenCanvasSizeOptions+    FreeFormLayoutScreenCanvasSizeOptions (..),+    newFreeFormLayoutScreenCanvasSizeOptions,+    freeFormLayoutScreenCanvasSizeOptions_optimizedViewPortWidth,++    -- * FreeFormSectionLayoutConfiguration+    FreeFormSectionLayoutConfiguration (..),+    newFreeFormSectionLayoutConfiguration,+    freeFormSectionLayoutConfiguration_elements,++    -- * FunnelChartAggregatedFieldWells+    FunnelChartAggregatedFieldWells (..),+    newFunnelChartAggregatedFieldWells,+    funnelChartAggregatedFieldWells_category,+    funnelChartAggregatedFieldWells_values,++    -- * FunnelChartConfiguration+    FunnelChartConfiguration (..),+    newFunnelChartConfiguration,+    funnelChartConfiguration_categoryLabelOptions,+    funnelChartConfiguration_dataLabelOptions,+    funnelChartConfiguration_fieldWells,+    funnelChartConfiguration_sortConfiguration,+    funnelChartConfiguration_tooltip,+    funnelChartConfiguration_valueLabelOptions,+    funnelChartConfiguration_visualPalette,++    -- * FunnelChartDataLabelOptions+    FunnelChartDataLabelOptions (..),+    newFunnelChartDataLabelOptions,+    funnelChartDataLabelOptions_categoryLabelVisibility,+    funnelChartDataLabelOptions_labelColor,+    funnelChartDataLabelOptions_labelFontConfiguration,+    funnelChartDataLabelOptions_measureDataLabelStyle,+    funnelChartDataLabelOptions_measureLabelVisibility,+    funnelChartDataLabelOptions_position,+    funnelChartDataLabelOptions_visibility,++    -- * FunnelChartFieldWells+    FunnelChartFieldWells (..),+    newFunnelChartFieldWells,+    funnelChartFieldWells_funnelChartAggregatedFieldWells,++    -- * FunnelChartSortConfiguration+    FunnelChartSortConfiguration (..),+    newFunnelChartSortConfiguration,+    funnelChartSortConfiguration_categoryItemsLimit,+    funnelChartSortConfiguration_categorySort,++    -- * FunnelChartVisual+    FunnelChartVisual (..),+    newFunnelChartVisual,+    funnelChartVisual_actions,+    funnelChartVisual_chartConfiguration,+    funnelChartVisual_columnHierarchies,+    funnelChartVisual_subtitle,+    funnelChartVisual_title,+    funnelChartVisual_visualId,++    -- * GaugeChartArcConditionalFormatting+    GaugeChartArcConditionalFormatting (..),+    newGaugeChartArcConditionalFormatting,+    gaugeChartArcConditionalFormatting_foregroundColor,++    -- * GaugeChartConditionalFormatting+    GaugeChartConditionalFormatting (..),+    newGaugeChartConditionalFormatting,+    gaugeChartConditionalFormatting_conditionalFormattingOptions,++    -- * GaugeChartConditionalFormattingOption+    GaugeChartConditionalFormattingOption (..),+    newGaugeChartConditionalFormattingOption,+    gaugeChartConditionalFormattingOption_arc,+    gaugeChartConditionalFormattingOption_primaryValue,++    -- * GaugeChartConfiguration+    GaugeChartConfiguration (..),+    newGaugeChartConfiguration,+    gaugeChartConfiguration_dataLabels,+    gaugeChartConfiguration_fieldWells,+    gaugeChartConfiguration_gaugeChartOptions,+    gaugeChartConfiguration_tooltipOptions,+    gaugeChartConfiguration_visualPalette,++    -- * GaugeChartFieldWells+    GaugeChartFieldWells (..),+    newGaugeChartFieldWells,+    gaugeChartFieldWells_targetValues,+    gaugeChartFieldWells_values,++    -- * GaugeChartOptions+    GaugeChartOptions (..),+    newGaugeChartOptions,+    gaugeChartOptions_arc,+    gaugeChartOptions_arcAxis,+    gaugeChartOptions_comparison,+    gaugeChartOptions_primaryValueDisplayType,+    gaugeChartOptions_primaryValueFontConfiguration,++    -- * GaugeChartPrimaryValueConditionalFormatting+    GaugeChartPrimaryValueConditionalFormatting (..),+    newGaugeChartPrimaryValueConditionalFormatting,+    gaugeChartPrimaryValueConditionalFormatting_icon,+    gaugeChartPrimaryValueConditionalFormatting_textColor,++    -- * GaugeChartVisual+    GaugeChartVisual (..),+    newGaugeChartVisual,+    gaugeChartVisual_actions,+    gaugeChartVisual_chartConfiguration,+    gaugeChartVisual_conditionalFormatting,+    gaugeChartVisual_subtitle,+    gaugeChartVisual_title,+    gaugeChartVisual_visualId,++    -- * GeoSpatialColumnGroup+    GeoSpatialColumnGroup (..),+    newGeoSpatialColumnGroup,+    geoSpatialColumnGroup_countryCode,+    geoSpatialColumnGroup_name,+    geoSpatialColumnGroup_columns,++    -- * GeospatialCoordinateBounds+    GeospatialCoordinateBounds (..),+    newGeospatialCoordinateBounds,+    geospatialCoordinateBounds_north,+    geospatialCoordinateBounds_south,+    geospatialCoordinateBounds_west,+    geospatialCoordinateBounds_east,++    -- * GeospatialMapAggregatedFieldWells+    GeospatialMapAggregatedFieldWells (..),+    newGeospatialMapAggregatedFieldWells,+    geospatialMapAggregatedFieldWells_colors,+    geospatialMapAggregatedFieldWells_geospatial,+    geospatialMapAggregatedFieldWells_values,++    -- * GeospatialMapConfiguration+    GeospatialMapConfiguration (..),+    newGeospatialMapConfiguration,+    geospatialMapConfiguration_fieldWells,+    geospatialMapConfiguration_legend,+    geospatialMapConfiguration_mapStyleOptions,+    geospatialMapConfiguration_pointStyleOptions,+    geospatialMapConfiguration_tooltip,+    geospatialMapConfiguration_visualPalette,+    geospatialMapConfiguration_windowOptions,++    -- * GeospatialMapFieldWells+    GeospatialMapFieldWells (..),+    newGeospatialMapFieldWells,+    geospatialMapFieldWells_geospatialMapAggregatedFieldWells,++    -- * GeospatialMapStyleOptions+    GeospatialMapStyleOptions (..),+    newGeospatialMapStyleOptions,+    geospatialMapStyleOptions_baseMapStyle,++    -- * GeospatialMapVisual+    GeospatialMapVisual (..),+    newGeospatialMapVisual,+    geospatialMapVisual_actions,+    geospatialMapVisual_chartConfiguration,+    geospatialMapVisual_columnHierarchies,+    geospatialMapVisual_subtitle,+    geospatialMapVisual_title,+    geospatialMapVisual_visualId,++    -- * GeospatialPointStyleOptions+    GeospatialPointStyleOptions (..),+    newGeospatialPointStyleOptions,+    geospatialPointStyleOptions_clusterMarkerConfiguration,+    geospatialPointStyleOptions_selectedPointStyle,++    -- * GeospatialWindowOptions+    GeospatialWindowOptions (..),+    newGeospatialWindowOptions,+    geospatialWindowOptions_bounds,+    geospatialWindowOptions_mapZoomMode,++    -- * GlobalTableBorderOptions+    GlobalTableBorderOptions (..),+    newGlobalTableBorderOptions,+    globalTableBorderOptions_sideSpecificBorder,+    globalTableBorderOptions_uniformBorder,++    -- * GradientColor+    GradientColor (..),+    newGradientColor,+    gradientColor_stops,++    -- * GradientStop+    GradientStop (..),+    newGradientStop,+    gradientStop_color,+    gradientStop_dataValue,+    gradientStop_gradientOffset,++    -- * GridLayoutCanvasSizeOptions+    GridLayoutCanvasSizeOptions (..),+    newGridLayoutCanvasSizeOptions,+    gridLayoutCanvasSizeOptions_screenCanvasSizeOptions,++    -- * GridLayoutConfiguration+    GridLayoutConfiguration (..),+    newGridLayoutConfiguration,+    gridLayoutConfiguration_canvasSizeOptions,+    gridLayoutConfiguration_elements,++    -- * GridLayoutElement+    GridLayoutElement (..),+    newGridLayoutElement,+    gridLayoutElement_columnIndex,+    gridLayoutElement_rowIndex,+    gridLayoutElement_elementId,+    gridLayoutElement_elementType,+    gridLayoutElement_columnSpan,+    gridLayoutElement_rowSpan,++    -- * GridLayoutScreenCanvasSizeOptions+    GridLayoutScreenCanvasSizeOptions (..),+    newGridLayoutScreenCanvasSizeOptions,+    gridLayoutScreenCanvasSizeOptions_optimizedViewPortWidth,+    gridLayoutScreenCanvasSizeOptions_resizeOption,++    -- * Group+    Group (..),+    newGroup,+    group_arn,+    group_description,+    group_groupName,+    group_principalId,++    -- * GroupMember+    GroupMember (..),+    newGroupMember,+    groupMember_arn,+    groupMember_memberName,++    -- * GroupSearchFilter+    GroupSearchFilter (..),+    newGroupSearchFilter,+    groupSearchFilter_operator,+    groupSearchFilter_name,+    groupSearchFilter_value,++    -- * GrowthRateComputation+    GrowthRateComputation (..),+    newGrowthRateComputation,+    growthRateComputation_name,+    growthRateComputation_periodSize,+    growthRateComputation_value,+    growthRateComputation_computationId,+    growthRateComputation_time,++    -- * GutterStyle+    GutterStyle (..),+    newGutterStyle,+    gutterStyle_show,++    -- * HeaderFooterSectionConfiguration+    HeaderFooterSectionConfiguration (..),+    newHeaderFooterSectionConfiguration,+    headerFooterSectionConfiguration_style,+    headerFooterSectionConfiguration_sectionId,+    headerFooterSectionConfiguration_layout,++    -- * HeatMapAggregatedFieldWells+    HeatMapAggregatedFieldWells (..),+    newHeatMapAggregatedFieldWells,+    heatMapAggregatedFieldWells_columns,+    heatMapAggregatedFieldWells_rows,+    heatMapAggregatedFieldWells_values,++    -- * HeatMapConfiguration+    HeatMapConfiguration (..),+    newHeatMapConfiguration,+    heatMapConfiguration_colorScale,+    heatMapConfiguration_columnLabelOptions,+    heatMapConfiguration_dataLabels,+    heatMapConfiguration_fieldWells,+    heatMapConfiguration_legend,+    heatMapConfiguration_rowLabelOptions,+    heatMapConfiguration_sortConfiguration,+    heatMapConfiguration_tooltip,++    -- * HeatMapFieldWells+    HeatMapFieldWells (..),+    newHeatMapFieldWells,+    heatMapFieldWells_heatMapAggregatedFieldWells,++    -- * HeatMapSortConfiguration+    HeatMapSortConfiguration (..),+    newHeatMapSortConfiguration,+    heatMapSortConfiguration_heatMapColumnItemsLimitConfiguration,+    heatMapSortConfiguration_heatMapColumnSort,+    heatMapSortConfiguration_heatMapRowItemsLimitConfiguration,+    heatMapSortConfiguration_heatMapRowSort,++    -- * HeatMapVisual+    HeatMapVisual (..),+    newHeatMapVisual,+    heatMapVisual_actions,+    heatMapVisual_chartConfiguration,+    heatMapVisual_columnHierarchies,+    heatMapVisual_subtitle,+    heatMapVisual_title,+    heatMapVisual_visualId,++    -- * HistogramAggregatedFieldWells+    HistogramAggregatedFieldWells (..),+    newHistogramAggregatedFieldWells,+    histogramAggregatedFieldWells_values,++    -- * HistogramBinOptions+    HistogramBinOptions (..),+    newHistogramBinOptions,+    histogramBinOptions_binCount,+    histogramBinOptions_binWidth,+    histogramBinOptions_selectedBinType,+    histogramBinOptions_startValue,++    -- * HistogramConfiguration+    HistogramConfiguration (..),+    newHistogramConfiguration,+    histogramConfiguration_binOptions,+    histogramConfiguration_dataLabels,+    histogramConfiguration_fieldWells,+    histogramConfiguration_tooltip,+    histogramConfiguration_visualPalette,+    histogramConfiguration_xAxisDisplayOptions,+    histogramConfiguration_xAxisLabelOptions,+    histogramConfiguration_yAxisDisplayOptions,++    -- * HistogramFieldWells+    HistogramFieldWells (..),+    newHistogramFieldWells,+    histogramFieldWells_histogramAggregatedFieldWells,++    -- * HistogramVisual+    HistogramVisual (..),+    newHistogramVisual,+    histogramVisual_actions,+    histogramVisual_chartConfiguration,+    histogramVisual_subtitle,+    histogramVisual_title,+    histogramVisual_visualId,++    -- * IAMPolicyAssignment+    IAMPolicyAssignment (..),+    newIAMPolicyAssignment,+    iAMPolicyAssignment_assignmentId,+    iAMPolicyAssignment_assignmentName,+    iAMPolicyAssignment_assignmentStatus,+    iAMPolicyAssignment_awsAccountId,+    iAMPolicyAssignment_identities,+    iAMPolicyAssignment_policyArn,++    -- * IAMPolicyAssignmentSummary+    IAMPolicyAssignmentSummary (..),+    newIAMPolicyAssignmentSummary,+    iAMPolicyAssignmentSummary_assignmentName,+    iAMPolicyAssignmentSummary_assignmentStatus,++    -- * Ingestion+    Ingestion (..),+    newIngestion,+    ingestion_errorInfo,+    ingestion_ingestionId,+    ingestion_ingestionSizeInBytes,+    ingestion_ingestionTimeInSeconds,+    ingestion_queueInfo,+    ingestion_requestSource,+    ingestion_requestType,+    ingestion_rowInfo,+    ingestion_arn,+    ingestion_ingestionStatus,+    ingestion_createdTime,++    -- * InputColumn+    InputColumn (..),+    newInputColumn,+    inputColumn_name,+    inputColumn_type,++    -- * InsightConfiguration+    InsightConfiguration (..),+    newInsightConfiguration,+    insightConfiguration_computations,+    insightConfiguration_customNarrative,++    -- * InsightVisual+    InsightVisual (..),+    newInsightVisual,+    insightVisual_actions,+    insightVisual_insightConfiguration,+    insightVisual_subtitle,+    insightVisual_title,+    insightVisual_visualId,+    insightVisual_dataSetIdentifier,++    -- * IntegerDefaultValues+    IntegerDefaultValues (..),+    newIntegerDefaultValues,+    integerDefaultValues_dynamicValue,+    integerDefaultValues_staticValues,++    -- * IntegerParameter+    IntegerParameter (..),+    newIntegerParameter,+    integerParameter_name,+    integerParameter_values,++    -- * IntegerParameterDeclaration+    IntegerParameterDeclaration (..),+    newIntegerParameterDeclaration,+    integerParameterDeclaration_defaultValues,+    integerParameterDeclaration_valueWhenUnset,+    integerParameterDeclaration_parameterValueType,+    integerParameterDeclaration_name,++    -- * IntegerValueWhenUnsetConfiguration+    IntegerValueWhenUnsetConfiguration (..),+    newIntegerValueWhenUnsetConfiguration,+    integerValueWhenUnsetConfiguration_customValue,+    integerValueWhenUnsetConfiguration_valueWhenUnsetOption,++    -- * ItemsLimitConfiguration+    ItemsLimitConfiguration (..),+    newItemsLimitConfiguration,+    itemsLimitConfiguration_itemsLimit,+    itemsLimitConfiguration_otherCategories,++    -- * JiraParameters+    JiraParameters (..),+    newJiraParameters,+    jiraParameters_siteBaseUrl,++    -- * JoinInstruction+    JoinInstruction (..),+    newJoinInstruction,+    joinInstruction_leftJoinKeyProperties,+    joinInstruction_rightJoinKeyProperties,+    joinInstruction_leftOperand,+    joinInstruction_rightOperand,+    joinInstruction_type,+    joinInstruction_onClause,++    -- * JoinKeyProperties+    JoinKeyProperties (..),+    newJoinKeyProperties,+    joinKeyProperties_uniqueKey,++    -- * KPIConditionalFormatting+    KPIConditionalFormatting (..),+    newKPIConditionalFormatting,+    kPIConditionalFormatting_conditionalFormattingOptions,++    -- * KPIConditionalFormattingOption+    KPIConditionalFormattingOption (..),+    newKPIConditionalFormattingOption,+    kPIConditionalFormattingOption_primaryValue,+    kPIConditionalFormattingOption_progressBar,++    -- * KPIConfiguration+    KPIConfiguration (..),+    newKPIConfiguration,+    kPIConfiguration_fieldWells,+    kPIConfiguration_kPIOptions,+    kPIConfiguration_sortConfiguration,++    -- * KPIFieldWells+    KPIFieldWells (..),+    newKPIFieldWells,+    kPIFieldWells_targetValues,+    kPIFieldWells_trendGroups,+    kPIFieldWells_values,++    -- * KPIOptions+    KPIOptions (..),+    newKPIOptions,+    kPIOptions_comparison,+    kPIOptions_primaryValueDisplayType,+    kPIOptions_primaryValueFontConfiguration,+    kPIOptions_progressBar,+    kPIOptions_secondaryValue,+    kPIOptions_secondaryValueFontConfiguration,+    kPIOptions_trendArrows,++    -- * KPIPrimaryValueConditionalFormatting+    KPIPrimaryValueConditionalFormatting (..),+    newKPIPrimaryValueConditionalFormatting,+    kPIPrimaryValueConditionalFormatting_icon,+    kPIPrimaryValueConditionalFormatting_textColor,++    -- * KPIProgressBarConditionalFormatting+    KPIProgressBarConditionalFormatting (..),+    newKPIProgressBarConditionalFormatting,+    kPIProgressBarConditionalFormatting_foregroundColor,++    -- * KPISortConfiguration+    KPISortConfiguration (..),+    newKPISortConfiguration,+    kPISortConfiguration_trendGroupSort,++    -- * KPIVisual+    KPIVisual (..),+    newKPIVisual,+    kPIVisual_actions,+    kPIVisual_chartConfiguration,+    kPIVisual_columnHierarchies,+    kPIVisual_conditionalFormatting,+    kPIVisual_subtitle,+    kPIVisual_title,+    kPIVisual_visualId,++    -- * LabelOptions+    LabelOptions (..),+    newLabelOptions,+    labelOptions_customLabel,+    labelOptions_fontConfiguration,+    labelOptions_visibility,++    -- * Layout+    Layout (..),+    newLayout,+    layout_configuration,++    -- * LayoutConfiguration+    LayoutConfiguration (..),+    newLayoutConfiguration,+    layoutConfiguration_freeFormLayout,+    layoutConfiguration_gridLayout,+    layoutConfiguration_sectionBasedLayout,++    -- * LegendOptions+    LegendOptions (..),+    newLegendOptions,+    legendOptions_height,+    legendOptions_position,+    legendOptions_title,+    legendOptions_visibility,+    legendOptions_width,++    -- * LineChartAggregatedFieldWells+    LineChartAggregatedFieldWells (..),+    newLineChartAggregatedFieldWells,+    lineChartAggregatedFieldWells_category,+    lineChartAggregatedFieldWells_colors,+    lineChartAggregatedFieldWells_smallMultiples,+    lineChartAggregatedFieldWells_values,++    -- * LineChartConfiguration+    LineChartConfiguration (..),+    newLineChartConfiguration,+    lineChartConfiguration_contributionAnalysisDefaults,+    lineChartConfiguration_dataLabels,+    lineChartConfiguration_defaultSeriesSettings,+    lineChartConfiguration_fieldWells,+    lineChartConfiguration_forecastConfigurations,+    lineChartConfiguration_legend,+    lineChartConfiguration_primaryYAxisDisplayOptions,+    lineChartConfiguration_primaryYAxisLabelOptions,+    lineChartConfiguration_referenceLines,+    lineChartConfiguration_secondaryYAxisDisplayOptions,+    lineChartConfiguration_secondaryYAxisLabelOptions,+    lineChartConfiguration_series,+    lineChartConfiguration_smallMultiplesOptions,+    lineChartConfiguration_sortConfiguration,+    lineChartConfiguration_tooltip,+    lineChartConfiguration_type,+    lineChartConfiguration_visualPalette,+    lineChartConfiguration_xAxisDisplayOptions,+    lineChartConfiguration_xAxisLabelOptions,++    -- * LineChartDefaultSeriesSettings+    LineChartDefaultSeriesSettings (..),+    newLineChartDefaultSeriesSettings,+    lineChartDefaultSeriesSettings_axisBinding,+    lineChartDefaultSeriesSettings_lineStyleSettings,+    lineChartDefaultSeriesSettings_markerStyleSettings,++    -- * LineChartFieldWells+    LineChartFieldWells (..),+    newLineChartFieldWells,+    lineChartFieldWells_lineChartAggregatedFieldWells,++    -- * LineChartLineStyleSettings+    LineChartLineStyleSettings (..),+    newLineChartLineStyleSettings,+    lineChartLineStyleSettings_lineInterpolation,+    lineChartLineStyleSettings_lineStyle,+    lineChartLineStyleSettings_lineVisibility,+    lineChartLineStyleSettings_lineWidth,++    -- * LineChartMarkerStyleSettings+    LineChartMarkerStyleSettings (..),+    newLineChartMarkerStyleSettings,+    lineChartMarkerStyleSettings_markerColor,+    lineChartMarkerStyleSettings_markerShape,+    lineChartMarkerStyleSettings_markerSize,+    lineChartMarkerStyleSettings_markerVisibility,++    -- * LineChartSeriesSettings+    LineChartSeriesSettings (..),+    newLineChartSeriesSettings,+    lineChartSeriesSettings_lineStyleSettings,+    lineChartSeriesSettings_markerStyleSettings,++    -- * LineChartSortConfiguration+    LineChartSortConfiguration (..),+    newLineChartSortConfiguration,+    lineChartSortConfiguration_categoryItemsLimitConfiguration,+    lineChartSortConfiguration_categorySort,+    lineChartSortConfiguration_colorItemsLimitConfiguration,+    lineChartSortConfiguration_smallMultiplesLimitConfiguration,+    lineChartSortConfiguration_smallMultiplesSort,++    -- * LineChartVisual+    LineChartVisual (..),+    newLineChartVisual,+    lineChartVisual_actions,+    lineChartVisual_chartConfiguration,+    lineChartVisual_columnHierarchies,+    lineChartVisual_subtitle,+    lineChartVisual_title,+    lineChartVisual_visualId,++    -- * LineSeriesAxisDisplayOptions+    LineSeriesAxisDisplayOptions (..),+    newLineSeriesAxisDisplayOptions,+    lineSeriesAxisDisplayOptions_axisOptions,+    lineSeriesAxisDisplayOptions_missingDataConfigurations,++    -- * LinkSharingConfiguration+    LinkSharingConfiguration (..),+    newLinkSharingConfiguration,+    linkSharingConfiguration_permissions,++    -- * ListControlDisplayOptions+    ListControlDisplayOptions (..),+    newListControlDisplayOptions,+    listControlDisplayOptions_searchOptions,+    listControlDisplayOptions_selectAllOptions,+    listControlDisplayOptions_titleOptions,++    -- * ListControlSearchOptions+    ListControlSearchOptions (..),+    newListControlSearchOptions,+    listControlSearchOptions_visibility,++    -- * ListControlSelectAllOptions+    ListControlSelectAllOptions (..),+    newListControlSelectAllOptions,+    listControlSelectAllOptions_visibility,++    -- * LoadingAnimation+    LoadingAnimation (..),+    newLoadingAnimation,+    loadingAnimation_visibility,++    -- * LocalNavigationConfiguration+    LocalNavigationConfiguration (..),+    newLocalNavigationConfiguration,+    localNavigationConfiguration_targetSheetId,++    -- * LogicalTable+    LogicalTable (..),+    newLogicalTable,+    logicalTable_dataTransforms,+    logicalTable_alias,+    logicalTable_source,++    -- * LogicalTableSource+    LogicalTableSource (..),+    newLogicalTableSource,+    logicalTableSource_dataSetArn,+    logicalTableSource_joinInstruction,+    logicalTableSource_physicalTableId,++    -- * LongFormatText+    LongFormatText (..),+    newLongFormatText,+    longFormatText_plainText,+    longFormatText_richText,++    -- * ManifestFileLocation+    ManifestFileLocation (..),+    newManifestFileLocation,+    manifestFileLocation_bucket,+    manifestFileLocation_key,++    -- * MarginStyle+    MarginStyle (..),+    newMarginStyle,+    marginStyle_show,++    -- * MariaDbParameters+    MariaDbParameters (..),+    newMariaDbParameters,+    mariaDbParameters_host,+    mariaDbParameters_port,+    mariaDbParameters_database,++    -- * MaximumLabelType+    MaximumLabelType (..),+    newMaximumLabelType,+    maximumLabelType_visibility,++    -- * MaximumMinimumComputation+    MaximumMinimumComputation (..),+    newMaximumMinimumComputation,+    maximumMinimumComputation_name,+    maximumMinimumComputation_value,+    maximumMinimumComputation_computationId,+    maximumMinimumComputation_time,+    maximumMinimumComputation_type,++    -- * MeasureField+    MeasureField (..),+    newMeasureField,+    measureField_calculatedMeasureField,+    measureField_categoricalMeasureField,+    measureField_dateMeasureField,+    measureField_numericalMeasureField,++    -- * MemberIdArnPair+    MemberIdArnPair (..),+    newMemberIdArnPair,+    memberIdArnPair_memberArn,+    memberIdArnPair_memberId,++    -- * MetricComparisonComputation+    MetricComparisonComputation (..),+    newMetricComparisonComputation,+    metricComparisonComputation_name,+    metricComparisonComputation_computationId,+    metricComparisonComputation_time,+    metricComparisonComputation_fromValue,+    metricComparisonComputation_targetValue,++    -- * MinimumLabelType+    MinimumLabelType (..),+    newMinimumLabelType,+    minimumLabelType_visibility,++    -- * MissingDataConfiguration+    MissingDataConfiguration (..),+    newMissingDataConfiguration,+    missingDataConfiguration_treatmentOption,++    -- * MySqlParameters+    MySqlParameters (..),+    newMySqlParameters,+    mySqlParameters_host,+    mySqlParameters_port,+    mySqlParameters_database,++    -- * NamespaceError+    NamespaceError (..),+    newNamespaceError,+    namespaceError_message,+    namespaceError_type,++    -- * NamespaceInfoV2+    NamespaceInfoV2 (..),+    newNamespaceInfoV2,+    namespaceInfoV2_arn,+    namespaceInfoV2_capacityRegion,+    namespaceInfoV2_creationStatus,+    namespaceInfoV2_identityStore,+    namespaceInfoV2_name,+    namespaceInfoV2_namespaceError,++    -- * NegativeValueConfiguration+    NegativeValueConfiguration (..),+    newNegativeValueConfiguration,+    negativeValueConfiguration_displayMode,++    -- * NullValueFormatConfiguration+    NullValueFormatConfiguration (..),+    newNullValueFormatConfiguration,+    nullValueFormatConfiguration_nullString,++    -- * NumberDisplayFormatConfiguration+    NumberDisplayFormatConfiguration (..),+    newNumberDisplayFormatConfiguration,+    numberDisplayFormatConfiguration_decimalPlacesConfiguration,+    numberDisplayFormatConfiguration_negativeValueConfiguration,+    numberDisplayFormatConfiguration_nullValueFormatConfiguration,+    numberDisplayFormatConfiguration_numberScale,+    numberDisplayFormatConfiguration_prefix,+    numberDisplayFormatConfiguration_separatorConfiguration,+    numberDisplayFormatConfiguration_suffix,++    -- * NumberFormatConfiguration+    NumberFormatConfiguration (..),+    newNumberFormatConfiguration,+    numberFormatConfiguration_formatConfiguration,++    -- * NumericAxisOptions+    NumericAxisOptions (..),+    newNumericAxisOptions,+    numericAxisOptions_range,+    numericAxisOptions_scale,++    -- * NumericEqualityDrillDownFilter+    NumericEqualityDrillDownFilter (..),+    newNumericEqualityDrillDownFilter,+    numericEqualityDrillDownFilter_column,+    numericEqualityDrillDownFilter_value,++    -- * NumericEqualityFilter+    NumericEqualityFilter (..),+    newNumericEqualityFilter,+    numericEqualityFilter_aggregationFunction,+    numericEqualityFilter_parameterName,+    numericEqualityFilter_selectAllOptions,+    numericEqualityFilter_value,+    numericEqualityFilter_filterId,+    numericEqualityFilter_column,+    numericEqualityFilter_matchOperator,+    numericEqualityFilter_nullOption,++    -- * NumericFormatConfiguration+    NumericFormatConfiguration (..),+    newNumericFormatConfiguration,+    numericFormatConfiguration_currencyDisplayFormatConfiguration,+    numericFormatConfiguration_numberDisplayFormatConfiguration,+    numericFormatConfiguration_percentageDisplayFormatConfiguration,++    -- * NumericRangeFilter+    NumericRangeFilter (..),+    newNumericRangeFilter,+    numericRangeFilter_aggregationFunction,+    numericRangeFilter_includeMaximum,+    numericRangeFilter_includeMinimum,+    numericRangeFilter_rangeMaximum,+    numericRangeFilter_rangeMinimum,+    numericRangeFilter_selectAllOptions,+    numericRangeFilter_filterId,+    numericRangeFilter_column,+    numericRangeFilter_nullOption,++    -- * NumericRangeFilterValue+    NumericRangeFilterValue (..),+    newNumericRangeFilterValue,+    numericRangeFilterValue_parameter,+    numericRangeFilterValue_staticValue,++    -- * NumericSeparatorConfiguration+    NumericSeparatorConfiguration (..),+    newNumericSeparatorConfiguration,+    numericSeparatorConfiguration_decimalSeparator,+    numericSeparatorConfiguration_thousandsSeparator,++    -- * NumericalAggregationFunction+    NumericalAggregationFunction (..),+    newNumericalAggregationFunction,+    numericalAggregationFunction_percentileAggregation,+    numericalAggregationFunction_simpleNumericalAggregation,++    -- * NumericalDimensionField+    NumericalDimensionField (..),+    newNumericalDimensionField,+    numericalDimensionField_formatConfiguration,+    numericalDimensionField_hierarchyId,+    numericalDimensionField_fieldId,+    numericalDimensionField_column,++    -- * NumericalMeasureField+    NumericalMeasureField (..),+    newNumericalMeasureField,+    numericalMeasureField_aggregationFunction,+    numericalMeasureField_formatConfiguration,+    numericalMeasureField_fieldId,+    numericalMeasureField_column,++    -- * OracleParameters+    OracleParameters (..),+    newOracleParameters,+    oracleParameters_host,+    oracleParameters_port,+    oracleParameters_database,++    -- * OutputColumn+    OutputColumn (..),+    newOutputColumn,+    outputColumn_description,+    outputColumn_name,+    outputColumn_type,++    -- * PaginationConfiguration+    PaginationConfiguration (..),+    newPaginationConfiguration,+    paginationConfiguration_pageSize,+    paginationConfiguration_pageNumber,++    -- * PanelConfiguration+    PanelConfiguration (..),+    newPanelConfiguration,+    panelConfiguration_backgroundColor,+    panelConfiguration_backgroundVisibility,+    panelConfiguration_borderColor,+    panelConfiguration_borderStyle,+    panelConfiguration_borderThickness,+    panelConfiguration_borderVisibility,+    panelConfiguration_gutterSpacing,+    panelConfiguration_gutterVisibility,+    panelConfiguration_title,++    -- * PanelTitleOptions+    PanelTitleOptions (..),+    newPanelTitleOptions,+    panelTitleOptions_fontConfiguration,+    panelTitleOptions_horizontalTextAlignment,+    panelTitleOptions_visibility,++    -- * ParameterControl+    ParameterControl (..),+    newParameterControl,+    parameterControl_dateTimePicker,+    parameterControl_dropdown,+    parameterControl_list,+    parameterControl_slider,+    parameterControl_textArea,+    parameterControl_textField,++    -- * ParameterDateTimePickerControl+    ParameterDateTimePickerControl (..),+    newParameterDateTimePickerControl,+    parameterDateTimePickerControl_displayOptions,+    parameterDateTimePickerControl_parameterControlId,+    parameterDateTimePickerControl_title,+    parameterDateTimePickerControl_sourceParameterName,++    -- * ParameterDeclaration+    ParameterDeclaration (..),+    newParameterDeclaration,+    parameterDeclaration_dateTimeParameterDeclaration,+    parameterDeclaration_decimalParameterDeclaration,+    parameterDeclaration_integerParameterDeclaration,+    parameterDeclaration_stringParameterDeclaration,++    -- * ParameterDropDownControl+    ParameterDropDownControl (..),+    newParameterDropDownControl,+    parameterDropDownControl_cascadingControlConfiguration,+    parameterDropDownControl_displayOptions,+    parameterDropDownControl_selectableValues,+    parameterDropDownControl_type,+    parameterDropDownControl_parameterControlId,+    parameterDropDownControl_title,+    parameterDropDownControl_sourceParameterName,++    -- * ParameterListControl+    ParameterListControl (..),+    newParameterListControl,+    parameterListControl_cascadingControlConfiguration,+    parameterListControl_displayOptions,+    parameterListControl_selectableValues,+    parameterListControl_type,+    parameterListControl_parameterControlId,+    parameterListControl_title,+    parameterListControl_sourceParameterName,++    -- * ParameterSelectableValues+    ParameterSelectableValues (..),+    newParameterSelectableValues,+    parameterSelectableValues_linkToDataSetColumn,+    parameterSelectableValues_values,++    -- * ParameterSliderControl+    ParameterSliderControl (..),+    newParameterSliderControl,+    parameterSliderControl_displayOptions,+    parameterSliderControl_parameterControlId,+    parameterSliderControl_title,+    parameterSliderControl_sourceParameterName,+    parameterSliderControl_maximumValue,+    parameterSliderControl_minimumValue,+    parameterSliderControl_stepSize,++    -- * ParameterTextAreaControl+    ParameterTextAreaControl (..),+    newParameterTextAreaControl,+    parameterTextAreaControl_delimiter,+    parameterTextAreaControl_displayOptions,+    parameterTextAreaControl_parameterControlId,+    parameterTextAreaControl_title,+    parameterTextAreaControl_sourceParameterName,++    -- * ParameterTextFieldControl+    ParameterTextFieldControl (..),+    newParameterTextFieldControl,+    parameterTextFieldControl_displayOptions,+    parameterTextFieldControl_parameterControlId,+    parameterTextFieldControl_title,+    parameterTextFieldControl_sourceParameterName,++    -- * Parameters+    Parameters (..),+    newParameters,+    parameters_dateTimeParameters,+    parameters_decimalParameters,+    parameters_integerParameters,+    parameters_stringParameters,++    -- * PercentVisibleRange+    PercentVisibleRange (..),+    newPercentVisibleRange,+    percentVisibleRange_from,+    percentVisibleRange_to,++    -- * PercentageDisplayFormatConfiguration+    PercentageDisplayFormatConfiguration (..),+    newPercentageDisplayFormatConfiguration,+    percentageDisplayFormatConfiguration_decimalPlacesConfiguration,+    percentageDisplayFormatConfiguration_negativeValueConfiguration,+    percentageDisplayFormatConfiguration_nullValueFormatConfiguration,+    percentageDisplayFormatConfiguration_prefix,+    percentageDisplayFormatConfiguration_separatorConfiguration,+    percentageDisplayFormatConfiguration_suffix,++    -- * PercentileAggregation+    PercentileAggregation (..),+    newPercentileAggregation,+    percentileAggregation_percentileValue,++    -- * PeriodOverPeriodComputation+    PeriodOverPeriodComputation (..),+    newPeriodOverPeriodComputation,+    periodOverPeriodComputation_name,+    periodOverPeriodComputation_value,+    periodOverPeriodComputation_computationId,+    periodOverPeriodComputation_time,++    -- * PeriodToDateComputation+    PeriodToDateComputation (..),+    newPeriodToDateComputation,+    periodToDateComputation_name,+    periodToDateComputation_periodTimeGranularity,+    periodToDateComputation_value,+    periodToDateComputation_computationId,+    periodToDateComputation_time,++    -- * PhysicalTable+    PhysicalTable (..),+    newPhysicalTable,+    physicalTable_customSql,+    physicalTable_relationalTable,+    physicalTable_s3Source,++    -- * PieChartAggregatedFieldWells+    PieChartAggregatedFieldWells (..),+    newPieChartAggregatedFieldWells,+    pieChartAggregatedFieldWells_category,+    pieChartAggregatedFieldWells_smallMultiples,+    pieChartAggregatedFieldWells_values,++    -- * PieChartConfiguration+    PieChartConfiguration (..),+    newPieChartConfiguration,+    pieChartConfiguration_categoryLabelOptions,+    pieChartConfiguration_contributionAnalysisDefaults,+    pieChartConfiguration_dataLabels,+    pieChartConfiguration_donutOptions,+    pieChartConfiguration_fieldWells,+    pieChartConfiguration_legend,+    pieChartConfiguration_smallMultiplesOptions,+    pieChartConfiguration_sortConfiguration,+    pieChartConfiguration_tooltip,+    pieChartConfiguration_valueLabelOptions,+    pieChartConfiguration_visualPalette,++    -- * PieChartFieldWells+    PieChartFieldWells (..),+    newPieChartFieldWells,+    pieChartFieldWells_pieChartAggregatedFieldWells,++    -- * PieChartSortConfiguration+    PieChartSortConfiguration (..),+    newPieChartSortConfiguration,+    pieChartSortConfiguration_categoryItemsLimit,+    pieChartSortConfiguration_categorySort,+    pieChartSortConfiguration_smallMultiplesLimitConfiguration,+    pieChartSortConfiguration_smallMultiplesSort,++    -- * PieChartVisual+    PieChartVisual (..),+    newPieChartVisual,+    pieChartVisual_actions,+    pieChartVisual_chartConfiguration,+    pieChartVisual_columnHierarchies,+    pieChartVisual_subtitle,+    pieChartVisual_title,+    pieChartVisual_visualId,++    -- * PivotFieldSortOptions+    PivotFieldSortOptions (..),+    newPivotFieldSortOptions,+    pivotFieldSortOptions_fieldId,+    pivotFieldSortOptions_sortBy,++    -- * PivotTableAggregatedFieldWells+    PivotTableAggregatedFieldWells (..),+    newPivotTableAggregatedFieldWells,+    pivotTableAggregatedFieldWells_columns,+    pivotTableAggregatedFieldWells_rows,+    pivotTableAggregatedFieldWells_values,++    -- * PivotTableCellConditionalFormatting+    PivotTableCellConditionalFormatting (..),+    newPivotTableCellConditionalFormatting,+    pivotTableCellConditionalFormatting_scope,+    pivotTableCellConditionalFormatting_textFormat,+    pivotTableCellConditionalFormatting_fieldId,++    -- * PivotTableConditionalFormatting+    PivotTableConditionalFormatting (..),+    newPivotTableConditionalFormatting,+    pivotTableConditionalFormatting_conditionalFormattingOptions,++    -- * PivotTableConditionalFormattingOption+    PivotTableConditionalFormattingOption (..),+    newPivotTableConditionalFormattingOption,+    pivotTableConditionalFormattingOption_cell,++    -- * PivotTableConditionalFormattingScope+    PivotTableConditionalFormattingScope (..),+    newPivotTableConditionalFormattingScope,+    pivotTableConditionalFormattingScope_role,++    -- * PivotTableConfiguration+    PivotTableConfiguration (..),+    newPivotTableConfiguration,+    pivotTableConfiguration_fieldOptions,+    pivotTableConfiguration_fieldWells,+    pivotTableConfiguration_paginatedReportOptions,+    pivotTableConfiguration_sortConfiguration,+    pivotTableConfiguration_tableOptions,+    pivotTableConfiguration_totalOptions,++    -- * PivotTableDataPathOption+    PivotTableDataPathOption (..),+    newPivotTableDataPathOption,+    pivotTableDataPathOption_width,+    pivotTableDataPathOption_dataPathList,++    -- * PivotTableFieldOption+    PivotTableFieldOption (..),+    newPivotTableFieldOption,+    pivotTableFieldOption_customLabel,+    pivotTableFieldOption_visibility,+    pivotTableFieldOption_fieldId,++    -- * PivotTableFieldOptions+    PivotTableFieldOptions (..),+    newPivotTableFieldOptions,+    pivotTableFieldOptions_dataPathOptions,+    pivotTableFieldOptions_selectedFieldOptions,++    -- * PivotTableFieldSubtotalOptions+    PivotTableFieldSubtotalOptions (..),+    newPivotTableFieldSubtotalOptions,+    pivotTableFieldSubtotalOptions_fieldId,++    -- * PivotTableFieldWells+    PivotTableFieldWells (..),+    newPivotTableFieldWells,+    pivotTableFieldWells_pivotTableAggregatedFieldWells,++    -- * PivotTableOptions+    PivotTableOptions (..),+    newPivotTableOptions,+    pivotTableOptions_cellStyle,+    pivotTableOptions_columnHeaderStyle,+    pivotTableOptions_columnNamesVisibility,+    pivotTableOptions_metricPlacement,+    pivotTableOptions_rowAlternateColorOptions,+    pivotTableOptions_rowFieldNamesStyle,+    pivotTableOptions_rowHeaderStyle,+    pivotTableOptions_singleMetricVisibility,+    pivotTableOptions_toggleButtonsVisibility,++    -- * PivotTablePaginatedReportOptions+    PivotTablePaginatedReportOptions (..),+    newPivotTablePaginatedReportOptions,+    pivotTablePaginatedReportOptions_overflowColumnHeaderVisibility,+    pivotTablePaginatedReportOptions_verticalOverflowVisibility,++    -- * PivotTableSortBy+    PivotTableSortBy (..),+    newPivotTableSortBy,+    pivotTableSortBy_column,+    pivotTableSortBy_dataPath,+    pivotTableSortBy_field,++    -- * PivotTableSortConfiguration+    PivotTableSortConfiguration (..),+    newPivotTableSortConfiguration,+    pivotTableSortConfiguration_fieldSortOptions,++    -- * PivotTableTotalOptions+    PivotTableTotalOptions (..),+    newPivotTableTotalOptions,+    pivotTableTotalOptions_columnSubtotalOptions,+    pivotTableTotalOptions_columnTotalOptions,+    pivotTableTotalOptions_rowSubtotalOptions,+    pivotTableTotalOptions_rowTotalOptions,++    -- * PivotTableVisual+    PivotTableVisual (..),+    newPivotTableVisual,+    pivotTableVisual_actions,+    pivotTableVisual_chartConfiguration,+    pivotTableVisual_conditionalFormatting,+    pivotTableVisual_subtitle,+    pivotTableVisual_title,+    pivotTableVisual_visualId,++    -- * PivotTotalOptions+    PivotTotalOptions (..),+    newPivotTotalOptions,+    pivotTotalOptions_customLabel,+    pivotTotalOptions_metricHeaderCellStyle,+    pivotTotalOptions_placement,+    pivotTotalOptions_scrollStatus,+    pivotTotalOptions_totalCellStyle,+    pivotTotalOptions_totalsVisibility,+    pivotTotalOptions_valueCellStyle,++    -- * PostgreSqlParameters+    PostgreSqlParameters (..),+    newPostgreSqlParameters,+    postgreSqlParameters_host,+    postgreSqlParameters_port,+    postgreSqlParameters_database,++    -- * PredefinedHierarchy+    PredefinedHierarchy (..),+    newPredefinedHierarchy,+    predefinedHierarchy_drillDownFilters,+    predefinedHierarchy_hierarchyId,+    predefinedHierarchy_columns,++    -- * PrestoParameters+    PrestoParameters (..),+    newPrestoParameters,+    prestoParameters_host,+    prestoParameters_port,+    prestoParameters_catalog,++    -- * ProgressBarOptions+    ProgressBarOptions (..),+    newProgressBarOptions,+    progressBarOptions_visibility,++    -- * ProjectOperation+    ProjectOperation (..),+    newProjectOperation,+    projectOperation_projectedColumns,++    -- * QueueInfo+    QueueInfo (..),+    newQueueInfo,+    queueInfo_waitingOnIngestion,+    queueInfo_queuedIngestion,++    -- * RangeEndsLabelType+    RangeEndsLabelType (..),+    newRangeEndsLabelType,+    rangeEndsLabelType_visibility,++    -- * RdsParameters+    RdsParameters (..),+    newRdsParameters,+    rdsParameters_instanceId,+    rdsParameters_database,++    -- * RedshiftParameters+    RedshiftParameters (..),+    newRedshiftParameters,+    redshiftParameters_clusterId,+    redshiftParameters_host,+    redshiftParameters_port,+    redshiftParameters_database,++    -- * ReferenceLine+    ReferenceLine (..),+    newReferenceLine,+    referenceLine_labelConfiguration,+    referenceLine_status,+    referenceLine_styleConfiguration,+    referenceLine_dataConfiguration,++    -- * ReferenceLineCustomLabelConfiguration+    ReferenceLineCustomLabelConfiguration (..),+    newReferenceLineCustomLabelConfiguration,+    referenceLineCustomLabelConfiguration_customLabel,++    -- * ReferenceLineDataConfiguration+    ReferenceLineDataConfiguration (..),+    newReferenceLineDataConfiguration,+    referenceLineDataConfiguration_axisBinding,+    referenceLineDataConfiguration_dynamicConfiguration,+    referenceLineDataConfiguration_staticConfiguration,++    -- * ReferenceLineDynamicDataConfiguration+    ReferenceLineDynamicDataConfiguration (..),+    newReferenceLineDynamicDataConfiguration,+    referenceLineDynamicDataConfiguration_column,+    referenceLineDynamicDataConfiguration_measureAggregationFunction,+    referenceLineDynamicDataConfiguration_calculation,++    -- * ReferenceLineLabelConfiguration+    ReferenceLineLabelConfiguration (..),+    newReferenceLineLabelConfiguration,+    referenceLineLabelConfiguration_customLabelConfiguration,+    referenceLineLabelConfiguration_fontColor,+    referenceLineLabelConfiguration_fontConfiguration,+    referenceLineLabelConfiguration_horizontalPosition,+    referenceLineLabelConfiguration_valueLabelConfiguration,+    referenceLineLabelConfiguration_verticalPosition,++    -- * ReferenceLineStaticDataConfiguration+    ReferenceLineStaticDataConfiguration (..),+    newReferenceLineStaticDataConfiguration,+    referenceLineStaticDataConfiguration_value,++    -- * ReferenceLineStyleConfiguration+    ReferenceLineStyleConfiguration (..),+    newReferenceLineStyleConfiguration,+    referenceLineStyleConfiguration_color,+    referenceLineStyleConfiguration_pattern,++    -- * ReferenceLineValueLabelConfiguration+    ReferenceLineValueLabelConfiguration (..),+    newReferenceLineValueLabelConfiguration,+    referenceLineValueLabelConfiguration_formatConfiguration,+    referenceLineValueLabelConfiguration_relativePosition,++    -- * RegisteredUserDashboardEmbeddingConfiguration+    RegisteredUserDashboardEmbeddingConfiguration (..),+    newRegisteredUserDashboardEmbeddingConfiguration,+    registeredUserDashboardEmbeddingConfiguration_initialDashboardId,++    -- * RegisteredUserDashboardVisualEmbeddingConfiguration+    RegisteredUserDashboardVisualEmbeddingConfiguration (..),+    newRegisteredUserDashboardVisualEmbeddingConfiguration,+    registeredUserDashboardVisualEmbeddingConfiguration_initialDashboardVisualId,++    -- * RegisteredUserEmbeddingExperienceConfiguration+    RegisteredUserEmbeddingExperienceConfiguration (..),+    newRegisteredUserEmbeddingExperienceConfiguration,+    registeredUserEmbeddingExperienceConfiguration_dashboard,+    registeredUserEmbeddingExperienceConfiguration_dashboardVisual,+    registeredUserEmbeddingExperienceConfiguration_qSearchBar,+    registeredUserEmbeddingExperienceConfiguration_quickSightConsole,++    -- * RegisteredUserQSearchBarEmbeddingConfiguration+    RegisteredUserQSearchBarEmbeddingConfiguration (..),+    newRegisteredUserQSearchBarEmbeddingConfiguration,+    registeredUserQSearchBarEmbeddingConfiguration_initialTopicId,++    -- * RegisteredUserQuickSightConsoleEmbeddingConfiguration+    RegisteredUserQuickSightConsoleEmbeddingConfiguration (..),+    newRegisteredUserQuickSightConsoleEmbeddingConfiguration,+    registeredUserQuickSightConsoleEmbeddingConfiguration_initialPath,++    -- * RelationalTable+    RelationalTable (..),+    newRelationalTable,+    relationalTable_catalog,+    relationalTable_schema,+    relationalTable_dataSourceArn,+    relationalTable_name,+    relationalTable_inputColumns,++    -- * RelativeDateTimeControlDisplayOptions+    RelativeDateTimeControlDisplayOptions (..),+    newRelativeDateTimeControlDisplayOptions,+    relativeDateTimeControlDisplayOptions_dateTimeFormat,+    relativeDateTimeControlDisplayOptions_titleOptions,++    -- * RelativeDatesFilter+    RelativeDatesFilter (..),+    newRelativeDatesFilter,+    relativeDatesFilter_excludePeriodConfiguration,+    relativeDatesFilter_minimumGranularity,+    relativeDatesFilter_parameterName,+    relativeDatesFilter_relativeDateValue,+    relativeDatesFilter_filterId,+    relativeDatesFilter_column,+    relativeDatesFilter_anchorDateConfiguration,+    relativeDatesFilter_timeGranularity,+    relativeDatesFilter_relativeDateType,+    relativeDatesFilter_nullOption,++    -- * RenameColumnOperation+    RenameColumnOperation (..),+    newRenameColumnOperation,+    renameColumnOperation_columnName,+    renameColumnOperation_newColumnName,++    -- * ResourcePermission+    ResourcePermission (..),+    newResourcePermission,+    resourcePermission_principal,+    resourcePermission_actions,++    -- * RollingDateConfiguration+    RollingDateConfiguration (..),+    newRollingDateConfiguration,+    rollingDateConfiguration_dataSetIdentifier,+    rollingDateConfiguration_expression,++    -- * RowAlternateColorOptions+    RowAlternateColorOptions (..),+    newRowAlternateColorOptions,+    rowAlternateColorOptions_rowAlternateColors,+    rowAlternateColorOptions_status,++    -- * RowInfo+    RowInfo (..),+    newRowInfo,+    rowInfo_rowsDropped,+    rowInfo_rowsIngested,+    rowInfo_totalRowsInDataset,++    -- * RowLevelPermissionDataSet+    RowLevelPermissionDataSet (..),+    newRowLevelPermissionDataSet,+    rowLevelPermissionDataSet_formatVersion,+    rowLevelPermissionDataSet_namespace,+    rowLevelPermissionDataSet_status,+    rowLevelPermissionDataSet_arn,+    rowLevelPermissionDataSet_permissionPolicy,++    -- * RowLevelPermissionTagConfiguration+    RowLevelPermissionTagConfiguration (..),+    newRowLevelPermissionTagConfiguration,+    rowLevelPermissionTagConfiguration_status,+    rowLevelPermissionTagConfiguration_tagRules,++    -- * RowLevelPermissionTagRule+    RowLevelPermissionTagRule (..),+    newRowLevelPermissionTagRule,+    rowLevelPermissionTagRule_matchAllValue,+    rowLevelPermissionTagRule_tagMultiValueDelimiter,+    rowLevelPermissionTagRule_tagKey,+    rowLevelPermissionTagRule_columnName,++    -- * S3Parameters+    S3Parameters (..),+    newS3Parameters,+    s3Parameters_manifestFileLocation,++    -- * S3Source+    S3Source (..),+    newS3Source,+    s3Source_uploadSettings,+    s3Source_dataSourceArn,+    s3Source_inputColumns,++    -- * SameSheetTargetVisualConfiguration+    SameSheetTargetVisualConfiguration (..),+    newSameSheetTargetVisualConfiguration,+    sameSheetTargetVisualConfiguration_targetVisualOptions,+    sameSheetTargetVisualConfiguration_targetVisuals,++    -- * SankeyDiagramAggregatedFieldWells+    SankeyDiagramAggregatedFieldWells (..),+    newSankeyDiagramAggregatedFieldWells,+    sankeyDiagramAggregatedFieldWells_destination,+    sankeyDiagramAggregatedFieldWells_source,+    sankeyDiagramAggregatedFieldWells_weight,++    -- * SankeyDiagramChartConfiguration+    SankeyDiagramChartConfiguration (..),+    newSankeyDiagramChartConfiguration,+    sankeyDiagramChartConfiguration_dataLabels,+    sankeyDiagramChartConfiguration_fieldWells,+    sankeyDiagramChartConfiguration_sortConfiguration,++    -- * SankeyDiagramFieldWells+    SankeyDiagramFieldWells (..),+    newSankeyDiagramFieldWells,+    sankeyDiagramFieldWells_sankeyDiagramAggregatedFieldWells,++    -- * SankeyDiagramSortConfiguration+    SankeyDiagramSortConfiguration (..),+    newSankeyDiagramSortConfiguration,+    sankeyDiagramSortConfiguration_destinationItemsLimit,+    sankeyDiagramSortConfiguration_sourceItemsLimit,+    sankeyDiagramSortConfiguration_weightSort,++    -- * SankeyDiagramVisual+    SankeyDiagramVisual (..),+    newSankeyDiagramVisual,+    sankeyDiagramVisual_actions,+    sankeyDiagramVisual_chartConfiguration,+    sankeyDiagramVisual_subtitle,+    sankeyDiagramVisual_title,+    sankeyDiagramVisual_visualId,++    -- * ScatterPlotCategoricallyAggregatedFieldWells+    ScatterPlotCategoricallyAggregatedFieldWells (..),+    newScatterPlotCategoricallyAggregatedFieldWells,+    scatterPlotCategoricallyAggregatedFieldWells_category,+    scatterPlotCategoricallyAggregatedFieldWells_size,+    scatterPlotCategoricallyAggregatedFieldWells_xAxis,+    scatterPlotCategoricallyAggregatedFieldWells_yAxis,++    -- * ScatterPlotConfiguration+    ScatterPlotConfiguration (..),+    newScatterPlotConfiguration,+    scatterPlotConfiguration_dataLabels,+    scatterPlotConfiguration_fieldWells,+    scatterPlotConfiguration_legend,+    scatterPlotConfiguration_tooltip,+    scatterPlotConfiguration_visualPalette,+    scatterPlotConfiguration_xAxisDisplayOptions,+    scatterPlotConfiguration_xAxisLabelOptions,+    scatterPlotConfiguration_yAxisDisplayOptions,+    scatterPlotConfiguration_yAxisLabelOptions,++    -- * ScatterPlotFieldWells+    ScatterPlotFieldWells (..),+    newScatterPlotFieldWells,+    scatterPlotFieldWells_scatterPlotCategoricallyAggregatedFieldWells,+    scatterPlotFieldWells_scatterPlotUnaggregatedFieldWells,++    -- * ScatterPlotUnaggregatedFieldWells+    ScatterPlotUnaggregatedFieldWells (..),+    newScatterPlotUnaggregatedFieldWells,+    scatterPlotUnaggregatedFieldWells_size,+    scatterPlotUnaggregatedFieldWells_xAxis,+    scatterPlotUnaggregatedFieldWells_yAxis,++    -- * ScatterPlotVisual+    ScatterPlotVisual (..),+    newScatterPlotVisual,+    scatterPlotVisual_actions,+    scatterPlotVisual_chartConfiguration,+    scatterPlotVisual_columnHierarchies,+    scatterPlotVisual_subtitle,+    scatterPlotVisual_title,+    scatterPlotVisual_visualId,++    -- * ScrollBarOptions+    ScrollBarOptions (..),+    newScrollBarOptions,+    scrollBarOptions_visibility,+    scrollBarOptions_visibleRange,++    -- * SecondaryValueOptions+    SecondaryValueOptions (..),+    newSecondaryValueOptions,+    secondaryValueOptions_visibility,++    -- * SectionAfterPageBreak+    SectionAfterPageBreak (..),+    newSectionAfterPageBreak,+    sectionAfterPageBreak_status,++    -- * SectionBasedLayoutCanvasSizeOptions+    SectionBasedLayoutCanvasSizeOptions (..),+    newSectionBasedLayoutCanvasSizeOptions,+    sectionBasedLayoutCanvasSizeOptions_paperCanvasSizeOptions,++    -- * SectionBasedLayoutConfiguration+    SectionBasedLayoutConfiguration (..),+    newSectionBasedLayoutConfiguration,+    sectionBasedLayoutConfiguration_headerSections,+    sectionBasedLayoutConfiguration_bodySections,+    sectionBasedLayoutConfiguration_footerSections,+    sectionBasedLayoutConfiguration_canvasSizeOptions,++    -- * SectionBasedLayoutPaperCanvasSizeOptions+    SectionBasedLayoutPaperCanvasSizeOptions (..),+    newSectionBasedLayoutPaperCanvasSizeOptions,+    sectionBasedLayoutPaperCanvasSizeOptions_paperMargin,+    sectionBasedLayoutPaperCanvasSizeOptions_paperOrientation,+    sectionBasedLayoutPaperCanvasSizeOptions_paperSize,++    -- * SectionLayoutConfiguration+    SectionLayoutConfiguration (..),+    newSectionLayoutConfiguration,+    sectionLayoutConfiguration_freeFormLayout,++    -- * SectionPageBreakConfiguration+    SectionPageBreakConfiguration (..),+    newSectionPageBreakConfiguration,+    sectionPageBreakConfiguration_after,++    -- * SectionStyle+    SectionStyle (..),+    newSectionStyle,+    sectionStyle_height,+    sectionStyle_padding,++    -- * SelectedSheetsFilterScopeConfiguration+    SelectedSheetsFilterScopeConfiguration (..),+    newSelectedSheetsFilterScopeConfiguration,+    selectedSheetsFilterScopeConfiguration_sheetVisualScopingConfigurations,++    -- * SeriesItem+    SeriesItem (..),+    newSeriesItem,+    seriesItem_dataFieldSeriesItem,+    seriesItem_fieldSeriesItem,++    -- * ServiceNowParameters+    ServiceNowParameters (..),+    newServiceNowParameters,+    serviceNowParameters_siteBaseUrl,++    -- * SessionTag+    SessionTag (..),+    newSessionTag,+    sessionTag_key,+    sessionTag_value,++    -- * SetParameterValueConfiguration+    SetParameterValueConfiguration (..),+    newSetParameterValueConfiguration,+    setParameterValueConfiguration_destinationParameterName,+    setParameterValueConfiguration_value,++    -- * ShapeConditionalFormat+    ShapeConditionalFormat (..),+    newShapeConditionalFormat,+    shapeConditionalFormat_backgroundColor,++    -- * Sheet+    Sheet (..),+    newSheet,+    sheet_name,+    sheet_sheetId,++    -- * SheetControlLayout+    SheetControlLayout (..),+    newSheetControlLayout,+    sheetControlLayout_configuration,++    -- * SheetControlLayoutConfiguration+    SheetControlLayoutConfiguration (..),+    newSheetControlLayoutConfiguration,+    sheetControlLayoutConfiguration_gridLayout,++    -- * SheetControlsOption+    SheetControlsOption (..),+    newSheetControlsOption,+    sheetControlsOption_visibilityState,++    -- * SheetDefinition+    SheetDefinition (..),+    newSheetDefinition,+    sheetDefinition_contentType,+    sheetDefinition_description,+    sheetDefinition_filterControls,+    sheetDefinition_layouts,+    sheetDefinition_name,+    sheetDefinition_parameterControls,+    sheetDefinition_sheetControlLayouts,+    sheetDefinition_textBoxes,+    sheetDefinition_title,+    sheetDefinition_visuals,+    sheetDefinition_sheetId,++    -- * SheetElementConfigurationOverrides+    SheetElementConfigurationOverrides (..),+    newSheetElementConfigurationOverrides,+    sheetElementConfigurationOverrides_visibility,++    -- * SheetElementRenderingRule+    SheetElementRenderingRule (..),+    newSheetElementRenderingRule,+    sheetElementRenderingRule_expression,+    sheetElementRenderingRule_configurationOverrides,++    -- * SheetStyle+    SheetStyle (..),+    newSheetStyle,+    sheetStyle_tile,+    sheetStyle_tileLayout,++    -- * SheetTextBox+    SheetTextBox (..),+    newSheetTextBox,+    sheetTextBox_content,+    sheetTextBox_sheetTextBoxId,++    -- * SheetVisualScopingConfiguration+    SheetVisualScopingConfiguration (..),+    newSheetVisualScopingConfiguration,+    sheetVisualScopingConfiguration_visualIds,+    sheetVisualScopingConfiguration_sheetId,+    sheetVisualScopingConfiguration_scope,++    -- * ShortFormatText+    ShortFormatText (..),+    newShortFormatText,+    shortFormatText_plainText,+    shortFormatText_richText,++    -- * SignupResponse+    SignupResponse (..),+    newSignupResponse,+    signupResponse_iAMUser,+    signupResponse_accountName,+    signupResponse_directoryType,+    signupResponse_userLoginName,++    -- * SimpleClusterMarker+    SimpleClusterMarker (..),+    newSimpleClusterMarker,+    simpleClusterMarker_color,++    -- * SliderControlDisplayOptions+    SliderControlDisplayOptions (..),+    newSliderControlDisplayOptions,+    sliderControlDisplayOptions_titleOptions,++    -- * SmallMultiplesOptions+    SmallMultiplesOptions (..),+    newSmallMultiplesOptions,+    smallMultiplesOptions_maxVisibleColumns,+    smallMultiplesOptions_maxVisibleRows,+    smallMultiplesOptions_panelConfiguration,++    -- * SnowflakeParameters+    SnowflakeParameters (..),+    newSnowflakeParameters,+    snowflakeParameters_host,+    snowflakeParameters_database,+    snowflakeParameters_warehouse,++    -- * Spacing+    Spacing (..),+    newSpacing,+    spacing_bottom,+    spacing_left,+    spacing_right,+    spacing_top,++    -- * SparkParameters+    SparkParameters (..),+    newSparkParameters,+    sparkParameters_host,+    sparkParameters_port,++    -- * SqlServerParameters+    SqlServerParameters (..),+    newSqlServerParameters,+    sqlServerParameters_host,+    sqlServerParameters_port,+    sqlServerParameters_database,++    -- * SslProperties+    SslProperties (..),+    newSslProperties,+    sslProperties_disableSsl,++    -- * StringDefaultValues+    StringDefaultValues (..),+    newStringDefaultValues,+    stringDefaultValues_dynamicValue,+    stringDefaultValues_staticValues,++    -- * StringFormatConfiguration+    StringFormatConfiguration (..),+    newStringFormatConfiguration,+    stringFormatConfiguration_nullValueFormatConfiguration,+    stringFormatConfiguration_numericFormatConfiguration,++    -- * StringParameter+    StringParameter (..),+    newStringParameter,+    stringParameter_name,+    stringParameter_values,++    -- * StringParameterDeclaration+    StringParameterDeclaration (..),+    newStringParameterDeclaration,+    stringParameterDeclaration_defaultValues,+    stringParameterDeclaration_valueWhenUnset,+    stringParameterDeclaration_parameterValueType,+    stringParameterDeclaration_name,++    -- * StringValueWhenUnsetConfiguration+    StringValueWhenUnsetConfiguration (..),+    newStringValueWhenUnsetConfiguration,+    stringValueWhenUnsetConfiguration_customValue,+    stringValueWhenUnsetConfiguration_valueWhenUnsetOption,++    -- * SubtotalOptions+    SubtotalOptions (..),+    newSubtotalOptions,+    subtotalOptions_customLabel,+    subtotalOptions_fieldLevel,+    subtotalOptions_fieldLevelOptions,+    subtotalOptions_metricHeaderCellStyle,+    subtotalOptions_totalCellStyle,+    subtotalOptions_totalsVisibility,+    subtotalOptions_valueCellStyle,++    -- * TableAggregatedFieldWells+    TableAggregatedFieldWells (..),+    newTableAggregatedFieldWells,+    tableAggregatedFieldWells_groupBy,+    tableAggregatedFieldWells_values,++    -- * TableBorderOptions+    TableBorderOptions (..),+    newTableBorderOptions,+    tableBorderOptions_color,+    tableBorderOptions_style,+    tableBorderOptions_thickness,++    -- * TableCellConditionalFormatting+    TableCellConditionalFormatting (..),+    newTableCellConditionalFormatting,+    tableCellConditionalFormatting_textFormat,+    tableCellConditionalFormatting_fieldId,++    -- * TableCellImageSizingConfiguration+    TableCellImageSizingConfiguration (..),+    newTableCellImageSizingConfiguration,+    tableCellImageSizingConfiguration_tableCellImageScalingConfiguration,++    -- * TableCellStyle+    TableCellStyle (..),+    newTableCellStyle,+    tableCellStyle_backgroundColor,+    tableCellStyle_border,+    tableCellStyle_fontConfiguration,+    tableCellStyle_height,+    tableCellStyle_horizontalTextAlignment,+    tableCellStyle_textWrap,+    tableCellStyle_verticalTextAlignment,+    tableCellStyle_visibility,++    -- * TableConditionalFormatting+    TableConditionalFormatting (..),+    newTableConditionalFormatting,+    tableConditionalFormatting_conditionalFormattingOptions,++    -- * TableConditionalFormattingOption+    TableConditionalFormattingOption (..),+    newTableConditionalFormattingOption,+    tableConditionalFormattingOption_cell,+    tableConditionalFormattingOption_row,++    -- * TableConfiguration+    TableConfiguration (..),+    newTableConfiguration,+    tableConfiguration_fieldOptions,+    tableConfiguration_fieldWells,+    tableConfiguration_paginatedReportOptions,+    tableConfiguration_sortConfiguration,+    tableConfiguration_tableOptions,+    tableConfiguration_totalOptions,++    -- * TableFieldCustomIconContent+    TableFieldCustomIconContent (..),+    newTableFieldCustomIconContent,+    tableFieldCustomIconContent_icon,++    -- * TableFieldCustomTextContent+    TableFieldCustomTextContent (..),+    newTableFieldCustomTextContent,+    tableFieldCustomTextContent_value,+    tableFieldCustomTextContent_fontConfiguration,++    -- * TableFieldImageConfiguration+    TableFieldImageConfiguration (..),+    newTableFieldImageConfiguration,+    tableFieldImageConfiguration_sizingOptions,++    -- * TableFieldLinkConfiguration+    TableFieldLinkConfiguration (..),+    newTableFieldLinkConfiguration,+    tableFieldLinkConfiguration_target,+    tableFieldLinkConfiguration_content,++    -- * TableFieldLinkContentConfiguration+    TableFieldLinkContentConfiguration (..),+    newTableFieldLinkContentConfiguration,+    tableFieldLinkContentConfiguration_customIconContent,+    tableFieldLinkContentConfiguration_customTextContent,++    -- * TableFieldOption+    TableFieldOption (..),+    newTableFieldOption,+    tableFieldOption_customLabel,+    tableFieldOption_uRLStyling,+    tableFieldOption_visibility,+    tableFieldOption_width,+    tableFieldOption_fieldId,++    -- * TableFieldOptions+    TableFieldOptions (..),+    newTableFieldOptions,+    tableFieldOptions_order,+    tableFieldOptions_selectedFieldOptions,++    -- * TableFieldURLConfiguration+    TableFieldURLConfiguration (..),+    newTableFieldURLConfiguration,+    tableFieldURLConfiguration_imageConfiguration,+    tableFieldURLConfiguration_linkConfiguration,++    -- * TableFieldWells+    TableFieldWells (..),+    newTableFieldWells,+    tableFieldWells_tableAggregatedFieldWells,+    tableFieldWells_tableUnaggregatedFieldWells,++    -- * TableOptions+    TableOptions (..),+    newTableOptions,+    tableOptions_cellStyle,+    tableOptions_headerStyle,+    tableOptions_orientation,+    tableOptions_rowAlternateColorOptions,++    -- * TablePaginatedReportOptions+    TablePaginatedReportOptions (..),+    newTablePaginatedReportOptions,+    tablePaginatedReportOptions_overflowColumnHeaderVisibility,+    tablePaginatedReportOptions_verticalOverflowVisibility,++    -- * TableRowConditionalFormatting+    TableRowConditionalFormatting (..),+    newTableRowConditionalFormatting,+    tableRowConditionalFormatting_backgroundColor,+    tableRowConditionalFormatting_textColor,++    -- * TableSideBorderOptions+    TableSideBorderOptions (..),+    newTableSideBorderOptions,+    tableSideBorderOptions_bottom,+    tableSideBorderOptions_innerHorizontal,+    tableSideBorderOptions_innerVertical,+    tableSideBorderOptions_left,+    tableSideBorderOptions_right,+    tableSideBorderOptions_top,++    -- * TableSortConfiguration+    TableSortConfiguration (..),+    newTableSortConfiguration,+    tableSortConfiguration_paginationConfiguration,+    tableSortConfiguration_rowSort,++    -- * TableUnaggregatedFieldWells+    TableUnaggregatedFieldWells (..),+    newTableUnaggregatedFieldWells,+    tableUnaggregatedFieldWells_values,++    -- * TableVisual+    TableVisual (..),+    newTableVisual,+    tableVisual_actions,+    tableVisual_chartConfiguration,+    tableVisual_conditionalFormatting,+    tableVisual_subtitle,+    tableVisual_title,+    tableVisual_visualId,++    -- * Tag+    Tag (..),+    newTag,+    tag_key,+    tag_value,++    -- * TagColumnOperation+    TagColumnOperation (..),+    newTagColumnOperation,+    tagColumnOperation_columnName,+    tagColumnOperation_tags,++    -- * Template+    Template (..),+    newTemplate,+    template_arn,+    template_createdTime,+    template_lastUpdatedTime,+    template_name,+    template_templateId,+    template_version,++    -- * TemplateAlias+    TemplateAlias (..),+    newTemplateAlias,+    templateAlias_aliasName,+    templateAlias_arn,+    templateAlias_templateVersionNumber,++    -- * TemplateError+    TemplateError (..),+    newTemplateError,+    templateError_message,+    templateError_type,+    templateError_violatedEntities,++    -- * TemplateSourceAnalysis+    TemplateSourceAnalysis (..),+    newTemplateSourceAnalysis,+    templateSourceAnalysis_arn,+    templateSourceAnalysis_dataSetReferences,++    -- * TemplateSourceEntity+    TemplateSourceEntity (..),+    newTemplateSourceEntity,+    templateSourceEntity_sourceAnalysis,+    templateSourceEntity_sourceTemplate,++    -- * TemplateSourceTemplate+    TemplateSourceTemplate (..),+    newTemplateSourceTemplate,+    templateSourceTemplate_arn,++    -- * TemplateSummary+    TemplateSummary (..),+    newTemplateSummary,+    templateSummary_arn,+    templateSummary_createdTime,+    templateSummary_lastUpdatedTime,+    templateSummary_latestVersionNumber,+    templateSummary_name,+    templateSummary_templateId,++    -- * TemplateVersion+    TemplateVersion (..),+    newTemplateVersion,+    templateVersion_createdTime,+    templateVersion_dataSetConfigurations,+    templateVersion_description,+    templateVersion_errors,+    templateVersion_sheets,+    templateVersion_sourceEntityArn,+    templateVersion_status,+    templateVersion_themeArn,+    templateVersion_versionNumber,++    -- * TemplateVersionDefinition+    TemplateVersionDefinition (..),+    newTemplateVersionDefinition,+    templateVersionDefinition_analysisDefaults,+    templateVersionDefinition_calculatedFields,+    templateVersionDefinition_columnConfigurations,+    templateVersionDefinition_filterGroups,+    templateVersionDefinition_parameterDeclarations,+    templateVersionDefinition_sheets,+    templateVersionDefinition_dataSetConfigurations,++    -- * TemplateVersionSummary+    TemplateVersionSummary (..),+    newTemplateVersionSummary,+    templateVersionSummary_arn,+    templateVersionSummary_createdTime,+    templateVersionSummary_description,+    templateVersionSummary_status,+    templateVersionSummary_versionNumber,++    -- * TeradataParameters+    TeradataParameters (..),+    newTeradataParameters,+    teradataParameters_host,+    teradataParameters_port,+    teradataParameters_database,++    -- * TextAreaControlDisplayOptions+    TextAreaControlDisplayOptions (..),+    newTextAreaControlDisplayOptions,+    textAreaControlDisplayOptions_placeholderOptions,+    textAreaControlDisplayOptions_titleOptions,++    -- * TextConditionalFormat+    TextConditionalFormat (..),+    newTextConditionalFormat,+    textConditionalFormat_backgroundColor,+    textConditionalFormat_icon,+    textConditionalFormat_textColor,++    -- * TextControlPlaceholderOptions+    TextControlPlaceholderOptions (..),+    newTextControlPlaceholderOptions,+    textControlPlaceholderOptions_visibility,++    -- * TextFieldControlDisplayOptions+    TextFieldControlDisplayOptions (..),+    newTextFieldControlDisplayOptions,+    textFieldControlDisplayOptions_placeholderOptions,+    textFieldControlDisplayOptions_titleOptions,++    -- * Theme+    Theme (..),+    newTheme,+    theme_arn,+    theme_createdTime,+    theme_lastUpdatedTime,+    theme_name,+    theme_themeId,+    theme_type,+    theme_version,++    -- * ThemeAlias+    ThemeAlias (..),+    newThemeAlias,+    themeAlias_aliasName,+    themeAlias_arn,+    themeAlias_themeVersionNumber,++    -- * ThemeConfiguration+    ThemeConfiguration (..),+    newThemeConfiguration,+    themeConfiguration_dataColorPalette,+    themeConfiguration_sheet,+    themeConfiguration_typography,+    themeConfiguration_uIColorPalette,++    -- * ThemeError+    ThemeError (..),+    newThemeError,+    themeError_message,+    themeError_type,++    -- * ThemeSummary+    ThemeSummary (..),+    newThemeSummary,+    themeSummary_arn,+    themeSummary_createdTime,+    themeSummary_lastUpdatedTime,+    themeSummary_latestVersionNumber,+    themeSummary_name,+    themeSummary_themeId,++    -- * ThemeVersion+    ThemeVersion (..),+    newThemeVersion,+    themeVersion_arn,+    themeVersion_baseThemeId,+    themeVersion_configuration,+    themeVersion_createdTime,+    themeVersion_description,+    themeVersion_errors,+    themeVersion_status,+    themeVersion_versionNumber,++    -- * ThemeVersionSummary+    ThemeVersionSummary (..),+    newThemeVersionSummary,+    themeVersionSummary_arn,+    themeVersionSummary_createdTime,+    themeVersionSummary_description,+    themeVersionSummary_status,+    themeVersionSummary_versionNumber,++    -- * ThousandSeparatorOptions+    ThousandSeparatorOptions (..),+    newThousandSeparatorOptions,+    thousandSeparatorOptions_symbol,+    thousandSeparatorOptions_visibility,++    -- * TileLayoutStyle+    TileLayoutStyle (..),+    newTileLayoutStyle,+    tileLayoutStyle_gutter,+    tileLayoutStyle_margin,++    -- * TileStyle+    TileStyle (..),+    newTileStyle,+    tileStyle_border,++    -- * TimeBasedForecastProperties+    TimeBasedForecastProperties (..),+    newTimeBasedForecastProperties,+    timeBasedForecastProperties_lowerBoundary,+    timeBasedForecastProperties_periodsBackward,+    timeBasedForecastProperties_periodsForward,+    timeBasedForecastProperties_predictionInterval,+    timeBasedForecastProperties_seasonality,+    timeBasedForecastProperties_upperBoundary,++    -- * TimeEqualityFilter+    TimeEqualityFilter (..),+    newTimeEqualityFilter,+    timeEqualityFilter_parameterName,+    timeEqualityFilter_timeGranularity,+    timeEqualityFilter_value,+    timeEqualityFilter_filterId,+    timeEqualityFilter_column,++    -- * TimeRangeDrillDownFilter+    TimeRangeDrillDownFilter (..),+    newTimeRangeDrillDownFilter,+    timeRangeDrillDownFilter_column,+    timeRangeDrillDownFilter_rangeMinimum,+    timeRangeDrillDownFilter_rangeMaximum,+    timeRangeDrillDownFilter_timeGranularity,++    -- * TimeRangeFilter+    TimeRangeFilter (..),+    newTimeRangeFilter,+    timeRangeFilter_excludePeriodConfiguration,+    timeRangeFilter_includeMaximum,+    timeRangeFilter_includeMinimum,+    timeRangeFilter_rangeMaximumValue,+    timeRangeFilter_rangeMinimumValue,+    timeRangeFilter_timeGranularity,+    timeRangeFilter_filterId,+    timeRangeFilter_column,+    timeRangeFilter_nullOption,++    -- * TimeRangeFilterValue+    TimeRangeFilterValue (..),+    newTimeRangeFilterValue,+    timeRangeFilterValue_parameter,+    timeRangeFilterValue_rollingDate,+    timeRangeFilterValue_staticValue,++    -- * TooltipItem+    TooltipItem (..),+    newTooltipItem,+    tooltipItem_columnTooltipItem,+    tooltipItem_fieldTooltipItem,++    -- * TooltipOptions+    TooltipOptions (..),+    newTooltipOptions,+    tooltipOptions_fieldBasedTooltip,+    tooltipOptions_selectedTooltipType,+    tooltipOptions_tooltipVisibility,++    -- * TopBottomFilter+    TopBottomFilter (..),+    newTopBottomFilter,+    topBottomFilter_limit,+    topBottomFilter_parameterName,+    topBottomFilter_timeGranularity,+    topBottomFilter_filterId,+    topBottomFilter_column,+    topBottomFilter_aggregationSortConfigurations,++    -- * TopBottomMoversComputation+    TopBottomMoversComputation (..),+    newTopBottomMoversComputation,+    topBottomMoversComputation_moverSize,+    topBottomMoversComputation_name,+    topBottomMoversComputation_sortOrder,+    topBottomMoversComputation_value,+    topBottomMoversComputation_computationId,+    topBottomMoversComputation_time,+    topBottomMoversComputation_category,+    topBottomMoversComputation_type,++    -- * TopBottomRankedComputation+    TopBottomRankedComputation (..),+    newTopBottomRankedComputation,+    topBottomRankedComputation_name,+    topBottomRankedComputation_resultSize,+    topBottomRankedComputation_value,+    topBottomRankedComputation_computationId,+    topBottomRankedComputation_category,+    topBottomRankedComputation_type,++    -- * TotalAggregationComputation+    TotalAggregationComputation (..),+    newTotalAggregationComputation,+    totalAggregationComputation_name,+    totalAggregationComputation_computationId,+    totalAggregationComputation_value,++    -- * TotalOptions+    TotalOptions (..),+    newTotalOptions,+    totalOptions_customLabel,+    totalOptions_placement,+    totalOptions_scrollStatus,+    totalOptions_totalCellStyle,+    totalOptions_totalsVisibility,++    -- * TransformOperation+    TransformOperation (..),+    newTransformOperation,+    transformOperation_castColumnTypeOperation,+    transformOperation_createColumnsOperation,+    transformOperation_filterOperation,+    transformOperation_projectOperation,+    transformOperation_renameColumnOperation,+    transformOperation_tagColumnOperation,+    transformOperation_untagColumnOperation,++    -- * TreeMapAggregatedFieldWells+    TreeMapAggregatedFieldWells (..),+    newTreeMapAggregatedFieldWells,+    treeMapAggregatedFieldWells_colors,+    treeMapAggregatedFieldWells_groups,+    treeMapAggregatedFieldWells_sizes,++    -- * TreeMapConfiguration+    TreeMapConfiguration (..),+    newTreeMapConfiguration,+    treeMapConfiguration_colorLabelOptions,+    treeMapConfiguration_colorScale,+    treeMapConfiguration_dataLabels,+    treeMapConfiguration_fieldWells,+    treeMapConfiguration_groupLabelOptions,+    treeMapConfiguration_legend,+    treeMapConfiguration_sizeLabelOptions,+    treeMapConfiguration_sortConfiguration,+    treeMapConfiguration_tooltip,++    -- * TreeMapFieldWells+    TreeMapFieldWells (..),+    newTreeMapFieldWells,+    treeMapFieldWells_treeMapAggregatedFieldWells,++    -- * TreeMapSortConfiguration+    TreeMapSortConfiguration (..),+    newTreeMapSortConfiguration,+    treeMapSortConfiguration_treeMapGroupItemsLimitConfiguration,+    treeMapSortConfiguration_treeMapSort,++    -- * TreeMapVisual+    TreeMapVisual (..),+    newTreeMapVisual,+    treeMapVisual_actions,+    treeMapVisual_chartConfiguration,+    treeMapVisual_columnHierarchies,+    treeMapVisual_subtitle,+    treeMapVisual_title,+    treeMapVisual_visualId,++    -- * TrendArrowOptions+    TrendArrowOptions (..),+    newTrendArrowOptions,+    trendArrowOptions_visibility,++    -- * TwitterParameters+    TwitterParameters (..),+    newTwitterParameters,+    twitterParameters_query,+    twitterParameters_maxRows,++    -- * Typography+    Typography (..),+    newTypography,+    typography_fontFamilies,++    -- * UIColorPalette+    UIColorPalette (..),+    newUIColorPalette,+    uIColorPalette_accent,+    uIColorPalette_accentForeground,+    uIColorPalette_danger,+    uIColorPalette_dangerForeground,+    uIColorPalette_dimension,+    uIColorPalette_dimensionForeground,+    uIColorPalette_measure,+    uIColorPalette_measureForeground,+    uIColorPalette_primaryBackground,+    uIColorPalette_primaryForeground,+    uIColorPalette_secondaryBackground,+    uIColorPalette_secondaryForeground,+    uIColorPalette_success,+    uIColorPalette_successForeground,+    uIColorPalette_warning,+    uIColorPalette_warningForeground,++    -- * UnaggregatedField+    UnaggregatedField (..),+    newUnaggregatedField,+    unaggregatedField_formatConfiguration,+    unaggregatedField_fieldId,+    unaggregatedField_column,++    -- * UniqueValuesComputation+    UniqueValuesComputation (..),+    newUniqueValuesComputation,+    uniqueValuesComputation_name,+    uniqueValuesComputation_computationId,+    uniqueValuesComputation_category,++    -- * UntagColumnOperation+    UntagColumnOperation (..),+    newUntagColumnOperation,+    untagColumnOperation_columnName,+    untagColumnOperation_tagNames,++    -- * UploadSettings+    UploadSettings (..),+    newUploadSettings,+    uploadSettings_containsHeader,+    uploadSettings_delimiter,+    uploadSettings_format,+    uploadSettings_startFromRow,+    uploadSettings_textQualifier,++    -- * User+    User (..),+    newUser,+    user_active,+    user_arn,+    user_customPermissionsName,+    user_email,+    user_externalLoginFederationProviderType,+    user_externalLoginFederationProviderUrl,+    user_externalLoginId,+    user_identityType,+    user_principalId,+    user_role,+    user_userName,++    -- * VisibleRangeOptions+    VisibleRangeOptions (..),+    newVisibleRangeOptions,+    visibleRangeOptions_percentRange,++    -- * Visual+    Visual (..),+    newVisual,+    visual_barChartVisual,+    visual_boxPlotVisual,+    visual_comboChartVisual,+    visual_customContentVisual,+    visual_emptyVisual,+    visual_filledMapVisual,+    visual_funnelChartVisual,+    visual_gaugeChartVisual,+    visual_geospatialMapVisual,+    visual_heatMapVisual,+    visual_histogramVisual,+    visual_insightVisual,+    visual_kPIVisual,+    visual_lineChartVisual,+    visual_pieChartVisual,+    visual_pivotTableVisual,+    visual_sankeyDiagramVisual,+    visual_scatterPlotVisual,+    visual_tableVisual,+    visual_treeMapVisual,+    visual_waterfallVisual,+    visual_wordCloudVisual,++    -- * VisualCustomAction+    VisualCustomAction (..),+    newVisualCustomAction,+    visualCustomAction_status,+    visualCustomAction_customActionId,+    visualCustomAction_name,+    visualCustomAction_trigger,+    visualCustomAction_actionOperations,++    -- * VisualCustomActionOperation+    VisualCustomActionOperation (..),+    newVisualCustomActionOperation,+    visualCustomActionOperation_filterOperation,+    visualCustomActionOperation_navigationOperation,+    visualCustomActionOperation_setParametersOperation,+    visualCustomActionOperation_uRLOperation,++    -- * VisualPalette+    VisualPalette (..),+    newVisualPalette,+    visualPalette_chartColor,+    visualPalette_colorMap,++    -- * VisualSubtitleLabelOptions+    VisualSubtitleLabelOptions (..),+    newVisualSubtitleLabelOptions,+    visualSubtitleLabelOptions_formatText,+    visualSubtitleLabelOptions_visibility,++    -- * VisualTitleLabelOptions+    VisualTitleLabelOptions (..),+    newVisualTitleLabelOptions,+    visualTitleLabelOptions_formatText,+    visualTitleLabelOptions_visibility,++    -- * VpcConnectionProperties+    VpcConnectionProperties (..),+    newVpcConnectionProperties,+    vpcConnectionProperties_vpcConnectionArn,++    -- * WaterfallChartAggregatedFieldWells+    WaterfallChartAggregatedFieldWells (..),+    newWaterfallChartAggregatedFieldWells,+    waterfallChartAggregatedFieldWells_breakdowns,+    waterfallChartAggregatedFieldWells_categories,+    waterfallChartAggregatedFieldWells_values,++    -- * WaterfallChartConfiguration+    WaterfallChartConfiguration (..),+    newWaterfallChartConfiguration,+    waterfallChartConfiguration_categoryAxisDisplayOptions,+    waterfallChartConfiguration_categoryAxisLabelOptions,+    waterfallChartConfiguration_dataLabels,+    waterfallChartConfiguration_fieldWells,+    waterfallChartConfiguration_legend,+    waterfallChartConfiguration_primaryYAxisDisplayOptions,+    waterfallChartConfiguration_primaryYAxisLabelOptions,+    waterfallChartConfiguration_sortConfiguration,+    waterfallChartConfiguration_visualPalette,+    waterfallChartConfiguration_waterfallChartOptions,++    -- * WaterfallChartFieldWells+    WaterfallChartFieldWells (..),+    newWaterfallChartFieldWells,+    waterfallChartFieldWells_waterfallChartAggregatedFieldWells,++    -- * WaterfallChartOptions+    WaterfallChartOptions (..),+    newWaterfallChartOptions,+    waterfallChartOptions_totalBarLabel,++    -- * WaterfallChartSortConfiguration+    WaterfallChartSortConfiguration (..),+    newWaterfallChartSortConfiguration,+    waterfallChartSortConfiguration_breakdownItemsLimit,+    waterfallChartSortConfiguration_categorySort,++    -- * WaterfallVisual+    WaterfallVisual (..),+    newWaterfallVisual,+    waterfallVisual_actions,+    waterfallVisual_chartConfiguration,+    waterfallVisual_columnHierarchies,+    waterfallVisual_subtitle,+    waterfallVisual_title,+    waterfallVisual_visualId,++    -- * WhatIfPointScenario+    WhatIfPointScenario (..),+    newWhatIfPointScenario,+    whatIfPointScenario_date,+    whatIfPointScenario_value,++    -- * WhatIfRangeScenario+    WhatIfRangeScenario (..),+    newWhatIfRangeScenario,+    whatIfRangeScenario_startDate,+    whatIfRangeScenario_endDate,+    whatIfRangeScenario_value,++    -- * WordCloudAggregatedFieldWells+    WordCloudAggregatedFieldWells (..),+    newWordCloudAggregatedFieldWells,+    wordCloudAggregatedFieldWells_groupBy,+    wordCloudAggregatedFieldWells_size,++    -- * WordCloudChartConfiguration+    WordCloudChartConfiguration (..),+    newWordCloudChartConfiguration,+    wordCloudChartConfiguration_categoryLabelOptions,+    wordCloudChartConfiguration_fieldWells,+    wordCloudChartConfiguration_sortConfiguration,+    wordCloudChartConfiguration_wordCloudOptions,++    -- * WordCloudFieldWells+    WordCloudFieldWells (..),+    newWordCloudFieldWells,+    wordCloudFieldWells_wordCloudAggregatedFieldWells,++    -- * WordCloudOptions+    WordCloudOptions (..),+    newWordCloudOptions,+    wordCloudOptions_cloudLayout,+    wordCloudOptions_maximumStringLength,+    wordCloudOptions_wordCasing,+    wordCloudOptions_wordOrientation,+    wordCloudOptions_wordPadding,+    wordCloudOptions_wordScaling,++    -- * WordCloudSortConfiguration+    WordCloudSortConfiguration (..),+    newWordCloudSortConfiguration,+    wordCloudSortConfiguration_categoryItemsLimit,+    wordCloudSortConfiguration_categorySort,++    -- * WordCloudVisual+    WordCloudVisual (..),+    newWordCloudVisual,+    wordCloudVisual_actions,+    wordCloudVisual_chartConfiguration,+    wordCloudVisual_columnHierarchies,+    wordCloudVisual_subtitle,+    wordCloudVisual_title,+    wordCloudVisual_visualId,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AccountCustomization+import Amazonka.QuickSight.Types.AccountInfo+import Amazonka.QuickSight.Types.AccountSettings+import Amazonka.QuickSight.Types.ActiveIAMPolicyAssignment+import Amazonka.QuickSight.Types.AdHocFilteringOption+import Amazonka.QuickSight.Types.AggregationFunction+import Amazonka.QuickSight.Types.AggregationSortConfiguration+import Amazonka.QuickSight.Types.AmazonElasticsearchParameters+import Amazonka.QuickSight.Types.AmazonOpenSearchParameters+import Amazonka.QuickSight.Types.Analysis+import Amazonka.QuickSight.Types.AnalysisDefaults+import Amazonka.QuickSight.Types.AnalysisDefinition+import Amazonka.QuickSight.Types.AnalysisError+import Amazonka.QuickSight.Types.AnalysisErrorType+import Amazonka.QuickSight.Types.AnalysisFilterAttribute+import Amazonka.QuickSight.Types.AnalysisSearchFilter+import Amazonka.QuickSight.Types.AnalysisSourceEntity+import Amazonka.QuickSight.Types.AnalysisSourceTemplate+import Amazonka.QuickSight.Types.AnalysisSummary+import Amazonka.QuickSight.Types.AnchorDateConfiguration+import Amazonka.QuickSight.Types.AnchorOption+import Amazonka.QuickSight.Types.AnonymousUserDashboardEmbeddingConfiguration+import Amazonka.QuickSight.Types.AnonymousUserDashboardVisualEmbeddingConfiguration+import Amazonka.QuickSight.Types.AnonymousUserEmbeddingExperienceConfiguration+import Amazonka.QuickSight.Types.AnonymousUserQSearchBarEmbeddingConfiguration+import Amazonka.QuickSight.Types.ArcAxisConfiguration+import Amazonka.QuickSight.Types.ArcAxisDisplayRange+import Amazonka.QuickSight.Types.ArcConfiguration+import Amazonka.QuickSight.Types.ArcOptions+import Amazonka.QuickSight.Types.ArcThickness+import Amazonka.QuickSight.Types.ArcThicknessOptions+import Amazonka.QuickSight.Types.AssignmentStatus+import Amazonka.QuickSight.Types.AthenaParameters+import Amazonka.QuickSight.Types.AuroraParameters+import Amazonka.QuickSight.Types.AuroraPostgreSqlParameters+import Amazonka.QuickSight.Types.AuthenticationMethodOption+import Amazonka.QuickSight.Types.AwsIotAnalyticsParameters+import Amazonka.QuickSight.Types.AxisBinding+import Amazonka.QuickSight.Types.AxisDataOptions+import Amazonka.QuickSight.Types.AxisDisplayDataDrivenRange+import Amazonka.QuickSight.Types.AxisDisplayMinMaxRange+import Amazonka.QuickSight.Types.AxisDisplayOptions+import Amazonka.QuickSight.Types.AxisDisplayRange+import Amazonka.QuickSight.Types.AxisLabelOptions+import Amazonka.QuickSight.Types.AxisLabelReferenceOptions+import Amazonka.QuickSight.Types.AxisLinearScale+import Amazonka.QuickSight.Types.AxisLogarithmicScale+import Amazonka.QuickSight.Types.AxisScale+import Amazonka.QuickSight.Types.AxisTickLabelOptions+import Amazonka.QuickSight.Types.BarChartAggregatedFieldWells+import Amazonka.QuickSight.Types.BarChartConfiguration+import Amazonka.QuickSight.Types.BarChartFieldWells+import Amazonka.QuickSight.Types.BarChartOrientation+import Amazonka.QuickSight.Types.BarChartSortConfiguration+import Amazonka.QuickSight.Types.BarChartVisual+import Amazonka.QuickSight.Types.BarsArrangement+import Amazonka.QuickSight.Types.BaseMapStyleType+import Amazonka.QuickSight.Types.BinCountOptions+import Amazonka.QuickSight.Types.BinWidthOptions+import Amazonka.QuickSight.Types.BodySectionConfiguration+import Amazonka.QuickSight.Types.BodySectionContent+import Amazonka.QuickSight.Types.BorderStyle+import Amazonka.QuickSight.Types.BoxPlotAggregatedFieldWells+import Amazonka.QuickSight.Types.BoxPlotChartConfiguration+import Amazonka.QuickSight.Types.BoxPlotFieldWells+import Amazonka.QuickSight.Types.BoxPlotFillStyle+import Amazonka.QuickSight.Types.BoxPlotOptions+import Amazonka.QuickSight.Types.BoxPlotSortConfiguration+import Amazonka.QuickSight.Types.BoxPlotStyleOptions+import Amazonka.QuickSight.Types.BoxPlotVisual+import Amazonka.QuickSight.Types.CalculatedColumn+import Amazonka.QuickSight.Types.CalculatedField+import Amazonka.QuickSight.Types.CalculatedMeasureField+import Amazonka.QuickSight.Types.CascadingControlConfiguration+import Amazonka.QuickSight.Types.CascadingControlSource+import Amazonka.QuickSight.Types.CastColumnTypeOperation+import Amazonka.QuickSight.Types.CategoricalAggregationFunction+import Amazonka.QuickSight.Types.CategoricalDimensionField+import Amazonka.QuickSight.Types.CategoricalMeasureField+import Amazonka.QuickSight.Types.CategoryDrillDownFilter+import Amazonka.QuickSight.Types.CategoryFilter+import Amazonka.QuickSight.Types.CategoryFilterConfiguration+import Amazonka.QuickSight.Types.CategoryFilterMatchOperator+import Amazonka.QuickSight.Types.CategoryFilterSelectAllOptions+import Amazonka.QuickSight.Types.ChartAxisLabelOptions+import Amazonka.QuickSight.Types.ClusterMarker+import Amazonka.QuickSight.Types.ClusterMarkerConfiguration+import Amazonka.QuickSight.Types.ColorFillType+import Amazonka.QuickSight.Types.ColorScale+import Amazonka.QuickSight.Types.ColumnConfiguration+import Amazonka.QuickSight.Types.ColumnDataType+import Amazonka.QuickSight.Types.ColumnDescription+import Amazonka.QuickSight.Types.ColumnGroup+import Amazonka.QuickSight.Types.ColumnGroupColumnSchema+import Amazonka.QuickSight.Types.ColumnGroupSchema+import Amazonka.QuickSight.Types.ColumnHierarchy+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.ColumnLevelPermissionRule+import Amazonka.QuickSight.Types.ColumnRole+import Amazonka.QuickSight.Types.ColumnSchema+import Amazonka.QuickSight.Types.ColumnSort+import Amazonka.QuickSight.Types.ColumnTag+import Amazonka.QuickSight.Types.ColumnTagName+import Amazonka.QuickSight.Types.ColumnTooltipItem+import Amazonka.QuickSight.Types.ComboChartAggregatedFieldWells+import Amazonka.QuickSight.Types.ComboChartConfiguration+import Amazonka.QuickSight.Types.ComboChartFieldWells+import Amazonka.QuickSight.Types.ComboChartSortConfiguration+import Amazonka.QuickSight.Types.ComboChartVisual+import Amazonka.QuickSight.Types.ComparisonConfiguration+import Amazonka.QuickSight.Types.ComparisonFormatConfiguration+import Amazonka.QuickSight.Types.ComparisonMethod+import Amazonka.QuickSight.Types.Computation+import Amazonka.QuickSight.Types.ConditionalFormattingColor+import Amazonka.QuickSight.Types.ConditionalFormattingCustomIconCondition+import Amazonka.QuickSight.Types.ConditionalFormattingCustomIconOptions+import Amazonka.QuickSight.Types.ConditionalFormattingGradientColor+import Amazonka.QuickSight.Types.ConditionalFormattingIcon+import Amazonka.QuickSight.Types.ConditionalFormattingIconDisplayConfiguration+import Amazonka.QuickSight.Types.ConditionalFormattingIconDisplayOption+import Amazonka.QuickSight.Types.ConditionalFormattingIconSet+import Amazonka.QuickSight.Types.ConditionalFormattingIconSetType+import Amazonka.QuickSight.Types.ConditionalFormattingSolidColor+import Amazonka.QuickSight.Types.ContributionAnalysisDefault+import Amazonka.QuickSight.Types.CreateColumnsOperation+import Amazonka.QuickSight.Types.CredentialPair+import Amazonka.QuickSight.Types.CrossDatasetTypes+import Amazonka.QuickSight.Types.CurrencyDisplayFormatConfiguration+import Amazonka.QuickSight.Types.CustomActionFilterOperation+import Amazonka.QuickSight.Types.CustomActionNavigationOperation+import Amazonka.QuickSight.Types.CustomActionSetParametersOperation+import Amazonka.QuickSight.Types.CustomActionURLOperation+import Amazonka.QuickSight.Types.CustomContentConfiguration+import Amazonka.QuickSight.Types.CustomContentImageScalingConfiguration+import Amazonka.QuickSight.Types.CustomContentType+import Amazonka.QuickSight.Types.CustomContentVisual+import Amazonka.QuickSight.Types.CustomFilterConfiguration+import Amazonka.QuickSight.Types.CustomFilterListConfiguration+import Amazonka.QuickSight.Types.CustomNarrativeOptions+import Amazonka.QuickSight.Types.CustomParameterValues+import Amazonka.QuickSight.Types.CustomSql+import Amazonka.QuickSight.Types.CustomValuesConfiguration+import Amazonka.QuickSight.Types.Dashboard+import Amazonka.QuickSight.Types.DashboardBehavior+import Amazonka.QuickSight.Types.DashboardError+import Amazonka.QuickSight.Types.DashboardErrorType+import Amazonka.QuickSight.Types.DashboardFilterAttribute+import Amazonka.QuickSight.Types.DashboardPublishOptions+import Amazonka.QuickSight.Types.DashboardSearchFilter+import Amazonka.QuickSight.Types.DashboardSourceEntity+import Amazonka.QuickSight.Types.DashboardSourceTemplate+import Amazonka.QuickSight.Types.DashboardSummary+import Amazonka.QuickSight.Types.DashboardUIState+import Amazonka.QuickSight.Types.DashboardVersion+import Amazonka.QuickSight.Types.DashboardVersionDefinition+import Amazonka.QuickSight.Types.DashboardVersionSummary+import Amazonka.QuickSight.Types.DashboardVisualId+import Amazonka.QuickSight.Types.DashboardVisualPublishOptions+import Amazonka.QuickSight.Types.DataColor+import Amazonka.QuickSight.Types.DataColorPalette+import Amazonka.QuickSight.Types.DataFieldSeriesItem+import Amazonka.QuickSight.Types.DataLabelContent+import Amazonka.QuickSight.Types.DataLabelOptions+import Amazonka.QuickSight.Types.DataLabelOverlap+import Amazonka.QuickSight.Types.DataLabelPosition+import Amazonka.QuickSight.Types.DataLabelType+import Amazonka.QuickSight.Types.DataPathColor+import Amazonka.QuickSight.Types.DataPathLabelType+import Amazonka.QuickSight.Types.DataPathSort+import Amazonka.QuickSight.Types.DataPathValue+import Amazonka.QuickSight.Types.DataSet+import Amazonka.QuickSight.Types.DataSetConfiguration+import Amazonka.QuickSight.Types.DataSetFilterAttribute+import Amazonka.QuickSight.Types.DataSetIdentifierDeclaration+import Amazonka.QuickSight.Types.DataSetImportMode+import Amazonka.QuickSight.Types.DataSetReference+import Amazonka.QuickSight.Types.DataSetSchema+import Amazonka.QuickSight.Types.DataSetSearchFilter+import Amazonka.QuickSight.Types.DataSetSummary+import Amazonka.QuickSight.Types.DataSetUsageConfiguration+import Amazonka.QuickSight.Types.DataSource+import Amazonka.QuickSight.Types.DataSourceCredentials+import Amazonka.QuickSight.Types.DataSourceErrorInfo+import Amazonka.QuickSight.Types.DataSourceErrorInfoType+import Amazonka.QuickSight.Types.DataSourceFilterAttribute+import Amazonka.QuickSight.Types.DataSourceParameters+import Amazonka.QuickSight.Types.DataSourceSearchFilter+import Amazonka.QuickSight.Types.DataSourceSummary+import Amazonka.QuickSight.Types.DataSourceType+import Amazonka.QuickSight.Types.DatabricksParameters+import Amazonka.QuickSight.Types.DateAggregationFunction+import Amazonka.QuickSight.Types.DateAxisOptions+import Amazonka.QuickSight.Types.DateDimensionField+import Amazonka.QuickSight.Types.DateMeasureField+import Amazonka.QuickSight.Types.DateTimeDefaultValues+import Amazonka.QuickSight.Types.DateTimeFormatConfiguration+import Amazonka.QuickSight.Types.DateTimeHierarchy+import Amazonka.QuickSight.Types.DateTimeParameter+import Amazonka.QuickSight.Types.DateTimeParameterDeclaration+import Amazonka.QuickSight.Types.DateTimePickerControlDisplayOptions+import Amazonka.QuickSight.Types.DateTimeValueWhenUnsetConfiguration+import Amazonka.QuickSight.Types.DecimalDefaultValues+import Amazonka.QuickSight.Types.DecimalParameter+import Amazonka.QuickSight.Types.DecimalParameterDeclaration+import Amazonka.QuickSight.Types.DecimalPlacesConfiguration+import Amazonka.QuickSight.Types.DecimalValueWhenUnsetConfiguration+import Amazonka.QuickSight.Types.DefaultFreeFormLayoutConfiguration+import Amazonka.QuickSight.Types.DefaultGridLayoutConfiguration+import Amazonka.QuickSight.Types.DefaultInteractiveLayoutConfiguration+import Amazonka.QuickSight.Types.DefaultNewSheetConfiguration+import Amazonka.QuickSight.Types.DefaultPaginatedLayoutConfiguration+import Amazonka.QuickSight.Types.DefaultSectionBasedLayoutConfiguration+import Amazonka.QuickSight.Types.DestinationParameterValueConfiguration+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.DonutCenterOptions+import Amazonka.QuickSight.Types.DonutOptions+import Amazonka.QuickSight.Types.DrillDownFilter+import Amazonka.QuickSight.Types.DropDownControlDisplayOptions+import Amazonka.QuickSight.Types.DynamicDefaultValue+import Amazonka.QuickSight.Types.Edition+import Amazonka.QuickSight.Types.EmbeddingIdentityType+import Amazonka.QuickSight.Types.EmptyVisual+import Amazonka.QuickSight.Types.Entity+import Amazonka.QuickSight.Types.ErrorInfo+import Amazonka.QuickSight.Types.ExasolParameters+import Amazonka.QuickSight.Types.ExcludePeriodConfiguration+import Amazonka.QuickSight.Types.ExplicitHierarchy+import Amazonka.QuickSight.Types.ExportHiddenFieldsOption+import Amazonka.QuickSight.Types.ExportToCSVOption+import Amazonka.QuickSight.Types.FieldBasedTooltip+import Amazonka.QuickSight.Types.FieldFolder+import Amazonka.QuickSight.Types.FieldLabelType+import Amazonka.QuickSight.Types.FieldSeriesItem+import Amazonka.QuickSight.Types.FieldSort+import Amazonka.QuickSight.Types.FieldSortOptions+import Amazonka.QuickSight.Types.FieldTooltipItem+import Amazonka.QuickSight.Types.FileFormat+import Amazonka.QuickSight.Types.FilledMapAggregatedFieldWells+import Amazonka.QuickSight.Types.FilledMapConditionalFormatting+import Amazonka.QuickSight.Types.FilledMapConditionalFormattingOption+import Amazonka.QuickSight.Types.FilledMapConfiguration+import Amazonka.QuickSight.Types.FilledMapFieldWells+import Amazonka.QuickSight.Types.FilledMapShapeConditionalFormatting+import Amazonka.QuickSight.Types.FilledMapSortConfiguration+import Amazonka.QuickSight.Types.FilledMapVisual+import Amazonka.QuickSight.Types.Filter+import Amazonka.QuickSight.Types.FilterControl+import Amazonka.QuickSight.Types.FilterDateTimePickerControl+import Amazonka.QuickSight.Types.FilterDropDownControl+import Amazonka.QuickSight.Types.FilterGroup+import Amazonka.QuickSight.Types.FilterListConfiguration+import Amazonka.QuickSight.Types.FilterListControl+import Amazonka.QuickSight.Types.FilterNullOption+import Amazonka.QuickSight.Types.FilterOperation+import Amazonka.QuickSight.Types.FilterOperationSelectedFieldsConfiguration+import Amazonka.QuickSight.Types.FilterOperationTargetVisualsConfiguration+import Amazonka.QuickSight.Types.FilterOperator+import Amazonka.QuickSight.Types.FilterRelativeDateTimeControl+import Amazonka.QuickSight.Types.FilterScopeConfiguration+import Amazonka.QuickSight.Types.FilterSelectableValues+import Amazonka.QuickSight.Types.FilterSliderControl+import Amazonka.QuickSight.Types.FilterTextAreaControl+import Amazonka.QuickSight.Types.FilterTextFieldControl+import Amazonka.QuickSight.Types.FilterVisualScope+import Amazonka.QuickSight.Types.Folder+import Amazonka.QuickSight.Types.FolderFilterAttribute+import Amazonka.QuickSight.Types.FolderMember+import Amazonka.QuickSight.Types.FolderSearchFilter+import Amazonka.QuickSight.Types.FolderSummary+import Amazonka.QuickSight.Types.FolderType+import Amazonka.QuickSight.Types.Font+import Amazonka.QuickSight.Types.FontConfiguration+import Amazonka.QuickSight.Types.FontDecoration+import Amazonka.QuickSight.Types.FontSize+import Amazonka.QuickSight.Types.FontStyle+import Amazonka.QuickSight.Types.FontWeight+import Amazonka.QuickSight.Types.FontWeightName+import Amazonka.QuickSight.Types.ForecastComputation+import Amazonka.QuickSight.Types.ForecastComputationSeasonality+import Amazonka.QuickSight.Types.ForecastConfiguration+import Amazonka.QuickSight.Types.ForecastScenario+import Amazonka.QuickSight.Types.FormatConfiguration+import Amazonka.QuickSight.Types.FreeFormLayoutCanvasSizeOptions+import Amazonka.QuickSight.Types.FreeFormLayoutConfiguration+import Amazonka.QuickSight.Types.FreeFormLayoutElement+import Amazonka.QuickSight.Types.FreeFormLayoutElementBackgroundStyle+import Amazonka.QuickSight.Types.FreeFormLayoutElementBorderStyle+import Amazonka.QuickSight.Types.FreeFormLayoutScreenCanvasSizeOptions+import Amazonka.QuickSight.Types.FreeFormSectionLayoutConfiguration+import Amazonka.QuickSight.Types.FunnelChartAggregatedFieldWells+import Amazonka.QuickSight.Types.FunnelChartConfiguration+import Amazonka.QuickSight.Types.FunnelChartDataLabelOptions+import Amazonka.QuickSight.Types.FunnelChartFieldWells+import Amazonka.QuickSight.Types.FunnelChartMeasureDataLabelStyle+import Amazonka.QuickSight.Types.FunnelChartSortConfiguration+import Amazonka.QuickSight.Types.FunnelChartVisual+import Amazonka.QuickSight.Types.GaugeChartArcConditionalFormatting+import Amazonka.QuickSight.Types.GaugeChartConditionalFormatting+import Amazonka.QuickSight.Types.GaugeChartConditionalFormattingOption+import Amazonka.QuickSight.Types.GaugeChartConfiguration+import Amazonka.QuickSight.Types.GaugeChartFieldWells+import Amazonka.QuickSight.Types.GaugeChartOptions+import Amazonka.QuickSight.Types.GaugeChartPrimaryValueConditionalFormatting+import Amazonka.QuickSight.Types.GaugeChartVisual+import Amazonka.QuickSight.Types.GeoSpatialColumnGroup+import Amazonka.QuickSight.Types.GeoSpatialCountryCode+import Amazonka.QuickSight.Types.GeoSpatialDataRole+import Amazonka.QuickSight.Types.GeospatialCoordinateBounds+import Amazonka.QuickSight.Types.GeospatialMapAggregatedFieldWells+import Amazonka.QuickSight.Types.GeospatialMapConfiguration+import Amazonka.QuickSight.Types.GeospatialMapFieldWells+import Amazonka.QuickSight.Types.GeospatialMapStyleOptions+import Amazonka.QuickSight.Types.GeospatialMapVisual+import Amazonka.QuickSight.Types.GeospatialPointStyleOptions+import Amazonka.QuickSight.Types.GeospatialSelectedPointStyle+import Amazonka.QuickSight.Types.GeospatialWindowOptions+import Amazonka.QuickSight.Types.GlobalTableBorderOptions+import Amazonka.QuickSight.Types.GradientColor+import Amazonka.QuickSight.Types.GradientStop+import Amazonka.QuickSight.Types.GridLayoutCanvasSizeOptions+import Amazonka.QuickSight.Types.GridLayoutConfiguration+import Amazonka.QuickSight.Types.GridLayoutElement+import Amazonka.QuickSight.Types.GridLayoutScreenCanvasSizeOptions+import Amazonka.QuickSight.Types.Group+import Amazonka.QuickSight.Types.GroupFilterAttribute+import Amazonka.QuickSight.Types.GroupFilterOperator+import Amazonka.QuickSight.Types.GroupMember+import Amazonka.QuickSight.Types.GroupSearchFilter+import Amazonka.QuickSight.Types.GrowthRateComputation+import Amazonka.QuickSight.Types.GutterStyle+import Amazonka.QuickSight.Types.HeaderFooterSectionConfiguration+import Amazonka.QuickSight.Types.HeatMapAggregatedFieldWells+import Amazonka.QuickSight.Types.HeatMapConfiguration+import Amazonka.QuickSight.Types.HeatMapFieldWells+import Amazonka.QuickSight.Types.HeatMapSortConfiguration+import Amazonka.QuickSight.Types.HeatMapVisual+import Amazonka.QuickSight.Types.HistogramAggregatedFieldWells+import Amazonka.QuickSight.Types.HistogramBinOptions+import Amazonka.QuickSight.Types.HistogramBinType+import Amazonka.QuickSight.Types.HistogramConfiguration+import Amazonka.QuickSight.Types.HistogramFieldWells+import Amazonka.QuickSight.Types.HistogramVisual+import Amazonka.QuickSight.Types.HorizontalTextAlignment+import Amazonka.QuickSight.Types.IAMPolicyAssignment+import Amazonka.QuickSight.Types.IAMPolicyAssignmentSummary+import Amazonka.QuickSight.Types.Icon+import Amazonka.QuickSight.Types.IdentityStore+import Amazonka.QuickSight.Types.IdentityType+import Amazonka.QuickSight.Types.Ingestion+import Amazonka.QuickSight.Types.IngestionErrorType+import Amazonka.QuickSight.Types.IngestionRequestSource+import Amazonka.QuickSight.Types.IngestionRequestType+import Amazonka.QuickSight.Types.IngestionStatus+import Amazonka.QuickSight.Types.IngestionType+import Amazonka.QuickSight.Types.InputColumn+import Amazonka.QuickSight.Types.InputColumnDataType+import Amazonka.QuickSight.Types.InsightConfiguration+import Amazonka.QuickSight.Types.InsightVisual+import Amazonka.QuickSight.Types.IntegerDefaultValues+import Amazonka.QuickSight.Types.IntegerParameter+import Amazonka.QuickSight.Types.IntegerParameterDeclaration+import Amazonka.QuickSight.Types.IntegerValueWhenUnsetConfiguration+import Amazonka.QuickSight.Types.ItemsLimitConfiguration+import Amazonka.QuickSight.Types.JiraParameters+import Amazonka.QuickSight.Types.JoinInstruction+import Amazonka.QuickSight.Types.JoinKeyProperties+import Amazonka.QuickSight.Types.JoinType+import Amazonka.QuickSight.Types.KPIConditionalFormatting+import Amazonka.QuickSight.Types.KPIConditionalFormattingOption+import Amazonka.QuickSight.Types.KPIConfiguration+import Amazonka.QuickSight.Types.KPIFieldWells+import Amazonka.QuickSight.Types.KPIOptions+import Amazonka.QuickSight.Types.KPIPrimaryValueConditionalFormatting+import Amazonka.QuickSight.Types.KPIProgressBarConditionalFormatting+import Amazonka.QuickSight.Types.KPISortConfiguration+import Amazonka.QuickSight.Types.KPIVisual+import Amazonka.QuickSight.Types.LabelOptions+import Amazonka.QuickSight.Types.Layout+import Amazonka.QuickSight.Types.LayoutConfiguration+import Amazonka.QuickSight.Types.LayoutElementType+import Amazonka.QuickSight.Types.LegendOptions+import Amazonka.QuickSight.Types.LegendPosition+import Amazonka.QuickSight.Types.LineChartAggregatedFieldWells+import Amazonka.QuickSight.Types.LineChartConfiguration+import Amazonka.QuickSight.Types.LineChartDefaultSeriesSettings+import Amazonka.QuickSight.Types.LineChartFieldWells+import Amazonka.QuickSight.Types.LineChartLineStyle+import Amazonka.QuickSight.Types.LineChartLineStyleSettings+import Amazonka.QuickSight.Types.LineChartMarkerShape+import Amazonka.QuickSight.Types.LineChartMarkerStyleSettings+import Amazonka.QuickSight.Types.LineChartSeriesSettings+import Amazonka.QuickSight.Types.LineChartSortConfiguration+import Amazonka.QuickSight.Types.LineChartType+import Amazonka.QuickSight.Types.LineChartVisual+import Amazonka.QuickSight.Types.LineInterpolation+import Amazonka.QuickSight.Types.LineSeriesAxisDisplayOptions+import Amazonka.QuickSight.Types.LinkSharingConfiguration+import Amazonka.QuickSight.Types.ListControlDisplayOptions+import Amazonka.QuickSight.Types.ListControlSearchOptions+import Amazonka.QuickSight.Types.ListControlSelectAllOptions+import Amazonka.QuickSight.Types.LoadingAnimation+import Amazonka.QuickSight.Types.LocalNavigationConfiguration+import Amazonka.QuickSight.Types.LogicalTable+import Amazonka.QuickSight.Types.LogicalTableSource+import Amazonka.QuickSight.Types.LongFormatText+import Amazonka.QuickSight.Types.ManifestFileLocation+import Amazonka.QuickSight.Types.MapZoomMode+import Amazonka.QuickSight.Types.MarginStyle+import Amazonka.QuickSight.Types.MariaDbParameters+import Amazonka.QuickSight.Types.MaximumLabelType+import Amazonka.QuickSight.Types.MaximumMinimumComputation+import Amazonka.QuickSight.Types.MaximumMinimumComputationType+import Amazonka.QuickSight.Types.MeasureField+import Amazonka.QuickSight.Types.MemberIdArnPair+import Amazonka.QuickSight.Types.MemberType+import Amazonka.QuickSight.Types.MetricComparisonComputation+import Amazonka.QuickSight.Types.MinimumLabelType+import Amazonka.QuickSight.Types.MissingDataConfiguration+import Amazonka.QuickSight.Types.MissingDataTreatmentOption+import Amazonka.QuickSight.Types.MySqlParameters+import Amazonka.QuickSight.Types.NamespaceError+import Amazonka.QuickSight.Types.NamespaceErrorType+import Amazonka.QuickSight.Types.NamespaceInfoV2+import Amazonka.QuickSight.Types.NamespaceStatus+import Amazonka.QuickSight.Types.NegativeValueConfiguration+import Amazonka.QuickSight.Types.NegativeValueDisplayMode+import Amazonka.QuickSight.Types.NullValueFormatConfiguration+import Amazonka.QuickSight.Types.NumberDisplayFormatConfiguration+import Amazonka.QuickSight.Types.NumberFormatConfiguration+import Amazonka.QuickSight.Types.NumberScale+import Amazonka.QuickSight.Types.NumericAxisOptions+import Amazonka.QuickSight.Types.NumericEqualityDrillDownFilter+import Amazonka.QuickSight.Types.NumericEqualityFilter+import Amazonka.QuickSight.Types.NumericEqualityMatchOperator+import Amazonka.QuickSight.Types.NumericFilterSelectAllOptions+import Amazonka.QuickSight.Types.NumericFormatConfiguration+import Amazonka.QuickSight.Types.NumericRangeFilter+import Amazonka.QuickSight.Types.NumericRangeFilterValue+import Amazonka.QuickSight.Types.NumericSeparatorConfiguration+import Amazonka.QuickSight.Types.NumericSeparatorSymbol+import Amazonka.QuickSight.Types.NumericalAggregationFunction+import Amazonka.QuickSight.Types.NumericalDimensionField+import Amazonka.QuickSight.Types.NumericalMeasureField+import Amazonka.QuickSight.Types.OracleParameters+import Amazonka.QuickSight.Types.OtherCategories+import Amazonka.QuickSight.Types.OutputColumn+import Amazonka.QuickSight.Types.PaginationConfiguration+import Amazonka.QuickSight.Types.PanelBorderStyle+import Amazonka.QuickSight.Types.PanelConfiguration+import Amazonka.QuickSight.Types.PanelTitleOptions+import Amazonka.QuickSight.Types.PaperOrientation+import Amazonka.QuickSight.Types.PaperSize+import Amazonka.QuickSight.Types.ParameterControl+import Amazonka.QuickSight.Types.ParameterDateTimePickerControl+import Amazonka.QuickSight.Types.ParameterDeclaration+import Amazonka.QuickSight.Types.ParameterDropDownControl+import Amazonka.QuickSight.Types.ParameterListControl+import Amazonka.QuickSight.Types.ParameterSelectableValues+import Amazonka.QuickSight.Types.ParameterSliderControl+import Amazonka.QuickSight.Types.ParameterTextAreaControl+import Amazonka.QuickSight.Types.ParameterTextFieldControl+import Amazonka.QuickSight.Types.ParameterValueType+import Amazonka.QuickSight.Types.Parameters+import Amazonka.QuickSight.Types.PercentVisibleRange+import Amazonka.QuickSight.Types.PercentageDisplayFormatConfiguration+import Amazonka.QuickSight.Types.PercentileAggregation+import Amazonka.QuickSight.Types.PeriodOverPeriodComputation+import Amazonka.QuickSight.Types.PeriodToDateComputation+import Amazonka.QuickSight.Types.PhysicalTable+import Amazonka.QuickSight.Types.PieChartAggregatedFieldWells+import Amazonka.QuickSight.Types.PieChartConfiguration+import Amazonka.QuickSight.Types.PieChartFieldWells+import Amazonka.QuickSight.Types.PieChartSortConfiguration+import Amazonka.QuickSight.Types.PieChartVisual+import Amazonka.QuickSight.Types.PivotFieldSortOptions+import Amazonka.QuickSight.Types.PivotTableAggregatedFieldWells+import Amazonka.QuickSight.Types.PivotTableCellConditionalFormatting+import Amazonka.QuickSight.Types.PivotTableConditionalFormatting+import Amazonka.QuickSight.Types.PivotTableConditionalFormattingOption+import Amazonka.QuickSight.Types.PivotTableConditionalFormattingScope+import Amazonka.QuickSight.Types.PivotTableConditionalFormattingScopeRole+import Amazonka.QuickSight.Types.PivotTableConfiguration+import Amazonka.QuickSight.Types.PivotTableDataPathOption+import Amazonka.QuickSight.Types.PivotTableFieldOption+import Amazonka.QuickSight.Types.PivotTableFieldOptions+import Amazonka.QuickSight.Types.PivotTableFieldSubtotalOptions+import Amazonka.QuickSight.Types.PivotTableFieldWells+import Amazonka.QuickSight.Types.PivotTableMetricPlacement+import Amazonka.QuickSight.Types.PivotTableOptions+import Amazonka.QuickSight.Types.PivotTablePaginatedReportOptions+import Amazonka.QuickSight.Types.PivotTableSortBy+import Amazonka.QuickSight.Types.PivotTableSortConfiguration+import Amazonka.QuickSight.Types.PivotTableSubtotalLevel+import Amazonka.QuickSight.Types.PivotTableTotalOptions+import Amazonka.QuickSight.Types.PivotTableVisual+import Amazonka.QuickSight.Types.PivotTotalOptions+import Amazonka.QuickSight.Types.PostgreSqlParameters+import Amazonka.QuickSight.Types.PredefinedHierarchy+import Amazonka.QuickSight.Types.PrestoParameters+import Amazonka.QuickSight.Types.PrimaryValueDisplayType+import Amazonka.QuickSight.Types.ProgressBarOptions+import Amazonka.QuickSight.Types.ProjectOperation+import Amazonka.QuickSight.Types.QueueInfo+import Amazonka.QuickSight.Types.RangeEndsLabelType+import Amazonka.QuickSight.Types.RdsParameters+import Amazonka.QuickSight.Types.RedshiftParameters+import Amazonka.QuickSight.Types.ReferenceLine+import Amazonka.QuickSight.Types.ReferenceLineCustomLabelConfiguration+import Amazonka.QuickSight.Types.ReferenceLineDataConfiguration+import Amazonka.QuickSight.Types.ReferenceLineDynamicDataConfiguration+import Amazonka.QuickSight.Types.ReferenceLineLabelConfiguration+import Amazonka.QuickSight.Types.ReferenceLineLabelHorizontalPosition+import Amazonka.QuickSight.Types.ReferenceLineLabelVerticalPosition+import Amazonka.QuickSight.Types.ReferenceLinePatternType+import Amazonka.QuickSight.Types.ReferenceLineStaticDataConfiguration+import Amazonka.QuickSight.Types.ReferenceLineStyleConfiguration+import Amazonka.QuickSight.Types.ReferenceLineValueLabelConfiguration+import Amazonka.QuickSight.Types.ReferenceLineValueLabelRelativePosition+import Amazonka.QuickSight.Types.RegisteredUserDashboardEmbeddingConfiguration+import Amazonka.QuickSight.Types.RegisteredUserDashboardVisualEmbeddingConfiguration+import Amazonka.QuickSight.Types.RegisteredUserEmbeddingExperienceConfiguration+import Amazonka.QuickSight.Types.RegisteredUserQSearchBarEmbeddingConfiguration+import Amazonka.QuickSight.Types.RegisteredUserQuickSightConsoleEmbeddingConfiguration+import Amazonka.QuickSight.Types.RelationalTable+import Amazonka.QuickSight.Types.RelativeDateTimeControlDisplayOptions+import Amazonka.QuickSight.Types.RelativeDateType+import Amazonka.QuickSight.Types.RelativeDatesFilter+import Amazonka.QuickSight.Types.RelativeFontSize+import Amazonka.QuickSight.Types.RenameColumnOperation+import Amazonka.QuickSight.Types.ResizeOption+import Amazonka.QuickSight.Types.ResourcePermission+import Amazonka.QuickSight.Types.ResourceStatus+import Amazonka.QuickSight.Types.RollingDateConfiguration+import Amazonka.QuickSight.Types.RowAlternateColorOptions+import Amazonka.QuickSight.Types.RowInfo+import Amazonka.QuickSight.Types.RowLevelPermissionDataSet+import Amazonka.QuickSight.Types.RowLevelPermissionFormatVersion+import Amazonka.QuickSight.Types.RowLevelPermissionPolicy+import Amazonka.QuickSight.Types.RowLevelPermissionTagConfiguration+import Amazonka.QuickSight.Types.RowLevelPermissionTagRule+import Amazonka.QuickSight.Types.S3Parameters+import Amazonka.QuickSight.Types.S3Source+import Amazonka.QuickSight.Types.SameSheetTargetVisualConfiguration+import Amazonka.QuickSight.Types.SankeyDiagramAggregatedFieldWells+import Amazonka.QuickSight.Types.SankeyDiagramChartConfiguration+import Amazonka.QuickSight.Types.SankeyDiagramFieldWells+import Amazonka.QuickSight.Types.SankeyDiagramSortConfiguration+import Amazonka.QuickSight.Types.SankeyDiagramVisual+import Amazonka.QuickSight.Types.ScatterPlotCategoricallyAggregatedFieldWells+import Amazonka.QuickSight.Types.ScatterPlotConfiguration+import Amazonka.QuickSight.Types.ScatterPlotFieldWells+import Amazonka.QuickSight.Types.ScatterPlotUnaggregatedFieldWells+import Amazonka.QuickSight.Types.ScatterPlotVisual+import Amazonka.QuickSight.Types.ScrollBarOptions+import Amazonka.QuickSight.Types.SecondaryValueOptions+import Amazonka.QuickSight.Types.SectionAfterPageBreak+import Amazonka.QuickSight.Types.SectionBasedLayoutCanvasSizeOptions+import Amazonka.QuickSight.Types.SectionBasedLayoutConfiguration+import Amazonka.QuickSight.Types.SectionBasedLayoutPaperCanvasSizeOptions+import Amazonka.QuickSight.Types.SectionLayoutConfiguration+import Amazonka.QuickSight.Types.SectionPageBreakConfiguration+import Amazonka.QuickSight.Types.SectionPageBreakStatus+import Amazonka.QuickSight.Types.SectionStyle+import Amazonka.QuickSight.Types.SelectAllValueOptions+import Amazonka.QuickSight.Types.SelectedFieldOptions+import Amazonka.QuickSight.Types.SelectedSheetsFilterScopeConfiguration+import Amazonka.QuickSight.Types.SelectedTooltipType+import Amazonka.QuickSight.Types.SeriesItem+import Amazonka.QuickSight.Types.ServiceNowParameters+import Amazonka.QuickSight.Types.SessionTag+import Amazonka.QuickSight.Types.SetParameterValueConfiguration+import Amazonka.QuickSight.Types.ShapeConditionalFormat+import Amazonka.QuickSight.Types.Sheet+import Amazonka.QuickSight.Types.SheetContentType+import Amazonka.QuickSight.Types.SheetControlDateTimePickerType+import Amazonka.QuickSight.Types.SheetControlLayout+import Amazonka.QuickSight.Types.SheetControlLayoutConfiguration+import Amazonka.QuickSight.Types.SheetControlListType+import Amazonka.QuickSight.Types.SheetControlSliderType+import Amazonka.QuickSight.Types.SheetControlsOption+import Amazonka.QuickSight.Types.SheetDefinition+import Amazonka.QuickSight.Types.SheetElementConfigurationOverrides+import Amazonka.QuickSight.Types.SheetElementRenderingRule+import Amazonka.QuickSight.Types.SheetStyle+import Amazonka.QuickSight.Types.SheetTextBox+import Amazonka.QuickSight.Types.SheetVisualScopingConfiguration+import Amazonka.QuickSight.Types.ShortFormatText+import Amazonka.QuickSight.Types.SignupResponse+import Amazonka.QuickSight.Types.SimpleClusterMarker+import Amazonka.QuickSight.Types.SimpleNumericalAggregationFunction+import Amazonka.QuickSight.Types.SliderControlDisplayOptions+import Amazonka.QuickSight.Types.SmallMultiplesOptions+import Amazonka.QuickSight.Types.SnowflakeParameters+import Amazonka.QuickSight.Types.SortDirection+import Amazonka.QuickSight.Types.Spacing+import Amazonka.QuickSight.Types.SparkParameters+import Amazonka.QuickSight.Types.SqlServerParameters+import Amazonka.QuickSight.Types.SslProperties+import Amazonka.QuickSight.Types.Status+import Amazonka.QuickSight.Types.StringDefaultValues+import Amazonka.QuickSight.Types.StringFormatConfiguration+import Amazonka.QuickSight.Types.StringParameter+import Amazonka.QuickSight.Types.StringParameterDeclaration+import Amazonka.QuickSight.Types.StringValueWhenUnsetConfiguration+import Amazonka.QuickSight.Types.SubtotalOptions+import Amazonka.QuickSight.Types.TableAggregatedFieldWells+import Amazonka.QuickSight.Types.TableBorderOptions+import Amazonka.QuickSight.Types.TableBorderStyle+import Amazonka.QuickSight.Types.TableCellConditionalFormatting+import Amazonka.QuickSight.Types.TableCellImageScalingConfiguration+import Amazonka.QuickSight.Types.TableCellImageSizingConfiguration+import Amazonka.QuickSight.Types.TableCellStyle+import Amazonka.QuickSight.Types.TableConditionalFormatting+import Amazonka.QuickSight.Types.TableConditionalFormattingOption+import Amazonka.QuickSight.Types.TableConfiguration+import Amazonka.QuickSight.Types.TableFieldCustomIconContent+import Amazonka.QuickSight.Types.TableFieldCustomTextContent+import Amazonka.QuickSight.Types.TableFieldIconSetType+import Amazonka.QuickSight.Types.TableFieldImageConfiguration+import Amazonka.QuickSight.Types.TableFieldLinkConfiguration+import Amazonka.QuickSight.Types.TableFieldLinkContentConfiguration+import Amazonka.QuickSight.Types.TableFieldOption+import Amazonka.QuickSight.Types.TableFieldOptions+import Amazonka.QuickSight.Types.TableFieldURLConfiguration+import Amazonka.QuickSight.Types.TableFieldWells+import Amazonka.QuickSight.Types.TableOptions+import Amazonka.QuickSight.Types.TableOrientation+import Amazonka.QuickSight.Types.TablePaginatedReportOptions+import Amazonka.QuickSight.Types.TableRowConditionalFormatting+import Amazonka.QuickSight.Types.TableSideBorderOptions+import Amazonka.QuickSight.Types.TableSortConfiguration+import Amazonka.QuickSight.Types.TableTotalsPlacement+import Amazonka.QuickSight.Types.TableTotalsScrollStatus+import Amazonka.QuickSight.Types.TableUnaggregatedFieldWells+import Amazonka.QuickSight.Types.TableVisual+import Amazonka.QuickSight.Types.Tag+import Amazonka.QuickSight.Types.TagColumnOperation+import Amazonka.QuickSight.Types.TargetVisualOptions+import Amazonka.QuickSight.Types.Template+import Amazonka.QuickSight.Types.TemplateAlias+import Amazonka.QuickSight.Types.TemplateError+import Amazonka.QuickSight.Types.TemplateErrorType+import Amazonka.QuickSight.Types.TemplateSourceAnalysis+import Amazonka.QuickSight.Types.TemplateSourceEntity+import Amazonka.QuickSight.Types.TemplateSourceTemplate+import Amazonka.QuickSight.Types.TemplateSummary+import Amazonka.QuickSight.Types.TemplateVersion+import Amazonka.QuickSight.Types.TemplateVersionDefinition+import Amazonka.QuickSight.Types.TemplateVersionSummary+import Amazonka.QuickSight.Types.TeradataParameters+import Amazonka.QuickSight.Types.TextAreaControlDisplayOptions+import Amazonka.QuickSight.Types.TextConditionalFormat+import Amazonka.QuickSight.Types.TextControlPlaceholderOptions+import Amazonka.QuickSight.Types.TextFieldControlDisplayOptions+import Amazonka.QuickSight.Types.TextQualifier+import Amazonka.QuickSight.Types.TextWrap+import Amazonka.QuickSight.Types.Theme+import Amazonka.QuickSight.Types.ThemeAlias+import Amazonka.QuickSight.Types.ThemeConfiguration+import Amazonka.QuickSight.Types.ThemeError+import Amazonka.QuickSight.Types.ThemeErrorType+import Amazonka.QuickSight.Types.ThemeSummary+import Amazonka.QuickSight.Types.ThemeType+import Amazonka.QuickSight.Types.ThemeVersion+import Amazonka.QuickSight.Types.ThemeVersionSummary+import Amazonka.QuickSight.Types.ThousandSeparatorOptions+import Amazonka.QuickSight.Types.TileLayoutStyle+import Amazonka.QuickSight.Types.TileStyle+import Amazonka.QuickSight.Types.TimeBasedForecastProperties+import Amazonka.QuickSight.Types.TimeEqualityFilter+import Amazonka.QuickSight.Types.TimeGranularity+import Amazonka.QuickSight.Types.TimeRangeDrillDownFilter+import Amazonka.QuickSight.Types.TimeRangeFilter+import Amazonka.QuickSight.Types.TimeRangeFilterValue+import Amazonka.QuickSight.Types.TooltipItem+import Amazonka.QuickSight.Types.TooltipOptions+import Amazonka.QuickSight.Types.TooltipTitleType+import Amazonka.QuickSight.Types.TopBottomComputationType+import Amazonka.QuickSight.Types.TopBottomFilter+import Amazonka.QuickSight.Types.TopBottomMoversComputation+import Amazonka.QuickSight.Types.TopBottomRankedComputation+import Amazonka.QuickSight.Types.TopBottomSortOrder+import Amazonka.QuickSight.Types.TotalAggregationComputation+import Amazonka.QuickSight.Types.TotalOptions+import Amazonka.QuickSight.Types.TransformOperation+import Amazonka.QuickSight.Types.TreeMapAggregatedFieldWells+import Amazonka.QuickSight.Types.TreeMapConfiguration+import Amazonka.QuickSight.Types.TreeMapFieldWells+import Amazonka.QuickSight.Types.TreeMapSortConfiguration+import Amazonka.QuickSight.Types.TreeMapVisual+import Amazonka.QuickSight.Types.TrendArrowOptions+import Amazonka.QuickSight.Types.TwitterParameters+import Amazonka.QuickSight.Types.Typography+import Amazonka.QuickSight.Types.UIColorPalette+import Amazonka.QuickSight.Types.URLTargetConfiguration+import Amazonka.QuickSight.Types.UnaggregatedField+import Amazonka.QuickSight.Types.UniqueValuesComputation+import Amazonka.QuickSight.Types.UntagColumnOperation+import Amazonka.QuickSight.Types.UploadSettings+import Amazonka.QuickSight.Types.User+import Amazonka.QuickSight.Types.UserRole+import Amazonka.QuickSight.Types.ValueWhenUnsetOption+import Amazonka.QuickSight.Types.VerticalTextAlignment+import Amazonka.QuickSight.Types.Visibility+import Amazonka.QuickSight.Types.VisibleRangeOptions+import Amazonka.QuickSight.Types.Visual+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualCustomActionOperation+import Amazonka.QuickSight.Types.VisualCustomActionTrigger+import Amazonka.QuickSight.Types.VisualPalette+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions+import Amazonka.QuickSight.Types.VpcConnectionProperties+import Amazonka.QuickSight.Types.WaterfallChartAggregatedFieldWells+import Amazonka.QuickSight.Types.WaterfallChartConfiguration+import Amazonka.QuickSight.Types.WaterfallChartFieldWells+import Amazonka.QuickSight.Types.WaterfallChartOptions+import Amazonka.QuickSight.Types.WaterfallChartSortConfiguration+import Amazonka.QuickSight.Types.WaterfallVisual+import Amazonka.QuickSight.Types.WhatIfPointScenario+import Amazonka.QuickSight.Types.WhatIfRangeScenario+import Amazonka.QuickSight.Types.WidgetStatus+import Amazonka.QuickSight.Types.WordCloudAggregatedFieldWells+import Amazonka.QuickSight.Types.WordCloudChartConfiguration+import Amazonka.QuickSight.Types.WordCloudCloudLayout+import Amazonka.QuickSight.Types.WordCloudFieldWells+import Amazonka.QuickSight.Types.WordCloudOptions+import Amazonka.QuickSight.Types.WordCloudSortConfiguration+import Amazonka.QuickSight.Types.WordCloudVisual+import Amazonka.QuickSight.Types.WordCloudWordCasing+import Amazonka.QuickSight.Types.WordCloudWordOrientation+import Amazonka.QuickSight.Types.WordCloudWordPadding+import Amazonka.QuickSight.Types.WordCloudWordScaling+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-04-01@ of the Amazon QuickSight SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "QuickSight",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "quicksight",+      Core.signingName = "quicksight",+      Core.version = "2018-04-01",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "QuickSight",+      Core.retry = retry+    }+  where+    retry =+      Core.Exponential+        { Core.base = 5.0e-2,+          Core.growth = 2,+          Core.attempts = 5,+          Core.check = check+        }+    check e+      | Lens.has (Core.hasStatus 502) e =+          Prelude.Just "bad_gateway"+      | Lens.has (Core.hasStatus 504) e =+          Prelude.Just "gateway_timeout"+      | Lens.has (Core.hasStatus 500) e =+          Prelude.Just "general_server_error"+      | Lens.has (Core.hasStatus 509) e =+          Prelude.Just "limit_exceeded"+      | Lens.has+          ( Core.hasCode "RequestThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "request_throttled_exception"+      | Lens.has (Core.hasStatus 503) e =+          Prelude.Just "service_unavailable"+      | Lens.has+          ( Core.hasCode "ThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttled_exception"+      | Lens.has+          ( Core.hasCode "Throttling"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling"+      | Lens.has+          ( Core.hasCode "ThrottlingException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling_exception"+      | Lens.has+          ( Core.hasCode+              "ProvisionedThroughputExceededException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throughput_exceeded"+      | Lens.has (Core.hasStatus 429) e =+          Prelude.Just "too_many_requests"+      | Prelude.otherwise = Prelude.Nothing++-- | You don\'t have access to this item. The provided credentials couldn\'t+-- be validated. You might not be authorized to carry out the request. Make+-- sure that your account is authorized to use the Amazon QuickSight+-- service, that your policies have the correct permissions, and that you+-- are using the correct access keys.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"+    Prelude.. Core.hasStatus 401++-- | A resource is already in a state that indicates an operation is+-- happening that must complete before a new update can be applied.+_ConcurrentUpdatingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConcurrentUpdatingException =+  Core._MatchServiceError+    defaultService+    "ConcurrentUpdatingException"+    Prelude.. Core.hasStatus 500++-- | Updating or deleting a resource can cause an inconsistent state.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | The domain specified isn\'t on the allow list. All domains for embedded+-- dashboards must be added to the approved list by an Amazon QuickSight+-- admin.+_DomainNotWhitelistedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DomainNotWhitelistedException =+  Core._MatchServiceError+    defaultService+    "DomainNotWhitelistedException"+    Prelude.. Core.hasStatus 403++-- | The identity type specified isn\'t supported. Supported identity types+-- include @IAM@ and @QUICKSIGHT@.+_IdentityTypeNotSupportedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_IdentityTypeNotSupportedException =+  Core._MatchServiceError+    defaultService+    "IdentityTypeNotSupportedException"+    Prelude.. Core.hasStatus 403++-- | An internal failure occurred.+_InternalFailureException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalFailureException =+  Core._MatchServiceError+    defaultService+    "InternalFailureException"+    Prelude.. Core.hasStatus 500++-- | The @NextToken@ value isn\'t valid.+_InvalidNextTokenException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidNextTokenException =+  Core._MatchServiceError+    defaultService+    "InvalidNextTokenException"+    Prelude.. Core.hasStatus 400++-- | One or more parameters has a value that isn\'t valid.+_InvalidParameterValueException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidParameterValueException =+  Core._MatchServiceError+    defaultService+    "InvalidParameterValueException"+    Prelude.. Core.hasStatus 400++-- | You don\'t have this feature activated for your account. To fix this+-- issue, contact Amazon Web Services support.+_InvalidRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidRequestException =+  Core._MatchServiceError+    defaultService+    "InvalidRequestException"+    Prelude.. Core.hasStatus 400++-- | A limit is exceeded.+_LimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_LimitExceededException =+  Core._MatchServiceError+    defaultService+    "LimitExceededException"+    Prelude.. Core.hasStatus 409++-- | One or more preconditions aren\'t met.+_PreconditionNotMetException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_PreconditionNotMetException =+  Core._MatchServiceError+    defaultService+    "PreconditionNotMetException"+    Prelude.. Core.hasStatus 400++-- | The user with the provided name isn\'t found. This error can happen in+-- any operation that requires finding a user based on a provided user+-- name, such as @DeleteUser@, @DescribeUser@, and so on.+_QuickSightUserNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_QuickSightUserNotFoundException =+  Core._MatchServiceError+    defaultService+    "QuickSightUserNotFoundException"+    Prelude.. Core.hasStatus 404++-- | The resource specified already exists.+_ResourceExistsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceExistsException =+  Core._MatchServiceError+    defaultService+    "ResourceExistsException"+    Prelude.. Core.hasStatus 409++-- | One or more resources can\'t be found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | This resource is currently unavailable.+_ResourceUnavailableException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceUnavailableException =+  Core._MatchServiceError+    defaultService+    "ResourceUnavailableException"+    Prelude.. Core.hasStatus 503++-- | The number of minutes specified for the lifetime of a session isn\'t+-- valid. The session lifetime must be 15-600 minutes.+_SessionLifetimeInMinutesInvalidException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_SessionLifetimeInMinutesInvalidException =+  Core._MatchServiceError+    defaultService+    "SessionLifetimeInMinutesInvalidException"+    Prelude.. Core.hasStatus 400++-- | Access is throttled.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+  Core._MatchServiceError+    defaultService+    "ThrottlingException"+    Prelude.. Core.hasStatus 429++-- | This error indicates that you are calling an embedding operation in+-- Amazon QuickSight without the required pricing plan on your Amazon Web+-- Services account. Before you can use embedding for anonymous users, a+-- QuickSight administrator needs to add capacity pricing to Amazon+-- QuickSight. You can do this on the __Manage Amazon QuickSight__ page.+--+-- After capacity pricing is added, you can use the+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GetDashboardEmbedUrl.html GetDashboardEmbedUrl>@ @+-- API operation with the @--identity-type ANONYMOUS@ option.+_UnsupportedPricingPlanException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_UnsupportedPricingPlanException =+  Core._MatchServiceError+    defaultService+    "UnsupportedPricingPlanException"+    Prelude.. Core.hasStatus 403++-- | This error indicates that you are calling an operation on an Amazon+-- QuickSight subscription where the edition doesn\'t include support for+-- that operation. Amazon Amazon QuickSight currently has Standard Edition+-- and Enterprise Edition. Not every operation and capability is available+-- in every edition.+_UnsupportedUserEditionException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_UnsupportedUserEditionException =+  Core._MatchServiceError+    defaultService+    "UnsupportedUserEditionException"+    Prelude.. Core.hasStatus 403
+ gen/Amazonka/QuickSight/Types/AccountCustomization.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.AccountCustomization+-- 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.QuickSight.Types.AccountCustomization 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 Amazon QuickSight customizations associated with your Amazon Web+-- Services account or a QuickSight namespace in a specific Amazon Web+-- Services Region.+--+-- /See:/ 'newAccountCustomization' smart constructor.+data AccountCustomization = AccountCustomization'+  { -- | The default email customization template.+    defaultEmailCustomizationTemplate :: Prelude.Maybe Prelude.Text,+    -- | The default theme for this Amazon QuickSight subscription.+    defaultTheme :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccountCustomization' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'defaultEmailCustomizationTemplate', 'accountCustomization_defaultEmailCustomizationTemplate' - The default email customization template.+--+-- 'defaultTheme', 'accountCustomization_defaultTheme' - The default theme for this Amazon QuickSight subscription.+newAccountCustomization ::+  AccountCustomization+newAccountCustomization =+  AccountCustomization'+    { defaultEmailCustomizationTemplate =+        Prelude.Nothing,+      defaultTheme = Prelude.Nothing+    }++-- | The default email customization template.+accountCustomization_defaultEmailCustomizationTemplate :: Lens.Lens' AccountCustomization (Prelude.Maybe Prelude.Text)+accountCustomization_defaultEmailCustomizationTemplate = Lens.lens (\AccountCustomization' {defaultEmailCustomizationTemplate} -> defaultEmailCustomizationTemplate) (\s@AccountCustomization' {} a -> s {defaultEmailCustomizationTemplate = a} :: AccountCustomization)++-- | The default theme for this Amazon QuickSight subscription.+accountCustomization_defaultTheme :: Lens.Lens' AccountCustomization (Prelude.Maybe Prelude.Text)+accountCustomization_defaultTheme = Lens.lens (\AccountCustomization' {defaultTheme} -> defaultTheme) (\s@AccountCustomization' {} a -> s {defaultTheme = a} :: AccountCustomization)++instance Data.FromJSON AccountCustomization where+  parseJSON =+    Data.withObject+      "AccountCustomization"+      ( \x ->+          AccountCustomization'+            Prelude.<$> (x Data..:? "DefaultEmailCustomizationTemplate")+            Prelude.<*> (x Data..:? "DefaultTheme")+      )++instance Prelude.Hashable AccountCustomization where+  hashWithSalt _salt AccountCustomization' {..} =+    _salt+      `Prelude.hashWithSalt` defaultEmailCustomizationTemplate+      `Prelude.hashWithSalt` defaultTheme++instance Prelude.NFData AccountCustomization where+  rnf AccountCustomization' {..} =+    Prelude.rnf defaultEmailCustomizationTemplate+      `Prelude.seq` Prelude.rnf defaultTheme++instance Data.ToJSON AccountCustomization where+  toJSON AccountCustomization' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DefaultEmailCustomizationTemplate" Data..=)+              Prelude.<$> defaultEmailCustomizationTemplate,+            ("DefaultTheme" Data..=) Prelude.<$> defaultTheme+          ]+      )
+ gen/Amazonka/QuickSight/Types/AccountInfo.hs view
@@ -0,0 +1,147 @@+{-# 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.QuickSight.Types.AccountInfo+-- 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.QuickSight.Types.AccountInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Edition++-- | A structure that contains the following account information elements:+--+-- -   Your Amazon QuickSight account name.+--+-- -   The edition of Amazon QuickSight that your account is using.+--+-- -   The notification email address that is associated with the Amazon+--     QuickSight account.+--+-- -   The authentication type of the Amazon QuickSight account.+--+-- -   The status of the Amazon QuickSight account\'s subscription.+--+-- /See:/ 'newAccountInfo' smart constructor.+data AccountInfo = AccountInfo'+  { -- | The account name that you provided for the Amazon QuickSight+    -- subscription in your Amazon Web Services account. You create this name+    -- when you sign up for Amazon QuickSight. It\'s unique over all of Amazon+    -- Web Services, and it appears only when users sign in.+    accountName :: Prelude.Maybe Prelude.Text,+    -- | The status of your account subscription.+    accountSubscriptionStatus :: Prelude.Maybe Prelude.Text,+    -- | The way that your Amazon QuickSight account is authenticated.+    authenticationType :: Prelude.Maybe Prelude.Text,+    -- | The edition of your Amazon QuickSight account.+    edition :: Prelude.Maybe Edition,+    -- | The email address that will be used for Amazon QuickSight to send+    -- notifications regarding your Amazon Web Services account or Amazon+    -- QuickSight subscription.+    notificationEmail :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccountInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountName', 'accountInfo_accountName' - The account name that you provided for the Amazon QuickSight+-- subscription in your Amazon Web Services account. You create this name+-- when you sign up for Amazon QuickSight. It\'s unique over all of Amazon+-- Web Services, and it appears only when users sign in.+--+-- 'accountSubscriptionStatus', 'accountInfo_accountSubscriptionStatus' - The status of your account subscription.+--+-- 'authenticationType', 'accountInfo_authenticationType' - The way that your Amazon QuickSight account is authenticated.+--+-- 'edition', 'accountInfo_edition' - The edition of your Amazon QuickSight account.+--+-- 'notificationEmail', 'accountInfo_notificationEmail' - The email address that will be used for Amazon QuickSight to send+-- notifications regarding your Amazon Web Services account or Amazon+-- QuickSight subscription.+newAccountInfo ::+  AccountInfo+newAccountInfo =+  AccountInfo'+    { accountName = Prelude.Nothing,+      accountSubscriptionStatus = Prelude.Nothing,+      authenticationType = Prelude.Nothing,+      edition = Prelude.Nothing,+      notificationEmail = Prelude.Nothing+    }++-- | The account name that you provided for the Amazon QuickSight+-- subscription in your Amazon Web Services account. You create this name+-- when you sign up for Amazon QuickSight. It\'s unique over all of Amazon+-- Web Services, and it appears only when users sign in.+accountInfo_accountName :: Lens.Lens' AccountInfo (Prelude.Maybe Prelude.Text)+accountInfo_accountName = Lens.lens (\AccountInfo' {accountName} -> accountName) (\s@AccountInfo' {} a -> s {accountName = a} :: AccountInfo)++-- | The status of your account subscription.+accountInfo_accountSubscriptionStatus :: Lens.Lens' AccountInfo (Prelude.Maybe Prelude.Text)+accountInfo_accountSubscriptionStatus = Lens.lens (\AccountInfo' {accountSubscriptionStatus} -> accountSubscriptionStatus) (\s@AccountInfo' {} a -> s {accountSubscriptionStatus = a} :: AccountInfo)++-- | The way that your Amazon QuickSight account is authenticated.+accountInfo_authenticationType :: Lens.Lens' AccountInfo (Prelude.Maybe Prelude.Text)+accountInfo_authenticationType = Lens.lens (\AccountInfo' {authenticationType} -> authenticationType) (\s@AccountInfo' {} a -> s {authenticationType = a} :: AccountInfo)++-- | The edition of your Amazon QuickSight account.+accountInfo_edition :: Lens.Lens' AccountInfo (Prelude.Maybe Edition)+accountInfo_edition = Lens.lens (\AccountInfo' {edition} -> edition) (\s@AccountInfo' {} a -> s {edition = a} :: AccountInfo)++-- | The email address that will be used for Amazon QuickSight to send+-- notifications regarding your Amazon Web Services account or Amazon+-- QuickSight subscription.+accountInfo_notificationEmail :: Lens.Lens' AccountInfo (Prelude.Maybe Prelude.Text)+accountInfo_notificationEmail = Lens.lens (\AccountInfo' {notificationEmail} -> notificationEmail) (\s@AccountInfo' {} a -> s {notificationEmail = a} :: AccountInfo)++instance Data.FromJSON AccountInfo where+  parseJSON =+    Data.withObject+      "AccountInfo"+      ( \x ->+          AccountInfo'+            Prelude.<$> (x Data..:? "AccountName")+            Prelude.<*> (x Data..:? "AccountSubscriptionStatus")+            Prelude.<*> (x Data..:? "AuthenticationType")+            Prelude.<*> (x Data..:? "Edition")+            Prelude.<*> (x Data..:? "NotificationEmail")+      )++instance Prelude.Hashable AccountInfo where+  hashWithSalt _salt AccountInfo' {..} =+    _salt+      `Prelude.hashWithSalt` accountName+      `Prelude.hashWithSalt` accountSubscriptionStatus+      `Prelude.hashWithSalt` authenticationType+      `Prelude.hashWithSalt` edition+      `Prelude.hashWithSalt` notificationEmail++instance Prelude.NFData AccountInfo where+  rnf AccountInfo' {..} =+    Prelude.rnf accountName+      `Prelude.seq` Prelude.rnf accountSubscriptionStatus+      `Prelude.seq` Prelude.rnf authenticationType+      `Prelude.seq` Prelude.rnf edition+      `Prelude.seq` Prelude.rnf notificationEmail
+ gen/Amazonka/QuickSight/Types/AccountSettings.hs view
@@ -0,0 +1,170 @@+{-# 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.QuickSight.Types.AccountSettings+-- 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.QuickSight.Types.AccountSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Edition++-- | The Amazon QuickSight settings associated with your Amazon Web Services+-- account.+--+-- /See:/ 'newAccountSettings' smart constructor.+data AccountSettings = AccountSettings'+  { -- | The \"account name\" you provided for the Amazon QuickSight subscription+    -- in your Amazon Web Services account. You create this name when you sign+    -- up for Amazon QuickSight. It is unique in all of Amazon Web Services and+    -- it appears only when users sign in.+    accountName :: Prelude.Maybe Prelude.Text,+    -- | The default Amazon QuickSight namespace for your Amazon Web Services+    -- account.+    defaultNamespace :: Prelude.Maybe Prelude.Text,+    -- | The edition of Amazon QuickSight that you\'re currently subscribed to:+    -- Enterprise edition or Standard edition.+    edition :: Prelude.Maybe Edition,+    -- | The main notification email for your Amazon QuickSight subscription.+    notificationEmail :: Prelude.Maybe Prelude.Text,+    -- | A Boolean value that indicates whether public sharing is turned on for+    -- an Amazon QuickSight account. For more information about turning on+    -- public sharing, see+    -- <https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdatePublicSharingSettings.html UpdatePublicSharingSettings>.+    publicSharingEnabled :: Prelude.Maybe Prelude.Bool,+    -- | A boolean value that determines whether or not an Amazon QuickSight+    -- account can be deleted. A @True@ value doesn\'t allow the account to be+    -- deleted and results in an error message if a user tries to make a+    -- @DeleteAccountSubsctiption@ request. A @False@ value will allow the+    -- ccount to be deleted.+    terminationProtectionEnabled :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccountSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountName', 'accountSettings_accountName' - The \"account name\" you provided for the Amazon QuickSight subscription+-- in your Amazon Web Services account. You create this name when you sign+-- up for Amazon QuickSight. It is unique in all of Amazon Web Services and+-- it appears only when users sign in.+--+-- 'defaultNamespace', 'accountSettings_defaultNamespace' - The default Amazon QuickSight namespace for your Amazon Web Services+-- account.+--+-- 'edition', 'accountSettings_edition' - The edition of Amazon QuickSight that you\'re currently subscribed to:+-- Enterprise edition or Standard edition.+--+-- 'notificationEmail', 'accountSettings_notificationEmail' - The main notification email for your Amazon QuickSight subscription.+--+-- 'publicSharingEnabled', 'accountSettings_publicSharingEnabled' - A Boolean value that indicates whether public sharing is turned on for+-- an Amazon QuickSight account. For more information about turning on+-- public sharing, see+-- <https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdatePublicSharingSettings.html UpdatePublicSharingSettings>.+--+-- 'terminationProtectionEnabled', 'accountSettings_terminationProtectionEnabled' - A boolean value that determines whether or not an Amazon QuickSight+-- account can be deleted. A @True@ value doesn\'t allow the account to be+-- deleted and results in an error message if a user tries to make a+-- @DeleteAccountSubsctiption@ request. A @False@ value will allow the+-- ccount to be deleted.+newAccountSettings ::+  AccountSettings+newAccountSettings =+  AccountSettings'+    { accountName = Prelude.Nothing,+      defaultNamespace = Prelude.Nothing,+      edition = Prelude.Nothing,+      notificationEmail = Prelude.Nothing,+      publicSharingEnabled = Prelude.Nothing,+      terminationProtectionEnabled = Prelude.Nothing+    }++-- | The \"account name\" you provided for the Amazon QuickSight subscription+-- in your Amazon Web Services account. You create this name when you sign+-- up for Amazon QuickSight. It is unique in all of Amazon Web Services and+-- it appears only when users sign in.+accountSettings_accountName :: Lens.Lens' AccountSettings (Prelude.Maybe Prelude.Text)+accountSettings_accountName = Lens.lens (\AccountSettings' {accountName} -> accountName) (\s@AccountSettings' {} a -> s {accountName = a} :: AccountSettings)++-- | The default Amazon QuickSight namespace for your Amazon Web Services+-- account.+accountSettings_defaultNamespace :: Lens.Lens' AccountSettings (Prelude.Maybe Prelude.Text)+accountSettings_defaultNamespace = Lens.lens (\AccountSettings' {defaultNamespace} -> defaultNamespace) (\s@AccountSettings' {} a -> s {defaultNamespace = a} :: AccountSettings)++-- | The edition of Amazon QuickSight that you\'re currently subscribed to:+-- Enterprise edition or Standard edition.+accountSettings_edition :: Lens.Lens' AccountSettings (Prelude.Maybe Edition)+accountSettings_edition = Lens.lens (\AccountSettings' {edition} -> edition) (\s@AccountSettings' {} a -> s {edition = a} :: AccountSettings)++-- | The main notification email for your Amazon QuickSight subscription.+accountSettings_notificationEmail :: Lens.Lens' AccountSettings (Prelude.Maybe Prelude.Text)+accountSettings_notificationEmail = Lens.lens (\AccountSettings' {notificationEmail} -> notificationEmail) (\s@AccountSettings' {} a -> s {notificationEmail = a} :: AccountSettings)++-- | A Boolean value that indicates whether public sharing is turned on for+-- an Amazon QuickSight account. For more information about turning on+-- public sharing, see+-- <https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdatePublicSharingSettings.html UpdatePublicSharingSettings>.+accountSettings_publicSharingEnabled :: Lens.Lens' AccountSettings (Prelude.Maybe Prelude.Bool)+accountSettings_publicSharingEnabled = Lens.lens (\AccountSettings' {publicSharingEnabled} -> publicSharingEnabled) (\s@AccountSettings' {} a -> s {publicSharingEnabled = a} :: AccountSettings)++-- | A boolean value that determines whether or not an Amazon QuickSight+-- account can be deleted. A @True@ value doesn\'t allow the account to be+-- deleted and results in an error message if a user tries to make a+-- @DeleteAccountSubsctiption@ request. A @False@ value will allow the+-- ccount to be deleted.+accountSettings_terminationProtectionEnabled :: Lens.Lens' AccountSettings (Prelude.Maybe Prelude.Bool)+accountSettings_terminationProtectionEnabled = Lens.lens (\AccountSettings' {terminationProtectionEnabled} -> terminationProtectionEnabled) (\s@AccountSettings' {} a -> s {terminationProtectionEnabled = a} :: AccountSettings)++instance Data.FromJSON AccountSettings where+  parseJSON =+    Data.withObject+      "AccountSettings"+      ( \x ->+          AccountSettings'+            Prelude.<$> (x Data..:? "AccountName")+            Prelude.<*> (x Data..:? "DefaultNamespace")+            Prelude.<*> (x Data..:? "Edition")+            Prelude.<*> (x Data..:? "NotificationEmail")+            Prelude.<*> (x Data..:? "PublicSharingEnabled")+            Prelude.<*> (x Data..:? "TerminationProtectionEnabled")+      )++instance Prelude.Hashable AccountSettings where+  hashWithSalt _salt AccountSettings' {..} =+    _salt+      `Prelude.hashWithSalt` accountName+      `Prelude.hashWithSalt` defaultNamespace+      `Prelude.hashWithSalt` edition+      `Prelude.hashWithSalt` notificationEmail+      `Prelude.hashWithSalt` publicSharingEnabled+      `Prelude.hashWithSalt` terminationProtectionEnabled++instance Prelude.NFData AccountSettings where+  rnf AccountSettings' {..} =+    Prelude.rnf accountName+      `Prelude.seq` Prelude.rnf defaultNamespace+      `Prelude.seq` Prelude.rnf edition+      `Prelude.seq` Prelude.rnf notificationEmail+      `Prelude.seq` Prelude.rnf publicSharingEnabled+      `Prelude.seq` Prelude.rnf terminationProtectionEnabled
+ gen/Amazonka/QuickSight/Types/ActiveIAMPolicyAssignment.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ActiveIAMPolicyAssignment+-- 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.QuickSight.Types.ActiveIAMPolicyAssignment 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 active Identity and Access Management (IAM) policy assignment.+--+-- /See:/ 'newActiveIAMPolicyAssignment' smart constructor.+data ActiveIAMPolicyAssignment = ActiveIAMPolicyAssignment'+  { -- | A name for the IAM policy assignment.+    assignmentName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the resource.+    policyArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ActiveIAMPolicyAssignment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assignmentName', 'activeIAMPolicyAssignment_assignmentName' - A name for the IAM policy assignment.+--+-- 'policyArn', 'activeIAMPolicyAssignment_policyArn' - The Amazon Resource Name (ARN) of the resource.+newActiveIAMPolicyAssignment ::+  ActiveIAMPolicyAssignment+newActiveIAMPolicyAssignment =+  ActiveIAMPolicyAssignment'+    { assignmentName =+        Prelude.Nothing,+      policyArn = Prelude.Nothing+    }++-- | A name for the IAM policy assignment.+activeIAMPolicyAssignment_assignmentName :: Lens.Lens' ActiveIAMPolicyAssignment (Prelude.Maybe Prelude.Text)+activeIAMPolicyAssignment_assignmentName = Lens.lens (\ActiveIAMPolicyAssignment' {assignmentName} -> assignmentName) (\s@ActiveIAMPolicyAssignment' {} a -> s {assignmentName = a} :: ActiveIAMPolicyAssignment)++-- | The Amazon Resource Name (ARN) of the resource.+activeIAMPolicyAssignment_policyArn :: Lens.Lens' ActiveIAMPolicyAssignment (Prelude.Maybe Prelude.Text)+activeIAMPolicyAssignment_policyArn = Lens.lens (\ActiveIAMPolicyAssignment' {policyArn} -> policyArn) (\s@ActiveIAMPolicyAssignment' {} a -> s {policyArn = a} :: ActiveIAMPolicyAssignment)++instance Data.FromJSON ActiveIAMPolicyAssignment where+  parseJSON =+    Data.withObject+      "ActiveIAMPolicyAssignment"+      ( \x ->+          ActiveIAMPolicyAssignment'+            Prelude.<$> (x Data..:? "AssignmentName")+            Prelude.<*> (x Data..:? "PolicyArn")+      )++instance Prelude.Hashable ActiveIAMPolicyAssignment where+  hashWithSalt _salt ActiveIAMPolicyAssignment' {..} =+    _salt+      `Prelude.hashWithSalt` assignmentName+      `Prelude.hashWithSalt` policyArn++instance Prelude.NFData ActiveIAMPolicyAssignment where+  rnf ActiveIAMPolicyAssignment' {..} =+    Prelude.rnf assignmentName+      `Prelude.seq` Prelude.rnf policyArn
+ gen/Amazonka/QuickSight/Types/AdHocFilteringOption.hs view
@@ -0,0 +1,73 @@+{-# 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.QuickSight.Types.AdHocFilteringOption+-- 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.QuickSight.Types.AdHocFilteringOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DashboardBehavior++-- | An ad hoc (one-time) filtering option.+--+-- /See:/ 'newAdHocFilteringOption' smart constructor.+data AdHocFilteringOption = AdHocFilteringOption'+  { -- | Availability status.+    availabilityStatus :: Prelude.Maybe DashboardBehavior+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AdHocFilteringOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availabilityStatus', 'adHocFilteringOption_availabilityStatus' - Availability status.+newAdHocFilteringOption ::+  AdHocFilteringOption+newAdHocFilteringOption =+  AdHocFilteringOption'+    { availabilityStatus =+        Prelude.Nothing+    }++-- | Availability status.+adHocFilteringOption_availabilityStatus :: Lens.Lens' AdHocFilteringOption (Prelude.Maybe DashboardBehavior)+adHocFilteringOption_availabilityStatus = Lens.lens (\AdHocFilteringOption' {availabilityStatus} -> availabilityStatus) (\s@AdHocFilteringOption' {} a -> s {availabilityStatus = a} :: AdHocFilteringOption)++instance Prelude.Hashable AdHocFilteringOption where+  hashWithSalt _salt AdHocFilteringOption' {..} =+    _salt `Prelude.hashWithSalt` availabilityStatus++instance Prelude.NFData AdHocFilteringOption where+  rnf AdHocFilteringOption' {..} =+    Prelude.rnf availabilityStatus++instance Data.ToJSON AdHocFilteringOption where+  toJSON AdHocFilteringOption' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AvailabilityStatus" Data..=)+              Prelude.<$> availabilityStatus+          ]+      )
+ gen/Amazonka/QuickSight/Types/AggregationFunction.hs view
@@ -0,0 +1,158 @@+{-# 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.QuickSight.Types.AggregationFunction+-- 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.QuickSight.Types.AggregationFunction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CategoricalAggregationFunction+import Amazonka.QuickSight.Types.DateAggregationFunction+import Amazonka.QuickSight.Types.NumericalAggregationFunction++-- | An aggregation function aggregates values from a dimension or measure.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newAggregationFunction' smart constructor.+data AggregationFunction = AggregationFunction'+  { -- | Aggregation for categorical values.+    --+    -- -   @COUNT@: Aggregate by the total number of values, including+    --     duplicates.+    --+    -- -   @DISTINCT_COUNT@: Aggregate by the total number of distinct values.+    categoricalAggregationFunction :: Prelude.Maybe CategoricalAggregationFunction,+    -- | Aggregation for date values.+    --+    -- -   @COUNT@: Aggregate by the total number of values, including+    --     duplicates.+    --+    -- -   @DISTINCT_COUNT@: Aggregate by the total number of distinct values.+    --+    -- -   @MIN@: Select the smallest date value.+    --+    -- -   @MAX@: Select the largest date value.+    dateAggregationFunction :: Prelude.Maybe DateAggregationFunction,+    -- | Aggregation for numerical values.+    numericalAggregationFunction :: Prelude.Maybe NumericalAggregationFunction+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AggregationFunction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categoricalAggregationFunction', 'aggregationFunction_categoricalAggregationFunction' - Aggregation for categorical values.+--+-- -   @COUNT@: Aggregate by the total number of values, including+--     duplicates.+--+-- -   @DISTINCT_COUNT@: Aggregate by the total number of distinct values.+--+-- 'dateAggregationFunction', 'aggregationFunction_dateAggregationFunction' - Aggregation for date values.+--+-- -   @COUNT@: Aggregate by the total number of values, including+--     duplicates.+--+-- -   @DISTINCT_COUNT@: Aggregate by the total number of distinct values.+--+-- -   @MIN@: Select the smallest date value.+--+-- -   @MAX@: Select the largest date value.+--+-- 'numericalAggregationFunction', 'aggregationFunction_numericalAggregationFunction' - Aggregation for numerical values.+newAggregationFunction ::+  AggregationFunction+newAggregationFunction =+  AggregationFunction'+    { categoricalAggregationFunction =+        Prelude.Nothing,+      dateAggregationFunction = Prelude.Nothing,+      numericalAggregationFunction = Prelude.Nothing+    }++-- | Aggregation for categorical values.+--+-- -   @COUNT@: Aggregate by the total number of values, including+--     duplicates.+--+-- -   @DISTINCT_COUNT@: Aggregate by the total number of distinct values.+aggregationFunction_categoricalAggregationFunction :: Lens.Lens' AggregationFunction (Prelude.Maybe CategoricalAggregationFunction)+aggregationFunction_categoricalAggregationFunction = Lens.lens (\AggregationFunction' {categoricalAggregationFunction} -> categoricalAggregationFunction) (\s@AggregationFunction' {} a -> s {categoricalAggregationFunction = a} :: AggregationFunction)++-- | Aggregation for date values.+--+-- -   @COUNT@: Aggregate by the total number of values, including+--     duplicates.+--+-- -   @DISTINCT_COUNT@: Aggregate by the total number of distinct values.+--+-- -   @MIN@: Select the smallest date value.+--+-- -   @MAX@: Select the largest date value.+aggregationFunction_dateAggregationFunction :: Lens.Lens' AggregationFunction (Prelude.Maybe DateAggregationFunction)+aggregationFunction_dateAggregationFunction = Lens.lens (\AggregationFunction' {dateAggregationFunction} -> dateAggregationFunction) (\s@AggregationFunction' {} a -> s {dateAggregationFunction = a} :: AggregationFunction)++-- | Aggregation for numerical values.+aggregationFunction_numericalAggregationFunction :: Lens.Lens' AggregationFunction (Prelude.Maybe NumericalAggregationFunction)+aggregationFunction_numericalAggregationFunction = Lens.lens (\AggregationFunction' {numericalAggregationFunction} -> numericalAggregationFunction) (\s@AggregationFunction' {} a -> s {numericalAggregationFunction = a} :: AggregationFunction)++instance Data.FromJSON AggregationFunction where+  parseJSON =+    Data.withObject+      "AggregationFunction"+      ( \x ->+          AggregationFunction'+            Prelude.<$> (x Data..:? "CategoricalAggregationFunction")+            Prelude.<*> (x Data..:? "DateAggregationFunction")+            Prelude.<*> (x Data..:? "NumericalAggregationFunction")+      )++instance Prelude.Hashable AggregationFunction where+  hashWithSalt _salt AggregationFunction' {..} =+    _salt+      `Prelude.hashWithSalt` categoricalAggregationFunction+      `Prelude.hashWithSalt` dateAggregationFunction+      `Prelude.hashWithSalt` numericalAggregationFunction++instance Prelude.NFData AggregationFunction where+  rnf AggregationFunction' {..} =+    Prelude.rnf categoricalAggregationFunction+      `Prelude.seq` Prelude.rnf dateAggregationFunction+      `Prelude.seq` Prelude.rnf numericalAggregationFunction++instance Data.ToJSON AggregationFunction where+  toJSON AggregationFunction' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoricalAggregationFunction" Data..=)+              Prelude.<$> categoricalAggregationFunction,+            ("DateAggregationFunction" Data..=)+              Prelude.<$> dateAggregationFunction,+            ("NumericalAggregationFunction" Data..=)+              Prelude.<$> numericalAggregationFunction+          ]+      )
+ gen/Amazonka/QuickSight/Types/AggregationSortConfiguration.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.QuickSight.Types.AggregationSortConfiguration+-- 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.QuickSight.Types.AggregationSortConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AggregationFunction+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.SortDirection++-- | The configuration options to sort aggregated values.+--+-- /See:/ 'newAggregationSortConfiguration' smart constructor.+data AggregationSortConfiguration = AggregationSortConfiguration'+  { -- | The column that determines the sort order of aggregated values.+    column :: ColumnIdentifier,+    -- | The sort direction of values.+    --+    -- -   @ASC@: Sort in ascending order.+    --+    -- -   @DESC@: Sort in descending order.+    sortDirection :: SortDirection,+    -- | The function that aggregates the values in @Column@.+    aggregationFunction :: AggregationFunction+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AggregationSortConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'column', 'aggregationSortConfiguration_column' - The column that determines the sort order of aggregated values.+--+-- 'sortDirection', 'aggregationSortConfiguration_sortDirection' - The sort direction of values.+--+-- -   @ASC@: Sort in ascending order.+--+-- -   @DESC@: Sort in descending order.+--+-- 'aggregationFunction', 'aggregationSortConfiguration_aggregationFunction' - The function that aggregates the values in @Column@.+newAggregationSortConfiguration ::+  -- | 'column'+  ColumnIdentifier ->+  -- | 'sortDirection'+  SortDirection ->+  -- | 'aggregationFunction'+  AggregationFunction ->+  AggregationSortConfiguration+newAggregationSortConfiguration+  pColumn_+  pSortDirection_+  pAggregationFunction_ =+    AggregationSortConfiguration'+      { column = pColumn_,+        sortDirection = pSortDirection_,+        aggregationFunction = pAggregationFunction_+      }++-- | The column that determines the sort order of aggregated values.+aggregationSortConfiguration_column :: Lens.Lens' AggregationSortConfiguration ColumnIdentifier+aggregationSortConfiguration_column = Lens.lens (\AggregationSortConfiguration' {column} -> column) (\s@AggregationSortConfiguration' {} a -> s {column = a} :: AggregationSortConfiguration)++-- | The sort direction of values.+--+-- -   @ASC@: Sort in ascending order.+--+-- -   @DESC@: Sort in descending order.+aggregationSortConfiguration_sortDirection :: Lens.Lens' AggregationSortConfiguration SortDirection+aggregationSortConfiguration_sortDirection = Lens.lens (\AggregationSortConfiguration' {sortDirection} -> sortDirection) (\s@AggregationSortConfiguration' {} a -> s {sortDirection = a} :: AggregationSortConfiguration)++-- | The function that aggregates the values in @Column@.+aggregationSortConfiguration_aggregationFunction :: Lens.Lens' AggregationSortConfiguration AggregationFunction+aggregationSortConfiguration_aggregationFunction = Lens.lens (\AggregationSortConfiguration' {aggregationFunction} -> aggregationFunction) (\s@AggregationSortConfiguration' {} a -> s {aggregationFunction = a} :: AggregationSortConfiguration)++instance Data.FromJSON AggregationSortConfiguration where+  parseJSON =+    Data.withObject+      "AggregationSortConfiguration"+      ( \x ->+          AggregationSortConfiguration'+            Prelude.<$> (x Data..: "Column")+            Prelude.<*> (x Data..: "SortDirection")+            Prelude.<*> (x Data..: "AggregationFunction")+      )++instance+  Prelude.Hashable+    AggregationSortConfiguration+  where+  hashWithSalt _salt AggregationSortConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` column+      `Prelude.hashWithSalt` sortDirection+      `Prelude.hashWithSalt` aggregationFunction++instance Prelude.NFData AggregationSortConfiguration where+  rnf AggregationSortConfiguration' {..} =+    Prelude.rnf column+      `Prelude.seq` Prelude.rnf sortDirection+      `Prelude.seq` Prelude.rnf aggregationFunction++instance Data.ToJSON AggregationSortConfiguration where+  toJSON AggregationSortConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Column" Data..= column),+            Prelude.Just ("SortDirection" Data..= sortDirection),+            Prelude.Just+              ("AggregationFunction" Data..= aggregationFunction)+          ]+      )
+ gen/Amazonka/QuickSight/Types/AmazonElasticsearchParameters.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.QuickSight.Types.AmazonElasticsearchParameters+-- 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.QuickSight.Types.AmazonElasticsearchParameters 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 parameters for OpenSearch.+--+-- /See:/ 'newAmazonElasticsearchParameters' smart constructor.+data AmazonElasticsearchParameters = AmazonElasticsearchParameters'+  { -- | The OpenSearch domain.+    domain :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AmazonElasticsearchParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'amazonElasticsearchParameters_domain' - The OpenSearch domain.+newAmazonElasticsearchParameters ::+  -- | 'domain'+  Prelude.Text ->+  AmazonElasticsearchParameters+newAmazonElasticsearchParameters pDomain_ =+  AmazonElasticsearchParameters' {domain = pDomain_}++-- | The OpenSearch domain.+amazonElasticsearchParameters_domain :: Lens.Lens' AmazonElasticsearchParameters Prelude.Text+amazonElasticsearchParameters_domain = Lens.lens (\AmazonElasticsearchParameters' {domain} -> domain) (\s@AmazonElasticsearchParameters' {} a -> s {domain = a} :: AmazonElasticsearchParameters)++instance Data.FromJSON AmazonElasticsearchParameters where+  parseJSON =+    Data.withObject+      "AmazonElasticsearchParameters"+      ( \x ->+          AmazonElasticsearchParameters'+            Prelude.<$> (x Data..: "Domain")+      )++instance+  Prelude.Hashable+    AmazonElasticsearchParameters+  where+  hashWithSalt _salt AmazonElasticsearchParameters' {..} =+    _salt `Prelude.hashWithSalt` domain++instance Prelude.NFData AmazonElasticsearchParameters where+  rnf AmazonElasticsearchParameters' {..} =+    Prelude.rnf domain++instance Data.ToJSON AmazonElasticsearchParameters where+  toJSON AmazonElasticsearchParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Domain" Data..= domain)]+      )
+ gen/Amazonka/QuickSight/Types/AmazonOpenSearchParameters.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.AmazonOpenSearchParameters+-- 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.QuickSight.Types.AmazonOpenSearchParameters 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 parameters for OpenSearch.+--+-- /See:/ 'newAmazonOpenSearchParameters' smart constructor.+data AmazonOpenSearchParameters = AmazonOpenSearchParameters'+  { -- | The OpenSearch domain.+    domain :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AmazonOpenSearchParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'amazonOpenSearchParameters_domain' - The OpenSearch domain.+newAmazonOpenSearchParameters ::+  -- | 'domain'+  Prelude.Text ->+  AmazonOpenSearchParameters+newAmazonOpenSearchParameters pDomain_ =+  AmazonOpenSearchParameters' {domain = pDomain_}++-- | The OpenSearch domain.+amazonOpenSearchParameters_domain :: Lens.Lens' AmazonOpenSearchParameters Prelude.Text+amazonOpenSearchParameters_domain = Lens.lens (\AmazonOpenSearchParameters' {domain} -> domain) (\s@AmazonOpenSearchParameters' {} a -> s {domain = a} :: AmazonOpenSearchParameters)++instance Data.FromJSON AmazonOpenSearchParameters where+  parseJSON =+    Data.withObject+      "AmazonOpenSearchParameters"+      ( \x ->+          AmazonOpenSearchParameters'+            Prelude.<$> (x Data..: "Domain")+      )++instance Prelude.Hashable AmazonOpenSearchParameters where+  hashWithSalt _salt AmazonOpenSearchParameters' {..} =+    _salt `Prelude.hashWithSalt` domain++instance Prelude.NFData AmazonOpenSearchParameters where+  rnf AmazonOpenSearchParameters' {..} =+    Prelude.rnf domain++instance Data.ToJSON AmazonOpenSearchParameters where+  toJSON AmazonOpenSearchParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Domain" Data..= domain)]+      )
+ gen/Amazonka/QuickSight/Types/Analysis.hs view
@@ -0,0 +1,186 @@+{-# 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.QuickSight.Types.Analysis+-- 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.QuickSight.Types.Analysis where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AnalysisError+import Amazonka.QuickSight.Types.ResourceStatus+import Amazonka.QuickSight.Types.Sheet++-- | Metadata structure for an analysis in Amazon QuickSight+--+-- /See:/ 'newAnalysis' smart constructor.+data Analysis = Analysis'+  { -- | The ID of the analysis.+    analysisId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the analysis.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time that the analysis was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The ARNs of the datasets of the analysis.+    dataSetArns :: Prelude.Maybe [Prelude.Text],+    -- | Errors associated with the analysis.+    errors :: Prelude.Maybe (Prelude.NonEmpty AnalysisError),+    -- | The time that the analysis was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The descriptive name of the analysis.+    name :: Prelude.Maybe Prelude.Text,+    -- | A list of the associated sheets with the unique identifier and name of+    -- each sheet.+    sheets :: Prelude.Maybe [Sheet],+    -- | Status associated with the analysis.+    status :: Prelude.Maybe ResourceStatus,+    -- | The ARN of the theme of the analysis.+    themeArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Analysis' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analysisId', 'analysis_analysisId' - The ID of the analysis.+--+-- 'arn', 'analysis_arn' - The Amazon Resource Name (ARN) of the analysis.+--+-- 'createdTime', 'analysis_createdTime' - The time that the analysis was created.+--+-- 'dataSetArns', 'analysis_dataSetArns' - The ARNs of the datasets of the analysis.+--+-- 'errors', 'analysis_errors' - Errors associated with the analysis.+--+-- 'lastUpdatedTime', 'analysis_lastUpdatedTime' - The time that the analysis was last updated.+--+-- 'name', 'analysis_name' - The descriptive name of the analysis.+--+-- 'sheets', 'analysis_sheets' - A list of the associated sheets with the unique identifier and name of+-- each sheet.+--+-- 'status', 'analysis_status' - Status associated with the analysis.+--+-- 'themeArn', 'analysis_themeArn' - The ARN of the theme of the analysis.+newAnalysis ::+  Analysis+newAnalysis =+  Analysis'+    { analysisId = Prelude.Nothing,+      arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      dataSetArns = Prelude.Nothing,+      errors = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      sheets = Prelude.Nothing,+      status = Prelude.Nothing,+      themeArn = Prelude.Nothing+    }++-- | The ID of the analysis.+analysis_analysisId :: Lens.Lens' Analysis (Prelude.Maybe Prelude.Text)+analysis_analysisId = Lens.lens (\Analysis' {analysisId} -> analysisId) (\s@Analysis' {} a -> s {analysisId = a} :: Analysis)++-- | The Amazon Resource Name (ARN) of the analysis.+analysis_arn :: Lens.Lens' Analysis (Prelude.Maybe Prelude.Text)+analysis_arn = Lens.lens (\Analysis' {arn} -> arn) (\s@Analysis' {} a -> s {arn = a} :: Analysis)++-- | The time that the analysis was created.+analysis_createdTime :: Lens.Lens' Analysis (Prelude.Maybe Prelude.UTCTime)+analysis_createdTime = Lens.lens (\Analysis' {createdTime} -> createdTime) (\s@Analysis' {} a -> s {createdTime = a} :: Analysis) Prelude.. Lens.mapping Data._Time++-- | The ARNs of the datasets of the analysis.+analysis_dataSetArns :: Lens.Lens' Analysis (Prelude.Maybe [Prelude.Text])+analysis_dataSetArns = Lens.lens (\Analysis' {dataSetArns} -> dataSetArns) (\s@Analysis' {} a -> s {dataSetArns = a} :: Analysis) Prelude.. Lens.mapping Lens.coerced++-- | Errors associated with the analysis.+analysis_errors :: Lens.Lens' Analysis (Prelude.Maybe (Prelude.NonEmpty AnalysisError))+analysis_errors = Lens.lens (\Analysis' {errors} -> errors) (\s@Analysis' {} a -> s {errors = a} :: Analysis) Prelude.. Lens.mapping Lens.coerced++-- | The time that the analysis was last updated.+analysis_lastUpdatedTime :: Lens.Lens' Analysis (Prelude.Maybe Prelude.UTCTime)+analysis_lastUpdatedTime = Lens.lens (\Analysis' {lastUpdatedTime} -> lastUpdatedTime) (\s@Analysis' {} a -> s {lastUpdatedTime = a} :: Analysis) Prelude.. Lens.mapping Data._Time++-- | The descriptive name of the analysis.+analysis_name :: Lens.Lens' Analysis (Prelude.Maybe Prelude.Text)+analysis_name = Lens.lens (\Analysis' {name} -> name) (\s@Analysis' {} a -> s {name = a} :: Analysis)++-- | A list of the associated sheets with the unique identifier and name of+-- each sheet.+analysis_sheets :: Lens.Lens' Analysis (Prelude.Maybe [Sheet])+analysis_sheets = Lens.lens (\Analysis' {sheets} -> sheets) (\s@Analysis' {} a -> s {sheets = a} :: Analysis) Prelude.. Lens.mapping Lens.coerced++-- | Status associated with the analysis.+analysis_status :: Lens.Lens' Analysis (Prelude.Maybe ResourceStatus)+analysis_status = Lens.lens (\Analysis' {status} -> status) (\s@Analysis' {} a -> s {status = a} :: Analysis)++-- | The ARN of the theme of the analysis.+analysis_themeArn :: Lens.Lens' Analysis (Prelude.Maybe Prelude.Text)+analysis_themeArn = Lens.lens (\Analysis' {themeArn} -> themeArn) (\s@Analysis' {} a -> s {themeArn = a} :: Analysis)++instance Data.FromJSON Analysis where+  parseJSON =+    Data.withObject+      "Analysis"+      ( \x ->+          Analysis'+            Prelude.<$> (x Data..:? "AnalysisId")+            Prelude.<*> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "DataSetArns" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Errors")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Sheets" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "ThemeArn")+      )++instance Prelude.Hashable Analysis where+  hashWithSalt _salt Analysis' {..} =+    _salt+      `Prelude.hashWithSalt` analysisId+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` dataSetArns+      `Prelude.hashWithSalt` errors+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` sheets+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` themeArn++instance Prelude.NFData Analysis where+  rnf Analysis' {..} =+    Prelude.rnf analysisId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf dataSetArns+      `Prelude.seq` Prelude.rnf errors+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf sheets+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf themeArn
+ gen/Amazonka/QuickSight/Types/AnalysisDefaults.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.QuickSight.Types.AnalysisDefaults+-- 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.QuickSight.Types.AnalysisDefaults where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DefaultNewSheetConfiguration++-- | The configuration for default analysis settings.+--+-- /See:/ 'newAnalysisDefaults' smart constructor.+data AnalysisDefaults = AnalysisDefaults'+  { -- | The configuration for default new sheet settings.+    defaultNewSheetConfiguration :: DefaultNewSheetConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnalysisDefaults' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'defaultNewSheetConfiguration', 'analysisDefaults_defaultNewSheetConfiguration' - The configuration for default new sheet settings.+newAnalysisDefaults ::+  -- | 'defaultNewSheetConfiguration'+  DefaultNewSheetConfiguration ->+  AnalysisDefaults+newAnalysisDefaults pDefaultNewSheetConfiguration_ =+  AnalysisDefaults'+    { defaultNewSheetConfiguration =+        pDefaultNewSheetConfiguration_+    }++-- | The configuration for default new sheet settings.+analysisDefaults_defaultNewSheetConfiguration :: Lens.Lens' AnalysisDefaults DefaultNewSheetConfiguration+analysisDefaults_defaultNewSheetConfiguration = Lens.lens (\AnalysisDefaults' {defaultNewSheetConfiguration} -> defaultNewSheetConfiguration) (\s@AnalysisDefaults' {} a -> s {defaultNewSheetConfiguration = a} :: AnalysisDefaults)++instance Data.FromJSON AnalysisDefaults where+  parseJSON =+    Data.withObject+      "AnalysisDefaults"+      ( \x ->+          AnalysisDefaults'+            Prelude.<$> (x Data..: "DefaultNewSheetConfiguration")+      )++instance Prelude.Hashable AnalysisDefaults where+  hashWithSalt _salt AnalysisDefaults' {..} =+    _salt+      `Prelude.hashWithSalt` defaultNewSheetConfiguration++instance Prelude.NFData AnalysisDefaults where+  rnf AnalysisDefaults' {..} =+    Prelude.rnf defaultNewSheetConfiguration++instance Data.ToJSON AnalysisDefaults where+  toJSON AnalysisDefaults' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "DefaultNewSheetConfiguration"+                  Data..= defaultNewSheetConfiguration+              )+          ]+      )
+ gen/Amazonka/QuickSight/Types/AnalysisDefinition.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.QuickSight.Types.AnalysisDefinition+-- 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.QuickSight.Types.AnalysisDefinition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AnalysisDefaults+import Amazonka.QuickSight.Types.CalculatedField+import Amazonka.QuickSight.Types.ColumnConfiguration+import Amazonka.QuickSight.Types.DataSetIdentifierDeclaration+import Amazonka.QuickSight.Types.FilterGroup+import Amazonka.QuickSight.Types.ParameterDeclaration+import Amazonka.QuickSight.Types.SheetDefinition++-- | The definition of an analysis.+--+-- /See:/ 'newAnalysisDefinition' smart constructor.+data AnalysisDefinition = AnalysisDefinition'+  { analysisDefaults :: Prelude.Maybe AnalysisDefaults,+    -- | An array of calculated field definitions for the analysis.+    calculatedFields :: Prelude.Maybe [CalculatedField],+    -- | An array of analysis-level column configurations. Column configurations+    -- can be used to set default formatting for a column to be used throughout+    -- an analysis.+    columnConfigurations :: Prelude.Maybe [ColumnConfiguration],+    -- | Filter definitions for an analysis.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/adding-a-filter.html Filtering Data in Amazon QuickSight>+    -- in the /Amazon QuickSight User Guide/.+    filterGroups :: Prelude.Maybe [FilterGroup],+    -- | An array of parameter declarations for an analysis.+    --+    -- Parameters are named variables that can transfer a value for use by an+    -- action or an object.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html Parameters in Amazon QuickSight>+    -- in the /Amazon QuickSight User Guide/.+    parameterDeclarations :: Prelude.Maybe [ParameterDeclaration],+    -- | An array of sheet definitions for an analysis. Each @SheetDefinition@+    -- provides detailed information about a sheet within this analysis.+    sheets :: Prelude.Maybe [SheetDefinition],+    -- | An array of dataset identifier declarations. This mapping allows the+    -- usage of dataset identifiers instead of dataset ARNs throughout analysis+    -- sub-structures.+    dataSetIdentifierDeclarations :: Prelude.NonEmpty DataSetIdentifierDeclaration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnalysisDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analysisDefaults', 'analysisDefinition_analysisDefaults' - Undocumented member.+--+-- 'calculatedFields', 'analysisDefinition_calculatedFields' - An array of calculated field definitions for the analysis.+--+-- 'columnConfigurations', 'analysisDefinition_columnConfigurations' - An array of analysis-level column configurations. Column configurations+-- can be used to set default formatting for a column to be used throughout+-- an analysis.+--+-- 'filterGroups', 'analysisDefinition_filterGroups' - Filter definitions for an analysis.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/adding-a-filter.html Filtering Data in Amazon QuickSight>+-- in the /Amazon QuickSight User Guide/.+--+-- 'parameterDeclarations', 'analysisDefinition_parameterDeclarations' - An array of parameter declarations for an analysis.+--+-- Parameters are named variables that can transfer a value for use by an+-- action or an object.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html Parameters in Amazon QuickSight>+-- in the /Amazon QuickSight User Guide/.+--+-- 'sheets', 'analysisDefinition_sheets' - An array of sheet definitions for an analysis. Each @SheetDefinition@+-- provides detailed information about a sheet within this analysis.+--+-- 'dataSetIdentifierDeclarations', 'analysisDefinition_dataSetIdentifierDeclarations' - An array of dataset identifier declarations. This mapping allows the+-- usage of dataset identifiers instead of dataset ARNs throughout analysis+-- sub-structures.+newAnalysisDefinition ::+  -- | 'dataSetIdentifierDeclarations'+  Prelude.NonEmpty DataSetIdentifierDeclaration ->+  AnalysisDefinition+newAnalysisDefinition pDataSetIdentifierDeclarations_ =+  AnalysisDefinition'+    { analysisDefaults =+        Prelude.Nothing,+      calculatedFields = Prelude.Nothing,+      columnConfigurations = Prelude.Nothing,+      filterGroups = Prelude.Nothing,+      parameterDeclarations = Prelude.Nothing,+      sheets = Prelude.Nothing,+      dataSetIdentifierDeclarations =+        Lens.coerced Lens.# pDataSetIdentifierDeclarations_+    }++-- | Undocumented member.+analysisDefinition_analysisDefaults :: Lens.Lens' AnalysisDefinition (Prelude.Maybe AnalysisDefaults)+analysisDefinition_analysisDefaults = Lens.lens (\AnalysisDefinition' {analysisDefaults} -> analysisDefaults) (\s@AnalysisDefinition' {} a -> s {analysisDefaults = a} :: AnalysisDefinition)++-- | An array of calculated field definitions for the analysis.+analysisDefinition_calculatedFields :: Lens.Lens' AnalysisDefinition (Prelude.Maybe [CalculatedField])+analysisDefinition_calculatedFields = Lens.lens (\AnalysisDefinition' {calculatedFields} -> calculatedFields) (\s@AnalysisDefinition' {} a -> s {calculatedFields = a} :: AnalysisDefinition) Prelude.. Lens.mapping Lens.coerced++-- | An array of analysis-level column configurations. Column configurations+-- can be used to set default formatting for a column to be used throughout+-- an analysis.+analysisDefinition_columnConfigurations :: Lens.Lens' AnalysisDefinition (Prelude.Maybe [ColumnConfiguration])+analysisDefinition_columnConfigurations = Lens.lens (\AnalysisDefinition' {columnConfigurations} -> columnConfigurations) (\s@AnalysisDefinition' {} a -> s {columnConfigurations = a} :: AnalysisDefinition) Prelude.. Lens.mapping Lens.coerced++-- | Filter definitions for an analysis.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/adding-a-filter.html Filtering Data in Amazon QuickSight>+-- in the /Amazon QuickSight User Guide/.+analysisDefinition_filterGroups :: Lens.Lens' AnalysisDefinition (Prelude.Maybe [FilterGroup])+analysisDefinition_filterGroups = Lens.lens (\AnalysisDefinition' {filterGroups} -> filterGroups) (\s@AnalysisDefinition' {} a -> s {filterGroups = a} :: AnalysisDefinition) Prelude.. Lens.mapping Lens.coerced++-- | An array of parameter declarations for an analysis.+--+-- Parameters are named variables that can transfer a value for use by an+-- action or an object.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html Parameters in Amazon QuickSight>+-- in the /Amazon QuickSight User Guide/.+analysisDefinition_parameterDeclarations :: Lens.Lens' AnalysisDefinition (Prelude.Maybe [ParameterDeclaration])+analysisDefinition_parameterDeclarations = Lens.lens (\AnalysisDefinition' {parameterDeclarations} -> parameterDeclarations) (\s@AnalysisDefinition' {} a -> s {parameterDeclarations = a} :: AnalysisDefinition) Prelude.. Lens.mapping Lens.coerced++-- | An array of sheet definitions for an analysis. Each @SheetDefinition@+-- provides detailed information about a sheet within this analysis.+analysisDefinition_sheets :: Lens.Lens' AnalysisDefinition (Prelude.Maybe [SheetDefinition])+analysisDefinition_sheets = Lens.lens (\AnalysisDefinition' {sheets} -> sheets) (\s@AnalysisDefinition' {} a -> s {sheets = a} :: AnalysisDefinition) Prelude.. Lens.mapping Lens.coerced++-- | An array of dataset identifier declarations. This mapping allows the+-- usage of dataset identifiers instead of dataset ARNs throughout analysis+-- sub-structures.+analysisDefinition_dataSetIdentifierDeclarations :: Lens.Lens' AnalysisDefinition (Prelude.NonEmpty DataSetIdentifierDeclaration)+analysisDefinition_dataSetIdentifierDeclarations = Lens.lens (\AnalysisDefinition' {dataSetIdentifierDeclarations} -> dataSetIdentifierDeclarations) (\s@AnalysisDefinition' {} a -> s {dataSetIdentifierDeclarations = a} :: AnalysisDefinition) Prelude.. Lens.coerced++instance Data.FromJSON AnalysisDefinition where+  parseJSON =+    Data.withObject+      "AnalysisDefinition"+      ( \x ->+          AnalysisDefinition'+            Prelude.<$> (x Data..:? "AnalysisDefaults")+            Prelude.<*> ( x+                            Data..:? "CalculatedFields"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "ColumnConfigurations"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "FilterGroups" Data..!= Prelude.mempty)+            Prelude.<*> ( x+                            Data..:? "ParameterDeclarations"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Sheets" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "DataSetIdentifierDeclarations")+      )++instance Prelude.Hashable AnalysisDefinition where+  hashWithSalt _salt AnalysisDefinition' {..} =+    _salt+      `Prelude.hashWithSalt` analysisDefaults+      `Prelude.hashWithSalt` calculatedFields+      `Prelude.hashWithSalt` columnConfigurations+      `Prelude.hashWithSalt` filterGroups+      `Prelude.hashWithSalt` parameterDeclarations+      `Prelude.hashWithSalt` sheets+      `Prelude.hashWithSalt` dataSetIdentifierDeclarations++instance Prelude.NFData AnalysisDefinition where+  rnf AnalysisDefinition' {..} =+    Prelude.rnf analysisDefaults+      `Prelude.seq` Prelude.rnf calculatedFields+      `Prelude.seq` Prelude.rnf columnConfigurations+      `Prelude.seq` Prelude.rnf filterGroups+      `Prelude.seq` Prelude.rnf parameterDeclarations+      `Prelude.seq` Prelude.rnf sheets+      `Prelude.seq` Prelude.rnf dataSetIdentifierDeclarations++instance Data.ToJSON AnalysisDefinition where+  toJSON AnalysisDefinition' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AnalysisDefaults" Data..=)+              Prelude.<$> analysisDefaults,+            ("CalculatedFields" Data..=)+              Prelude.<$> calculatedFields,+            ("ColumnConfigurations" Data..=)+              Prelude.<$> columnConfigurations,+            ("FilterGroups" Data..=) Prelude.<$> filterGroups,+            ("ParameterDeclarations" Data..=)+              Prelude.<$> parameterDeclarations,+            ("Sheets" Data..=) Prelude.<$> sheets,+            Prelude.Just+              ( "DataSetIdentifierDeclarations"+                  Data..= dataSetIdentifierDeclarations+              )+          ]+      )
+ gen/Amazonka/QuickSight/Types/AnalysisError.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.AnalysisError+-- 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.QuickSight.Types.AnalysisError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AnalysisErrorType+import Amazonka.QuickSight.Types.Entity++-- | Analysis error.+--+-- /See:/ 'newAnalysisError' smart constructor.+data AnalysisError = AnalysisError'+  { -- | The message associated with the analysis error.+    message :: Prelude.Maybe Prelude.Text,+    -- | The type of the analysis error.+    type' :: Prelude.Maybe AnalysisErrorType,+    violatedEntities :: Prelude.Maybe [Entity]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnalysisError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'analysisError_message' - The message associated with the analysis error.+--+-- 'type'', 'analysisError_type' - The type of the analysis error.+--+-- 'violatedEntities', 'analysisError_violatedEntities' -+newAnalysisError ::+  AnalysisError+newAnalysisError =+  AnalysisError'+    { message = Prelude.Nothing,+      type' = Prelude.Nothing,+      violatedEntities = Prelude.Nothing+    }++-- | The message associated with the analysis error.+analysisError_message :: Lens.Lens' AnalysisError (Prelude.Maybe Prelude.Text)+analysisError_message = Lens.lens (\AnalysisError' {message} -> message) (\s@AnalysisError' {} a -> s {message = a} :: AnalysisError)++-- | The type of the analysis error.+analysisError_type :: Lens.Lens' AnalysisError (Prelude.Maybe AnalysisErrorType)+analysisError_type = Lens.lens (\AnalysisError' {type'} -> type') (\s@AnalysisError' {} a -> s {type' = a} :: AnalysisError)++analysisError_violatedEntities :: Lens.Lens' AnalysisError (Prelude.Maybe [Entity])+analysisError_violatedEntities = Lens.lens (\AnalysisError' {violatedEntities} -> violatedEntities) (\s@AnalysisError' {} a -> s {violatedEntities = a} :: AnalysisError) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON AnalysisError where+  parseJSON =+    Data.withObject+      "AnalysisError"+      ( \x ->+          AnalysisError'+            Prelude.<$> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "Type")+            Prelude.<*> ( x+                            Data..:? "ViolatedEntities"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable AnalysisError where+  hashWithSalt _salt AnalysisError' {..} =+    _salt+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` violatedEntities++instance Prelude.NFData AnalysisError where+  rnf AnalysisError' {..} =+    Prelude.rnf message+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf violatedEntities
+ gen/Amazonka/QuickSight/Types/AnalysisErrorType.hs view
@@ -0,0 +1,111 @@+{-# 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.QuickSight.Types.AnalysisErrorType+-- 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.QuickSight.Types.AnalysisErrorType+  ( AnalysisErrorType+      ( ..,+        AnalysisErrorType_ACCESS_DENIED,+        AnalysisErrorType_COLUMN_GEOGRAPHIC_ROLE_MISMATCH,+        AnalysisErrorType_COLUMN_REPLACEMENT_MISSING,+        AnalysisErrorType_COLUMN_TYPE_MISMATCH,+        AnalysisErrorType_DATA_SET_NOT_FOUND,+        AnalysisErrorType_INTERNAL_FAILURE,+        AnalysisErrorType_PARAMETER_NOT_FOUND,+        AnalysisErrorType_PARAMETER_TYPE_INVALID,+        AnalysisErrorType_PARAMETER_VALUE_INCOMPATIBLE,+        AnalysisErrorType_SOURCE_NOT_FOUND+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AnalysisErrorType = AnalysisErrorType'+  { fromAnalysisErrorType ::+      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 AnalysisErrorType_ACCESS_DENIED :: AnalysisErrorType+pattern AnalysisErrorType_ACCESS_DENIED = AnalysisErrorType' "ACCESS_DENIED"++pattern AnalysisErrorType_COLUMN_GEOGRAPHIC_ROLE_MISMATCH :: AnalysisErrorType+pattern AnalysisErrorType_COLUMN_GEOGRAPHIC_ROLE_MISMATCH = AnalysisErrorType' "COLUMN_GEOGRAPHIC_ROLE_MISMATCH"++pattern AnalysisErrorType_COLUMN_REPLACEMENT_MISSING :: AnalysisErrorType+pattern AnalysisErrorType_COLUMN_REPLACEMENT_MISSING = AnalysisErrorType' "COLUMN_REPLACEMENT_MISSING"++pattern AnalysisErrorType_COLUMN_TYPE_MISMATCH :: AnalysisErrorType+pattern AnalysisErrorType_COLUMN_TYPE_MISMATCH = AnalysisErrorType' "COLUMN_TYPE_MISMATCH"++pattern AnalysisErrorType_DATA_SET_NOT_FOUND :: AnalysisErrorType+pattern AnalysisErrorType_DATA_SET_NOT_FOUND = AnalysisErrorType' "DATA_SET_NOT_FOUND"++pattern AnalysisErrorType_INTERNAL_FAILURE :: AnalysisErrorType+pattern AnalysisErrorType_INTERNAL_FAILURE = AnalysisErrorType' "INTERNAL_FAILURE"++pattern AnalysisErrorType_PARAMETER_NOT_FOUND :: AnalysisErrorType+pattern AnalysisErrorType_PARAMETER_NOT_FOUND = AnalysisErrorType' "PARAMETER_NOT_FOUND"++pattern AnalysisErrorType_PARAMETER_TYPE_INVALID :: AnalysisErrorType+pattern AnalysisErrorType_PARAMETER_TYPE_INVALID = AnalysisErrorType' "PARAMETER_TYPE_INVALID"++pattern AnalysisErrorType_PARAMETER_VALUE_INCOMPATIBLE :: AnalysisErrorType+pattern AnalysisErrorType_PARAMETER_VALUE_INCOMPATIBLE = AnalysisErrorType' "PARAMETER_VALUE_INCOMPATIBLE"++pattern AnalysisErrorType_SOURCE_NOT_FOUND :: AnalysisErrorType+pattern AnalysisErrorType_SOURCE_NOT_FOUND = AnalysisErrorType' "SOURCE_NOT_FOUND"++{-# COMPLETE+  AnalysisErrorType_ACCESS_DENIED,+  AnalysisErrorType_COLUMN_GEOGRAPHIC_ROLE_MISMATCH,+  AnalysisErrorType_COLUMN_REPLACEMENT_MISSING,+  AnalysisErrorType_COLUMN_TYPE_MISMATCH,+  AnalysisErrorType_DATA_SET_NOT_FOUND,+  AnalysisErrorType_INTERNAL_FAILURE,+  AnalysisErrorType_PARAMETER_NOT_FOUND,+  AnalysisErrorType_PARAMETER_TYPE_INVALID,+  AnalysisErrorType_PARAMETER_VALUE_INCOMPATIBLE,+  AnalysisErrorType_SOURCE_NOT_FOUND,+  AnalysisErrorType'+  #-}
+ gen/Amazonka/QuickSight/Types/AnalysisFilterAttribute.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.AnalysisFilterAttribute+-- 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.QuickSight.Types.AnalysisFilterAttribute+  ( AnalysisFilterAttribute+      ( ..,+        AnalysisFilterAttribute_ANALYSIS_NAME,+        AnalysisFilterAttribute_DIRECT_QUICKSIGHT_OWNER,+        AnalysisFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER,+        AnalysisFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER,+        AnalysisFilterAttribute_QUICKSIGHT_OWNER,+        AnalysisFilterAttribute_QUICKSIGHT_USER,+        AnalysisFilterAttribute_QUICKSIGHT_VIEWER_OR_OWNER+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AnalysisFilterAttribute = AnalysisFilterAttribute'+  { fromAnalysisFilterAttribute ::+      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 AnalysisFilterAttribute_ANALYSIS_NAME :: AnalysisFilterAttribute+pattern AnalysisFilterAttribute_ANALYSIS_NAME = AnalysisFilterAttribute' "ANALYSIS_NAME"++pattern AnalysisFilterAttribute_DIRECT_QUICKSIGHT_OWNER :: AnalysisFilterAttribute+pattern AnalysisFilterAttribute_DIRECT_QUICKSIGHT_OWNER = AnalysisFilterAttribute' "DIRECT_QUICKSIGHT_OWNER"++pattern AnalysisFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER :: AnalysisFilterAttribute+pattern AnalysisFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER = AnalysisFilterAttribute' "DIRECT_QUICKSIGHT_SOLE_OWNER"++pattern AnalysisFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER :: AnalysisFilterAttribute+pattern AnalysisFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER = AnalysisFilterAttribute' "DIRECT_QUICKSIGHT_VIEWER_OR_OWNER"++pattern AnalysisFilterAttribute_QUICKSIGHT_OWNER :: AnalysisFilterAttribute+pattern AnalysisFilterAttribute_QUICKSIGHT_OWNER = AnalysisFilterAttribute' "QUICKSIGHT_OWNER"++pattern AnalysisFilterAttribute_QUICKSIGHT_USER :: AnalysisFilterAttribute+pattern AnalysisFilterAttribute_QUICKSIGHT_USER = AnalysisFilterAttribute' "QUICKSIGHT_USER"++pattern AnalysisFilterAttribute_QUICKSIGHT_VIEWER_OR_OWNER :: AnalysisFilterAttribute+pattern AnalysisFilterAttribute_QUICKSIGHT_VIEWER_OR_OWNER = AnalysisFilterAttribute' "QUICKSIGHT_VIEWER_OR_OWNER"++{-# COMPLETE+  AnalysisFilterAttribute_ANALYSIS_NAME,+  AnalysisFilterAttribute_DIRECT_QUICKSIGHT_OWNER,+  AnalysisFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER,+  AnalysisFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER,+  AnalysisFilterAttribute_QUICKSIGHT_OWNER,+  AnalysisFilterAttribute_QUICKSIGHT_USER,+  AnalysisFilterAttribute_QUICKSIGHT_VIEWER_OR_OWNER,+  AnalysisFilterAttribute'+  #-}
+ gen/Amazonka/QuickSight/Types/AnalysisSearchFilter.hs view
@@ -0,0 +1,238 @@+{-# 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.QuickSight.Types.AnalysisSearchFilter+-- 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.QuickSight.Types.AnalysisSearchFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AnalysisFilterAttribute+import Amazonka.QuickSight.Types.FilterOperator++-- | A filter that you apply when searching for one or more analyses.+--+-- /See:/ 'newAnalysisSearchFilter' smart constructor.+data AnalysisSearchFilter = AnalysisSearchFilter'+  { -- | The name of the value that you want to use as a filter, for example+    -- @\"Name\": \"QUICKSIGHT_OWNER\"@.+    --+    -- Valid values are defined as follows:+    --+    -- -   @QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or group, and+    --     any analyses with that ARN listed as one of the analysis\' owners or+    --     viewers are returned. Implicit permissions from folders or groups+    --     are considered.+    --+    -- -   @QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and any+    --     analyses with that ARN listed as one of the owners of the analyses+    --     are returned. Implicit permissions from folders or groups are+    --     considered.+    --+    -- -   @DIRECT_QUICKSIGHT_SOLE_OWNER@: Provide an ARN of a user or group,+    --     and any analyses with that ARN listed as the only owner of the+    --     analysis are returned. Implicit permissions from folders or groups+    --     are not considered.+    --+    -- -   @DIRECT_QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and+    --     any analyses with that ARN listed as one of the owners of the+    --     analyses are returned. Implicit permissions from folders or groups+    --     are not considered.+    --+    -- -   @DIRECT_QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or+    --     group, and any analyses with that ARN listed as one of the owners or+    --     viewers of the analyses are returned. Implicit permissions from+    --     folders or groups are not considered.+    --+    -- -   @ANALYSIS_NAME@: Any analyses whose names have a substring match to+    --     this value will be returned.+    name :: Prelude.Maybe AnalysisFilterAttribute,+    -- | The comparison operator that you want to use as a filter, for example+    -- @\"Operator\": \"StringEquals\"@. Valid values are @\"StringEquals\"@+    -- and @\"StringLike\"@.+    --+    -- If you set the operator value to @\"StringEquals\"@, you need to provide+    -- an ownership related filter in the @\"NAME\"@ field and the arn of the+    -- user or group whose folders you want to search in the @\"Value\"@ field.+    -- For example,+    -- @\"Name\":\"DIRECT_QUICKSIGHT_OWNER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+    --+    -- If you set the value to @\"StringLike\"@, you need to provide the name+    -- of the folders you are searching for. For example,+    -- @\"Name\":\"ANALYSIS_NAME\", \"Operator\": \"StringLike\", \"Value\": \"Test\"@.+    -- The @\"StringLike\"@ operator only supports the @NAME@ value+    -- @ANALYSIS_NAME@.+    operator :: Prelude.Maybe FilterOperator,+    -- | The value of the named item, in this case @QUICKSIGHT_USER@, that you+    -- want to use as a filter, for example @\"Value\"@. An example is+    -- @\"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+    value :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnalysisSearchFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'analysisSearchFilter_name' - The name of the value that you want to use as a filter, for example+-- @\"Name\": \"QUICKSIGHT_OWNER\"@.+--+-- Valid values are defined as follows:+--+-- -   @QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or group, and+--     any analyses with that ARN listed as one of the analysis\' owners or+--     viewers are returned. Implicit permissions from folders or groups+--     are considered.+--+-- -   @QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and any+--     analyses with that ARN listed as one of the owners of the analyses+--     are returned. Implicit permissions from folders or groups are+--     considered.+--+-- -   @DIRECT_QUICKSIGHT_SOLE_OWNER@: Provide an ARN of a user or group,+--     and any analyses with that ARN listed as the only owner of the+--     analysis are returned. Implicit permissions from folders or groups+--     are not considered.+--+-- -   @DIRECT_QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and+--     any analyses with that ARN listed as one of the owners of the+--     analyses are returned. Implicit permissions from folders or groups+--     are not considered.+--+-- -   @DIRECT_QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or+--     group, and any analyses with that ARN listed as one of the owners or+--     viewers of the analyses are returned. Implicit permissions from+--     folders or groups are not considered.+--+-- -   @ANALYSIS_NAME@: Any analyses whose names have a substring match to+--     this value will be returned.+--+-- 'operator', 'analysisSearchFilter_operator' - The comparison operator that you want to use as a filter, for example+-- @\"Operator\": \"StringEquals\"@. Valid values are @\"StringEquals\"@+-- and @\"StringLike\"@.+--+-- If you set the operator value to @\"StringEquals\"@, you need to provide+-- an ownership related filter in the @\"NAME\"@ field and the arn of the+-- user or group whose folders you want to search in the @\"Value\"@ field.+-- For example,+-- @\"Name\":\"DIRECT_QUICKSIGHT_OWNER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+--+-- If you set the value to @\"StringLike\"@, you need to provide the name+-- of the folders you are searching for. For example,+-- @\"Name\":\"ANALYSIS_NAME\", \"Operator\": \"StringLike\", \"Value\": \"Test\"@.+-- The @\"StringLike\"@ operator only supports the @NAME@ value+-- @ANALYSIS_NAME@.+--+-- 'value', 'analysisSearchFilter_value' - The value of the named item, in this case @QUICKSIGHT_USER@, that you+-- want to use as a filter, for example @\"Value\"@. An example is+-- @\"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+newAnalysisSearchFilter ::+  AnalysisSearchFilter+newAnalysisSearchFilter =+  AnalysisSearchFilter'+    { name = Prelude.Nothing,+      operator = Prelude.Nothing,+      value = Prelude.Nothing+    }++-- | The name of the value that you want to use as a filter, for example+-- @\"Name\": \"QUICKSIGHT_OWNER\"@.+--+-- Valid values are defined as follows:+--+-- -   @QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or group, and+--     any analyses with that ARN listed as one of the analysis\' owners or+--     viewers are returned. Implicit permissions from folders or groups+--     are considered.+--+-- -   @QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and any+--     analyses with that ARN listed as one of the owners of the analyses+--     are returned. Implicit permissions from folders or groups are+--     considered.+--+-- -   @DIRECT_QUICKSIGHT_SOLE_OWNER@: Provide an ARN of a user or group,+--     and any analyses with that ARN listed as the only owner of the+--     analysis are returned. Implicit permissions from folders or groups+--     are not considered.+--+-- -   @DIRECT_QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and+--     any analyses with that ARN listed as one of the owners of the+--     analyses are returned. Implicit permissions from folders or groups+--     are not considered.+--+-- -   @DIRECT_QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or+--     group, and any analyses with that ARN listed as one of the owners or+--     viewers of the analyses are returned. Implicit permissions from+--     folders or groups are not considered.+--+-- -   @ANALYSIS_NAME@: Any analyses whose names have a substring match to+--     this value will be returned.+analysisSearchFilter_name :: Lens.Lens' AnalysisSearchFilter (Prelude.Maybe AnalysisFilterAttribute)+analysisSearchFilter_name = Lens.lens (\AnalysisSearchFilter' {name} -> name) (\s@AnalysisSearchFilter' {} a -> s {name = a} :: AnalysisSearchFilter)++-- | The comparison operator that you want to use as a filter, for example+-- @\"Operator\": \"StringEquals\"@. Valid values are @\"StringEquals\"@+-- and @\"StringLike\"@.+--+-- If you set the operator value to @\"StringEquals\"@, you need to provide+-- an ownership related filter in the @\"NAME\"@ field and the arn of the+-- user or group whose folders you want to search in the @\"Value\"@ field.+-- For example,+-- @\"Name\":\"DIRECT_QUICKSIGHT_OWNER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+--+-- If you set the value to @\"StringLike\"@, you need to provide the name+-- of the folders you are searching for. For example,+-- @\"Name\":\"ANALYSIS_NAME\", \"Operator\": \"StringLike\", \"Value\": \"Test\"@.+-- The @\"StringLike\"@ operator only supports the @NAME@ value+-- @ANALYSIS_NAME@.+analysisSearchFilter_operator :: Lens.Lens' AnalysisSearchFilter (Prelude.Maybe FilterOperator)+analysisSearchFilter_operator = Lens.lens (\AnalysisSearchFilter' {operator} -> operator) (\s@AnalysisSearchFilter' {} a -> s {operator = a} :: AnalysisSearchFilter)++-- | The value of the named item, in this case @QUICKSIGHT_USER@, that you+-- want to use as a filter, for example @\"Value\"@. An example is+-- @\"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+analysisSearchFilter_value :: Lens.Lens' AnalysisSearchFilter (Prelude.Maybe Prelude.Text)+analysisSearchFilter_value = Lens.lens (\AnalysisSearchFilter' {value} -> value) (\s@AnalysisSearchFilter' {} a -> s {value = a} :: AnalysisSearchFilter)++instance Prelude.Hashable AnalysisSearchFilter where+  hashWithSalt _salt AnalysisSearchFilter' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` operator+      `Prelude.hashWithSalt` value++instance Prelude.NFData AnalysisSearchFilter where+  rnf AnalysisSearchFilter' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf operator+      `Prelude.seq` Prelude.rnf value++instance Data.ToJSON AnalysisSearchFilter where+  toJSON AnalysisSearchFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Name" Data..=) Prelude.<$> name,+            ("Operator" Data..=) Prelude.<$> operator,+            ("Value" Data..=) Prelude.<$> value+          ]+      )
+ gen/Amazonka/QuickSight/Types/AnalysisSourceEntity.hs view
@@ -0,0 +1,73 @@+{-# 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.QuickSight.Types.AnalysisSourceEntity+-- 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.QuickSight.Types.AnalysisSourceEntity where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AnalysisSourceTemplate++-- | The source entity of an analysis.+--+-- /See:/ 'newAnalysisSourceEntity' smart constructor.+data AnalysisSourceEntity = AnalysisSourceEntity'+  { -- | The source template for the source entity of the analysis.+    sourceTemplate :: Prelude.Maybe AnalysisSourceTemplate+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnalysisSourceEntity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceTemplate', 'analysisSourceEntity_sourceTemplate' - The source template for the source entity of the analysis.+newAnalysisSourceEntity ::+  AnalysisSourceEntity+newAnalysisSourceEntity =+  AnalysisSourceEntity'+    { sourceTemplate =+        Prelude.Nothing+    }++-- | The source template for the source entity of the analysis.+analysisSourceEntity_sourceTemplate :: Lens.Lens' AnalysisSourceEntity (Prelude.Maybe AnalysisSourceTemplate)+analysisSourceEntity_sourceTemplate = Lens.lens (\AnalysisSourceEntity' {sourceTemplate} -> sourceTemplate) (\s@AnalysisSourceEntity' {} a -> s {sourceTemplate = a} :: AnalysisSourceEntity)++instance Prelude.Hashable AnalysisSourceEntity where+  hashWithSalt _salt AnalysisSourceEntity' {..} =+    _salt `Prelude.hashWithSalt` sourceTemplate++instance Prelude.NFData AnalysisSourceEntity where+  rnf AnalysisSourceEntity' {..} =+    Prelude.rnf sourceTemplate++instance Data.ToJSON AnalysisSourceEntity where+  toJSON AnalysisSourceEntity' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SourceTemplate" Data..=)+              Prelude.<$> sourceTemplate+          ]+      )
+ gen/Amazonka/QuickSight/Types/AnalysisSourceTemplate.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.AnalysisSourceTemplate+-- 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.QuickSight.Types.AnalysisSourceTemplate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataSetReference++-- | The source template of an analysis.+--+-- /See:/ 'newAnalysisSourceTemplate' smart constructor.+data AnalysisSourceTemplate = AnalysisSourceTemplate'+  { -- | The dataset references of the source template of an analysis.+    dataSetReferences :: Prelude.NonEmpty DataSetReference,+    -- | The Amazon Resource Name (ARN) of the source template of an analysis.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnalysisSourceTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSetReferences', 'analysisSourceTemplate_dataSetReferences' - The dataset references of the source template of an analysis.+--+-- 'arn', 'analysisSourceTemplate_arn' - The Amazon Resource Name (ARN) of the source template of an analysis.+newAnalysisSourceTemplate ::+  -- | 'dataSetReferences'+  Prelude.NonEmpty DataSetReference ->+  -- | 'arn'+  Prelude.Text ->+  AnalysisSourceTemplate+newAnalysisSourceTemplate pDataSetReferences_ pArn_ =+  AnalysisSourceTemplate'+    { dataSetReferences =+        Lens.coerced Lens.# pDataSetReferences_,+      arn = pArn_+    }++-- | The dataset references of the source template of an analysis.+analysisSourceTemplate_dataSetReferences :: Lens.Lens' AnalysisSourceTemplate (Prelude.NonEmpty DataSetReference)+analysisSourceTemplate_dataSetReferences = Lens.lens (\AnalysisSourceTemplate' {dataSetReferences} -> dataSetReferences) (\s@AnalysisSourceTemplate' {} a -> s {dataSetReferences = a} :: AnalysisSourceTemplate) Prelude.. Lens.coerced++-- | The Amazon Resource Name (ARN) of the source template of an analysis.+analysisSourceTemplate_arn :: Lens.Lens' AnalysisSourceTemplate Prelude.Text+analysisSourceTemplate_arn = Lens.lens (\AnalysisSourceTemplate' {arn} -> arn) (\s@AnalysisSourceTemplate' {} a -> s {arn = a} :: AnalysisSourceTemplate)++instance Prelude.Hashable AnalysisSourceTemplate where+  hashWithSalt _salt AnalysisSourceTemplate' {..} =+    _salt+      `Prelude.hashWithSalt` dataSetReferences+      `Prelude.hashWithSalt` arn++instance Prelude.NFData AnalysisSourceTemplate where+  rnf AnalysisSourceTemplate' {..} =+    Prelude.rnf dataSetReferences+      `Prelude.seq` Prelude.rnf arn++instance Data.ToJSON AnalysisSourceTemplate where+  toJSON AnalysisSourceTemplate' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("DataSetReferences" Data..= dataSetReferences),+            Prelude.Just ("Arn" Data..= arn)+          ]+      )
+ gen/Amazonka/QuickSight/Types/AnalysisSummary.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.QuickSight.Types.AnalysisSummary+-- 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.QuickSight.Types.AnalysisSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ResourceStatus++-- | The summary metadata that describes an analysis.+--+-- /See:/ 'newAnalysisSummary' smart constructor.+data AnalysisSummary = AnalysisSummary'+  { -- | The ID of the analysis. This ID displays in the URL.+    analysisId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) for the analysis.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time that the analysis was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The time that the analysis was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the analysis. This name is displayed in the Amazon+    -- QuickSight console.+    name :: Prelude.Maybe Prelude.Text,+    -- | The last known status for the analysis.+    status :: Prelude.Maybe ResourceStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnalysisSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analysisId', 'analysisSummary_analysisId' - The ID of the analysis. This ID displays in the URL.+--+-- 'arn', 'analysisSummary_arn' - The Amazon Resource Name (ARN) for the analysis.+--+-- 'createdTime', 'analysisSummary_createdTime' - The time that the analysis was created.+--+-- 'lastUpdatedTime', 'analysisSummary_lastUpdatedTime' - The time that the analysis was last updated.+--+-- 'name', 'analysisSummary_name' - The name of the analysis. This name is displayed in the Amazon+-- QuickSight console.+--+-- 'status', 'analysisSummary_status' - The last known status for the analysis.+newAnalysisSummary ::+  AnalysisSummary+newAnalysisSummary =+  AnalysisSummary'+    { analysisId = Prelude.Nothing,+      arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The ID of the analysis. This ID displays in the URL.+analysisSummary_analysisId :: Lens.Lens' AnalysisSummary (Prelude.Maybe Prelude.Text)+analysisSummary_analysisId = Lens.lens (\AnalysisSummary' {analysisId} -> analysisId) (\s@AnalysisSummary' {} a -> s {analysisId = a} :: AnalysisSummary)++-- | The Amazon Resource Name (ARN) for the analysis.+analysisSummary_arn :: Lens.Lens' AnalysisSummary (Prelude.Maybe Prelude.Text)+analysisSummary_arn = Lens.lens (\AnalysisSummary' {arn} -> arn) (\s@AnalysisSummary' {} a -> s {arn = a} :: AnalysisSummary)++-- | The time that the analysis was created.+analysisSummary_createdTime :: Lens.Lens' AnalysisSummary (Prelude.Maybe Prelude.UTCTime)+analysisSummary_createdTime = Lens.lens (\AnalysisSummary' {createdTime} -> createdTime) (\s@AnalysisSummary' {} a -> s {createdTime = a} :: AnalysisSummary) Prelude.. Lens.mapping Data._Time++-- | The time that the analysis was last updated.+analysisSummary_lastUpdatedTime :: Lens.Lens' AnalysisSummary (Prelude.Maybe Prelude.UTCTime)+analysisSummary_lastUpdatedTime = Lens.lens (\AnalysisSummary' {lastUpdatedTime} -> lastUpdatedTime) (\s@AnalysisSummary' {} a -> s {lastUpdatedTime = a} :: AnalysisSummary) Prelude.. Lens.mapping Data._Time++-- | The name of the analysis. This name is displayed in the Amazon+-- QuickSight console.+analysisSummary_name :: Lens.Lens' AnalysisSummary (Prelude.Maybe Prelude.Text)+analysisSummary_name = Lens.lens (\AnalysisSummary' {name} -> name) (\s@AnalysisSummary' {} a -> s {name = a} :: AnalysisSummary)++-- | The last known status for the analysis.+analysisSummary_status :: Lens.Lens' AnalysisSummary (Prelude.Maybe ResourceStatus)+analysisSummary_status = Lens.lens (\AnalysisSummary' {status} -> status) (\s@AnalysisSummary' {} a -> s {status = a} :: AnalysisSummary)++instance Data.FromJSON AnalysisSummary where+  parseJSON =+    Data.withObject+      "AnalysisSummary"+      ( \x ->+          AnalysisSummary'+            Prelude.<$> (x Data..:? "AnalysisId")+            Prelude.<*> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable AnalysisSummary where+  hashWithSalt _salt AnalysisSummary' {..} =+    _salt+      `Prelude.hashWithSalt` analysisId+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` status++instance Prelude.NFData AnalysisSummary where+  rnf AnalysisSummary' {..} =+    Prelude.rnf analysisId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/Types/AnchorDateConfiguration.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.QuickSight.Types.AnchorDateConfiguration+-- 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.QuickSight.Types.AnchorDateConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AnchorOption++-- | The date configuration of the filter.+--+-- /See:/ 'newAnchorDateConfiguration' smart constructor.+data AnchorDateConfiguration = AnchorDateConfiguration'+  { -- | The options for the date configuration. Choose one of the options below:+    --+    -- -   @NOW@+    anchorOption :: Prelude.Maybe AnchorOption,+    -- | The name of the parameter that is used for the anchor date+    -- configuration.+    parameterName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnchorDateConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'anchorOption', 'anchorDateConfiguration_anchorOption' - The options for the date configuration. Choose one of the options below:+--+-- -   @NOW@+--+-- 'parameterName', 'anchorDateConfiguration_parameterName' - The name of the parameter that is used for the anchor date+-- configuration.+newAnchorDateConfiguration ::+  AnchorDateConfiguration+newAnchorDateConfiguration =+  AnchorDateConfiguration'+    { anchorOption =+        Prelude.Nothing,+      parameterName = Prelude.Nothing+    }++-- | The options for the date configuration. Choose one of the options below:+--+-- -   @NOW@+anchorDateConfiguration_anchorOption :: Lens.Lens' AnchorDateConfiguration (Prelude.Maybe AnchorOption)+anchorDateConfiguration_anchorOption = Lens.lens (\AnchorDateConfiguration' {anchorOption} -> anchorOption) (\s@AnchorDateConfiguration' {} a -> s {anchorOption = a} :: AnchorDateConfiguration)++-- | The name of the parameter that is used for the anchor date+-- configuration.+anchorDateConfiguration_parameterName :: Lens.Lens' AnchorDateConfiguration (Prelude.Maybe Prelude.Text)+anchorDateConfiguration_parameterName = Lens.lens (\AnchorDateConfiguration' {parameterName} -> parameterName) (\s@AnchorDateConfiguration' {} a -> s {parameterName = a} :: AnchorDateConfiguration)++instance Data.FromJSON AnchorDateConfiguration where+  parseJSON =+    Data.withObject+      "AnchorDateConfiguration"+      ( \x ->+          AnchorDateConfiguration'+            Prelude.<$> (x Data..:? "AnchorOption")+            Prelude.<*> (x Data..:? "ParameterName")+      )++instance Prelude.Hashable AnchorDateConfiguration where+  hashWithSalt _salt AnchorDateConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` anchorOption+      `Prelude.hashWithSalt` parameterName++instance Prelude.NFData AnchorDateConfiguration where+  rnf AnchorDateConfiguration' {..} =+    Prelude.rnf anchorOption+      `Prelude.seq` Prelude.rnf parameterName++instance Data.ToJSON AnchorDateConfiguration where+  toJSON AnchorDateConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AnchorOption" Data..=) Prelude.<$> anchorOption,+            ("ParameterName" Data..=) Prelude.<$> parameterName+          ]+      )
+ gen/Amazonka/QuickSight/Types/AnchorOption.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.AnchorOption+-- 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.QuickSight.Types.AnchorOption+  ( AnchorOption+      ( ..,+        AnchorOption_NOW+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AnchorOption = AnchorOption'+  { fromAnchorOption ::+      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 AnchorOption_NOW :: AnchorOption+pattern AnchorOption_NOW = AnchorOption' "NOW"++{-# COMPLETE+  AnchorOption_NOW,+  AnchorOption'+  #-}
+ gen/Amazonka/QuickSight/Types/AnonymousUserDashboardEmbeddingConfiguration.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.QuickSight.Types.AnonymousUserDashboardEmbeddingConfiguration+-- 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.QuickSight.Types.AnonymousUserDashboardEmbeddingConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about the dashboard that you want to embed.+--+-- /See:/ 'newAnonymousUserDashboardEmbeddingConfiguration' smart constructor.+data AnonymousUserDashboardEmbeddingConfiguration = AnonymousUserDashboardEmbeddingConfiguration'+  { -- | The dashboard ID for the dashboard that you want the user to see first.+    -- This ID is included in the output URL. When the URL in response is+    -- accessed, Amazon QuickSight renders this dashboard.+    --+    -- The Amazon Resource Name (ARN) of this dashboard must be included in the+    -- @AuthorizedResourceArns@ parameter. Otherwise, the request will fail+    -- with @InvalidParameterValueException@.+    initialDashboardId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnonymousUserDashboardEmbeddingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'initialDashboardId', 'anonymousUserDashboardEmbeddingConfiguration_initialDashboardId' - The dashboard ID for the dashboard that you want the user to see first.+-- This ID is included in the output URL. When the URL in response is+-- accessed, Amazon QuickSight renders this dashboard.+--+-- The Amazon Resource Name (ARN) of this dashboard must be included in the+-- @AuthorizedResourceArns@ parameter. Otherwise, the request will fail+-- with @InvalidParameterValueException@.+newAnonymousUserDashboardEmbeddingConfiguration ::+  -- | 'initialDashboardId'+  Prelude.Text ->+  AnonymousUserDashboardEmbeddingConfiguration+newAnonymousUserDashboardEmbeddingConfiguration+  pInitialDashboardId_ =+    AnonymousUserDashboardEmbeddingConfiguration'+      { initialDashboardId =+          pInitialDashboardId_+      }++-- | The dashboard ID for the dashboard that you want the user to see first.+-- This ID is included in the output URL. When the URL in response is+-- accessed, Amazon QuickSight renders this dashboard.+--+-- The Amazon Resource Name (ARN) of this dashboard must be included in the+-- @AuthorizedResourceArns@ parameter. Otherwise, the request will fail+-- with @InvalidParameterValueException@.+anonymousUserDashboardEmbeddingConfiguration_initialDashboardId :: Lens.Lens' AnonymousUserDashboardEmbeddingConfiguration Prelude.Text+anonymousUserDashboardEmbeddingConfiguration_initialDashboardId = Lens.lens (\AnonymousUserDashboardEmbeddingConfiguration' {initialDashboardId} -> initialDashboardId) (\s@AnonymousUserDashboardEmbeddingConfiguration' {} a -> s {initialDashboardId = a} :: AnonymousUserDashboardEmbeddingConfiguration)++instance+  Prelude.Hashable+    AnonymousUserDashboardEmbeddingConfiguration+  where+  hashWithSalt+    _salt+    AnonymousUserDashboardEmbeddingConfiguration' {..} =+      _salt `Prelude.hashWithSalt` initialDashboardId++instance+  Prelude.NFData+    AnonymousUserDashboardEmbeddingConfiguration+  where+  rnf AnonymousUserDashboardEmbeddingConfiguration' {..} =+    Prelude.rnf initialDashboardId++instance+  Data.ToJSON+    AnonymousUserDashboardEmbeddingConfiguration+  where+  toJSON+    AnonymousUserDashboardEmbeddingConfiguration' {..} =+      Data.object+        ( Prelude.catMaybes+            [ Prelude.Just+                ("InitialDashboardId" Data..= initialDashboardId)+            ]+        )
+ gen/Amazonka/QuickSight/Types/AnonymousUserDashboardVisualEmbeddingConfiguration.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.QuickSight.Types.AnonymousUserDashboardVisualEmbeddingConfiguration+-- 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.QuickSight.Types.AnonymousUserDashboardVisualEmbeddingConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DashboardVisualId++-- | The experience that you are embedding. You can use this object to+-- generate a url that embeds a visual into your application.+--+-- /See:/ 'newAnonymousUserDashboardVisualEmbeddingConfiguration' smart constructor.+data AnonymousUserDashboardVisualEmbeddingConfiguration = AnonymousUserDashboardVisualEmbeddingConfiguration'+  { -- | The visual ID for the visual that you want the user to see. This ID is+    -- included in the output URL. When the URL in response is accessed, Amazon+    -- QuickSight renders this visual.+    --+    -- The Amazon Resource Name (ARN) of the dashboard that the visual belongs+    -- to must be included in the @AuthorizedResourceArns@ parameter.+    -- Otherwise, the request will fail with @InvalidParameterValueException@.+    initialDashboardVisualId :: DashboardVisualId+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnonymousUserDashboardVisualEmbeddingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'initialDashboardVisualId', 'anonymousUserDashboardVisualEmbeddingConfiguration_initialDashboardVisualId' - The visual ID for the visual that you want the user to see. This ID is+-- included in the output URL. When the URL in response is accessed, Amazon+-- QuickSight renders this visual.+--+-- The Amazon Resource Name (ARN) of the dashboard that the visual belongs+-- to must be included in the @AuthorizedResourceArns@ parameter.+-- Otherwise, the request will fail with @InvalidParameterValueException@.+newAnonymousUserDashboardVisualEmbeddingConfiguration ::+  -- | 'initialDashboardVisualId'+  DashboardVisualId ->+  AnonymousUserDashboardVisualEmbeddingConfiguration+newAnonymousUserDashboardVisualEmbeddingConfiguration+  pInitialDashboardVisualId_ =+    AnonymousUserDashboardVisualEmbeddingConfiguration'+      { initialDashboardVisualId =+          pInitialDashboardVisualId_+      }++-- | The visual ID for the visual that you want the user to see. This ID is+-- included in the output URL. When the URL in response is accessed, Amazon+-- QuickSight renders this visual.+--+-- The Amazon Resource Name (ARN) of the dashboard that the visual belongs+-- to must be included in the @AuthorizedResourceArns@ parameter.+-- Otherwise, the request will fail with @InvalidParameterValueException@.+anonymousUserDashboardVisualEmbeddingConfiguration_initialDashboardVisualId :: Lens.Lens' AnonymousUserDashboardVisualEmbeddingConfiguration DashboardVisualId+anonymousUserDashboardVisualEmbeddingConfiguration_initialDashboardVisualId = Lens.lens (\AnonymousUserDashboardVisualEmbeddingConfiguration' {initialDashboardVisualId} -> initialDashboardVisualId) (\s@AnonymousUserDashboardVisualEmbeddingConfiguration' {} a -> s {initialDashboardVisualId = a} :: AnonymousUserDashboardVisualEmbeddingConfiguration)++instance+  Prelude.Hashable+    AnonymousUserDashboardVisualEmbeddingConfiguration+  where+  hashWithSalt+    _salt+    AnonymousUserDashboardVisualEmbeddingConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` initialDashboardVisualId++instance+  Prelude.NFData+    AnonymousUserDashboardVisualEmbeddingConfiguration+  where+  rnf+    AnonymousUserDashboardVisualEmbeddingConfiguration' {..} =+      Prelude.rnf initialDashboardVisualId++instance+  Data.ToJSON+    AnonymousUserDashboardVisualEmbeddingConfiguration+  where+  toJSON+    AnonymousUserDashboardVisualEmbeddingConfiguration' {..} =+      Data.object+        ( Prelude.catMaybes+            [ Prelude.Just+                ( "InitialDashboardVisualId"+                    Data..= initialDashboardVisualId+                )+            ]+        )
+ gen/Amazonka/QuickSight/Types/AnonymousUserEmbeddingExperienceConfiguration.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.AnonymousUserEmbeddingExperienceConfiguration+-- 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.QuickSight.Types.AnonymousUserEmbeddingExperienceConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AnonymousUserDashboardEmbeddingConfiguration+import Amazonka.QuickSight.Types.AnonymousUserDashboardVisualEmbeddingConfiguration+import Amazonka.QuickSight.Types.AnonymousUserQSearchBarEmbeddingConfiguration++-- | The type of experience you want to embed. For anonymous users, you can+-- embed Amazon QuickSight dashboards.+--+-- /See:/ 'newAnonymousUserEmbeddingExperienceConfiguration' smart constructor.+data AnonymousUserEmbeddingExperienceConfiguration = AnonymousUserEmbeddingExperienceConfiguration'+  { -- | The type of embedding experience. In this case, Amazon QuickSight+    -- dashboards.+    dashboard :: Prelude.Maybe AnonymousUserDashboardEmbeddingConfiguration,+    -- | The type of embedding experience. In this case, Amazon QuickSight+    -- visuals.+    dashboardVisual :: Prelude.Maybe AnonymousUserDashboardVisualEmbeddingConfiguration,+    -- | The Q search bar that you want to use for anonymous user embedding.+    qSearchBar :: Prelude.Maybe AnonymousUserQSearchBarEmbeddingConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnonymousUserEmbeddingExperienceConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dashboard', 'anonymousUserEmbeddingExperienceConfiguration_dashboard' - The type of embedding experience. In this case, Amazon QuickSight+-- dashboards.+--+-- 'dashboardVisual', 'anonymousUserEmbeddingExperienceConfiguration_dashboardVisual' - The type of embedding experience. In this case, Amazon QuickSight+-- visuals.+--+-- 'qSearchBar', 'anonymousUserEmbeddingExperienceConfiguration_qSearchBar' - The Q search bar that you want to use for anonymous user embedding.+newAnonymousUserEmbeddingExperienceConfiguration ::+  AnonymousUserEmbeddingExperienceConfiguration+newAnonymousUserEmbeddingExperienceConfiguration =+  AnonymousUserEmbeddingExperienceConfiguration'+    { dashboard =+        Prelude.Nothing,+      dashboardVisual =+        Prelude.Nothing,+      qSearchBar = Prelude.Nothing+    }++-- | The type of embedding experience. In this case, Amazon QuickSight+-- dashboards.+anonymousUserEmbeddingExperienceConfiguration_dashboard :: Lens.Lens' AnonymousUserEmbeddingExperienceConfiguration (Prelude.Maybe AnonymousUserDashboardEmbeddingConfiguration)+anonymousUserEmbeddingExperienceConfiguration_dashboard = Lens.lens (\AnonymousUserEmbeddingExperienceConfiguration' {dashboard} -> dashboard) (\s@AnonymousUserEmbeddingExperienceConfiguration' {} a -> s {dashboard = a} :: AnonymousUserEmbeddingExperienceConfiguration)++-- | The type of embedding experience. In this case, Amazon QuickSight+-- visuals.+anonymousUserEmbeddingExperienceConfiguration_dashboardVisual :: Lens.Lens' AnonymousUserEmbeddingExperienceConfiguration (Prelude.Maybe AnonymousUserDashboardVisualEmbeddingConfiguration)+anonymousUserEmbeddingExperienceConfiguration_dashboardVisual = Lens.lens (\AnonymousUserEmbeddingExperienceConfiguration' {dashboardVisual} -> dashboardVisual) (\s@AnonymousUserEmbeddingExperienceConfiguration' {} a -> s {dashboardVisual = a} :: AnonymousUserEmbeddingExperienceConfiguration)++-- | The Q search bar that you want to use for anonymous user embedding.+anonymousUserEmbeddingExperienceConfiguration_qSearchBar :: Lens.Lens' AnonymousUserEmbeddingExperienceConfiguration (Prelude.Maybe AnonymousUserQSearchBarEmbeddingConfiguration)+anonymousUserEmbeddingExperienceConfiguration_qSearchBar = Lens.lens (\AnonymousUserEmbeddingExperienceConfiguration' {qSearchBar} -> qSearchBar) (\s@AnonymousUserEmbeddingExperienceConfiguration' {} a -> s {qSearchBar = a} :: AnonymousUserEmbeddingExperienceConfiguration)++instance+  Prelude.Hashable+    AnonymousUserEmbeddingExperienceConfiguration+  where+  hashWithSalt+    _salt+    AnonymousUserEmbeddingExperienceConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` dashboard+        `Prelude.hashWithSalt` dashboardVisual+        `Prelude.hashWithSalt` qSearchBar++instance+  Prelude.NFData+    AnonymousUserEmbeddingExperienceConfiguration+  where+  rnf+    AnonymousUserEmbeddingExperienceConfiguration' {..} =+      Prelude.rnf dashboard+        `Prelude.seq` Prelude.rnf dashboardVisual+        `Prelude.seq` Prelude.rnf qSearchBar++instance+  Data.ToJSON+    AnonymousUserEmbeddingExperienceConfiguration+  where+  toJSON+    AnonymousUserEmbeddingExperienceConfiguration' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("Dashboard" Data..=) Prelude.<$> dashboard,+              ("DashboardVisual" Data..=)+                Prelude.<$> dashboardVisual,+              ("QSearchBar" Data..=) Prelude.<$> qSearchBar+            ]+        )
+ gen/Amazonka/QuickSight/Types/AnonymousUserQSearchBarEmbeddingConfiguration.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.QuickSight.Types.AnonymousUserQSearchBarEmbeddingConfiguration+-- 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.QuickSight.Types.AnonymousUserQSearchBarEmbeddingConfiguration 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 settings that you want to use with the Q search bar.+--+-- /See:/ 'newAnonymousUserQSearchBarEmbeddingConfiguration' smart constructor.+data AnonymousUserQSearchBarEmbeddingConfiguration = AnonymousUserQSearchBarEmbeddingConfiguration'+  { -- | The QuickSight Q topic ID of the topic that you want the anonymous user+    -- to see first. This ID is included in the output URL. When the URL in+    -- response is accessed, Amazon QuickSight renders the Q search bar with+    -- this topic pre-selected.+    --+    -- The Amazon Resource Name (ARN) of this Q topic must be included in the+    -- @AuthorizedResourceArns@ parameter. Otherwise, the request will fail+    -- with @InvalidParameterValueException@.+    initialTopicId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnonymousUserQSearchBarEmbeddingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'initialTopicId', 'anonymousUserQSearchBarEmbeddingConfiguration_initialTopicId' - The QuickSight Q topic ID of the topic that you want the anonymous user+-- to see first. This ID is included in the output URL. When the URL in+-- response is accessed, Amazon QuickSight renders the Q search bar with+-- this topic pre-selected.+--+-- The Amazon Resource Name (ARN) of this Q topic must be included in the+-- @AuthorizedResourceArns@ parameter. Otherwise, the request will fail+-- with @InvalidParameterValueException@.+newAnonymousUserQSearchBarEmbeddingConfiguration ::+  -- | 'initialTopicId'+  Prelude.Text ->+  AnonymousUserQSearchBarEmbeddingConfiguration+newAnonymousUserQSearchBarEmbeddingConfiguration+  pInitialTopicId_ =+    AnonymousUserQSearchBarEmbeddingConfiguration'+      { initialTopicId =+          pInitialTopicId_+      }++-- | The QuickSight Q topic ID of the topic that you want the anonymous user+-- to see first. This ID is included in the output URL. When the URL in+-- response is accessed, Amazon QuickSight renders the Q search bar with+-- this topic pre-selected.+--+-- The Amazon Resource Name (ARN) of this Q topic must be included in the+-- @AuthorizedResourceArns@ parameter. Otherwise, the request will fail+-- with @InvalidParameterValueException@.+anonymousUserQSearchBarEmbeddingConfiguration_initialTopicId :: Lens.Lens' AnonymousUserQSearchBarEmbeddingConfiguration Prelude.Text+anonymousUserQSearchBarEmbeddingConfiguration_initialTopicId = Lens.lens (\AnonymousUserQSearchBarEmbeddingConfiguration' {initialTopicId} -> initialTopicId) (\s@AnonymousUserQSearchBarEmbeddingConfiguration' {} a -> s {initialTopicId = a} :: AnonymousUserQSearchBarEmbeddingConfiguration)++instance+  Prelude.Hashable+    AnonymousUserQSearchBarEmbeddingConfiguration+  where+  hashWithSalt+    _salt+    AnonymousUserQSearchBarEmbeddingConfiguration' {..} =+      _salt `Prelude.hashWithSalt` initialTopicId++instance+  Prelude.NFData+    AnonymousUserQSearchBarEmbeddingConfiguration+  where+  rnf+    AnonymousUserQSearchBarEmbeddingConfiguration' {..} =+      Prelude.rnf initialTopicId++instance+  Data.ToJSON+    AnonymousUserQSearchBarEmbeddingConfiguration+  where+  toJSON+    AnonymousUserQSearchBarEmbeddingConfiguration' {..} =+      Data.object+        ( Prelude.catMaybes+            [ Prelude.Just+                ("InitialTopicId" Data..= initialTopicId)+            ]+        )
+ gen/Amazonka/QuickSight/Types/ArcAxisConfiguration.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ArcAxisConfiguration+-- 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.QuickSight.Types.ArcAxisConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ArcAxisDisplayRange++-- | The arc axis configuration of a @GaugeChartVisual@.+--+-- /See:/ 'newArcAxisConfiguration' smart constructor.+data ArcAxisConfiguration = ArcAxisConfiguration'+  { -- | The arc axis range of a @GaugeChartVisual@.+    range :: Prelude.Maybe ArcAxisDisplayRange,+    -- | The reserved range of the arc axis.+    reserveRange :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ArcAxisConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'range', 'arcAxisConfiguration_range' - The arc axis range of a @GaugeChartVisual@.+--+-- 'reserveRange', 'arcAxisConfiguration_reserveRange' - The reserved range of the arc axis.+newArcAxisConfiguration ::+  ArcAxisConfiguration+newArcAxisConfiguration =+  ArcAxisConfiguration'+    { range = Prelude.Nothing,+      reserveRange = Prelude.Nothing+    }++-- | The arc axis range of a @GaugeChartVisual@.+arcAxisConfiguration_range :: Lens.Lens' ArcAxisConfiguration (Prelude.Maybe ArcAxisDisplayRange)+arcAxisConfiguration_range = Lens.lens (\ArcAxisConfiguration' {range} -> range) (\s@ArcAxisConfiguration' {} a -> s {range = a} :: ArcAxisConfiguration)++-- | The reserved range of the arc axis.+arcAxisConfiguration_reserveRange :: Lens.Lens' ArcAxisConfiguration (Prelude.Maybe Prelude.Int)+arcAxisConfiguration_reserveRange = Lens.lens (\ArcAxisConfiguration' {reserveRange} -> reserveRange) (\s@ArcAxisConfiguration' {} a -> s {reserveRange = a} :: ArcAxisConfiguration)++instance Data.FromJSON ArcAxisConfiguration where+  parseJSON =+    Data.withObject+      "ArcAxisConfiguration"+      ( \x ->+          ArcAxisConfiguration'+            Prelude.<$> (x Data..:? "Range")+            Prelude.<*> (x Data..:? "ReserveRange")+      )++instance Prelude.Hashable ArcAxisConfiguration where+  hashWithSalt _salt ArcAxisConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` range+      `Prelude.hashWithSalt` reserveRange++instance Prelude.NFData ArcAxisConfiguration where+  rnf ArcAxisConfiguration' {..} =+    Prelude.rnf range+      `Prelude.seq` Prelude.rnf reserveRange++instance Data.ToJSON ArcAxisConfiguration where+  toJSON ArcAxisConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Range" Data..=) Prelude.<$> range,+            ("ReserveRange" Data..=) Prelude.<$> reserveRange+          ]+      )
+ gen/Amazonka/QuickSight/Types/ArcAxisDisplayRange.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ArcAxisDisplayRange+-- 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.QuickSight.Types.ArcAxisDisplayRange 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 arc axis range of a @GaugeChartVisual@.+--+-- /See:/ 'newArcAxisDisplayRange' smart constructor.+data ArcAxisDisplayRange = ArcAxisDisplayRange'+  { -- | The maximum value of the arc axis range.+    max :: Prelude.Maybe Prelude.Double,+    -- | The minimum value of the arc axis range.+    min :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ArcAxisDisplayRange' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'max', 'arcAxisDisplayRange_max' - The maximum value of the arc axis range.+--+-- 'min', 'arcAxisDisplayRange_min' - The minimum value of the arc axis range.+newArcAxisDisplayRange ::+  ArcAxisDisplayRange+newArcAxisDisplayRange =+  ArcAxisDisplayRange'+    { max = Prelude.Nothing,+      min = Prelude.Nothing+    }++-- | The maximum value of the arc axis range.+arcAxisDisplayRange_max :: Lens.Lens' ArcAxisDisplayRange (Prelude.Maybe Prelude.Double)+arcAxisDisplayRange_max = Lens.lens (\ArcAxisDisplayRange' {max} -> max) (\s@ArcAxisDisplayRange' {} a -> s {max = a} :: ArcAxisDisplayRange)++-- | The minimum value of the arc axis range.+arcAxisDisplayRange_min :: Lens.Lens' ArcAxisDisplayRange (Prelude.Maybe Prelude.Double)+arcAxisDisplayRange_min = Lens.lens (\ArcAxisDisplayRange' {min} -> min) (\s@ArcAxisDisplayRange' {} a -> s {min = a} :: ArcAxisDisplayRange)++instance Data.FromJSON ArcAxisDisplayRange where+  parseJSON =+    Data.withObject+      "ArcAxisDisplayRange"+      ( \x ->+          ArcAxisDisplayRange'+            Prelude.<$> (x Data..:? "Max")+            Prelude.<*> (x Data..:? "Min")+      )++instance Prelude.Hashable ArcAxisDisplayRange where+  hashWithSalt _salt ArcAxisDisplayRange' {..} =+    _salt+      `Prelude.hashWithSalt` max+      `Prelude.hashWithSalt` min++instance Prelude.NFData ArcAxisDisplayRange where+  rnf ArcAxisDisplayRange' {..} =+    Prelude.rnf max `Prelude.seq` Prelude.rnf min++instance Data.ToJSON ArcAxisDisplayRange where+  toJSON ArcAxisDisplayRange' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Max" Data..=) Prelude.<$> max,+            ("Min" Data..=) Prelude.<$> min+          ]+      )
+ gen/Amazonka/QuickSight/Types/ArcConfiguration.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ArcConfiguration+-- 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.QuickSight.Types.ArcConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ArcThicknessOptions++-- | The arc configuration of a @GaugeChartVisual@.+--+-- /See:/ 'newArcConfiguration' smart constructor.+data ArcConfiguration = ArcConfiguration'+  { -- | The option that determines the arc angle of a @GaugeChartVisual@.+    arcAngle :: Prelude.Maybe Prelude.Double,+    -- | The options that determine the arc thickness of a @GaugeChartVisual@.+    arcThickness :: Prelude.Maybe ArcThicknessOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ArcConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arcAngle', 'arcConfiguration_arcAngle' - The option that determines the arc angle of a @GaugeChartVisual@.+--+-- 'arcThickness', 'arcConfiguration_arcThickness' - The options that determine the arc thickness of a @GaugeChartVisual@.+newArcConfiguration ::+  ArcConfiguration+newArcConfiguration =+  ArcConfiguration'+    { arcAngle = Prelude.Nothing,+      arcThickness = Prelude.Nothing+    }++-- | The option that determines the arc angle of a @GaugeChartVisual@.+arcConfiguration_arcAngle :: Lens.Lens' ArcConfiguration (Prelude.Maybe Prelude.Double)+arcConfiguration_arcAngle = Lens.lens (\ArcConfiguration' {arcAngle} -> arcAngle) (\s@ArcConfiguration' {} a -> s {arcAngle = a} :: ArcConfiguration)++-- | The options that determine the arc thickness of a @GaugeChartVisual@.+arcConfiguration_arcThickness :: Lens.Lens' ArcConfiguration (Prelude.Maybe ArcThicknessOptions)+arcConfiguration_arcThickness = Lens.lens (\ArcConfiguration' {arcThickness} -> arcThickness) (\s@ArcConfiguration' {} a -> s {arcThickness = a} :: ArcConfiguration)++instance Data.FromJSON ArcConfiguration where+  parseJSON =+    Data.withObject+      "ArcConfiguration"+      ( \x ->+          ArcConfiguration'+            Prelude.<$> (x Data..:? "ArcAngle")+            Prelude.<*> (x Data..:? "ArcThickness")+      )++instance Prelude.Hashable ArcConfiguration where+  hashWithSalt _salt ArcConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` arcAngle+      `Prelude.hashWithSalt` arcThickness++instance Prelude.NFData ArcConfiguration where+  rnf ArcConfiguration' {..} =+    Prelude.rnf arcAngle+      `Prelude.seq` Prelude.rnf arcThickness++instance Data.ToJSON ArcConfiguration where+  toJSON ArcConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ArcAngle" Data..=) Prelude.<$> arcAngle,+            ("ArcThickness" Data..=) Prelude.<$> arcThickness+          ]+      )
+ gen/Amazonka/QuickSight/Types/ArcOptions.hs view
@@ -0,0 +1,75 @@+{-# 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.QuickSight.Types.ArcOptions+-- 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.QuickSight.Types.ArcOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ArcThickness++-- | The options that determine the arc thickness of a @GaugeChartVisual@.+--+-- /See:/ 'newArcOptions' smart constructor.+data ArcOptions = ArcOptions'+  { -- | The arc thickness of a @GaugeChartVisual@.+    arcThickness :: Prelude.Maybe ArcThickness+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ArcOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arcThickness', 'arcOptions_arcThickness' - The arc thickness of a @GaugeChartVisual@.+newArcOptions ::+  ArcOptions+newArcOptions =+  ArcOptions' {arcThickness = Prelude.Nothing}++-- | The arc thickness of a @GaugeChartVisual@.+arcOptions_arcThickness :: Lens.Lens' ArcOptions (Prelude.Maybe ArcThickness)+arcOptions_arcThickness = Lens.lens (\ArcOptions' {arcThickness} -> arcThickness) (\s@ArcOptions' {} a -> s {arcThickness = a} :: ArcOptions)++instance Data.FromJSON ArcOptions where+  parseJSON =+    Data.withObject+      "ArcOptions"+      ( \x ->+          ArcOptions' Prelude.<$> (x Data..:? "ArcThickness")+      )++instance Prelude.Hashable ArcOptions where+  hashWithSalt _salt ArcOptions' {..} =+    _salt `Prelude.hashWithSalt` arcThickness++instance Prelude.NFData ArcOptions where+  rnf ArcOptions' {..} = Prelude.rnf arcThickness++instance Data.ToJSON ArcOptions where+  toJSON ArcOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [("ArcThickness" Data..=) Prelude.<$> arcThickness]+      )
+ gen/Amazonka/QuickSight/Types/ArcThickness.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ArcThickness+-- 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.QuickSight.Types.ArcThickness+  ( ArcThickness+      ( ..,+        ArcThickness_LARGE,+        ArcThickness_MEDIUM,+        ArcThickness_SMALL,+        ArcThickness_WHOLE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ArcThickness = ArcThickness'+  { fromArcThickness ::+      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 ArcThickness_LARGE :: ArcThickness+pattern ArcThickness_LARGE = ArcThickness' "LARGE"++pattern ArcThickness_MEDIUM :: ArcThickness+pattern ArcThickness_MEDIUM = ArcThickness' "MEDIUM"++pattern ArcThickness_SMALL :: ArcThickness+pattern ArcThickness_SMALL = ArcThickness' "SMALL"++pattern ArcThickness_WHOLE :: ArcThickness+pattern ArcThickness_WHOLE = ArcThickness' "WHOLE"++{-# COMPLETE+  ArcThickness_LARGE,+  ArcThickness_MEDIUM,+  ArcThickness_SMALL,+  ArcThickness_WHOLE,+  ArcThickness'+  #-}
+ gen/Amazonka/QuickSight/Types/ArcThicknessOptions.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ArcThicknessOptions+-- 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.QuickSight.Types.ArcThicknessOptions+  ( ArcThicknessOptions+      ( ..,+        ArcThicknessOptions_LARGE,+        ArcThicknessOptions_MEDIUM,+        ArcThicknessOptions_SMALL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ArcThicknessOptions = ArcThicknessOptions'+  { fromArcThicknessOptions ::+      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 ArcThicknessOptions_LARGE :: ArcThicknessOptions+pattern ArcThicknessOptions_LARGE = ArcThicknessOptions' "LARGE"++pattern ArcThicknessOptions_MEDIUM :: ArcThicknessOptions+pattern ArcThicknessOptions_MEDIUM = ArcThicknessOptions' "MEDIUM"++pattern ArcThicknessOptions_SMALL :: ArcThicknessOptions+pattern ArcThicknessOptions_SMALL = ArcThicknessOptions' "SMALL"++{-# COMPLETE+  ArcThicknessOptions_LARGE,+  ArcThicknessOptions_MEDIUM,+  ArcThicknessOptions_SMALL,+  ArcThicknessOptions'+  #-}
+ gen/Amazonka/QuickSight/Types/AssignmentStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.AssignmentStatus+-- 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.QuickSight.Types.AssignmentStatus+  ( AssignmentStatus+      ( ..,+        AssignmentStatus_DISABLED,+        AssignmentStatus_DRAFT,+        AssignmentStatus_ENABLED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AssignmentStatus = AssignmentStatus'+  { fromAssignmentStatus ::+      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 AssignmentStatus_DISABLED :: AssignmentStatus+pattern AssignmentStatus_DISABLED = AssignmentStatus' "DISABLED"++pattern AssignmentStatus_DRAFT :: AssignmentStatus+pattern AssignmentStatus_DRAFT = AssignmentStatus' "DRAFT"++pattern AssignmentStatus_ENABLED :: AssignmentStatus+pattern AssignmentStatus_ENABLED = AssignmentStatus' "ENABLED"++{-# COMPLETE+  AssignmentStatus_DISABLED,+  AssignmentStatus_DRAFT,+  AssignmentStatus_ENABLED,+  AssignmentStatus'+  #-}
+ gen/Amazonka/QuickSight/Types/AthenaParameters.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.QuickSight.Types.AthenaParameters+-- 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.QuickSight.Types.AthenaParameters 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++-- | Parameters for Amazon Athena.+--+-- /See:/ 'newAthenaParameters' smart constructor.+data AthenaParameters = AthenaParameters'+  { -- | Use the @RoleArn@ structure to override an account-wide role for a+    -- specific Athena data source. For example, say an account administrator+    -- has turned off all Athena access with an account-wide role. The+    -- administrator can then use @RoleArn@ to bypass the account-wide role and+    -- allow Athena access for the single Athena data source that is specified+    -- in the structure, even if the account-wide role forbidding Athena access+    -- is still active.+    roleArn :: Prelude.Maybe Prelude.Text,+    -- | The workgroup that Amazon Athena uses.+    workGroup :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AthenaParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'roleArn', 'athenaParameters_roleArn' - Use the @RoleArn@ structure to override an account-wide role for a+-- specific Athena data source. For example, say an account administrator+-- has turned off all Athena access with an account-wide role. The+-- administrator can then use @RoleArn@ to bypass the account-wide role and+-- allow Athena access for the single Athena data source that is specified+-- in the structure, even if the account-wide role forbidding Athena access+-- is still active.+--+-- 'workGroup', 'athenaParameters_workGroup' - The workgroup that Amazon Athena uses.+newAthenaParameters ::+  AthenaParameters+newAthenaParameters =+  AthenaParameters'+    { roleArn = Prelude.Nothing,+      workGroup = Prelude.Nothing+    }++-- | Use the @RoleArn@ structure to override an account-wide role for a+-- specific Athena data source. For example, say an account administrator+-- has turned off all Athena access with an account-wide role. The+-- administrator can then use @RoleArn@ to bypass the account-wide role and+-- allow Athena access for the single Athena data source that is specified+-- in the structure, even if the account-wide role forbidding Athena access+-- is still active.+athenaParameters_roleArn :: Lens.Lens' AthenaParameters (Prelude.Maybe Prelude.Text)+athenaParameters_roleArn = Lens.lens (\AthenaParameters' {roleArn} -> roleArn) (\s@AthenaParameters' {} a -> s {roleArn = a} :: AthenaParameters)++-- | The workgroup that Amazon Athena uses.+athenaParameters_workGroup :: Lens.Lens' AthenaParameters (Prelude.Maybe Prelude.Text)+athenaParameters_workGroup = Lens.lens (\AthenaParameters' {workGroup} -> workGroup) (\s@AthenaParameters' {} a -> s {workGroup = a} :: AthenaParameters)++instance Data.FromJSON AthenaParameters where+  parseJSON =+    Data.withObject+      "AthenaParameters"+      ( \x ->+          AthenaParameters'+            Prelude.<$> (x Data..:? "RoleArn")+            Prelude.<*> (x Data..:? "WorkGroup")+      )++instance Prelude.Hashable AthenaParameters where+  hashWithSalt _salt AthenaParameters' {..} =+    _salt+      `Prelude.hashWithSalt` roleArn+      `Prelude.hashWithSalt` workGroup++instance Prelude.NFData AthenaParameters where+  rnf AthenaParameters' {..} =+    Prelude.rnf roleArn+      `Prelude.seq` Prelude.rnf workGroup++instance Data.ToJSON AthenaParameters where+  toJSON AthenaParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("RoleArn" Data..=) Prelude.<$> roleArn,+            ("WorkGroup" Data..=) Prelude.<$> workGroup+          ]+      )
+ gen/Amazonka/QuickSight/Types/AuroraParameters.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.AuroraParameters+-- 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.QuickSight.Types.AuroraParameters 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++-- | Parameters for Amazon Aurora.+--+-- /See:/ 'newAuroraParameters' smart constructor.+data AuroraParameters = AuroraParameters'+  { -- | Host.+    host :: Prelude.Text,+    -- | Port.+    port :: Prelude.Natural,+    -- | Database.+    database :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AuroraParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'host', 'auroraParameters_host' - Host.+--+-- 'port', 'auroraParameters_port' - Port.+--+-- 'database', 'auroraParameters_database' - Database.+newAuroraParameters ::+  -- | 'host'+  Prelude.Text ->+  -- | 'port'+  Prelude.Natural ->+  -- | 'database'+  Prelude.Text ->+  AuroraParameters+newAuroraParameters pHost_ pPort_ pDatabase_ =+  AuroraParameters'+    { host = pHost_,+      port = pPort_,+      database = pDatabase_+    }++-- | Host.+auroraParameters_host :: Lens.Lens' AuroraParameters Prelude.Text+auroraParameters_host = Lens.lens (\AuroraParameters' {host} -> host) (\s@AuroraParameters' {} a -> s {host = a} :: AuroraParameters)++-- | Port.+auroraParameters_port :: Lens.Lens' AuroraParameters Prelude.Natural+auroraParameters_port = Lens.lens (\AuroraParameters' {port} -> port) (\s@AuroraParameters' {} a -> s {port = a} :: AuroraParameters)++-- | Database.+auroraParameters_database :: Lens.Lens' AuroraParameters Prelude.Text+auroraParameters_database = Lens.lens (\AuroraParameters' {database} -> database) (\s@AuroraParameters' {} a -> s {database = a} :: AuroraParameters)++instance Data.FromJSON AuroraParameters where+  parseJSON =+    Data.withObject+      "AuroraParameters"+      ( \x ->+          AuroraParameters'+            Prelude.<$> (x Data..: "Host")+            Prelude.<*> (x Data..: "Port")+            Prelude.<*> (x Data..: "Database")+      )++instance Prelude.Hashable AuroraParameters where+  hashWithSalt _salt AuroraParameters' {..} =+    _salt+      `Prelude.hashWithSalt` host+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` database++instance Prelude.NFData AuroraParameters where+  rnf AuroraParameters' {..} =+    Prelude.rnf host+      `Prelude.seq` Prelude.rnf port+      `Prelude.seq` Prelude.rnf database++instance Data.ToJSON AuroraParameters where+  toJSON AuroraParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Host" Data..= host),+            Prelude.Just ("Port" Data..= port),+            Prelude.Just ("Database" Data..= database)+          ]+      )
+ gen/Amazonka/QuickSight/Types/AuroraPostgreSqlParameters.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.AuroraPostgreSqlParameters+-- 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.QuickSight.Types.AuroraPostgreSqlParameters 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++-- | Parameters for Amazon Aurora PostgreSQL-Compatible Edition.+--+-- /See:/ 'newAuroraPostgreSqlParameters' smart constructor.+data AuroraPostgreSqlParameters = AuroraPostgreSqlParameters'+  { -- | The Amazon Aurora PostgreSQL-Compatible host to connect to.+    host :: Prelude.Text,+    -- | The port that Amazon Aurora PostgreSQL is listening on.+    port :: Prelude.Natural,+    -- | The Amazon Aurora PostgreSQL database to connect to.+    database :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AuroraPostgreSqlParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'host', 'auroraPostgreSqlParameters_host' - The Amazon Aurora PostgreSQL-Compatible host to connect to.+--+-- 'port', 'auroraPostgreSqlParameters_port' - The port that Amazon Aurora PostgreSQL is listening on.+--+-- 'database', 'auroraPostgreSqlParameters_database' - The Amazon Aurora PostgreSQL database to connect to.+newAuroraPostgreSqlParameters ::+  -- | 'host'+  Prelude.Text ->+  -- | 'port'+  Prelude.Natural ->+  -- | 'database'+  Prelude.Text ->+  AuroraPostgreSqlParameters+newAuroraPostgreSqlParameters+  pHost_+  pPort_+  pDatabase_ =+    AuroraPostgreSqlParameters'+      { host = pHost_,+        port = pPort_,+        database = pDatabase_+      }++-- | The Amazon Aurora PostgreSQL-Compatible host to connect to.+auroraPostgreSqlParameters_host :: Lens.Lens' AuroraPostgreSqlParameters Prelude.Text+auroraPostgreSqlParameters_host = Lens.lens (\AuroraPostgreSqlParameters' {host} -> host) (\s@AuroraPostgreSqlParameters' {} a -> s {host = a} :: AuroraPostgreSqlParameters)++-- | The port that Amazon Aurora PostgreSQL is listening on.+auroraPostgreSqlParameters_port :: Lens.Lens' AuroraPostgreSqlParameters Prelude.Natural+auroraPostgreSqlParameters_port = Lens.lens (\AuroraPostgreSqlParameters' {port} -> port) (\s@AuroraPostgreSqlParameters' {} a -> s {port = a} :: AuroraPostgreSqlParameters)++-- | The Amazon Aurora PostgreSQL database to connect to.+auroraPostgreSqlParameters_database :: Lens.Lens' AuroraPostgreSqlParameters Prelude.Text+auroraPostgreSqlParameters_database = Lens.lens (\AuroraPostgreSqlParameters' {database} -> database) (\s@AuroraPostgreSqlParameters' {} a -> s {database = a} :: AuroraPostgreSqlParameters)++instance Data.FromJSON AuroraPostgreSqlParameters where+  parseJSON =+    Data.withObject+      "AuroraPostgreSqlParameters"+      ( \x ->+          AuroraPostgreSqlParameters'+            Prelude.<$> (x Data..: "Host")+            Prelude.<*> (x Data..: "Port")+            Prelude.<*> (x Data..: "Database")+      )++instance Prelude.Hashable AuroraPostgreSqlParameters where+  hashWithSalt _salt AuroraPostgreSqlParameters' {..} =+    _salt+      `Prelude.hashWithSalt` host+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` database++instance Prelude.NFData AuroraPostgreSqlParameters where+  rnf AuroraPostgreSqlParameters' {..} =+    Prelude.rnf host+      `Prelude.seq` Prelude.rnf port+      `Prelude.seq` Prelude.rnf database++instance Data.ToJSON AuroraPostgreSqlParameters where+  toJSON AuroraPostgreSqlParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Host" Data..= host),+            Prelude.Just ("Port" Data..= port),+            Prelude.Just ("Database" Data..= database)+          ]+      )
+ gen/Amazonka/QuickSight/Types/AuthenticationMethodOption.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.AuthenticationMethodOption+-- 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.QuickSight.Types.AuthenticationMethodOption+  ( AuthenticationMethodOption+      ( ..,+        AuthenticationMethodOption_ACTIVE_DIRECTORY,+        AuthenticationMethodOption_IAM_AND_QUICKSIGHT,+        AuthenticationMethodOption_IAM_ONLY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AuthenticationMethodOption = AuthenticationMethodOption'+  { fromAuthenticationMethodOption ::+      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 AuthenticationMethodOption_ACTIVE_DIRECTORY :: AuthenticationMethodOption+pattern AuthenticationMethodOption_ACTIVE_DIRECTORY = AuthenticationMethodOption' "ACTIVE_DIRECTORY"++pattern AuthenticationMethodOption_IAM_AND_QUICKSIGHT :: AuthenticationMethodOption+pattern AuthenticationMethodOption_IAM_AND_QUICKSIGHT = AuthenticationMethodOption' "IAM_AND_QUICKSIGHT"++pattern AuthenticationMethodOption_IAM_ONLY :: AuthenticationMethodOption+pattern AuthenticationMethodOption_IAM_ONLY = AuthenticationMethodOption' "IAM_ONLY"++{-# COMPLETE+  AuthenticationMethodOption_ACTIVE_DIRECTORY,+  AuthenticationMethodOption_IAM_AND_QUICKSIGHT,+  AuthenticationMethodOption_IAM_ONLY,+  AuthenticationMethodOption'+  #-}
+ gen/Amazonka/QuickSight/Types/AwsIotAnalyticsParameters.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.QuickSight.Types.AwsIotAnalyticsParameters+-- 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.QuickSight.Types.AwsIotAnalyticsParameters 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 parameters for IoT Analytics.+--+-- /See:/ 'newAwsIotAnalyticsParameters' smart constructor.+data AwsIotAnalyticsParameters = AwsIotAnalyticsParameters'+  { -- | Dataset name.+    dataSetName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AwsIotAnalyticsParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSetName', 'awsIotAnalyticsParameters_dataSetName' - Dataset name.+newAwsIotAnalyticsParameters ::+  -- | 'dataSetName'+  Prelude.Text ->+  AwsIotAnalyticsParameters+newAwsIotAnalyticsParameters pDataSetName_ =+  AwsIotAnalyticsParameters'+    { dataSetName =+        pDataSetName_+    }++-- | Dataset name.+awsIotAnalyticsParameters_dataSetName :: Lens.Lens' AwsIotAnalyticsParameters Prelude.Text+awsIotAnalyticsParameters_dataSetName = Lens.lens (\AwsIotAnalyticsParameters' {dataSetName} -> dataSetName) (\s@AwsIotAnalyticsParameters' {} a -> s {dataSetName = a} :: AwsIotAnalyticsParameters)++instance Data.FromJSON AwsIotAnalyticsParameters where+  parseJSON =+    Data.withObject+      "AwsIotAnalyticsParameters"+      ( \x ->+          AwsIotAnalyticsParameters'+            Prelude.<$> (x Data..: "DataSetName")+      )++instance Prelude.Hashable AwsIotAnalyticsParameters where+  hashWithSalt _salt AwsIotAnalyticsParameters' {..} =+    _salt `Prelude.hashWithSalt` dataSetName++instance Prelude.NFData AwsIotAnalyticsParameters where+  rnf AwsIotAnalyticsParameters' {..} =+    Prelude.rnf dataSetName++instance Data.ToJSON AwsIotAnalyticsParameters where+  toJSON AwsIotAnalyticsParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("DataSetName" Data..= dataSetName)]+      )
+ gen/Amazonka/QuickSight/Types/AxisBinding.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.QuickSight.Types.AxisBinding+-- 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.QuickSight.Types.AxisBinding+  ( AxisBinding+      ( ..,+        AxisBinding_PRIMARY_YAXIS,+        AxisBinding_SECONDARY_YAXIS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AxisBinding = AxisBinding'+  { fromAxisBinding ::+      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 AxisBinding_PRIMARY_YAXIS :: AxisBinding+pattern AxisBinding_PRIMARY_YAXIS = AxisBinding' "PRIMARY_YAXIS"++pattern AxisBinding_SECONDARY_YAXIS :: AxisBinding+pattern AxisBinding_SECONDARY_YAXIS = AxisBinding' "SECONDARY_YAXIS"++{-# COMPLETE+  AxisBinding_PRIMARY_YAXIS,+  AxisBinding_SECONDARY_YAXIS,+  AxisBinding'+  #-}
+ gen/Amazonka/QuickSight/Types/AxisDataOptions.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.QuickSight.Types.AxisDataOptions+-- 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.QuickSight.Types.AxisDataOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DateAxisOptions+import Amazonka.QuickSight.Types.NumericAxisOptions++-- | The data options for an axis.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newAxisDataOptions' smart constructor.+data AxisDataOptions = AxisDataOptions'+  { -- | The options for an axis with a date field.+    dateAxisOptions :: Prelude.Maybe DateAxisOptions,+    -- | The options for an axis with a numeric field.+    numericAxisOptions :: Prelude.Maybe NumericAxisOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AxisDataOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dateAxisOptions', 'axisDataOptions_dateAxisOptions' - The options for an axis with a date field.+--+-- 'numericAxisOptions', 'axisDataOptions_numericAxisOptions' - The options for an axis with a numeric field.+newAxisDataOptions ::+  AxisDataOptions+newAxisDataOptions =+  AxisDataOptions'+    { dateAxisOptions = Prelude.Nothing,+      numericAxisOptions = Prelude.Nothing+    }++-- | The options for an axis with a date field.+axisDataOptions_dateAxisOptions :: Lens.Lens' AxisDataOptions (Prelude.Maybe DateAxisOptions)+axisDataOptions_dateAxisOptions = Lens.lens (\AxisDataOptions' {dateAxisOptions} -> dateAxisOptions) (\s@AxisDataOptions' {} a -> s {dateAxisOptions = a} :: AxisDataOptions)++-- | The options for an axis with a numeric field.+axisDataOptions_numericAxisOptions :: Lens.Lens' AxisDataOptions (Prelude.Maybe NumericAxisOptions)+axisDataOptions_numericAxisOptions = Lens.lens (\AxisDataOptions' {numericAxisOptions} -> numericAxisOptions) (\s@AxisDataOptions' {} a -> s {numericAxisOptions = a} :: AxisDataOptions)++instance Data.FromJSON AxisDataOptions where+  parseJSON =+    Data.withObject+      "AxisDataOptions"+      ( \x ->+          AxisDataOptions'+            Prelude.<$> (x Data..:? "DateAxisOptions")+            Prelude.<*> (x Data..:? "NumericAxisOptions")+      )++instance Prelude.Hashable AxisDataOptions where+  hashWithSalt _salt AxisDataOptions' {..} =+    _salt+      `Prelude.hashWithSalt` dateAxisOptions+      `Prelude.hashWithSalt` numericAxisOptions++instance Prelude.NFData AxisDataOptions where+  rnf AxisDataOptions' {..} =+    Prelude.rnf dateAxisOptions+      `Prelude.seq` Prelude.rnf numericAxisOptions++instance Data.ToJSON AxisDataOptions where+  toJSON AxisDataOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DateAxisOptions" Data..=)+              Prelude.<$> dateAxisOptions,+            ("NumericAxisOptions" Data..=)+              Prelude.<$> numericAxisOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/AxisDisplayDataDrivenRange.hs view
@@ -0,0 +1,58 @@+{-# 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.QuickSight.Types.AxisDisplayDataDrivenRange+-- 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.QuickSight.Types.AxisDisplayDataDrivenRange 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 options that are saved for future extension.+--+-- /See:/ 'newAxisDisplayDataDrivenRange' smart constructor.+data AxisDisplayDataDrivenRange = AxisDisplayDataDrivenRange'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AxisDisplayDataDrivenRange' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newAxisDisplayDataDrivenRange ::+  AxisDisplayDataDrivenRange+newAxisDisplayDataDrivenRange =+  AxisDisplayDataDrivenRange'++instance Data.FromJSON AxisDisplayDataDrivenRange where+  parseJSON =+    Data.withObject+      "AxisDisplayDataDrivenRange"+      (\x -> Prelude.pure AxisDisplayDataDrivenRange')++instance Prelude.Hashable AxisDisplayDataDrivenRange where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData AxisDisplayDataDrivenRange where+  rnf _ = ()++instance Data.ToJSON AxisDisplayDataDrivenRange where+  toJSON = Prelude.const (Data.Object Prelude.mempty)
+ gen/Amazonka/QuickSight/Types/AxisDisplayMinMaxRange.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.AxisDisplayMinMaxRange+-- 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.QuickSight.Types.AxisDisplayMinMaxRange 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 minimum and maximum setup for an axis display range.+--+-- /See:/ 'newAxisDisplayMinMaxRange' smart constructor.+data AxisDisplayMinMaxRange = AxisDisplayMinMaxRange'+  { -- | The maximum setup for an axis display range.+    maximum :: Prelude.Maybe Prelude.Double,+    -- | The minimum setup for an axis display range.+    minimum :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AxisDisplayMinMaxRange' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maximum', 'axisDisplayMinMaxRange_maximum' - The maximum setup for an axis display range.+--+-- 'minimum', 'axisDisplayMinMaxRange_minimum' - The minimum setup for an axis display range.+newAxisDisplayMinMaxRange ::+  AxisDisplayMinMaxRange+newAxisDisplayMinMaxRange =+  AxisDisplayMinMaxRange'+    { maximum = Prelude.Nothing,+      minimum = Prelude.Nothing+    }++-- | The maximum setup for an axis display range.+axisDisplayMinMaxRange_maximum :: Lens.Lens' AxisDisplayMinMaxRange (Prelude.Maybe Prelude.Double)+axisDisplayMinMaxRange_maximum = Lens.lens (\AxisDisplayMinMaxRange' {maximum} -> maximum) (\s@AxisDisplayMinMaxRange' {} a -> s {maximum = a} :: AxisDisplayMinMaxRange)++-- | The minimum setup for an axis display range.+axisDisplayMinMaxRange_minimum :: Lens.Lens' AxisDisplayMinMaxRange (Prelude.Maybe Prelude.Double)+axisDisplayMinMaxRange_minimum = Lens.lens (\AxisDisplayMinMaxRange' {minimum} -> minimum) (\s@AxisDisplayMinMaxRange' {} a -> s {minimum = a} :: AxisDisplayMinMaxRange)++instance Data.FromJSON AxisDisplayMinMaxRange where+  parseJSON =+    Data.withObject+      "AxisDisplayMinMaxRange"+      ( \x ->+          AxisDisplayMinMaxRange'+            Prelude.<$> (x Data..:? "Maximum")+            Prelude.<*> (x Data..:? "Minimum")+      )++instance Prelude.Hashable AxisDisplayMinMaxRange where+  hashWithSalt _salt AxisDisplayMinMaxRange' {..} =+    _salt+      `Prelude.hashWithSalt` maximum+      `Prelude.hashWithSalt` minimum++instance Prelude.NFData AxisDisplayMinMaxRange where+  rnf AxisDisplayMinMaxRange' {..} =+    Prelude.rnf maximum+      `Prelude.seq` Prelude.rnf minimum++instance Data.ToJSON AxisDisplayMinMaxRange where+  toJSON AxisDisplayMinMaxRange' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Maximum" Data..=) Prelude.<$> maximum,+            ("Minimum" Data..=) Prelude.<$> minimum+          ]+      )
+ gen/Amazonka/QuickSight/Types/AxisDisplayOptions.hs view
@@ -0,0 +1,157 @@+{-# 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.QuickSight.Types.AxisDisplayOptions+-- 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.QuickSight.Types.AxisDisplayOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AxisDataOptions+import Amazonka.QuickSight.Types.AxisTickLabelOptions+import Amazonka.QuickSight.Types.ScrollBarOptions+import Amazonka.QuickSight.Types.Visibility++-- | The display options for the axis label.+--+-- /See:/ 'newAxisDisplayOptions' smart constructor.+data AxisDisplayOptions = AxisDisplayOptions'+  { -- | Determines whether or not the axis line is visible.+    axisLineVisibility :: Prelude.Maybe Visibility,+    -- | The offset value that determines the starting placement of the axis+    -- within a visual\'s bounds.+    axisOffset :: Prelude.Maybe Prelude.Text,+    -- | The data options for an axis.+    dataOptions :: Prelude.Maybe AxisDataOptions,+    -- | Determines whether or not the grid line is visible.+    gridLineVisibility :: Prelude.Maybe Visibility,+    -- | The scroll bar options for an axis.+    scrollbarOptions :: Prelude.Maybe ScrollBarOptions,+    -- | The tick label options of an axis.+    tickLabelOptions :: Prelude.Maybe AxisTickLabelOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AxisDisplayOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'axisLineVisibility', 'axisDisplayOptions_axisLineVisibility' - Determines whether or not the axis line is visible.+--+-- 'axisOffset', 'axisDisplayOptions_axisOffset' - The offset value that determines the starting placement of the axis+-- within a visual\'s bounds.+--+-- 'dataOptions', 'axisDisplayOptions_dataOptions' - The data options for an axis.+--+-- 'gridLineVisibility', 'axisDisplayOptions_gridLineVisibility' - Determines whether or not the grid line is visible.+--+-- 'scrollbarOptions', 'axisDisplayOptions_scrollbarOptions' - The scroll bar options for an axis.+--+-- 'tickLabelOptions', 'axisDisplayOptions_tickLabelOptions' - The tick label options of an axis.+newAxisDisplayOptions ::+  AxisDisplayOptions+newAxisDisplayOptions =+  AxisDisplayOptions'+    { axisLineVisibility =+        Prelude.Nothing,+      axisOffset = Prelude.Nothing,+      dataOptions = Prelude.Nothing,+      gridLineVisibility = Prelude.Nothing,+      scrollbarOptions = Prelude.Nothing,+      tickLabelOptions = Prelude.Nothing+    }++-- | Determines whether or not the axis line is visible.+axisDisplayOptions_axisLineVisibility :: Lens.Lens' AxisDisplayOptions (Prelude.Maybe Visibility)+axisDisplayOptions_axisLineVisibility = Lens.lens (\AxisDisplayOptions' {axisLineVisibility} -> axisLineVisibility) (\s@AxisDisplayOptions' {} a -> s {axisLineVisibility = a} :: AxisDisplayOptions)++-- | The offset value that determines the starting placement of the axis+-- within a visual\'s bounds.+axisDisplayOptions_axisOffset :: Lens.Lens' AxisDisplayOptions (Prelude.Maybe Prelude.Text)+axisDisplayOptions_axisOffset = Lens.lens (\AxisDisplayOptions' {axisOffset} -> axisOffset) (\s@AxisDisplayOptions' {} a -> s {axisOffset = a} :: AxisDisplayOptions)++-- | The data options for an axis.+axisDisplayOptions_dataOptions :: Lens.Lens' AxisDisplayOptions (Prelude.Maybe AxisDataOptions)+axisDisplayOptions_dataOptions = Lens.lens (\AxisDisplayOptions' {dataOptions} -> dataOptions) (\s@AxisDisplayOptions' {} a -> s {dataOptions = a} :: AxisDisplayOptions)++-- | Determines whether or not the grid line is visible.+axisDisplayOptions_gridLineVisibility :: Lens.Lens' AxisDisplayOptions (Prelude.Maybe Visibility)+axisDisplayOptions_gridLineVisibility = Lens.lens (\AxisDisplayOptions' {gridLineVisibility} -> gridLineVisibility) (\s@AxisDisplayOptions' {} a -> s {gridLineVisibility = a} :: AxisDisplayOptions)++-- | The scroll bar options for an axis.+axisDisplayOptions_scrollbarOptions :: Lens.Lens' AxisDisplayOptions (Prelude.Maybe ScrollBarOptions)+axisDisplayOptions_scrollbarOptions = Lens.lens (\AxisDisplayOptions' {scrollbarOptions} -> scrollbarOptions) (\s@AxisDisplayOptions' {} a -> s {scrollbarOptions = a} :: AxisDisplayOptions)++-- | The tick label options of an axis.+axisDisplayOptions_tickLabelOptions :: Lens.Lens' AxisDisplayOptions (Prelude.Maybe AxisTickLabelOptions)+axisDisplayOptions_tickLabelOptions = Lens.lens (\AxisDisplayOptions' {tickLabelOptions} -> tickLabelOptions) (\s@AxisDisplayOptions' {} a -> s {tickLabelOptions = a} :: AxisDisplayOptions)++instance Data.FromJSON AxisDisplayOptions where+  parseJSON =+    Data.withObject+      "AxisDisplayOptions"+      ( \x ->+          AxisDisplayOptions'+            Prelude.<$> (x Data..:? "AxisLineVisibility")+            Prelude.<*> (x Data..:? "AxisOffset")+            Prelude.<*> (x Data..:? "DataOptions")+            Prelude.<*> (x Data..:? "GridLineVisibility")+            Prelude.<*> (x Data..:? "ScrollbarOptions")+            Prelude.<*> (x Data..:? "TickLabelOptions")+      )++instance Prelude.Hashable AxisDisplayOptions where+  hashWithSalt _salt AxisDisplayOptions' {..} =+    _salt+      `Prelude.hashWithSalt` axisLineVisibility+      `Prelude.hashWithSalt` axisOffset+      `Prelude.hashWithSalt` dataOptions+      `Prelude.hashWithSalt` gridLineVisibility+      `Prelude.hashWithSalt` scrollbarOptions+      `Prelude.hashWithSalt` tickLabelOptions++instance Prelude.NFData AxisDisplayOptions where+  rnf AxisDisplayOptions' {..} =+    Prelude.rnf axisLineVisibility+      `Prelude.seq` Prelude.rnf axisOffset+      `Prelude.seq` Prelude.rnf dataOptions+      `Prelude.seq` Prelude.rnf gridLineVisibility+      `Prelude.seq` Prelude.rnf scrollbarOptions+      `Prelude.seq` Prelude.rnf tickLabelOptions++instance Data.ToJSON AxisDisplayOptions where+  toJSON AxisDisplayOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AxisLineVisibility" Data..=)+              Prelude.<$> axisLineVisibility,+            ("AxisOffset" Data..=) Prelude.<$> axisOffset,+            ("DataOptions" Data..=) Prelude.<$> dataOptions,+            ("GridLineVisibility" Data..=)+              Prelude.<$> gridLineVisibility,+            ("ScrollbarOptions" Data..=)+              Prelude.<$> scrollbarOptions,+            ("TickLabelOptions" Data..=)+              Prelude.<$> tickLabelOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/AxisDisplayRange.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.QuickSight.Types.AxisDisplayRange+-- 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.QuickSight.Types.AxisDisplayRange where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AxisDisplayDataDrivenRange+import Amazonka.QuickSight.Types.AxisDisplayMinMaxRange++-- | The range setup of a numeric axis display range.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newAxisDisplayRange' smart constructor.+data AxisDisplayRange = AxisDisplayRange'+  { -- | The data-driven setup of an axis display range.+    dataDriven :: Prelude.Maybe AxisDisplayDataDrivenRange,+    -- | The minimum and maximum setup of an axis display range.+    minMax :: Prelude.Maybe AxisDisplayMinMaxRange+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AxisDisplayRange' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataDriven', 'axisDisplayRange_dataDriven' - The data-driven setup of an axis display range.+--+-- 'minMax', 'axisDisplayRange_minMax' - The minimum and maximum setup of an axis display range.+newAxisDisplayRange ::+  AxisDisplayRange+newAxisDisplayRange =+  AxisDisplayRange'+    { dataDriven = Prelude.Nothing,+      minMax = Prelude.Nothing+    }++-- | The data-driven setup of an axis display range.+axisDisplayRange_dataDriven :: Lens.Lens' AxisDisplayRange (Prelude.Maybe AxisDisplayDataDrivenRange)+axisDisplayRange_dataDriven = Lens.lens (\AxisDisplayRange' {dataDriven} -> dataDriven) (\s@AxisDisplayRange' {} a -> s {dataDriven = a} :: AxisDisplayRange)++-- | The minimum and maximum setup of an axis display range.+axisDisplayRange_minMax :: Lens.Lens' AxisDisplayRange (Prelude.Maybe AxisDisplayMinMaxRange)+axisDisplayRange_minMax = Lens.lens (\AxisDisplayRange' {minMax} -> minMax) (\s@AxisDisplayRange' {} a -> s {minMax = a} :: AxisDisplayRange)++instance Data.FromJSON AxisDisplayRange where+  parseJSON =+    Data.withObject+      "AxisDisplayRange"+      ( \x ->+          AxisDisplayRange'+            Prelude.<$> (x Data..:? "DataDriven")+            Prelude.<*> (x Data..:? "MinMax")+      )++instance Prelude.Hashable AxisDisplayRange where+  hashWithSalt _salt AxisDisplayRange' {..} =+    _salt+      `Prelude.hashWithSalt` dataDriven+      `Prelude.hashWithSalt` minMax++instance Prelude.NFData AxisDisplayRange where+  rnf AxisDisplayRange' {..} =+    Prelude.rnf dataDriven+      `Prelude.seq` Prelude.rnf minMax++instance Data.ToJSON AxisDisplayRange where+  toJSON AxisDisplayRange' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DataDriven" Data..=) Prelude.<$> dataDriven,+            ("MinMax" Data..=) Prelude.<$> minMax+          ]+      )
+ gen/Amazonka/QuickSight/Types/AxisLabelOptions.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.AxisLabelOptions+-- 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.QuickSight.Types.AxisLabelOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AxisLabelReferenceOptions+import Amazonka.QuickSight.Types.FontConfiguration++-- | The label options for a chart axis. You must specify the field that the+-- label is targeted to.+--+-- /See:/ 'newAxisLabelOptions' smart constructor.+data AxisLabelOptions = AxisLabelOptions'+  { -- | The options that indicate which field the label belongs to.+    applyTo :: Prelude.Maybe AxisLabelReferenceOptions,+    -- | The text for the axis label.+    customLabel :: Prelude.Maybe Prelude.Text,+    -- | The font configuration of the axis label.+    fontConfiguration :: Prelude.Maybe FontConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AxisLabelOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applyTo', 'axisLabelOptions_applyTo' - The options that indicate which field the label belongs to.+--+-- 'customLabel', 'axisLabelOptions_customLabel' - The text for the axis label.+--+-- 'fontConfiguration', 'axisLabelOptions_fontConfiguration' - The font configuration of the axis label.+newAxisLabelOptions ::+  AxisLabelOptions+newAxisLabelOptions =+  AxisLabelOptions'+    { applyTo = Prelude.Nothing,+      customLabel = Prelude.Nothing,+      fontConfiguration = Prelude.Nothing+    }++-- | The options that indicate which field the label belongs to.+axisLabelOptions_applyTo :: Lens.Lens' AxisLabelOptions (Prelude.Maybe AxisLabelReferenceOptions)+axisLabelOptions_applyTo = Lens.lens (\AxisLabelOptions' {applyTo} -> applyTo) (\s@AxisLabelOptions' {} a -> s {applyTo = a} :: AxisLabelOptions)++-- | The text for the axis label.+axisLabelOptions_customLabel :: Lens.Lens' AxisLabelOptions (Prelude.Maybe Prelude.Text)+axisLabelOptions_customLabel = Lens.lens (\AxisLabelOptions' {customLabel} -> customLabel) (\s@AxisLabelOptions' {} a -> s {customLabel = a} :: AxisLabelOptions)++-- | The font configuration of the axis label.+axisLabelOptions_fontConfiguration :: Lens.Lens' AxisLabelOptions (Prelude.Maybe FontConfiguration)+axisLabelOptions_fontConfiguration = Lens.lens (\AxisLabelOptions' {fontConfiguration} -> fontConfiguration) (\s@AxisLabelOptions' {} a -> s {fontConfiguration = a} :: AxisLabelOptions)++instance Data.FromJSON AxisLabelOptions where+  parseJSON =+    Data.withObject+      "AxisLabelOptions"+      ( \x ->+          AxisLabelOptions'+            Prelude.<$> (x Data..:? "ApplyTo")+            Prelude.<*> (x Data..:? "CustomLabel")+            Prelude.<*> (x Data..:? "FontConfiguration")+      )++instance Prelude.Hashable AxisLabelOptions where+  hashWithSalt _salt AxisLabelOptions' {..} =+    _salt+      `Prelude.hashWithSalt` applyTo+      `Prelude.hashWithSalt` customLabel+      `Prelude.hashWithSalt` fontConfiguration++instance Prelude.NFData AxisLabelOptions where+  rnf AxisLabelOptions' {..} =+    Prelude.rnf applyTo+      `Prelude.seq` Prelude.rnf customLabel+      `Prelude.seq` Prelude.rnf fontConfiguration++instance Data.ToJSON AxisLabelOptions where+  toJSON AxisLabelOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ApplyTo" Data..=) Prelude.<$> applyTo,+            ("CustomLabel" Data..=) Prelude.<$> customLabel,+            ("FontConfiguration" Data..=)+              Prelude.<$> fontConfiguration+          ]+      )
+ gen/Amazonka/QuickSight/Types/AxisLabelReferenceOptions.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.QuickSight.Types.AxisLabelReferenceOptions+-- 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.QuickSight.Types.AxisLabelReferenceOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnIdentifier++-- | The reference that specifies where the axis label is applied to.+--+-- /See:/ 'newAxisLabelReferenceOptions' smart constructor.+data AxisLabelReferenceOptions = AxisLabelReferenceOptions'+  { -- | The field that the axis label is targeted to.+    fieldId :: Prelude.Text,+    -- | The column that the axis label is targeted to.+    column :: ColumnIdentifier+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AxisLabelReferenceOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldId', 'axisLabelReferenceOptions_fieldId' - The field that the axis label is targeted to.+--+-- 'column', 'axisLabelReferenceOptions_column' - The column that the axis label is targeted to.+newAxisLabelReferenceOptions ::+  -- | 'fieldId'+  Prelude.Text ->+  -- | 'column'+  ColumnIdentifier ->+  AxisLabelReferenceOptions+newAxisLabelReferenceOptions pFieldId_ pColumn_ =+  AxisLabelReferenceOptions'+    { fieldId = pFieldId_,+      column = pColumn_+    }++-- | The field that the axis label is targeted to.+axisLabelReferenceOptions_fieldId :: Lens.Lens' AxisLabelReferenceOptions Prelude.Text+axisLabelReferenceOptions_fieldId = Lens.lens (\AxisLabelReferenceOptions' {fieldId} -> fieldId) (\s@AxisLabelReferenceOptions' {} a -> s {fieldId = a} :: AxisLabelReferenceOptions)++-- | The column that the axis label is targeted to.+axisLabelReferenceOptions_column :: Lens.Lens' AxisLabelReferenceOptions ColumnIdentifier+axisLabelReferenceOptions_column = Lens.lens (\AxisLabelReferenceOptions' {column} -> column) (\s@AxisLabelReferenceOptions' {} a -> s {column = a} :: AxisLabelReferenceOptions)++instance Data.FromJSON AxisLabelReferenceOptions where+  parseJSON =+    Data.withObject+      "AxisLabelReferenceOptions"+      ( \x ->+          AxisLabelReferenceOptions'+            Prelude.<$> (x Data..: "FieldId")+            Prelude.<*> (x Data..: "Column")+      )++instance Prelude.Hashable AxisLabelReferenceOptions where+  hashWithSalt _salt AxisLabelReferenceOptions' {..} =+    _salt+      `Prelude.hashWithSalt` fieldId+      `Prelude.hashWithSalt` column++instance Prelude.NFData AxisLabelReferenceOptions where+  rnf AxisLabelReferenceOptions' {..} =+    Prelude.rnf fieldId+      `Prelude.seq` Prelude.rnf column++instance Data.ToJSON AxisLabelReferenceOptions where+  toJSON AxisLabelReferenceOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("FieldId" Data..= fieldId),+            Prelude.Just ("Column" Data..= column)+          ]+      )
+ gen/Amazonka/QuickSight/Types/AxisLinearScale.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.QuickSight.Types.AxisLinearScale+-- 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.QuickSight.Types.AxisLinearScale 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 liner axis scale setup.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newAxisLinearScale' smart constructor.+data AxisLinearScale = AxisLinearScale'+  { -- | The step count setup of a linear axis.+    stepCount :: Prelude.Maybe Prelude.Int,+    -- | The step size setup of a linear axis.+    stepSize :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AxisLinearScale' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'stepCount', 'axisLinearScale_stepCount' - The step count setup of a linear axis.+--+-- 'stepSize', 'axisLinearScale_stepSize' - The step size setup of a linear axis.+newAxisLinearScale ::+  AxisLinearScale+newAxisLinearScale =+  AxisLinearScale'+    { stepCount = Prelude.Nothing,+      stepSize = Prelude.Nothing+    }++-- | The step count setup of a linear axis.+axisLinearScale_stepCount :: Lens.Lens' AxisLinearScale (Prelude.Maybe Prelude.Int)+axisLinearScale_stepCount = Lens.lens (\AxisLinearScale' {stepCount} -> stepCount) (\s@AxisLinearScale' {} a -> s {stepCount = a} :: AxisLinearScale)++-- | The step size setup of a linear axis.+axisLinearScale_stepSize :: Lens.Lens' AxisLinearScale (Prelude.Maybe Prelude.Double)+axisLinearScale_stepSize = Lens.lens (\AxisLinearScale' {stepSize} -> stepSize) (\s@AxisLinearScale' {} a -> s {stepSize = a} :: AxisLinearScale)++instance Data.FromJSON AxisLinearScale where+  parseJSON =+    Data.withObject+      "AxisLinearScale"+      ( \x ->+          AxisLinearScale'+            Prelude.<$> (x Data..:? "StepCount")+            Prelude.<*> (x Data..:? "StepSize")+      )++instance Prelude.Hashable AxisLinearScale where+  hashWithSalt _salt AxisLinearScale' {..} =+    _salt+      `Prelude.hashWithSalt` stepCount+      `Prelude.hashWithSalt` stepSize++instance Prelude.NFData AxisLinearScale where+  rnf AxisLinearScale' {..} =+    Prelude.rnf stepCount+      `Prelude.seq` Prelude.rnf stepSize++instance Data.ToJSON AxisLinearScale where+  toJSON AxisLinearScale' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("StepCount" Data..=) Prelude.<$> stepCount,+            ("StepSize" Data..=) Prelude.<$> stepSize+          ]+      )
+ gen/Amazonka/QuickSight/Types/AxisLogarithmicScale.hs view
@@ -0,0 +1,75 @@+{-# 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.QuickSight.Types.AxisLogarithmicScale+-- 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.QuickSight.Types.AxisLogarithmicScale 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 logarithmic axis scale setup.+--+-- /See:/ 'newAxisLogarithmicScale' smart constructor.+data AxisLogarithmicScale = AxisLogarithmicScale'+  { -- | The base setup of a logarithmic axis scale.+    base :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AxisLogarithmicScale' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'base', 'axisLogarithmicScale_base' - The base setup of a logarithmic axis scale.+newAxisLogarithmicScale ::+  AxisLogarithmicScale+newAxisLogarithmicScale =+  AxisLogarithmicScale' {base = Prelude.Nothing}++-- | The base setup of a logarithmic axis scale.+axisLogarithmicScale_base :: Lens.Lens' AxisLogarithmicScale (Prelude.Maybe Prelude.Double)+axisLogarithmicScale_base = Lens.lens (\AxisLogarithmicScale' {base} -> base) (\s@AxisLogarithmicScale' {} a -> s {base = a} :: AxisLogarithmicScale)++instance Data.FromJSON AxisLogarithmicScale where+  parseJSON =+    Data.withObject+      "AxisLogarithmicScale"+      ( \x ->+          AxisLogarithmicScale'+            Prelude.<$> (x Data..:? "Base")+      )++instance Prelude.Hashable AxisLogarithmicScale where+  hashWithSalt _salt AxisLogarithmicScale' {..} =+    _salt `Prelude.hashWithSalt` base++instance Prelude.NFData AxisLogarithmicScale where+  rnf AxisLogarithmicScale' {..} = Prelude.rnf base++instance Data.ToJSON AxisLogarithmicScale where+  toJSON AxisLogarithmicScale' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Base" Data..=) Prelude.<$> base]+      )
+ gen/Amazonka/QuickSight/Types/AxisScale.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.QuickSight.Types.AxisScale+-- 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.QuickSight.Types.AxisScale where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AxisLinearScale+import Amazonka.QuickSight.Types.AxisLogarithmicScale++-- | The scale setup options for a numeric axis display.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newAxisScale' smart constructor.+data AxisScale = AxisScale'+  { -- | The linear axis scale setup.+    linear :: Prelude.Maybe AxisLinearScale,+    -- | The logarithmic axis scale setup.+    logarithmic :: Prelude.Maybe AxisLogarithmicScale+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AxisScale' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'linear', 'axisScale_linear' - The linear axis scale setup.+--+-- 'logarithmic', 'axisScale_logarithmic' - The logarithmic axis scale setup.+newAxisScale ::+  AxisScale+newAxisScale =+  AxisScale'+    { linear = Prelude.Nothing,+      logarithmic = Prelude.Nothing+    }++-- | The linear axis scale setup.+axisScale_linear :: Lens.Lens' AxisScale (Prelude.Maybe AxisLinearScale)+axisScale_linear = Lens.lens (\AxisScale' {linear} -> linear) (\s@AxisScale' {} a -> s {linear = a} :: AxisScale)++-- | The logarithmic axis scale setup.+axisScale_logarithmic :: Lens.Lens' AxisScale (Prelude.Maybe AxisLogarithmicScale)+axisScale_logarithmic = Lens.lens (\AxisScale' {logarithmic} -> logarithmic) (\s@AxisScale' {} a -> s {logarithmic = a} :: AxisScale)++instance Data.FromJSON AxisScale where+  parseJSON =+    Data.withObject+      "AxisScale"+      ( \x ->+          AxisScale'+            Prelude.<$> (x Data..:? "Linear")+            Prelude.<*> (x Data..:? "Logarithmic")+      )++instance Prelude.Hashable AxisScale where+  hashWithSalt _salt AxisScale' {..} =+    _salt+      `Prelude.hashWithSalt` linear+      `Prelude.hashWithSalt` logarithmic++instance Prelude.NFData AxisScale where+  rnf AxisScale' {..} =+    Prelude.rnf linear+      `Prelude.seq` Prelude.rnf logarithmic++instance Data.ToJSON AxisScale where+  toJSON AxisScale' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Linear" Data..=) Prelude.<$> linear,+            ("Logarithmic" Data..=) Prelude.<$> logarithmic+          ]+      )
+ gen/Amazonka/QuickSight/Types/AxisTickLabelOptions.hs view
@@ -0,0 +1,95 @@+{-# 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.QuickSight.Types.AxisTickLabelOptions+-- 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.QuickSight.Types.AxisTickLabelOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.LabelOptions++-- | The tick label options of an axis.+--+-- /See:/ 'newAxisTickLabelOptions' smart constructor.+data AxisTickLabelOptions = AxisTickLabelOptions'+  { -- | Determines whether or not the axis ticks are visible.+    labelOptions :: Prelude.Maybe LabelOptions,+    -- | The rotation angle of the axis tick labels.+    rotationAngle :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AxisTickLabelOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'labelOptions', 'axisTickLabelOptions_labelOptions' - Determines whether or not the axis ticks are visible.+--+-- 'rotationAngle', 'axisTickLabelOptions_rotationAngle' - The rotation angle of the axis tick labels.+newAxisTickLabelOptions ::+  AxisTickLabelOptions+newAxisTickLabelOptions =+  AxisTickLabelOptions'+    { labelOptions =+        Prelude.Nothing,+      rotationAngle = Prelude.Nothing+    }++-- | Determines whether or not the axis ticks are visible.+axisTickLabelOptions_labelOptions :: Lens.Lens' AxisTickLabelOptions (Prelude.Maybe LabelOptions)+axisTickLabelOptions_labelOptions = Lens.lens (\AxisTickLabelOptions' {labelOptions} -> labelOptions) (\s@AxisTickLabelOptions' {} a -> s {labelOptions = a} :: AxisTickLabelOptions)++-- | The rotation angle of the axis tick labels.+axisTickLabelOptions_rotationAngle :: Lens.Lens' AxisTickLabelOptions (Prelude.Maybe Prelude.Double)+axisTickLabelOptions_rotationAngle = Lens.lens (\AxisTickLabelOptions' {rotationAngle} -> rotationAngle) (\s@AxisTickLabelOptions' {} a -> s {rotationAngle = a} :: AxisTickLabelOptions)++instance Data.FromJSON AxisTickLabelOptions where+  parseJSON =+    Data.withObject+      "AxisTickLabelOptions"+      ( \x ->+          AxisTickLabelOptions'+            Prelude.<$> (x Data..:? "LabelOptions")+            Prelude.<*> (x Data..:? "RotationAngle")+      )++instance Prelude.Hashable AxisTickLabelOptions where+  hashWithSalt _salt AxisTickLabelOptions' {..} =+    _salt+      `Prelude.hashWithSalt` labelOptions+      `Prelude.hashWithSalt` rotationAngle++instance Prelude.NFData AxisTickLabelOptions where+  rnf AxisTickLabelOptions' {..} =+    Prelude.rnf labelOptions+      `Prelude.seq` Prelude.rnf rotationAngle++instance Data.ToJSON AxisTickLabelOptions where+  toJSON AxisTickLabelOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LabelOptions" Data..=) Prelude.<$> labelOptions,+            ("RotationAngle" Data..=) Prelude.<$> rotationAngle+          ]+      )
+ gen/Amazonka/QuickSight/Types/BarChartAggregatedFieldWells.hs view
@@ -0,0 +1,126 @@+{-# 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.QuickSight.Types.BarChartAggregatedFieldWells+-- 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.QuickSight.Types.BarChartAggregatedFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The aggregated field wells of a bar chart.+--+-- /See:/ 'newBarChartAggregatedFieldWells' smart constructor.+data BarChartAggregatedFieldWells = BarChartAggregatedFieldWells'+  { -- | The category (y-axis) field well of a bar chart.+    category :: Prelude.Maybe [DimensionField],+    -- | The color (group\/color) field well of a bar chart.+    colors :: Prelude.Maybe [DimensionField],+    -- | The small multiples field well of a bar chart.+    smallMultiples :: Prelude.Maybe [DimensionField],+    -- | The value field wells of a bar chart. Values are aggregated by category.+    values :: Prelude.Maybe [MeasureField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BarChartAggregatedFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'category', 'barChartAggregatedFieldWells_category' - The category (y-axis) field well of a bar chart.+--+-- 'colors', 'barChartAggregatedFieldWells_colors' - The color (group\/color) field well of a bar chart.+--+-- 'smallMultiples', 'barChartAggregatedFieldWells_smallMultiples' - The small multiples field well of a bar chart.+--+-- 'values', 'barChartAggregatedFieldWells_values' - The value field wells of a bar chart. Values are aggregated by category.+newBarChartAggregatedFieldWells ::+  BarChartAggregatedFieldWells+newBarChartAggregatedFieldWells =+  BarChartAggregatedFieldWells'+    { category =+        Prelude.Nothing,+      colors = Prelude.Nothing,+      smallMultiples = Prelude.Nothing,+      values = Prelude.Nothing+    }++-- | The category (y-axis) field well of a bar chart.+barChartAggregatedFieldWells_category :: Lens.Lens' BarChartAggregatedFieldWells (Prelude.Maybe [DimensionField])+barChartAggregatedFieldWells_category = Lens.lens (\BarChartAggregatedFieldWells' {category} -> category) (\s@BarChartAggregatedFieldWells' {} a -> s {category = a} :: BarChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The color (group\/color) field well of a bar chart.+barChartAggregatedFieldWells_colors :: Lens.Lens' BarChartAggregatedFieldWells (Prelude.Maybe [DimensionField])+barChartAggregatedFieldWells_colors = Lens.lens (\BarChartAggregatedFieldWells' {colors} -> colors) (\s@BarChartAggregatedFieldWells' {} a -> s {colors = a} :: BarChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The small multiples field well of a bar chart.+barChartAggregatedFieldWells_smallMultiples :: Lens.Lens' BarChartAggregatedFieldWells (Prelude.Maybe [DimensionField])+barChartAggregatedFieldWells_smallMultiples = Lens.lens (\BarChartAggregatedFieldWells' {smallMultiples} -> smallMultiples) (\s@BarChartAggregatedFieldWells' {} a -> s {smallMultiples = a} :: BarChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The value field wells of a bar chart. Values are aggregated by category.+barChartAggregatedFieldWells_values :: Lens.Lens' BarChartAggregatedFieldWells (Prelude.Maybe [MeasureField])+barChartAggregatedFieldWells_values = Lens.lens (\BarChartAggregatedFieldWells' {values} -> values) (\s@BarChartAggregatedFieldWells' {} a -> s {values = a} :: BarChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON BarChartAggregatedFieldWells where+  parseJSON =+    Data.withObject+      "BarChartAggregatedFieldWells"+      ( \x ->+          BarChartAggregatedFieldWells'+            Prelude.<$> (x Data..:? "Category" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Colors" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "SmallMultiples" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Values" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    BarChartAggregatedFieldWells+  where+  hashWithSalt _salt BarChartAggregatedFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` category+      `Prelude.hashWithSalt` colors+      `Prelude.hashWithSalt` smallMultiples+      `Prelude.hashWithSalt` values++instance Prelude.NFData BarChartAggregatedFieldWells where+  rnf BarChartAggregatedFieldWells' {..} =+    Prelude.rnf category+      `Prelude.seq` Prelude.rnf colors+      `Prelude.seq` Prelude.rnf smallMultiples+      `Prelude.seq` Prelude.rnf values++instance Data.ToJSON BarChartAggregatedFieldWells where+  toJSON BarChartAggregatedFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Category" Data..=) Prelude.<$> category,+            ("Colors" Data..=) Prelude.<$> colors,+            ("SmallMultiples" Data..=)+              Prelude.<$> smallMultiples,+            ("Values" Data..=) Prelude.<$> values+          ]+      )
+ gen/Amazonka/QuickSight/Types/BarChartConfiguration.hs view
@@ -0,0 +1,342 @@+{-# 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.QuickSight.Types.BarChartConfiguration+-- 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.QuickSight.Types.BarChartConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AxisDisplayOptions+import Amazonka.QuickSight.Types.BarChartFieldWells+import Amazonka.QuickSight.Types.BarChartOrientation+import Amazonka.QuickSight.Types.BarChartSortConfiguration+import Amazonka.QuickSight.Types.BarsArrangement+import Amazonka.QuickSight.Types.ChartAxisLabelOptions+import Amazonka.QuickSight.Types.ContributionAnalysisDefault+import Amazonka.QuickSight.Types.DataLabelOptions+import Amazonka.QuickSight.Types.LegendOptions+import Amazonka.QuickSight.Types.ReferenceLine+import Amazonka.QuickSight.Types.SmallMultiplesOptions+import Amazonka.QuickSight.Types.TooltipOptions+import Amazonka.QuickSight.Types.VisualPalette++-- | The configuration of a @BarChartVisual@.+--+-- /See:/ 'newBarChartConfiguration' smart constructor.+data BarChartConfiguration = BarChartConfiguration'+  { -- | Determines the arrangement of the bars. The orientation and arrangement+    -- of bars determine the type of bar that is used in the visual.+    barsArrangement :: Prelude.Maybe BarsArrangement,+    -- | The label display options (grid line, range, scale, axis step) for bar+    -- chart category.+    categoryAxis :: Prelude.Maybe AxisDisplayOptions,+    -- | The label options (label text, label visibility and sort icon+    -- visibility) for a bar chart.+    categoryLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The label options (label text, label visibility and sort icon+    -- visibility) for a color that is used in a bar chart.+    colorLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The contribution analysis (anomaly configuration) setup of the visual.+    contributionAnalysisDefaults :: Prelude.Maybe (Prelude.NonEmpty ContributionAnalysisDefault),+    -- | The options that determine if visual data labels are displayed.+    dataLabels :: Prelude.Maybe DataLabelOptions,+    -- | The field wells of the visual.+    fieldWells :: Prelude.Maybe BarChartFieldWells,+    -- | The legend display setup of the visual.+    legend :: Prelude.Maybe LegendOptions,+    -- | The orientation of the bars in a bar chart visual. There are two valid+    -- values in this structure:+    --+    -- -   @HORIZONTAL@: Used for charts that have horizontal bars. Visuals+    --     that use this value are horizontal bar charts, horizontal stacked+    --     bar charts, and horizontal stacked 100% bar charts.+    --+    -- -   @VERTICAL@: Used for charts that have vertical bars. Visuals that+    --     use this value are vertical bar charts, vertical stacked bar charts,+    --     and vertical stacked 100% bar charts.+    orientation :: Prelude.Maybe BarChartOrientation,+    -- | The reference line setup of the visual.+    referenceLines :: Prelude.Maybe [ReferenceLine],+    -- | The small multiples setup for the visual.+    smallMultiplesOptions :: Prelude.Maybe SmallMultiplesOptions,+    -- | The sort configuration of a @BarChartVisual@.+    sortConfiguration :: Prelude.Maybe BarChartSortConfiguration,+    -- | The tooltip display setup of the visual.+    tooltip :: Prelude.Maybe TooltipOptions,+    -- | The label display options (grid line, range, scale, axis step) for a bar+    -- chart value.+    valueAxis :: Prelude.Maybe AxisDisplayOptions,+    -- | The label options (label text, label visibility and sort icon+    -- visibility) for a bar chart value.+    valueLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The palette (chart color) display setup of the visual.+    visualPalette :: Prelude.Maybe VisualPalette+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BarChartConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'barsArrangement', 'barChartConfiguration_barsArrangement' - Determines the arrangement of the bars. The orientation and arrangement+-- of bars determine the type of bar that is used in the visual.+--+-- 'categoryAxis', 'barChartConfiguration_categoryAxis' - The label display options (grid line, range, scale, axis step) for bar+-- chart category.+--+-- 'categoryLabelOptions', 'barChartConfiguration_categoryLabelOptions' - The label options (label text, label visibility and sort icon+-- visibility) for a bar chart.+--+-- 'colorLabelOptions', 'barChartConfiguration_colorLabelOptions' - The label options (label text, label visibility and sort icon+-- visibility) for a color that is used in a bar chart.+--+-- 'contributionAnalysisDefaults', 'barChartConfiguration_contributionAnalysisDefaults' - The contribution analysis (anomaly configuration) setup of the visual.+--+-- 'dataLabels', 'barChartConfiguration_dataLabels' - The options that determine if visual data labels are displayed.+--+-- 'fieldWells', 'barChartConfiguration_fieldWells' - The field wells of the visual.+--+-- 'legend', 'barChartConfiguration_legend' - The legend display setup of the visual.+--+-- 'orientation', 'barChartConfiguration_orientation' - The orientation of the bars in a bar chart visual. There are two valid+-- values in this structure:+--+-- -   @HORIZONTAL@: Used for charts that have horizontal bars. Visuals+--     that use this value are horizontal bar charts, horizontal stacked+--     bar charts, and horizontal stacked 100% bar charts.+--+-- -   @VERTICAL@: Used for charts that have vertical bars. Visuals that+--     use this value are vertical bar charts, vertical stacked bar charts,+--     and vertical stacked 100% bar charts.+--+-- 'referenceLines', 'barChartConfiguration_referenceLines' - The reference line setup of the visual.+--+-- 'smallMultiplesOptions', 'barChartConfiguration_smallMultiplesOptions' - The small multiples setup for the visual.+--+-- 'sortConfiguration', 'barChartConfiguration_sortConfiguration' - The sort configuration of a @BarChartVisual@.+--+-- 'tooltip', 'barChartConfiguration_tooltip' - The tooltip display setup of the visual.+--+-- 'valueAxis', 'barChartConfiguration_valueAxis' - The label display options (grid line, range, scale, axis step) for a bar+-- chart value.+--+-- 'valueLabelOptions', 'barChartConfiguration_valueLabelOptions' - The label options (label text, label visibility and sort icon+-- visibility) for a bar chart value.+--+-- 'visualPalette', 'barChartConfiguration_visualPalette' - The palette (chart color) display setup of the visual.+newBarChartConfiguration ::+  BarChartConfiguration+newBarChartConfiguration =+  BarChartConfiguration'+    { barsArrangement =+        Prelude.Nothing,+      categoryAxis = Prelude.Nothing,+      categoryLabelOptions = Prelude.Nothing,+      colorLabelOptions = Prelude.Nothing,+      contributionAnalysisDefaults = Prelude.Nothing,+      dataLabels = Prelude.Nothing,+      fieldWells = Prelude.Nothing,+      legend = Prelude.Nothing,+      orientation = Prelude.Nothing,+      referenceLines = Prelude.Nothing,+      smallMultiplesOptions = Prelude.Nothing,+      sortConfiguration = Prelude.Nothing,+      tooltip = Prelude.Nothing,+      valueAxis = Prelude.Nothing,+      valueLabelOptions = Prelude.Nothing,+      visualPalette = Prelude.Nothing+    }++-- | Determines the arrangement of the bars. The orientation and arrangement+-- of bars determine the type of bar that is used in the visual.+barChartConfiguration_barsArrangement :: Lens.Lens' BarChartConfiguration (Prelude.Maybe BarsArrangement)+barChartConfiguration_barsArrangement = Lens.lens (\BarChartConfiguration' {barsArrangement} -> barsArrangement) (\s@BarChartConfiguration' {} a -> s {barsArrangement = a} :: BarChartConfiguration)++-- | The label display options (grid line, range, scale, axis step) for bar+-- chart category.+barChartConfiguration_categoryAxis :: Lens.Lens' BarChartConfiguration (Prelude.Maybe AxisDisplayOptions)+barChartConfiguration_categoryAxis = Lens.lens (\BarChartConfiguration' {categoryAxis} -> categoryAxis) (\s@BarChartConfiguration' {} a -> s {categoryAxis = a} :: BarChartConfiguration)++-- | The label options (label text, label visibility and sort icon+-- visibility) for a bar chart.+barChartConfiguration_categoryLabelOptions :: Lens.Lens' BarChartConfiguration (Prelude.Maybe ChartAxisLabelOptions)+barChartConfiguration_categoryLabelOptions = Lens.lens (\BarChartConfiguration' {categoryLabelOptions} -> categoryLabelOptions) (\s@BarChartConfiguration' {} a -> s {categoryLabelOptions = a} :: BarChartConfiguration)++-- | The label options (label text, label visibility and sort icon+-- visibility) for a color that is used in a bar chart.+barChartConfiguration_colorLabelOptions :: Lens.Lens' BarChartConfiguration (Prelude.Maybe ChartAxisLabelOptions)+barChartConfiguration_colorLabelOptions = Lens.lens (\BarChartConfiguration' {colorLabelOptions} -> colorLabelOptions) (\s@BarChartConfiguration' {} a -> s {colorLabelOptions = a} :: BarChartConfiguration)++-- | The contribution analysis (anomaly configuration) setup of the visual.+barChartConfiguration_contributionAnalysisDefaults :: Lens.Lens' BarChartConfiguration (Prelude.Maybe (Prelude.NonEmpty ContributionAnalysisDefault))+barChartConfiguration_contributionAnalysisDefaults = Lens.lens (\BarChartConfiguration' {contributionAnalysisDefaults} -> contributionAnalysisDefaults) (\s@BarChartConfiguration' {} a -> s {contributionAnalysisDefaults = a} :: BarChartConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The options that determine if visual data labels are displayed.+barChartConfiguration_dataLabels :: Lens.Lens' BarChartConfiguration (Prelude.Maybe DataLabelOptions)+barChartConfiguration_dataLabels = Lens.lens (\BarChartConfiguration' {dataLabels} -> dataLabels) (\s@BarChartConfiguration' {} a -> s {dataLabels = a} :: BarChartConfiguration)++-- | The field wells of the visual.+barChartConfiguration_fieldWells :: Lens.Lens' BarChartConfiguration (Prelude.Maybe BarChartFieldWells)+barChartConfiguration_fieldWells = Lens.lens (\BarChartConfiguration' {fieldWells} -> fieldWells) (\s@BarChartConfiguration' {} a -> s {fieldWells = a} :: BarChartConfiguration)++-- | The legend display setup of the visual.+barChartConfiguration_legend :: Lens.Lens' BarChartConfiguration (Prelude.Maybe LegendOptions)+barChartConfiguration_legend = Lens.lens (\BarChartConfiguration' {legend} -> legend) (\s@BarChartConfiguration' {} a -> s {legend = a} :: BarChartConfiguration)++-- | The orientation of the bars in a bar chart visual. There are two valid+-- values in this structure:+--+-- -   @HORIZONTAL@: Used for charts that have horizontal bars. Visuals+--     that use this value are horizontal bar charts, horizontal stacked+--     bar charts, and horizontal stacked 100% bar charts.+--+-- -   @VERTICAL@: Used for charts that have vertical bars. Visuals that+--     use this value are vertical bar charts, vertical stacked bar charts,+--     and vertical stacked 100% bar charts.+barChartConfiguration_orientation :: Lens.Lens' BarChartConfiguration (Prelude.Maybe BarChartOrientation)+barChartConfiguration_orientation = Lens.lens (\BarChartConfiguration' {orientation} -> orientation) (\s@BarChartConfiguration' {} a -> s {orientation = a} :: BarChartConfiguration)++-- | The reference line setup of the visual.+barChartConfiguration_referenceLines :: Lens.Lens' BarChartConfiguration (Prelude.Maybe [ReferenceLine])+barChartConfiguration_referenceLines = Lens.lens (\BarChartConfiguration' {referenceLines} -> referenceLines) (\s@BarChartConfiguration' {} a -> s {referenceLines = a} :: BarChartConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The small multiples setup for the visual.+barChartConfiguration_smallMultiplesOptions :: Lens.Lens' BarChartConfiguration (Prelude.Maybe SmallMultiplesOptions)+barChartConfiguration_smallMultiplesOptions = Lens.lens (\BarChartConfiguration' {smallMultiplesOptions} -> smallMultiplesOptions) (\s@BarChartConfiguration' {} a -> s {smallMultiplesOptions = a} :: BarChartConfiguration)++-- | The sort configuration of a @BarChartVisual@.+barChartConfiguration_sortConfiguration :: Lens.Lens' BarChartConfiguration (Prelude.Maybe BarChartSortConfiguration)+barChartConfiguration_sortConfiguration = Lens.lens (\BarChartConfiguration' {sortConfiguration} -> sortConfiguration) (\s@BarChartConfiguration' {} a -> s {sortConfiguration = a} :: BarChartConfiguration)++-- | The tooltip display setup of the visual.+barChartConfiguration_tooltip :: Lens.Lens' BarChartConfiguration (Prelude.Maybe TooltipOptions)+barChartConfiguration_tooltip = Lens.lens (\BarChartConfiguration' {tooltip} -> tooltip) (\s@BarChartConfiguration' {} a -> s {tooltip = a} :: BarChartConfiguration)++-- | The label display options (grid line, range, scale, axis step) for a bar+-- chart value.+barChartConfiguration_valueAxis :: Lens.Lens' BarChartConfiguration (Prelude.Maybe AxisDisplayOptions)+barChartConfiguration_valueAxis = Lens.lens (\BarChartConfiguration' {valueAxis} -> valueAxis) (\s@BarChartConfiguration' {} a -> s {valueAxis = a} :: BarChartConfiguration)++-- | The label options (label text, label visibility and sort icon+-- visibility) for a bar chart value.+barChartConfiguration_valueLabelOptions :: Lens.Lens' BarChartConfiguration (Prelude.Maybe ChartAxisLabelOptions)+barChartConfiguration_valueLabelOptions = Lens.lens (\BarChartConfiguration' {valueLabelOptions} -> valueLabelOptions) (\s@BarChartConfiguration' {} a -> s {valueLabelOptions = a} :: BarChartConfiguration)++-- | The palette (chart color) display setup of the visual.+barChartConfiguration_visualPalette :: Lens.Lens' BarChartConfiguration (Prelude.Maybe VisualPalette)+barChartConfiguration_visualPalette = Lens.lens (\BarChartConfiguration' {visualPalette} -> visualPalette) (\s@BarChartConfiguration' {} a -> s {visualPalette = a} :: BarChartConfiguration)++instance Data.FromJSON BarChartConfiguration where+  parseJSON =+    Data.withObject+      "BarChartConfiguration"+      ( \x ->+          BarChartConfiguration'+            Prelude.<$> (x Data..:? "BarsArrangement")+            Prelude.<*> (x Data..:? "CategoryAxis")+            Prelude.<*> (x Data..:? "CategoryLabelOptions")+            Prelude.<*> (x Data..:? "ColorLabelOptions")+            Prelude.<*> (x Data..:? "ContributionAnalysisDefaults")+            Prelude.<*> (x Data..:? "DataLabels")+            Prelude.<*> (x Data..:? "FieldWells")+            Prelude.<*> (x Data..:? "Legend")+            Prelude.<*> (x Data..:? "Orientation")+            Prelude.<*> (x Data..:? "ReferenceLines" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "SmallMultiplesOptions")+            Prelude.<*> (x Data..:? "SortConfiguration")+            Prelude.<*> (x Data..:? "Tooltip")+            Prelude.<*> (x Data..:? "ValueAxis")+            Prelude.<*> (x Data..:? "ValueLabelOptions")+            Prelude.<*> (x Data..:? "VisualPalette")+      )++instance Prelude.Hashable BarChartConfiguration where+  hashWithSalt _salt BarChartConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` barsArrangement+      `Prelude.hashWithSalt` categoryAxis+      `Prelude.hashWithSalt` categoryLabelOptions+      `Prelude.hashWithSalt` colorLabelOptions+      `Prelude.hashWithSalt` contributionAnalysisDefaults+      `Prelude.hashWithSalt` dataLabels+      `Prelude.hashWithSalt` fieldWells+      `Prelude.hashWithSalt` legend+      `Prelude.hashWithSalt` orientation+      `Prelude.hashWithSalt` referenceLines+      `Prelude.hashWithSalt` smallMultiplesOptions+      `Prelude.hashWithSalt` sortConfiguration+      `Prelude.hashWithSalt` tooltip+      `Prelude.hashWithSalt` valueAxis+      `Prelude.hashWithSalt` valueLabelOptions+      `Prelude.hashWithSalt` visualPalette++instance Prelude.NFData BarChartConfiguration where+  rnf BarChartConfiguration' {..} =+    Prelude.rnf barsArrangement+      `Prelude.seq` Prelude.rnf categoryAxis+      `Prelude.seq` Prelude.rnf categoryLabelOptions+      `Prelude.seq` Prelude.rnf colorLabelOptions+      `Prelude.seq` Prelude.rnf contributionAnalysisDefaults+      `Prelude.seq` Prelude.rnf dataLabels+      `Prelude.seq` Prelude.rnf fieldWells+      `Prelude.seq` Prelude.rnf legend+      `Prelude.seq` Prelude.rnf orientation+      `Prelude.seq` Prelude.rnf referenceLines+      `Prelude.seq` Prelude.rnf smallMultiplesOptions+      `Prelude.seq` Prelude.rnf sortConfiguration+      `Prelude.seq` Prelude.rnf tooltip+      `Prelude.seq` Prelude.rnf valueAxis+      `Prelude.seq` Prelude.rnf valueLabelOptions+      `Prelude.seq` Prelude.rnf visualPalette++instance Data.ToJSON BarChartConfiguration where+  toJSON BarChartConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BarsArrangement" Data..=)+              Prelude.<$> barsArrangement,+            ("CategoryAxis" Data..=) Prelude.<$> categoryAxis,+            ("CategoryLabelOptions" Data..=)+              Prelude.<$> categoryLabelOptions,+            ("ColorLabelOptions" Data..=)+              Prelude.<$> colorLabelOptions,+            ("ContributionAnalysisDefaults" Data..=)+              Prelude.<$> contributionAnalysisDefaults,+            ("DataLabels" Data..=) Prelude.<$> dataLabels,+            ("FieldWells" Data..=) Prelude.<$> fieldWells,+            ("Legend" Data..=) Prelude.<$> legend,+            ("Orientation" Data..=) Prelude.<$> orientation,+            ("ReferenceLines" Data..=)+              Prelude.<$> referenceLines,+            ("SmallMultiplesOptions" Data..=)+              Prelude.<$> smallMultiplesOptions,+            ("SortConfiguration" Data..=)+              Prelude.<$> sortConfiguration,+            ("Tooltip" Data..=) Prelude.<$> tooltip,+            ("ValueAxis" Data..=) Prelude.<$> valueAxis,+            ("ValueLabelOptions" Data..=)+              Prelude.<$> valueLabelOptions,+            ("VisualPalette" Data..=) Prelude.<$> visualPalette+          ]+      )
+ gen/Amazonka/QuickSight/Types/BarChartFieldWells.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.QuickSight.Types.BarChartFieldWells+-- 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.QuickSight.Types.BarChartFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.BarChartAggregatedFieldWells++-- | The field wells of a @BarChartVisual@.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newBarChartFieldWells' smart constructor.+data BarChartFieldWells = BarChartFieldWells'+  { -- | The aggregated field wells of a bar chart.+    barChartAggregatedFieldWells :: Prelude.Maybe BarChartAggregatedFieldWells+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BarChartFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'barChartAggregatedFieldWells', 'barChartFieldWells_barChartAggregatedFieldWells' - The aggregated field wells of a bar chart.+newBarChartFieldWells ::+  BarChartFieldWells+newBarChartFieldWells =+  BarChartFieldWells'+    { barChartAggregatedFieldWells =+        Prelude.Nothing+    }++-- | The aggregated field wells of a bar chart.+barChartFieldWells_barChartAggregatedFieldWells :: Lens.Lens' BarChartFieldWells (Prelude.Maybe BarChartAggregatedFieldWells)+barChartFieldWells_barChartAggregatedFieldWells = Lens.lens (\BarChartFieldWells' {barChartAggregatedFieldWells} -> barChartAggregatedFieldWells) (\s@BarChartFieldWells' {} a -> s {barChartAggregatedFieldWells = a} :: BarChartFieldWells)++instance Data.FromJSON BarChartFieldWells where+  parseJSON =+    Data.withObject+      "BarChartFieldWells"+      ( \x ->+          BarChartFieldWells'+            Prelude.<$> (x Data..:? "BarChartAggregatedFieldWells")+      )++instance Prelude.Hashable BarChartFieldWells where+  hashWithSalt _salt BarChartFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` barChartAggregatedFieldWells++instance Prelude.NFData BarChartFieldWells where+  rnf BarChartFieldWells' {..} =+    Prelude.rnf barChartAggregatedFieldWells++instance Data.ToJSON BarChartFieldWells where+  toJSON BarChartFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BarChartAggregatedFieldWells" Data..=)+              Prelude.<$> barChartAggregatedFieldWells+          ]+      )
+ gen/Amazonka/QuickSight/Types/BarChartOrientation.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.QuickSight.Types.BarChartOrientation+-- 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.QuickSight.Types.BarChartOrientation+  ( BarChartOrientation+      ( ..,+        BarChartOrientation_HORIZONTAL,+        BarChartOrientation_VERTICAL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype BarChartOrientation = BarChartOrientation'+  { fromBarChartOrientation ::+      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 BarChartOrientation_HORIZONTAL :: BarChartOrientation+pattern BarChartOrientation_HORIZONTAL = BarChartOrientation' "HORIZONTAL"++pattern BarChartOrientation_VERTICAL :: BarChartOrientation+pattern BarChartOrientation_VERTICAL = BarChartOrientation' "VERTICAL"++{-# COMPLETE+  BarChartOrientation_HORIZONTAL,+  BarChartOrientation_VERTICAL,+  BarChartOrientation'+  #-}
+ gen/Amazonka/QuickSight/Types/BarChartSortConfiguration.hs view
@@ -0,0 +1,156 @@+{-# 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.QuickSight.Types.BarChartSortConfiguration+-- 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.QuickSight.Types.BarChartSortConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FieldSortOptions+import Amazonka.QuickSight.Types.ItemsLimitConfiguration++-- | sort-configuration-description+--+-- /See:/ 'newBarChartSortConfiguration' smart constructor.+data BarChartSortConfiguration = BarChartSortConfiguration'+  { -- | The limit on the number of categories displayed in a bar chart.+    categoryItemsLimit :: Prelude.Maybe ItemsLimitConfiguration,+    -- | The sort configuration of category fields.+    categorySort :: Prelude.Maybe [FieldSortOptions],+    -- | The limit on the number of values displayed in a bar chart.+    colorItemsLimit :: Prelude.Maybe ItemsLimitConfiguration,+    -- | The sort configuration of color fields in a bar chart.+    colorSort :: Prelude.Maybe [FieldSortOptions],+    -- | The limit on the number of small multiples panels that are displayed.+    smallMultiplesLimitConfiguration :: Prelude.Maybe ItemsLimitConfiguration,+    -- | The sort configuration of the small multiples field.+    smallMultiplesSort :: Prelude.Maybe [FieldSortOptions]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BarChartSortConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categoryItemsLimit', 'barChartSortConfiguration_categoryItemsLimit' - The limit on the number of categories displayed in a bar chart.+--+-- 'categorySort', 'barChartSortConfiguration_categorySort' - The sort configuration of category fields.+--+-- 'colorItemsLimit', 'barChartSortConfiguration_colorItemsLimit' - The limit on the number of values displayed in a bar chart.+--+-- 'colorSort', 'barChartSortConfiguration_colorSort' - The sort configuration of color fields in a bar chart.+--+-- 'smallMultiplesLimitConfiguration', 'barChartSortConfiguration_smallMultiplesLimitConfiguration' - The limit on the number of small multiples panels that are displayed.+--+-- 'smallMultiplesSort', 'barChartSortConfiguration_smallMultiplesSort' - The sort configuration of the small multiples field.+newBarChartSortConfiguration ::+  BarChartSortConfiguration+newBarChartSortConfiguration =+  BarChartSortConfiguration'+    { categoryItemsLimit =+        Prelude.Nothing,+      categorySort = Prelude.Nothing,+      colorItemsLimit = Prelude.Nothing,+      colorSort = Prelude.Nothing,+      smallMultiplesLimitConfiguration =+        Prelude.Nothing,+      smallMultiplesSort = Prelude.Nothing+    }++-- | The limit on the number of categories displayed in a bar chart.+barChartSortConfiguration_categoryItemsLimit :: Lens.Lens' BarChartSortConfiguration (Prelude.Maybe ItemsLimitConfiguration)+barChartSortConfiguration_categoryItemsLimit = Lens.lens (\BarChartSortConfiguration' {categoryItemsLimit} -> categoryItemsLimit) (\s@BarChartSortConfiguration' {} a -> s {categoryItemsLimit = a} :: BarChartSortConfiguration)++-- | The sort configuration of category fields.+barChartSortConfiguration_categorySort :: Lens.Lens' BarChartSortConfiguration (Prelude.Maybe [FieldSortOptions])+barChartSortConfiguration_categorySort = Lens.lens (\BarChartSortConfiguration' {categorySort} -> categorySort) (\s@BarChartSortConfiguration' {} a -> s {categorySort = a} :: BarChartSortConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The limit on the number of values displayed in a bar chart.+barChartSortConfiguration_colorItemsLimit :: Lens.Lens' BarChartSortConfiguration (Prelude.Maybe ItemsLimitConfiguration)+barChartSortConfiguration_colorItemsLimit = Lens.lens (\BarChartSortConfiguration' {colorItemsLimit} -> colorItemsLimit) (\s@BarChartSortConfiguration' {} a -> s {colorItemsLimit = a} :: BarChartSortConfiguration)++-- | The sort configuration of color fields in a bar chart.+barChartSortConfiguration_colorSort :: Lens.Lens' BarChartSortConfiguration (Prelude.Maybe [FieldSortOptions])+barChartSortConfiguration_colorSort = Lens.lens (\BarChartSortConfiguration' {colorSort} -> colorSort) (\s@BarChartSortConfiguration' {} a -> s {colorSort = a} :: BarChartSortConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The limit on the number of small multiples panels that are displayed.+barChartSortConfiguration_smallMultiplesLimitConfiguration :: Lens.Lens' BarChartSortConfiguration (Prelude.Maybe ItemsLimitConfiguration)+barChartSortConfiguration_smallMultiplesLimitConfiguration = Lens.lens (\BarChartSortConfiguration' {smallMultiplesLimitConfiguration} -> smallMultiplesLimitConfiguration) (\s@BarChartSortConfiguration' {} a -> s {smallMultiplesLimitConfiguration = a} :: BarChartSortConfiguration)++-- | The sort configuration of the small multiples field.+barChartSortConfiguration_smallMultiplesSort :: Lens.Lens' BarChartSortConfiguration (Prelude.Maybe [FieldSortOptions])+barChartSortConfiguration_smallMultiplesSort = Lens.lens (\BarChartSortConfiguration' {smallMultiplesSort} -> smallMultiplesSort) (\s@BarChartSortConfiguration' {} a -> s {smallMultiplesSort = a} :: BarChartSortConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON BarChartSortConfiguration where+  parseJSON =+    Data.withObject+      "BarChartSortConfiguration"+      ( \x ->+          BarChartSortConfiguration'+            Prelude.<$> (x Data..:? "CategoryItemsLimit")+            Prelude.<*> (x Data..:? "CategorySort" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ColorItemsLimit")+            Prelude.<*> (x Data..:? "ColorSort" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "SmallMultiplesLimitConfiguration")+            Prelude.<*> ( x+                            Data..:? "SmallMultiplesSort"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable BarChartSortConfiguration where+  hashWithSalt _salt BarChartSortConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` categoryItemsLimit+      `Prelude.hashWithSalt` categorySort+      `Prelude.hashWithSalt` colorItemsLimit+      `Prelude.hashWithSalt` colorSort+      `Prelude.hashWithSalt` smallMultiplesLimitConfiguration+      `Prelude.hashWithSalt` smallMultiplesSort++instance Prelude.NFData BarChartSortConfiguration where+  rnf BarChartSortConfiguration' {..} =+    Prelude.rnf categoryItemsLimit+      `Prelude.seq` Prelude.rnf categorySort+      `Prelude.seq` Prelude.rnf colorItemsLimit+      `Prelude.seq` Prelude.rnf colorSort+      `Prelude.seq` Prelude.rnf smallMultiplesLimitConfiguration+      `Prelude.seq` Prelude.rnf smallMultiplesSort++instance Data.ToJSON BarChartSortConfiguration where+  toJSON BarChartSortConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoryItemsLimit" Data..=)+              Prelude.<$> categoryItemsLimit,+            ("CategorySort" Data..=) Prelude.<$> categorySort,+            ("ColorItemsLimit" Data..=)+              Prelude.<$> colorItemsLimit,+            ("ColorSort" Data..=) Prelude.<$> colorSort,+            ("SmallMultiplesLimitConfiguration" Data..=)+              Prelude.<$> smallMultiplesLimitConfiguration,+            ("SmallMultiplesSort" Data..=)+              Prelude.<$> smallMultiplesSort+          ]+      )
+ gen/Amazonka/QuickSight/Types/BarChartVisual.hs view
@@ -0,0 +1,183 @@+{-# 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.QuickSight.Types.BarChartVisual+-- 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.QuickSight.Types.BarChartVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.BarChartConfiguration+import Amazonka.QuickSight.Types.ColumnHierarchy+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions++-- | A bar chart.+--+-- The @BarChartVisual@ structure describes a visual that is a member of+-- the bar chart family. The following charts can be described using this+-- structure:+--+-- -   Horizontal bar chart+--+-- -   Vertical bar chart+--+-- -   Horizontal stacked bar chart+--+-- -   Vertical stacked bar chart+--+-- -   Horizontal stacked 100% bar chart+--+-- -   Vertical stacked 100% bar chart+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/bar-charts.html Using bar charts>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newBarChartVisual' smart constructor.+data BarChartVisual = BarChartVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration settings of the visual.+    chartConfiguration :: Prelude.Maybe BarChartConfiguration,+    -- | The column hierarchy that is used during drill-downs and drill-ups.+    columnHierarchies :: Prelude.Maybe [ColumnHierarchy],+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers.+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BarChartVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'barChartVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'barChartVisual_chartConfiguration' - The configuration settings of the visual.+--+-- 'columnHierarchies', 'barChartVisual_columnHierarchies' - The column hierarchy that is used during drill-downs and drill-ups.+--+-- 'subtitle', 'barChartVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'barChartVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'barChartVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+newBarChartVisual ::+  -- | 'visualId'+  Prelude.Text ->+  BarChartVisual+newBarChartVisual pVisualId_ =+  BarChartVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      columnHierarchies = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_+    }++-- | The list of custom actions that are configured for a visual.+barChartVisual_actions :: Lens.Lens' BarChartVisual (Prelude.Maybe [VisualCustomAction])+barChartVisual_actions = Lens.lens (\BarChartVisual' {actions} -> actions) (\s@BarChartVisual' {} a -> s {actions = a} :: BarChartVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration settings of the visual.+barChartVisual_chartConfiguration :: Lens.Lens' BarChartVisual (Prelude.Maybe BarChartConfiguration)+barChartVisual_chartConfiguration = Lens.lens (\BarChartVisual' {chartConfiguration} -> chartConfiguration) (\s@BarChartVisual' {} a -> s {chartConfiguration = a} :: BarChartVisual)++-- | The column hierarchy that is used during drill-downs and drill-ups.+barChartVisual_columnHierarchies :: Lens.Lens' BarChartVisual (Prelude.Maybe [ColumnHierarchy])+barChartVisual_columnHierarchies = Lens.lens (\BarChartVisual' {columnHierarchies} -> columnHierarchies) (\s@BarChartVisual' {} a -> s {columnHierarchies = a} :: BarChartVisual) Prelude.. Lens.mapping Lens.coerced++-- | The subtitle that is displayed on the visual.+barChartVisual_subtitle :: Lens.Lens' BarChartVisual (Prelude.Maybe VisualSubtitleLabelOptions)+barChartVisual_subtitle = Lens.lens (\BarChartVisual' {subtitle} -> subtitle) (\s@BarChartVisual' {} a -> s {subtitle = a} :: BarChartVisual)++-- | The title that is displayed on the visual.+barChartVisual_title :: Lens.Lens' BarChartVisual (Prelude.Maybe VisualTitleLabelOptions)+barChartVisual_title = Lens.lens (\BarChartVisual' {title} -> title) (\s@BarChartVisual' {} a -> s {title = a} :: BarChartVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+barChartVisual_visualId :: Lens.Lens' BarChartVisual Prelude.Text+barChartVisual_visualId = Lens.lens (\BarChartVisual' {visualId} -> visualId) (\s@BarChartVisual' {} a -> s {visualId = a} :: BarChartVisual)++instance Data.FromJSON BarChartVisual where+  parseJSON =+    Data.withObject+      "BarChartVisual"+      ( \x ->+          BarChartVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> ( x+                            Data..:? "ColumnHierarchies"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+      )++instance Prelude.Hashable BarChartVisual where+  hashWithSalt _salt BarChartVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` columnHierarchies+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData BarChartVisual where+  rnf BarChartVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf columnHierarchies+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON BarChartVisual where+  toJSON BarChartVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("ColumnHierarchies" Data..=)+              Prelude.<$> columnHierarchies,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/BarsArrangement.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.BarsArrangement+-- 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.QuickSight.Types.BarsArrangement+  ( BarsArrangement+      ( ..,+        BarsArrangement_CLUSTERED,+        BarsArrangement_STACKED,+        BarsArrangement_STACKED_PERCENT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype BarsArrangement = BarsArrangement'+  { fromBarsArrangement ::+      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 BarsArrangement_CLUSTERED :: BarsArrangement+pattern BarsArrangement_CLUSTERED = BarsArrangement' "CLUSTERED"++pattern BarsArrangement_STACKED :: BarsArrangement+pattern BarsArrangement_STACKED = BarsArrangement' "STACKED"++pattern BarsArrangement_STACKED_PERCENT :: BarsArrangement+pattern BarsArrangement_STACKED_PERCENT = BarsArrangement' "STACKED_PERCENT"++{-# COMPLETE+  BarsArrangement_CLUSTERED,+  BarsArrangement_STACKED,+  BarsArrangement_STACKED_PERCENT,+  BarsArrangement'+  #-}
+ gen/Amazonka/QuickSight/Types/BaseMapStyleType.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.BaseMapStyleType+-- 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.QuickSight.Types.BaseMapStyleType+  ( BaseMapStyleType+      ( ..,+        BaseMapStyleType_DARK_GRAY,+        BaseMapStyleType_IMAGERY,+        BaseMapStyleType_LIGHT_GRAY,+        BaseMapStyleType_STREET+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype BaseMapStyleType = BaseMapStyleType'+  { fromBaseMapStyleType ::+      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 BaseMapStyleType_DARK_GRAY :: BaseMapStyleType+pattern BaseMapStyleType_DARK_GRAY = BaseMapStyleType' "DARK_GRAY"++pattern BaseMapStyleType_IMAGERY :: BaseMapStyleType+pattern BaseMapStyleType_IMAGERY = BaseMapStyleType' "IMAGERY"++pattern BaseMapStyleType_LIGHT_GRAY :: BaseMapStyleType+pattern BaseMapStyleType_LIGHT_GRAY = BaseMapStyleType' "LIGHT_GRAY"++pattern BaseMapStyleType_STREET :: BaseMapStyleType+pattern BaseMapStyleType_STREET = BaseMapStyleType' "STREET"++{-# COMPLETE+  BaseMapStyleType_DARK_GRAY,+  BaseMapStyleType_IMAGERY,+  BaseMapStyleType_LIGHT_GRAY,+  BaseMapStyleType_STREET,+  BaseMapStyleType'+  #-}
+ gen/Amazonka/QuickSight/Types/BinCountOptions.hs view
@@ -0,0 +1,74 @@+{-# 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.QuickSight.Types.BinCountOptions+-- 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.QuickSight.Types.BinCountOptions 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 options that determine the bin count of a histogram.+--+-- /See:/ 'newBinCountOptions' smart constructor.+data BinCountOptions = BinCountOptions'+  { -- | The options that determine the bin count value.+    value :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BinCountOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'value', 'binCountOptions_value' - The options that determine the bin count value.+newBinCountOptions ::+  BinCountOptions+newBinCountOptions =+  BinCountOptions' {value = Prelude.Nothing}++-- | The options that determine the bin count value.+binCountOptions_value :: Lens.Lens' BinCountOptions (Prelude.Maybe Prelude.Natural)+binCountOptions_value = Lens.lens (\BinCountOptions' {value} -> value) (\s@BinCountOptions' {} a -> s {value = a} :: BinCountOptions)++instance Data.FromJSON BinCountOptions where+  parseJSON =+    Data.withObject+      "BinCountOptions"+      ( \x ->+          BinCountOptions' Prelude.<$> (x Data..:? "Value")+      )++instance Prelude.Hashable BinCountOptions where+  hashWithSalt _salt BinCountOptions' {..} =+    _salt `Prelude.hashWithSalt` value++instance Prelude.NFData BinCountOptions where+  rnf BinCountOptions' {..} = Prelude.rnf value++instance Data.ToJSON BinCountOptions where+  toJSON BinCountOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Value" Data..=) Prelude.<$> value]+      )
+ gen/Amazonka/QuickSight/Types/BinWidthOptions.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.BinWidthOptions+-- 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.QuickSight.Types.BinWidthOptions 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 options that determine the bin width of a histogram.+--+-- /See:/ 'newBinWidthOptions' smart constructor.+data BinWidthOptions = BinWidthOptions'+  { -- | The options that determine the bin count limit.+    binCountLimit :: Prelude.Maybe Prelude.Natural,+    -- | The options that determine the bin width value.+    value :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BinWidthOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'binCountLimit', 'binWidthOptions_binCountLimit' - The options that determine the bin count limit.+--+-- 'value', 'binWidthOptions_value' - The options that determine the bin width value.+newBinWidthOptions ::+  BinWidthOptions+newBinWidthOptions =+  BinWidthOptions'+    { binCountLimit = Prelude.Nothing,+      value = Prelude.Nothing+    }++-- | The options that determine the bin count limit.+binWidthOptions_binCountLimit :: Lens.Lens' BinWidthOptions (Prelude.Maybe Prelude.Natural)+binWidthOptions_binCountLimit = Lens.lens (\BinWidthOptions' {binCountLimit} -> binCountLimit) (\s@BinWidthOptions' {} a -> s {binCountLimit = a} :: BinWidthOptions)++-- | The options that determine the bin width value.+binWidthOptions_value :: Lens.Lens' BinWidthOptions (Prelude.Maybe Prelude.Double)+binWidthOptions_value = Lens.lens (\BinWidthOptions' {value} -> value) (\s@BinWidthOptions' {} a -> s {value = a} :: BinWidthOptions)++instance Data.FromJSON BinWidthOptions where+  parseJSON =+    Data.withObject+      "BinWidthOptions"+      ( \x ->+          BinWidthOptions'+            Prelude.<$> (x Data..:? "BinCountLimit")+            Prelude.<*> (x Data..:? "Value")+      )++instance Prelude.Hashable BinWidthOptions where+  hashWithSalt _salt BinWidthOptions' {..} =+    _salt+      `Prelude.hashWithSalt` binCountLimit+      `Prelude.hashWithSalt` value++instance Prelude.NFData BinWidthOptions where+  rnf BinWidthOptions' {..} =+    Prelude.rnf binCountLimit+      `Prelude.seq` Prelude.rnf value++instance Data.ToJSON BinWidthOptions where+  toJSON BinWidthOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BinCountLimit" Data..=) Prelude.<$> binCountLimit,+            ("Value" Data..=) Prelude.<$> value+          ]+      )
+ gen/Amazonka/QuickSight/Types/BodySectionConfiguration.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.BodySectionConfiguration+-- 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.QuickSight.Types.BodySectionConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.BodySectionContent+import Amazonka.QuickSight.Types.SectionPageBreakConfiguration+import Amazonka.QuickSight.Types.SectionStyle++-- | The configuration of a body section.+--+-- /See:/ 'newBodySectionConfiguration' smart constructor.+data BodySectionConfiguration = BodySectionConfiguration'+  { -- | The configuration of a page break for a section.+    pageBreakConfiguration :: Prelude.Maybe SectionPageBreakConfiguration,+    -- | The style options of a body section.+    style :: Prelude.Maybe SectionStyle,+    -- | The unique identifier of a body section.+    sectionId :: Prelude.Text,+    -- | The configuration of content in a body section.+    content :: BodySectionContent+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BodySectionConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pageBreakConfiguration', 'bodySectionConfiguration_pageBreakConfiguration' - The configuration of a page break for a section.+--+-- 'style', 'bodySectionConfiguration_style' - The style options of a body section.+--+-- 'sectionId', 'bodySectionConfiguration_sectionId' - The unique identifier of a body section.+--+-- 'content', 'bodySectionConfiguration_content' - The configuration of content in a body section.+newBodySectionConfiguration ::+  -- | 'sectionId'+  Prelude.Text ->+  -- | 'content'+  BodySectionContent ->+  BodySectionConfiguration+newBodySectionConfiguration pSectionId_ pContent_ =+  BodySectionConfiguration'+    { pageBreakConfiguration =+        Prelude.Nothing,+      style = Prelude.Nothing,+      sectionId = pSectionId_,+      content = pContent_+    }++-- | The configuration of a page break for a section.+bodySectionConfiguration_pageBreakConfiguration :: Lens.Lens' BodySectionConfiguration (Prelude.Maybe SectionPageBreakConfiguration)+bodySectionConfiguration_pageBreakConfiguration = Lens.lens (\BodySectionConfiguration' {pageBreakConfiguration} -> pageBreakConfiguration) (\s@BodySectionConfiguration' {} a -> s {pageBreakConfiguration = a} :: BodySectionConfiguration)++-- | The style options of a body section.+bodySectionConfiguration_style :: Lens.Lens' BodySectionConfiguration (Prelude.Maybe SectionStyle)+bodySectionConfiguration_style = Lens.lens (\BodySectionConfiguration' {style} -> style) (\s@BodySectionConfiguration' {} a -> s {style = a} :: BodySectionConfiguration)++-- | The unique identifier of a body section.+bodySectionConfiguration_sectionId :: Lens.Lens' BodySectionConfiguration Prelude.Text+bodySectionConfiguration_sectionId = Lens.lens (\BodySectionConfiguration' {sectionId} -> sectionId) (\s@BodySectionConfiguration' {} a -> s {sectionId = a} :: BodySectionConfiguration)++-- | The configuration of content in a body section.+bodySectionConfiguration_content :: Lens.Lens' BodySectionConfiguration BodySectionContent+bodySectionConfiguration_content = Lens.lens (\BodySectionConfiguration' {content} -> content) (\s@BodySectionConfiguration' {} a -> s {content = a} :: BodySectionConfiguration)++instance Data.FromJSON BodySectionConfiguration where+  parseJSON =+    Data.withObject+      "BodySectionConfiguration"+      ( \x ->+          BodySectionConfiguration'+            Prelude.<$> (x Data..:? "PageBreakConfiguration")+            Prelude.<*> (x Data..:? "Style")+            Prelude.<*> (x Data..: "SectionId")+            Prelude.<*> (x Data..: "Content")+      )++instance Prelude.Hashable BodySectionConfiguration where+  hashWithSalt _salt BodySectionConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` pageBreakConfiguration+      `Prelude.hashWithSalt` style+      `Prelude.hashWithSalt` sectionId+      `Prelude.hashWithSalt` content++instance Prelude.NFData BodySectionConfiguration where+  rnf BodySectionConfiguration' {..} =+    Prelude.rnf pageBreakConfiguration+      `Prelude.seq` Prelude.rnf style+      `Prelude.seq` Prelude.rnf sectionId+      `Prelude.seq` Prelude.rnf content++instance Data.ToJSON BodySectionConfiguration where+  toJSON BodySectionConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PageBreakConfiguration" Data..=)+              Prelude.<$> pageBreakConfiguration,+            ("Style" Data..=) Prelude.<$> style,+            Prelude.Just ("SectionId" Data..= sectionId),+            Prelude.Just ("Content" Data..= content)+          ]+      )
+ gen/Amazonka/QuickSight/Types/BodySectionContent.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.BodySectionContent+-- 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.QuickSight.Types.BodySectionContent where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.SectionLayoutConfiguration++-- | The configuration of content in a body section.+--+-- /See:/ 'newBodySectionContent' smart constructor.+data BodySectionContent = BodySectionContent'+  { -- | The layout configuration of a body section.+    layout :: Prelude.Maybe SectionLayoutConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BodySectionContent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'layout', 'bodySectionContent_layout' - The layout configuration of a body section.+newBodySectionContent ::+  BodySectionContent+newBodySectionContent =+  BodySectionContent' {layout = Prelude.Nothing}++-- | The layout configuration of a body section.+bodySectionContent_layout :: Lens.Lens' BodySectionContent (Prelude.Maybe SectionLayoutConfiguration)+bodySectionContent_layout = Lens.lens (\BodySectionContent' {layout} -> layout) (\s@BodySectionContent' {} a -> s {layout = a} :: BodySectionContent)++instance Data.FromJSON BodySectionContent where+  parseJSON =+    Data.withObject+      "BodySectionContent"+      ( \x ->+          BodySectionContent'+            Prelude.<$> (x Data..:? "Layout")+      )++instance Prelude.Hashable BodySectionContent where+  hashWithSalt _salt BodySectionContent' {..} =+    _salt `Prelude.hashWithSalt` layout++instance Prelude.NFData BodySectionContent where+  rnf BodySectionContent' {..} = Prelude.rnf layout++instance Data.ToJSON BodySectionContent where+  toJSON BodySectionContent' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Layout" Data..=) Prelude.<$> layout]+      )
+ gen/Amazonka/QuickSight/Types/BorderStyle.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.BorderStyle+-- 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.QuickSight.Types.BorderStyle 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 display options for tile borders for visuals.+--+-- /See:/ 'newBorderStyle' smart constructor.+data BorderStyle = BorderStyle'+  { -- | The option to enable display of borders for visuals.+    show :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BorderStyle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'show', 'borderStyle_show' - The option to enable display of borders for visuals.+newBorderStyle ::+  BorderStyle+newBorderStyle = BorderStyle' {show = Prelude.Nothing}++-- | The option to enable display of borders for visuals.+borderStyle_show :: Lens.Lens' BorderStyle (Prelude.Maybe Prelude.Bool)+borderStyle_show = Lens.lens (\BorderStyle' {show} -> show) (\s@BorderStyle' {} a -> s {show = a} :: BorderStyle)++instance Data.FromJSON BorderStyle where+  parseJSON =+    Data.withObject+      "BorderStyle"+      (\x -> BorderStyle' Prelude.<$> (x Data..:? "Show"))++instance Prelude.Hashable BorderStyle where+  hashWithSalt _salt BorderStyle' {..} =+    _salt `Prelude.hashWithSalt` show++instance Prelude.NFData BorderStyle where+  rnf BorderStyle' {..} = Prelude.rnf show++instance Data.ToJSON BorderStyle where+  toJSON BorderStyle' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Show" Data..=) Prelude.<$> show]+      )
+ gen/Amazonka/QuickSight/Types/BoxPlotAggregatedFieldWells.hs view
@@ -0,0 +1,102 @@+{-# 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.QuickSight.Types.BoxPlotAggregatedFieldWells+-- 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.QuickSight.Types.BoxPlotAggregatedFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The aggregated field well for a box plot.+--+-- /See:/ 'newBoxPlotAggregatedFieldWells' smart constructor.+data BoxPlotAggregatedFieldWells = BoxPlotAggregatedFieldWells'+  { -- | The group by field well of a box plot chart. Values are grouped based on+    -- group by fields.+    groupBy :: Prelude.Maybe [DimensionField],+    -- | The value field well of a box plot chart. Values are aggregated based on+    -- group by fields.+    values :: Prelude.Maybe [MeasureField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BoxPlotAggregatedFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'groupBy', 'boxPlotAggregatedFieldWells_groupBy' - The group by field well of a box plot chart. Values are grouped based on+-- group by fields.+--+-- 'values', 'boxPlotAggregatedFieldWells_values' - The value field well of a box plot chart. Values are aggregated based on+-- group by fields.+newBoxPlotAggregatedFieldWells ::+  BoxPlotAggregatedFieldWells+newBoxPlotAggregatedFieldWells =+  BoxPlotAggregatedFieldWells'+    { groupBy =+        Prelude.Nothing,+      values = Prelude.Nothing+    }++-- | The group by field well of a box plot chart. Values are grouped based on+-- group by fields.+boxPlotAggregatedFieldWells_groupBy :: Lens.Lens' BoxPlotAggregatedFieldWells (Prelude.Maybe [DimensionField])+boxPlotAggregatedFieldWells_groupBy = Lens.lens (\BoxPlotAggregatedFieldWells' {groupBy} -> groupBy) (\s@BoxPlotAggregatedFieldWells' {} a -> s {groupBy = a} :: BoxPlotAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The value field well of a box plot chart. Values are aggregated based on+-- group by fields.+boxPlotAggregatedFieldWells_values :: Lens.Lens' BoxPlotAggregatedFieldWells (Prelude.Maybe [MeasureField])+boxPlotAggregatedFieldWells_values = Lens.lens (\BoxPlotAggregatedFieldWells' {values} -> values) (\s@BoxPlotAggregatedFieldWells' {} a -> s {values = a} :: BoxPlotAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON BoxPlotAggregatedFieldWells where+  parseJSON =+    Data.withObject+      "BoxPlotAggregatedFieldWells"+      ( \x ->+          BoxPlotAggregatedFieldWells'+            Prelude.<$> (x Data..:? "GroupBy" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Values" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable BoxPlotAggregatedFieldWells where+  hashWithSalt _salt BoxPlotAggregatedFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` groupBy+      `Prelude.hashWithSalt` values++instance Prelude.NFData BoxPlotAggregatedFieldWells where+  rnf BoxPlotAggregatedFieldWells' {..} =+    Prelude.rnf groupBy+      `Prelude.seq` Prelude.rnf values++instance Data.ToJSON BoxPlotAggregatedFieldWells where+  toJSON BoxPlotAggregatedFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("GroupBy" Data..=) Prelude.<$> groupBy,+            ("Values" Data..=) Prelude.<$> values+          ]+      )
+ gen/Amazonka/QuickSight/Types/BoxPlotChartConfiguration.hs view
@@ -0,0 +1,237 @@+{-# 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.QuickSight.Types.BoxPlotChartConfiguration+-- 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.QuickSight.Types.BoxPlotChartConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AxisDisplayOptions+import Amazonka.QuickSight.Types.BoxPlotFieldWells+import Amazonka.QuickSight.Types.BoxPlotOptions+import Amazonka.QuickSight.Types.BoxPlotSortConfiguration+import Amazonka.QuickSight.Types.ChartAxisLabelOptions+import Amazonka.QuickSight.Types.LegendOptions+import Amazonka.QuickSight.Types.ReferenceLine+import Amazonka.QuickSight.Types.TooltipOptions+import Amazonka.QuickSight.Types.VisualPalette++-- | The configuration of a @BoxPlotVisual@.+--+-- /See:/ 'newBoxPlotChartConfiguration' smart constructor.+data BoxPlotChartConfiguration = BoxPlotChartConfiguration'+  { -- | The box plot chart options for a box plot visual+    boxPlotOptions :: Prelude.Maybe BoxPlotOptions,+    -- | The label display options (grid line, range, scale, axis step) of a box+    -- plot category.+    categoryAxis :: Prelude.Maybe AxisDisplayOptions,+    -- | The label options (label text, label visibility and sort Icon+    -- visibility) of a box plot category.+    categoryLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The field wells of the visual.+    fieldWells :: Prelude.Maybe BoxPlotFieldWells,+    legend :: Prelude.Maybe LegendOptions,+    -- | The label display options (grid line, range, scale, axis step) of a box+    -- plot category.+    primaryYAxisDisplayOptions :: Prelude.Maybe AxisDisplayOptions,+    -- | The label options (label text, label visibility and sort icon+    -- visibility) of a box plot value.+    primaryYAxisLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The reference line setup of the visual.+    referenceLines :: Prelude.Maybe [ReferenceLine],+    -- | The sort configuration of a @BoxPlotVisual@.+    sortConfiguration :: Prelude.Maybe BoxPlotSortConfiguration,+    -- | The tooltip display setup of the visual.+    tooltip :: Prelude.Maybe TooltipOptions,+    -- | The palette (chart color) display setup of the visual.+    visualPalette :: Prelude.Maybe VisualPalette+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BoxPlotChartConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'boxPlotOptions', 'boxPlotChartConfiguration_boxPlotOptions' - The box plot chart options for a box plot visual+--+-- 'categoryAxis', 'boxPlotChartConfiguration_categoryAxis' - The label display options (grid line, range, scale, axis step) of a box+-- plot category.+--+-- 'categoryLabelOptions', 'boxPlotChartConfiguration_categoryLabelOptions' - The label options (label text, label visibility and sort Icon+-- visibility) of a box plot category.+--+-- 'fieldWells', 'boxPlotChartConfiguration_fieldWells' - The field wells of the visual.+--+-- 'legend', 'boxPlotChartConfiguration_legend' - Undocumented member.+--+-- 'primaryYAxisDisplayOptions', 'boxPlotChartConfiguration_primaryYAxisDisplayOptions' - The label display options (grid line, range, scale, axis step) of a box+-- plot category.+--+-- 'primaryYAxisLabelOptions', 'boxPlotChartConfiguration_primaryYAxisLabelOptions' - The label options (label text, label visibility and sort icon+-- visibility) of a box plot value.+--+-- 'referenceLines', 'boxPlotChartConfiguration_referenceLines' - The reference line setup of the visual.+--+-- 'sortConfiguration', 'boxPlotChartConfiguration_sortConfiguration' - The sort configuration of a @BoxPlotVisual@.+--+-- 'tooltip', 'boxPlotChartConfiguration_tooltip' - The tooltip display setup of the visual.+--+-- 'visualPalette', 'boxPlotChartConfiguration_visualPalette' - The palette (chart color) display setup of the visual.+newBoxPlotChartConfiguration ::+  BoxPlotChartConfiguration+newBoxPlotChartConfiguration =+  BoxPlotChartConfiguration'+    { boxPlotOptions =+        Prelude.Nothing,+      categoryAxis = Prelude.Nothing,+      categoryLabelOptions = Prelude.Nothing,+      fieldWells = Prelude.Nothing,+      legend = Prelude.Nothing,+      primaryYAxisDisplayOptions = Prelude.Nothing,+      primaryYAxisLabelOptions = Prelude.Nothing,+      referenceLines = Prelude.Nothing,+      sortConfiguration = Prelude.Nothing,+      tooltip = Prelude.Nothing,+      visualPalette = Prelude.Nothing+    }++-- | The box plot chart options for a box plot visual+boxPlotChartConfiguration_boxPlotOptions :: Lens.Lens' BoxPlotChartConfiguration (Prelude.Maybe BoxPlotOptions)+boxPlotChartConfiguration_boxPlotOptions = Lens.lens (\BoxPlotChartConfiguration' {boxPlotOptions} -> boxPlotOptions) (\s@BoxPlotChartConfiguration' {} a -> s {boxPlotOptions = a} :: BoxPlotChartConfiguration)++-- | The label display options (grid line, range, scale, axis step) of a box+-- plot category.+boxPlotChartConfiguration_categoryAxis :: Lens.Lens' BoxPlotChartConfiguration (Prelude.Maybe AxisDisplayOptions)+boxPlotChartConfiguration_categoryAxis = Lens.lens (\BoxPlotChartConfiguration' {categoryAxis} -> categoryAxis) (\s@BoxPlotChartConfiguration' {} a -> s {categoryAxis = a} :: BoxPlotChartConfiguration)++-- | The label options (label text, label visibility and sort Icon+-- visibility) of a box plot category.+boxPlotChartConfiguration_categoryLabelOptions :: Lens.Lens' BoxPlotChartConfiguration (Prelude.Maybe ChartAxisLabelOptions)+boxPlotChartConfiguration_categoryLabelOptions = Lens.lens (\BoxPlotChartConfiguration' {categoryLabelOptions} -> categoryLabelOptions) (\s@BoxPlotChartConfiguration' {} a -> s {categoryLabelOptions = a} :: BoxPlotChartConfiguration)++-- | The field wells of the visual.+boxPlotChartConfiguration_fieldWells :: Lens.Lens' BoxPlotChartConfiguration (Prelude.Maybe BoxPlotFieldWells)+boxPlotChartConfiguration_fieldWells = Lens.lens (\BoxPlotChartConfiguration' {fieldWells} -> fieldWells) (\s@BoxPlotChartConfiguration' {} a -> s {fieldWells = a} :: BoxPlotChartConfiguration)++-- | Undocumented member.+boxPlotChartConfiguration_legend :: Lens.Lens' BoxPlotChartConfiguration (Prelude.Maybe LegendOptions)+boxPlotChartConfiguration_legend = Lens.lens (\BoxPlotChartConfiguration' {legend} -> legend) (\s@BoxPlotChartConfiguration' {} a -> s {legend = a} :: BoxPlotChartConfiguration)++-- | The label display options (grid line, range, scale, axis step) of a box+-- plot category.+boxPlotChartConfiguration_primaryYAxisDisplayOptions :: Lens.Lens' BoxPlotChartConfiguration (Prelude.Maybe AxisDisplayOptions)+boxPlotChartConfiguration_primaryYAxisDisplayOptions = Lens.lens (\BoxPlotChartConfiguration' {primaryYAxisDisplayOptions} -> primaryYAxisDisplayOptions) (\s@BoxPlotChartConfiguration' {} a -> s {primaryYAxisDisplayOptions = a} :: BoxPlotChartConfiguration)++-- | The label options (label text, label visibility and sort icon+-- visibility) of a box plot value.+boxPlotChartConfiguration_primaryYAxisLabelOptions :: Lens.Lens' BoxPlotChartConfiguration (Prelude.Maybe ChartAxisLabelOptions)+boxPlotChartConfiguration_primaryYAxisLabelOptions = Lens.lens (\BoxPlotChartConfiguration' {primaryYAxisLabelOptions} -> primaryYAxisLabelOptions) (\s@BoxPlotChartConfiguration' {} a -> s {primaryYAxisLabelOptions = a} :: BoxPlotChartConfiguration)++-- | The reference line setup of the visual.+boxPlotChartConfiguration_referenceLines :: Lens.Lens' BoxPlotChartConfiguration (Prelude.Maybe [ReferenceLine])+boxPlotChartConfiguration_referenceLines = Lens.lens (\BoxPlotChartConfiguration' {referenceLines} -> referenceLines) (\s@BoxPlotChartConfiguration' {} a -> s {referenceLines = a} :: BoxPlotChartConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The sort configuration of a @BoxPlotVisual@.+boxPlotChartConfiguration_sortConfiguration :: Lens.Lens' BoxPlotChartConfiguration (Prelude.Maybe BoxPlotSortConfiguration)+boxPlotChartConfiguration_sortConfiguration = Lens.lens (\BoxPlotChartConfiguration' {sortConfiguration} -> sortConfiguration) (\s@BoxPlotChartConfiguration' {} a -> s {sortConfiguration = a} :: BoxPlotChartConfiguration)++-- | The tooltip display setup of the visual.+boxPlotChartConfiguration_tooltip :: Lens.Lens' BoxPlotChartConfiguration (Prelude.Maybe TooltipOptions)+boxPlotChartConfiguration_tooltip = Lens.lens (\BoxPlotChartConfiguration' {tooltip} -> tooltip) (\s@BoxPlotChartConfiguration' {} a -> s {tooltip = a} :: BoxPlotChartConfiguration)++-- | The palette (chart color) display setup of the visual.+boxPlotChartConfiguration_visualPalette :: Lens.Lens' BoxPlotChartConfiguration (Prelude.Maybe VisualPalette)+boxPlotChartConfiguration_visualPalette = Lens.lens (\BoxPlotChartConfiguration' {visualPalette} -> visualPalette) (\s@BoxPlotChartConfiguration' {} a -> s {visualPalette = a} :: BoxPlotChartConfiguration)++instance Data.FromJSON BoxPlotChartConfiguration where+  parseJSON =+    Data.withObject+      "BoxPlotChartConfiguration"+      ( \x ->+          BoxPlotChartConfiguration'+            Prelude.<$> (x Data..:? "BoxPlotOptions")+            Prelude.<*> (x Data..:? "CategoryAxis")+            Prelude.<*> (x Data..:? "CategoryLabelOptions")+            Prelude.<*> (x Data..:? "FieldWells")+            Prelude.<*> (x Data..:? "Legend")+            Prelude.<*> (x Data..:? "PrimaryYAxisDisplayOptions")+            Prelude.<*> (x Data..:? "PrimaryYAxisLabelOptions")+            Prelude.<*> (x Data..:? "ReferenceLines" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "SortConfiguration")+            Prelude.<*> (x Data..:? "Tooltip")+            Prelude.<*> (x Data..:? "VisualPalette")+      )++instance Prelude.Hashable BoxPlotChartConfiguration where+  hashWithSalt _salt BoxPlotChartConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` boxPlotOptions+      `Prelude.hashWithSalt` categoryAxis+      `Prelude.hashWithSalt` categoryLabelOptions+      `Prelude.hashWithSalt` fieldWells+      `Prelude.hashWithSalt` legend+      `Prelude.hashWithSalt` primaryYAxisDisplayOptions+      `Prelude.hashWithSalt` primaryYAxisLabelOptions+      `Prelude.hashWithSalt` referenceLines+      `Prelude.hashWithSalt` sortConfiguration+      `Prelude.hashWithSalt` tooltip+      `Prelude.hashWithSalt` visualPalette++instance Prelude.NFData BoxPlotChartConfiguration where+  rnf BoxPlotChartConfiguration' {..} =+    Prelude.rnf boxPlotOptions+      `Prelude.seq` Prelude.rnf categoryAxis+      `Prelude.seq` Prelude.rnf categoryLabelOptions+      `Prelude.seq` Prelude.rnf fieldWells+      `Prelude.seq` Prelude.rnf legend+      `Prelude.seq` Prelude.rnf primaryYAxisDisplayOptions+      `Prelude.seq` Prelude.rnf primaryYAxisLabelOptions+      `Prelude.seq` Prelude.rnf referenceLines+      `Prelude.seq` Prelude.rnf sortConfiguration+      `Prelude.seq` Prelude.rnf tooltip+      `Prelude.seq` Prelude.rnf visualPalette++instance Data.ToJSON BoxPlotChartConfiguration where+  toJSON BoxPlotChartConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BoxPlotOptions" Data..=)+              Prelude.<$> boxPlotOptions,+            ("CategoryAxis" Data..=) Prelude.<$> categoryAxis,+            ("CategoryLabelOptions" Data..=)+              Prelude.<$> categoryLabelOptions,+            ("FieldWells" Data..=) Prelude.<$> fieldWells,+            ("Legend" Data..=) Prelude.<$> legend,+            ("PrimaryYAxisDisplayOptions" Data..=)+              Prelude.<$> primaryYAxisDisplayOptions,+            ("PrimaryYAxisLabelOptions" Data..=)+              Prelude.<$> primaryYAxisLabelOptions,+            ("ReferenceLines" Data..=)+              Prelude.<$> referenceLines,+            ("SortConfiguration" Data..=)+              Prelude.<$> sortConfiguration,+            ("Tooltip" Data..=) Prelude.<$> tooltip,+            ("VisualPalette" Data..=) Prelude.<$> visualPalette+          ]+      )
+ gen/Amazonka/QuickSight/Types/BoxPlotFieldWells.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.QuickSight.Types.BoxPlotFieldWells+-- 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.QuickSight.Types.BoxPlotFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.BoxPlotAggregatedFieldWells++-- | The field wells of a @BoxPlotVisual@.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newBoxPlotFieldWells' smart constructor.+data BoxPlotFieldWells = BoxPlotFieldWells'+  { -- | The aggregated field wells of a box plot.+    boxPlotAggregatedFieldWells :: Prelude.Maybe BoxPlotAggregatedFieldWells+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BoxPlotFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'boxPlotAggregatedFieldWells', 'boxPlotFieldWells_boxPlotAggregatedFieldWells' - The aggregated field wells of a box plot.+newBoxPlotFieldWells ::+  BoxPlotFieldWells+newBoxPlotFieldWells =+  BoxPlotFieldWells'+    { boxPlotAggregatedFieldWells =+        Prelude.Nothing+    }++-- | The aggregated field wells of a box plot.+boxPlotFieldWells_boxPlotAggregatedFieldWells :: Lens.Lens' BoxPlotFieldWells (Prelude.Maybe BoxPlotAggregatedFieldWells)+boxPlotFieldWells_boxPlotAggregatedFieldWells = Lens.lens (\BoxPlotFieldWells' {boxPlotAggregatedFieldWells} -> boxPlotAggregatedFieldWells) (\s@BoxPlotFieldWells' {} a -> s {boxPlotAggregatedFieldWells = a} :: BoxPlotFieldWells)++instance Data.FromJSON BoxPlotFieldWells where+  parseJSON =+    Data.withObject+      "BoxPlotFieldWells"+      ( \x ->+          BoxPlotFieldWells'+            Prelude.<$> (x Data..:? "BoxPlotAggregatedFieldWells")+      )++instance Prelude.Hashable BoxPlotFieldWells where+  hashWithSalt _salt BoxPlotFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` boxPlotAggregatedFieldWells++instance Prelude.NFData BoxPlotFieldWells where+  rnf BoxPlotFieldWells' {..} =+    Prelude.rnf boxPlotAggregatedFieldWells++instance Data.ToJSON BoxPlotFieldWells where+  toJSON BoxPlotFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BoxPlotAggregatedFieldWells" Data..=)+              Prelude.<$> boxPlotAggregatedFieldWells+          ]+      )
+ gen/Amazonka/QuickSight/Types/BoxPlotFillStyle.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.QuickSight.Types.BoxPlotFillStyle+-- 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.QuickSight.Types.BoxPlotFillStyle+  ( BoxPlotFillStyle+      ( ..,+        BoxPlotFillStyle_SOLID,+        BoxPlotFillStyle_TRANSPARENT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype BoxPlotFillStyle = BoxPlotFillStyle'+  { fromBoxPlotFillStyle ::+      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 BoxPlotFillStyle_SOLID :: BoxPlotFillStyle+pattern BoxPlotFillStyle_SOLID = BoxPlotFillStyle' "SOLID"++pattern BoxPlotFillStyle_TRANSPARENT :: BoxPlotFillStyle+pattern BoxPlotFillStyle_TRANSPARENT = BoxPlotFillStyle' "TRANSPARENT"++{-# COMPLETE+  BoxPlotFillStyle_SOLID,+  BoxPlotFillStyle_TRANSPARENT,+  BoxPlotFillStyle'+  #-}
+ gen/Amazonka/QuickSight/Types/BoxPlotOptions.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.QuickSight.Types.BoxPlotOptions+-- 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.QuickSight.Types.BoxPlotOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.BoxPlotStyleOptions+import Amazonka.QuickSight.Types.Visibility++-- | The options of a box plot visual.+--+-- /See:/ 'newBoxPlotOptions' smart constructor.+data BoxPlotOptions = BoxPlotOptions'+  { -- | Determines the visibility of all data points of the box plot.+    allDataPointsVisibility :: Prelude.Maybe Visibility,+    -- | Determines the visibility of the outlier in a box plot.+    outlierVisibility :: Prelude.Maybe Visibility,+    -- | The style options of the box plot.+    styleOptions :: Prelude.Maybe BoxPlotStyleOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BoxPlotOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allDataPointsVisibility', 'boxPlotOptions_allDataPointsVisibility' - Determines the visibility of all data points of the box plot.+--+-- 'outlierVisibility', 'boxPlotOptions_outlierVisibility' - Determines the visibility of the outlier in a box plot.+--+-- 'styleOptions', 'boxPlotOptions_styleOptions' - The style options of the box plot.+newBoxPlotOptions ::+  BoxPlotOptions+newBoxPlotOptions =+  BoxPlotOptions'+    { allDataPointsVisibility =+        Prelude.Nothing,+      outlierVisibility = Prelude.Nothing,+      styleOptions = Prelude.Nothing+    }++-- | Determines the visibility of all data points of the box plot.+boxPlotOptions_allDataPointsVisibility :: Lens.Lens' BoxPlotOptions (Prelude.Maybe Visibility)+boxPlotOptions_allDataPointsVisibility = Lens.lens (\BoxPlotOptions' {allDataPointsVisibility} -> allDataPointsVisibility) (\s@BoxPlotOptions' {} a -> s {allDataPointsVisibility = a} :: BoxPlotOptions)++-- | Determines the visibility of the outlier in a box plot.+boxPlotOptions_outlierVisibility :: Lens.Lens' BoxPlotOptions (Prelude.Maybe Visibility)+boxPlotOptions_outlierVisibility = Lens.lens (\BoxPlotOptions' {outlierVisibility} -> outlierVisibility) (\s@BoxPlotOptions' {} a -> s {outlierVisibility = a} :: BoxPlotOptions)++-- | The style options of the box plot.+boxPlotOptions_styleOptions :: Lens.Lens' BoxPlotOptions (Prelude.Maybe BoxPlotStyleOptions)+boxPlotOptions_styleOptions = Lens.lens (\BoxPlotOptions' {styleOptions} -> styleOptions) (\s@BoxPlotOptions' {} a -> s {styleOptions = a} :: BoxPlotOptions)++instance Data.FromJSON BoxPlotOptions where+  parseJSON =+    Data.withObject+      "BoxPlotOptions"+      ( \x ->+          BoxPlotOptions'+            Prelude.<$> (x Data..:? "AllDataPointsVisibility")+            Prelude.<*> (x Data..:? "OutlierVisibility")+            Prelude.<*> (x Data..:? "StyleOptions")+      )++instance Prelude.Hashable BoxPlotOptions where+  hashWithSalt _salt BoxPlotOptions' {..} =+    _salt+      `Prelude.hashWithSalt` allDataPointsVisibility+      `Prelude.hashWithSalt` outlierVisibility+      `Prelude.hashWithSalt` styleOptions++instance Prelude.NFData BoxPlotOptions where+  rnf BoxPlotOptions' {..} =+    Prelude.rnf allDataPointsVisibility+      `Prelude.seq` Prelude.rnf outlierVisibility+      `Prelude.seq` Prelude.rnf styleOptions++instance Data.ToJSON BoxPlotOptions where+  toJSON BoxPlotOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AllDataPointsVisibility" Data..=)+              Prelude.<$> allDataPointsVisibility,+            ("OutlierVisibility" Data..=)+              Prelude.<$> outlierVisibility,+            ("StyleOptions" Data..=) Prelude.<$> styleOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/BoxPlotSortConfiguration.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.BoxPlotSortConfiguration+-- 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.QuickSight.Types.BoxPlotSortConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FieldSortOptions+import Amazonka.QuickSight.Types.PaginationConfiguration++-- | The sort configuration of a @BoxPlotVisual@.+--+-- /See:/ 'newBoxPlotSortConfiguration' smart constructor.+data BoxPlotSortConfiguration = BoxPlotSortConfiguration'+  { -- | The sort configuration of a group by fields.+    categorySort :: Prelude.Maybe [FieldSortOptions],+    -- | The pagination configuration of a table visual or box plot.+    paginationConfiguration :: Prelude.Maybe PaginationConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BoxPlotSortConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categorySort', 'boxPlotSortConfiguration_categorySort' - The sort configuration of a group by fields.+--+-- 'paginationConfiguration', 'boxPlotSortConfiguration_paginationConfiguration' - The pagination configuration of a table visual or box plot.+newBoxPlotSortConfiguration ::+  BoxPlotSortConfiguration+newBoxPlotSortConfiguration =+  BoxPlotSortConfiguration'+    { categorySort =+        Prelude.Nothing,+      paginationConfiguration = Prelude.Nothing+    }++-- | The sort configuration of a group by fields.+boxPlotSortConfiguration_categorySort :: Lens.Lens' BoxPlotSortConfiguration (Prelude.Maybe [FieldSortOptions])+boxPlotSortConfiguration_categorySort = Lens.lens (\BoxPlotSortConfiguration' {categorySort} -> categorySort) (\s@BoxPlotSortConfiguration' {} a -> s {categorySort = a} :: BoxPlotSortConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The pagination configuration of a table visual or box plot.+boxPlotSortConfiguration_paginationConfiguration :: Lens.Lens' BoxPlotSortConfiguration (Prelude.Maybe PaginationConfiguration)+boxPlotSortConfiguration_paginationConfiguration = Lens.lens (\BoxPlotSortConfiguration' {paginationConfiguration} -> paginationConfiguration) (\s@BoxPlotSortConfiguration' {} a -> s {paginationConfiguration = a} :: BoxPlotSortConfiguration)++instance Data.FromJSON BoxPlotSortConfiguration where+  parseJSON =+    Data.withObject+      "BoxPlotSortConfiguration"+      ( \x ->+          BoxPlotSortConfiguration'+            Prelude.<$> (x Data..:? "CategorySort" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "PaginationConfiguration")+      )++instance Prelude.Hashable BoxPlotSortConfiguration where+  hashWithSalt _salt BoxPlotSortConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` categorySort+      `Prelude.hashWithSalt` paginationConfiguration++instance Prelude.NFData BoxPlotSortConfiguration where+  rnf BoxPlotSortConfiguration' {..} =+    Prelude.rnf categorySort+      `Prelude.seq` Prelude.rnf paginationConfiguration++instance Data.ToJSON BoxPlotSortConfiguration where+  toJSON BoxPlotSortConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategorySort" Data..=) Prelude.<$> categorySort,+            ("PaginationConfiguration" Data..=)+              Prelude.<$> paginationConfiguration+          ]+      )
+ gen/Amazonka/QuickSight/Types/BoxPlotStyleOptions.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.BoxPlotStyleOptions+-- 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.QuickSight.Types.BoxPlotStyleOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.BoxPlotFillStyle++-- | The style options of the box plot.+--+-- /See:/ 'newBoxPlotStyleOptions' smart constructor.+data BoxPlotStyleOptions = BoxPlotStyleOptions'+  { -- | The fill styles (solid, transparent) of the box plot.+    fillStyle :: Prelude.Maybe BoxPlotFillStyle+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BoxPlotStyleOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fillStyle', 'boxPlotStyleOptions_fillStyle' - The fill styles (solid, transparent) of the box plot.+newBoxPlotStyleOptions ::+  BoxPlotStyleOptions+newBoxPlotStyleOptions =+  BoxPlotStyleOptions' {fillStyle = Prelude.Nothing}++-- | The fill styles (solid, transparent) of the box plot.+boxPlotStyleOptions_fillStyle :: Lens.Lens' BoxPlotStyleOptions (Prelude.Maybe BoxPlotFillStyle)+boxPlotStyleOptions_fillStyle = Lens.lens (\BoxPlotStyleOptions' {fillStyle} -> fillStyle) (\s@BoxPlotStyleOptions' {} a -> s {fillStyle = a} :: BoxPlotStyleOptions)++instance Data.FromJSON BoxPlotStyleOptions where+  parseJSON =+    Data.withObject+      "BoxPlotStyleOptions"+      ( \x ->+          BoxPlotStyleOptions'+            Prelude.<$> (x Data..:? "FillStyle")+      )++instance Prelude.Hashable BoxPlotStyleOptions where+  hashWithSalt _salt BoxPlotStyleOptions' {..} =+    _salt `Prelude.hashWithSalt` fillStyle++instance Prelude.NFData BoxPlotStyleOptions where+  rnf BoxPlotStyleOptions' {..} = Prelude.rnf fillStyle++instance Data.ToJSON BoxPlotStyleOptions where+  toJSON BoxPlotStyleOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [("FillStyle" Data..=) Prelude.<$> fillStyle]+      )
+ gen/Amazonka/QuickSight/Types/BoxPlotVisual.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.QuickSight.Types.BoxPlotVisual+-- 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.QuickSight.Types.BoxPlotVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.BoxPlotChartConfiguration+import Amazonka.QuickSight.Types.ColumnHierarchy+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions++-- | A box plot.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/box-plots.html Using box plots>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newBoxPlotVisual' smart constructor.+data BoxPlotVisual = BoxPlotVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration settings of the visual.+    chartConfiguration :: Prelude.Maybe BoxPlotChartConfiguration,+    -- | The column hierarchy that is used during drill-downs and drill-ups.+    columnHierarchies :: Prelude.Maybe [ColumnHierarchy],+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers..+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BoxPlotVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'boxPlotVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'boxPlotVisual_chartConfiguration' - The configuration settings of the visual.+--+-- 'columnHierarchies', 'boxPlotVisual_columnHierarchies' - The column hierarchy that is used during drill-downs and drill-ups.+--+-- 'subtitle', 'boxPlotVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'boxPlotVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'boxPlotVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers..+newBoxPlotVisual ::+  -- | 'visualId'+  Prelude.Text ->+  BoxPlotVisual+newBoxPlotVisual pVisualId_ =+  BoxPlotVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      columnHierarchies = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_+    }++-- | The list of custom actions that are configured for a visual.+boxPlotVisual_actions :: Lens.Lens' BoxPlotVisual (Prelude.Maybe [VisualCustomAction])+boxPlotVisual_actions = Lens.lens (\BoxPlotVisual' {actions} -> actions) (\s@BoxPlotVisual' {} a -> s {actions = a} :: BoxPlotVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration settings of the visual.+boxPlotVisual_chartConfiguration :: Lens.Lens' BoxPlotVisual (Prelude.Maybe BoxPlotChartConfiguration)+boxPlotVisual_chartConfiguration = Lens.lens (\BoxPlotVisual' {chartConfiguration} -> chartConfiguration) (\s@BoxPlotVisual' {} a -> s {chartConfiguration = a} :: BoxPlotVisual)++-- | The column hierarchy that is used during drill-downs and drill-ups.+boxPlotVisual_columnHierarchies :: Lens.Lens' BoxPlotVisual (Prelude.Maybe [ColumnHierarchy])+boxPlotVisual_columnHierarchies = Lens.lens (\BoxPlotVisual' {columnHierarchies} -> columnHierarchies) (\s@BoxPlotVisual' {} a -> s {columnHierarchies = a} :: BoxPlotVisual) Prelude.. Lens.mapping Lens.coerced++-- | The subtitle that is displayed on the visual.+boxPlotVisual_subtitle :: Lens.Lens' BoxPlotVisual (Prelude.Maybe VisualSubtitleLabelOptions)+boxPlotVisual_subtitle = Lens.lens (\BoxPlotVisual' {subtitle} -> subtitle) (\s@BoxPlotVisual' {} a -> s {subtitle = a} :: BoxPlotVisual)++-- | The title that is displayed on the visual.+boxPlotVisual_title :: Lens.Lens' BoxPlotVisual (Prelude.Maybe VisualTitleLabelOptions)+boxPlotVisual_title = Lens.lens (\BoxPlotVisual' {title} -> title) (\s@BoxPlotVisual' {} a -> s {title = a} :: BoxPlotVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers..+boxPlotVisual_visualId :: Lens.Lens' BoxPlotVisual Prelude.Text+boxPlotVisual_visualId = Lens.lens (\BoxPlotVisual' {visualId} -> visualId) (\s@BoxPlotVisual' {} a -> s {visualId = a} :: BoxPlotVisual)++instance Data.FromJSON BoxPlotVisual where+  parseJSON =+    Data.withObject+      "BoxPlotVisual"+      ( \x ->+          BoxPlotVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> ( x+                            Data..:? "ColumnHierarchies"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+      )++instance Prelude.Hashable BoxPlotVisual where+  hashWithSalt _salt BoxPlotVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` columnHierarchies+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData BoxPlotVisual where+  rnf BoxPlotVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf columnHierarchies+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON BoxPlotVisual where+  toJSON BoxPlotVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("ColumnHierarchies" Data..=)+              Prelude.<$> columnHierarchies,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/CalculatedColumn.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.CalculatedColumn+-- 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.QuickSight.Types.CalculatedColumn 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 calculated column for a dataset.+--+-- /See:/ 'newCalculatedColumn' smart constructor.+data CalculatedColumn = CalculatedColumn'+  { -- | Column name.+    columnName :: Prelude.Text,+    -- | A unique ID to identify a calculated column. During a dataset update, if+    -- the column ID of a calculated column matches that of an existing+    -- calculated column, Amazon QuickSight preserves the existing calculated+    -- column.+    columnId :: Prelude.Text,+    -- | An expression that defines the calculated column.+    expression :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CalculatedColumn' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columnName', 'calculatedColumn_columnName' - Column name.+--+-- 'columnId', 'calculatedColumn_columnId' - A unique ID to identify a calculated column. During a dataset update, if+-- the column ID of a calculated column matches that of an existing+-- calculated column, Amazon QuickSight preserves the existing calculated+-- column.+--+-- 'expression', 'calculatedColumn_expression' - An expression that defines the calculated column.+newCalculatedColumn ::+  -- | 'columnName'+  Prelude.Text ->+  -- | 'columnId'+  Prelude.Text ->+  -- | 'expression'+  Prelude.Text ->+  CalculatedColumn+newCalculatedColumn+  pColumnName_+  pColumnId_+  pExpression_ =+    CalculatedColumn'+      { columnName = pColumnName_,+        columnId = pColumnId_,+        expression = Data._Sensitive Lens.# pExpression_+      }++-- | Column name.+calculatedColumn_columnName :: Lens.Lens' CalculatedColumn Prelude.Text+calculatedColumn_columnName = Lens.lens (\CalculatedColumn' {columnName} -> columnName) (\s@CalculatedColumn' {} a -> s {columnName = a} :: CalculatedColumn)++-- | A unique ID to identify a calculated column. During a dataset update, if+-- the column ID of a calculated column matches that of an existing+-- calculated column, Amazon QuickSight preserves the existing calculated+-- column.+calculatedColumn_columnId :: Lens.Lens' CalculatedColumn Prelude.Text+calculatedColumn_columnId = Lens.lens (\CalculatedColumn' {columnId} -> columnId) (\s@CalculatedColumn' {} a -> s {columnId = a} :: CalculatedColumn)++-- | An expression that defines the calculated column.+calculatedColumn_expression :: Lens.Lens' CalculatedColumn Prelude.Text+calculatedColumn_expression = Lens.lens (\CalculatedColumn' {expression} -> expression) (\s@CalculatedColumn' {} a -> s {expression = a} :: CalculatedColumn) Prelude.. Data._Sensitive++instance Data.FromJSON CalculatedColumn where+  parseJSON =+    Data.withObject+      "CalculatedColumn"+      ( \x ->+          CalculatedColumn'+            Prelude.<$> (x Data..: "ColumnName")+            Prelude.<*> (x Data..: "ColumnId")+            Prelude.<*> (x Data..: "Expression")+      )++instance Prelude.Hashable CalculatedColumn where+  hashWithSalt _salt CalculatedColumn' {..} =+    _salt+      `Prelude.hashWithSalt` columnName+      `Prelude.hashWithSalt` columnId+      `Prelude.hashWithSalt` expression++instance Prelude.NFData CalculatedColumn where+  rnf CalculatedColumn' {..} =+    Prelude.rnf columnName+      `Prelude.seq` Prelude.rnf columnId+      `Prelude.seq` Prelude.rnf expression++instance Data.ToJSON CalculatedColumn where+  toJSON CalculatedColumn' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ColumnName" Data..= columnName),+            Prelude.Just ("ColumnId" Data..= columnId),+            Prelude.Just ("Expression" Data..= expression)+          ]+      )
+ gen/Amazonka/QuickSight/Types/CalculatedField.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.CalculatedField+-- 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.QuickSight.Types.CalculatedField 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 calculated field of an analysis.+--+-- /See:/ 'newCalculatedField' smart constructor.+data CalculatedField = CalculatedField'+  { -- | The data set that is used in this calculated field.+    dataSetIdentifier :: Prelude.Text,+    -- | The name of the calculated field.+    name :: Prelude.Text,+    -- | The expression of the calculated field.+    expression :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CalculatedField' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSetIdentifier', 'calculatedField_dataSetIdentifier' - The data set that is used in this calculated field.+--+-- 'name', 'calculatedField_name' - The name of the calculated field.+--+-- 'expression', 'calculatedField_expression' - The expression of the calculated field.+newCalculatedField ::+  -- | 'dataSetIdentifier'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'expression'+  Prelude.Text ->+  CalculatedField+newCalculatedField+  pDataSetIdentifier_+  pName_+  pExpression_ =+    CalculatedField'+      { dataSetIdentifier =+          pDataSetIdentifier_,+        name = pName_,+        expression = Data._Sensitive Lens.# pExpression_+      }++-- | The data set that is used in this calculated field.+calculatedField_dataSetIdentifier :: Lens.Lens' CalculatedField Prelude.Text+calculatedField_dataSetIdentifier = Lens.lens (\CalculatedField' {dataSetIdentifier} -> dataSetIdentifier) (\s@CalculatedField' {} a -> s {dataSetIdentifier = a} :: CalculatedField)++-- | The name of the calculated field.+calculatedField_name :: Lens.Lens' CalculatedField Prelude.Text+calculatedField_name = Lens.lens (\CalculatedField' {name} -> name) (\s@CalculatedField' {} a -> s {name = a} :: CalculatedField)++-- | The expression of the calculated field.+calculatedField_expression :: Lens.Lens' CalculatedField Prelude.Text+calculatedField_expression = Lens.lens (\CalculatedField' {expression} -> expression) (\s@CalculatedField' {} a -> s {expression = a} :: CalculatedField) Prelude.. Data._Sensitive++instance Data.FromJSON CalculatedField where+  parseJSON =+    Data.withObject+      "CalculatedField"+      ( \x ->+          CalculatedField'+            Prelude.<$> (x Data..: "DataSetIdentifier")+            Prelude.<*> (x Data..: "Name")+            Prelude.<*> (x Data..: "Expression")+      )++instance Prelude.Hashable CalculatedField where+  hashWithSalt _salt CalculatedField' {..} =+    _salt+      `Prelude.hashWithSalt` dataSetIdentifier+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` expression++instance Prelude.NFData CalculatedField where+  rnf CalculatedField' {..} =+    Prelude.rnf dataSetIdentifier+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf expression++instance Data.ToJSON CalculatedField where+  toJSON CalculatedField' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("DataSetIdentifier" Data..= dataSetIdentifier),+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Expression" Data..= expression)+          ]+      )
+ gen/Amazonka/QuickSight/Types/CalculatedMeasureField.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.CalculatedMeasureField+-- 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.QuickSight.Types.CalculatedMeasureField 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 table calculation measure field for pivot tables.+--+-- /See:/ 'newCalculatedMeasureField' smart constructor.+data CalculatedMeasureField = CalculatedMeasureField'+  { -- | The custom field ID.+    fieldId :: Prelude.Text,+    -- | The expression in the table calculation.+    expression :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CalculatedMeasureField' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldId', 'calculatedMeasureField_fieldId' - The custom field ID.+--+-- 'expression', 'calculatedMeasureField_expression' - The expression in the table calculation.+newCalculatedMeasureField ::+  -- | 'fieldId'+  Prelude.Text ->+  -- | 'expression'+  Prelude.Text ->+  CalculatedMeasureField+newCalculatedMeasureField pFieldId_ pExpression_ =+  CalculatedMeasureField'+    { fieldId = pFieldId_,+      expression = Data._Sensitive Lens.# pExpression_+    }++-- | The custom field ID.+calculatedMeasureField_fieldId :: Lens.Lens' CalculatedMeasureField Prelude.Text+calculatedMeasureField_fieldId = Lens.lens (\CalculatedMeasureField' {fieldId} -> fieldId) (\s@CalculatedMeasureField' {} a -> s {fieldId = a} :: CalculatedMeasureField)++-- | The expression in the table calculation.+calculatedMeasureField_expression :: Lens.Lens' CalculatedMeasureField Prelude.Text+calculatedMeasureField_expression = Lens.lens (\CalculatedMeasureField' {expression} -> expression) (\s@CalculatedMeasureField' {} a -> s {expression = a} :: CalculatedMeasureField) Prelude.. Data._Sensitive++instance Data.FromJSON CalculatedMeasureField where+  parseJSON =+    Data.withObject+      "CalculatedMeasureField"+      ( \x ->+          CalculatedMeasureField'+            Prelude.<$> (x Data..: "FieldId")+            Prelude.<*> (x Data..: "Expression")+      )++instance Prelude.Hashable CalculatedMeasureField where+  hashWithSalt _salt CalculatedMeasureField' {..} =+    _salt+      `Prelude.hashWithSalt` fieldId+      `Prelude.hashWithSalt` expression++instance Prelude.NFData CalculatedMeasureField where+  rnf CalculatedMeasureField' {..} =+    Prelude.rnf fieldId+      `Prelude.seq` Prelude.rnf expression++instance Data.ToJSON CalculatedMeasureField where+  toJSON CalculatedMeasureField' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("FieldId" Data..= fieldId),+            Prelude.Just ("Expression" Data..= expression)+          ]+      )
+ gen/Amazonka/QuickSight/Types/CascadingControlConfiguration.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.CascadingControlConfiguration+-- 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.QuickSight.Types.CascadingControlConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CascadingControlSource++-- | The values that are displayed in a control can be configured to only+-- show values that are valid based on what\'s selected in other controls.+--+-- /See:/ 'newCascadingControlConfiguration' smart constructor.+data CascadingControlConfiguration = CascadingControlConfiguration'+  { -- | A list of source controls that determine the values that are used in the+    -- current control.+    sourceControls :: Prelude.Maybe [CascadingControlSource]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CascadingControlConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceControls', 'cascadingControlConfiguration_sourceControls' - A list of source controls that determine the values that are used in the+-- current control.+newCascadingControlConfiguration ::+  CascadingControlConfiguration+newCascadingControlConfiguration =+  CascadingControlConfiguration'+    { sourceControls =+        Prelude.Nothing+    }++-- | A list of source controls that determine the values that are used in the+-- current control.+cascadingControlConfiguration_sourceControls :: Lens.Lens' CascadingControlConfiguration (Prelude.Maybe [CascadingControlSource])+cascadingControlConfiguration_sourceControls = Lens.lens (\CascadingControlConfiguration' {sourceControls} -> sourceControls) (\s@CascadingControlConfiguration' {} a -> s {sourceControls = a} :: CascadingControlConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON CascadingControlConfiguration where+  parseJSON =+    Data.withObject+      "CascadingControlConfiguration"+      ( \x ->+          CascadingControlConfiguration'+            Prelude.<$> ( x+                            Data..:? "SourceControls"+                            Data..!= Prelude.mempty+                        )+      )++instance+  Prelude.Hashable+    CascadingControlConfiguration+  where+  hashWithSalt _salt CascadingControlConfiguration' {..} =+    _salt `Prelude.hashWithSalt` sourceControls++instance Prelude.NFData CascadingControlConfiguration where+  rnf CascadingControlConfiguration' {..} =+    Prelude.rnf sourceControls++instance Data.ToJSON CascadingControlConfiguration where+  toJSON CascadingControlConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SourceControls" Data..=)+              Prelude.<$> sourceControls+          ]+      )
+ gen/Amazonka/QuickSight/Types/CascadingControlSource.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.CascadingControlSource+-- 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.QuickSight.Types.CascadingControlSource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnIdentifier++-- | The source controls that are used in a @CascadingControlConfiguration@.+--+-- /See:/ 'newCascadingControlSource' smart constructor.+data CascadingControlSource = CascadingControlSource'+  { -- | The column identifier that determines which column to look up for the+    -- source sheet control.+    columnToMatch :: Prelude.Maybe ColumnIdentifier,+    -- | The source sheet control ID of a @CascadingControlSource@.+    sourceSheetControlId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CascadingControlSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columnToMatch', 'cascadingControlSource_columnToMatch' - The column identifier that determines which column to look up for the+-- source sheet control.+--+-- 'sourceSheetControlId', 'cascadingControlSource_sourceSheetControlId' - The source sheet control ID of a @CascadingControlSource@.+newCascadingControlSource ::+  CascadingControlSource+newCascadingControlSource =+  CascadingControlSource'+    { columnToMatch =+        Prelude.Nothing,+      sourceSheetControlId = Prelude.Nothing+    }++-- | The column identifier that determines which column to look up for the+-- source sheet control.+cascadingControlSource_columnToMatch :: Lens.Lens' CascadingControlSource (Prelude.Maybe ColumnIdentifier)+cascadingControlSource_columnToMatch = Lens.lens (\CascadingControlSource' {columnToMatch} -> columnToMatch) (\s@CascadingControlSource' {} a -> s {columnToMatch = a} :: CascadingControlSource)++-- | The source sheet control ID of a @CascadingControlSource@.+cascadingControlSource_sourceSheetControlId :: Lens.Lens' CascadingControlSource (Prelude.Maybe Prelude.Text)+cascadingControlSource_sourceSheetControlId = Lens.lens (\CascadingControlSource' {sourceSheetControlId} -> sourceSheetControlId) (\s@CascadingControlSource' {} a -> s {sourceSheetControlId = a} :: CascadingControlSource)++instance Data.FromJSON CascadingControlSource where+  parseJSON =+    Data.withObject+      "CascadingControlSource"+      ( \x ->+          CascadingControlSource'+            Prelude.<$> (x Data..:? "ColumnToMatch")+            Prelude.<*> (x Data..:? "SourceSheetControlId")+      )++instance Prelude.Hashable CascadingControlSource where+  hashWithSalt _salt CascadingControlSource' {..} =+    _salt+      `Prelude.hashWithSalt` columnToMatch+      `Prelude.hashWithSalt` sourceSheetControlId++instance Prelude.NFData CascadingControlSource where+  rnf CascadingControlSource' {..} =+    Prelude.rnf columnToMatch+      `Prelude.seq` Prelude.rnf sourceSheetControlId++instance Data.ToJSON CascadingControlSource where+  toJSON CascadingControlSource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ColumnToMatch" Data..=) Prelude.<$> columnToMatch,+            ("SourceSheetControlId" Data..=)+              Prelude.<$> sourceSheetControlId+          ]+      )
+ gen/Amazonka/QuickSight/Types/CastColumnTypeOperation.hs view
@@ -0,0 +1,120 @@+{-# 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.QuickSight.Types.CastColumnTypeOperation+-- 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.QuickSight.Types.CastColumnTypeOperation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnDataType++-- | A transform operation that casts a column to a different type.+--+-- /See:/ 'newCastColumnTypeOperation' smart constructor.+data CastColumnTypeOperation = CastColumnTypeOperation'+  { -- | When casting a column from string to datetime type, you can supply a+    -- string in a format supported by Amazon QuickSight to denote the source+    -- data format.+    format :: Prelude.Maybe Prelude.Text,+    -- | Column name.+    columnName :: Prelude.Text,+    -- | New column data type.+    newColumnType' :: ColumnDataType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CastColumnTypeOperation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'format', 'castColumnTypeOperation_format' - When casting a column from string to datetime type, you can supply a+-- string in a format supported by Amazon QuickSight to denote the source+-- data format.+--+-- 'columnName', 'castColumnTypeOperation_columnName' - Column name.+--+-- 'newColumnType'', 'castColumnTypeOperation_newColumnType' - New column data type.+newCastColumnTypeOperation ::+  -- | 'columnName'+  Prelude.Text ->+  -- | 'newColumnType''+  ColumnDataType ->+  CastColumnTypeOperation+newCastColumnTypeOperation+  pColumnName_+  pNewColumnType_ =+    CastColumnTypeOperation'+      { format = Prelude.Nothing,+        columnName = pColumnName_,+        newColumnType' = pNewColumnType_+      }++-- | When casting a column from string to datetime type, you can supply a+-- string in a format supported by Amazon QuickSight to denote the source+-- data format.+castColumnTypeOperation_format :: Lens.Lens' CastColumnTypeOperation (Prelude.Maybe Prelude.Text)+castColumnTypeOperation_format = Lens.lens (\CastColumnTypeOperation' {format} -> format) (\s@CastColumnTypeOperation' {} a -> s {format = a} :: CastColumnTypeOperation)++-- | Column name.+castColumnTypeOperation_columnName :: Lens.Lens' CastColumnTypeOperation Prelude.Text+castColumnTypeOperation_columnName = Lens.lens (\CastColumnTypeOperation' {columnName} -> columnName) (\s@CastColumnTypeOperation' {} a -> s {columnName = a} :: CastColumnTypeOperation)++-- | New column data type.+castColumnTypeOperation_newColumnType :: Lens.Lens' CastColumnTypeOperation ColumnDataType+castColumnTypeOperation_newColumnType = Lens.lens (\CastColumnTypeOperation' {newColumnType'} -> newColumnType') (\s@CastColumnTypeOperation' {} a -> s {newColumnType' = a} :: CastColumnTypeOperation)++instance Data.FromJSON CastColumnTypeOperation where+  parseJSON =+    Data.withObject+      "CastColumnTypeOperation"+      ( \x ->+          CastColumnTypeOperation'+            Prelude.<$> (x Data..:? "Format")+            Prelude.<*> (x Data..: "ColumnName")+            Prelude.<*> (x Data..: "NewColumnType")+      )++instance Prelude.Hashable CastColumnTypeOperation where+  hashWithSalt _salt CastColumnTypeOperation' {..} =+    _salt+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` columnName+      `Prelude.hashWithSalt` newColumnType'++instance Prelude.NFData CastColumnTypeOperation where+  rnf CastColumnTypeOperation' {..} =+    Prelude.rnf format+      `Prelude.seq` Prelude.rnf columnName+      `Prelude.seq` Prelude.rnf newColumnType'++instance Data.ToJSON CastColumnTypeOperation where+  toJSON CastColumnTypeOperation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Format" Data..=) Prelude.<$> format,+            Prelude.Just ("ColumnName" Data..= columnName),+            Prelude.Just+              ("NewColumnType" Data..= newColumnType')+          ]+      )
+ gen/Amazonka/QuickSight/Types/CategoricalAggregationFunction.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.QuickSight.Types.CategoricalAggregationFunction+-- 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.QuickSight.Types.CategoricalAggregationFunction+  ( CategoricalAggregationFunction+      ( ..,+        CategoricalAggregationFunction_COUNT,+        CategoricalAggregationFunction_DISTINCT_COUNT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CategoricalAggregationFunction = CategoricalAggregationFunction'+  { fromCategoricalAggregationFunction ::+      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 CategoricalAggregationFunction_COUNT :: CategoricalAggregationFunction+pattern CategoricalAggregationFunction_COUNT = CategoricalAggregationFunction' "COUNT"++pattern CategoricalAggregationFunction_DISTINCT_COUNT :: CategoricalAggregationFunction+pattern CategoricalAggregationFunction_DISTINCT_COUNT = CategoricalAggregationFunction' "DISTINCT_COUNT"++{-# COMPLETE+  CategoricalAggregationFunction_COUNT,+  CategoricalAggregationFunction_DISTINCT_COUNT,+  CategoricalAggregationFunction'+  #-}
+ gen/Amazonka/QuickSight/Types/CategoricalDimensionField.hs view
@@ -0,0 +1,127 @@+{-# 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.QuickSight.Types.CategoricalDimensionField+-- 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.QuickSight.Types.CategoricalDimensionField where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.StringFormatConfiguration++-- | The dimension type field with categorical type columns..+--+-- /See:/ 'newCategoricalDimensionField' smart constructor.+data CategoricalDimensionField = CategoricalDimensionField'+  { -- | The format configuration of the field.+    formatConfiguration :: Prelude.Maybe StringFormatConfiguration,+    -- | The custom hierarchy ID.+    hierarchyId :: Prelude.Maybe Prelude.Text,+    -- | The custom field ID.+    fieldId :: Prelude.Text,+    -- | The column that is used in the @CategoricalDimensionField@.+    column :: ColumnIdentifier+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CategoricalDimensionField' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'formatConfiguration', 'categoricalDimensionField_formatConfiguration' - The format configuration of the field.+--+-- 'hierarchyId', 'categoricalDimensionField_hierarchyId' - The custom hierarchy ID.+--+-- 'fieldId', 'categoricalDimensionField_fieldId' - The custom field ID.+--+-- 'column', 'categoricalDimensionField_column' - The column that is used in the @CategoricalDimensionField@.+newCategoricalDimensionField ::+  -- | 'fieldId'+  Prelude.Text ->+  -- | 'column'+  ColumnIdentifier ->+  CategoricalDimensionField+newCategoricalDimensionField pFieldId_ pColumn_ =+  CategoricalDimensionField'+    { formatConfiguration =+        Prelude.Nothing,+      hierarchyId = Prelude.Nothing,+      fieldId = pFieldId_,+      column = pColumn_+    }++-- | The format configuration of the field.+categoricalDimensionField_formatConfiguration :: Lens.Lens' CategoricalDimensionField (Prelude.Maybe StringFormatConfiguration)+categoricalDimensionField_formatConfiguration = Lens.lens (\CategoricalDimensionField' {formatConfiguration} -> formatConfiguration) (\s@CategoricalDimensionField' {} a -> s {formatConfiguration = a} :: CategoricalDimensionField)++-- | The custom hierarchy ID.+categoricalDimensionField_hierarchyId :: Lens.Lens' CategoricalDimensionField (Prelude.Maybe Prelude.Text)+categoricalDimensionField_hierarchyId = Lens.lens (\CategoricalDimensionField' {hierarchyId} -> hierarchyId) (\s@CategoricalDimensionField' {} a -> s {hierarchyId = a} :: CategoricalDimensionField)++-- | The custom field ID.+categoricalDimensionField_fieldId :: Lens.Lens' CategoricalDimensionField Prelude.Text+categoricalDimensionField_fieldId = Lens.lens (\CategoricalDimensionField' {fieldId} -> fieldId) (\s@CategoricalDimensionField' {} a -> s {fieldId = a} :: CategoricalDimensionField)++-- | The column that is used in the @CategoricalDimensionField@.+categoricalDimensionField_column :: Lens.Lens' CategoricalDimensionField ColumnIdentifier+categoricalDimensionField_column = Lens.lens (\CategoricalDimensionField' {column} -> column) (\s@CategoricalDimensionField' {} a -> s {column = a} :: CategoricalDimensionField)++instance Data.FromJSON CategoricalDimensionField where+  parseJSON =+    Data.withObject+      "CategoricalDimensionField"+      ( \x ->+          CategoricalDimensionField'+            Prelude.<$> (x Data..:? "FormatConfiguration")+            Prelude.<*> (x Data..:? "HierarchyId")+            Prelude.<*> (x Data..: "FieldId")+            Prelude.<*> (x Data..: "Column")+      )++instance Prelude.Hashable CategoricalDimensionField where+  hashWithSalt _salt CategoricalDimensionField' {..} =+    _salt+      `Prelude.hashWithSalt` formatConfiguration+      `Prelude.hashWithSalt` hierarchyId+      `Prelude.hashWithSalt` fieldId+      `Prelude.hashWithSalt` column++instance Prelude.NFData CategoricalDimensionField where+  rnf CategoricalDimensionField' {..} =+    Prelude.rnf formatConfiguration+      `Prelude.seq` Prelude.rnf hierarchyId+      `Prelude.seq` Prelude.rnf fieldId+      `Prelude.seq` Prelude.rnf column++instance Data.ToJSON CategoricalDimensionField where+  toJSON CategoricalDimensionField' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FormatConfiguration" Data..=)+              Prelude.<$> formatConfiguration,+            ("HierarchyId" Data..=) Prelude.<$> hierarchyId,+            Prelude.Just ("FieldId" Data..= fieldId),+            Prelude.Just ("Column" Data..= column)+          ]+      )
+ gen/Amazonka/QuickSight/Types/CategoricalMeasureField.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.QuickSight.Types.CategoricalMeasureField+-- 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.QuickSight.Types.CategoricalMeasureField where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CategoricalAggregationFunction+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.StringFormatConfiguration++-- | The measure type field with categorical type columns.+--+-- /See:/ 'newCategoricalMeasureField' smart constructor.+data CategoricalMeasureField = CategoricalMeasureField'+  { -- | The aggregation function of the measure field.+    aggregationFunction :: Prelude.Maybe CategoricalAggregationFunction,+    -- | The format configuration of the field.+    formatConfiguration :: Prelude.Maybe StringFormatConfiguration,+    -- | The custom field ID.+    fieldId :: Prelude.Text,+    -- | The column that is used in the @CategoricalMeasureField@.+    column :: ColumnIdentifier+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CategoricalMeasureField' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aggregationFunction', 'categoricalMeasureField_aggregationFunction' - The aggregation function of the measure field.+--+-- 'formatConfiguration', 'categoricalMeasureField_formatConfiguration' - The format configuration of the field.+--+-- 'fieldId', 'categoricalMeasureField_fieldId' - The custom field ID.+--+-- 'column', 'categoricalMeasureField_column' - The column that is used in the @CategoricalMeasureField@.+newCategoricalMeasureField ::+  -- | 'fieldId'+  Prelude.Text ->+  -- | 'column'+  ColumnIdentifier ->+  CategoricalMeasureField+newCategoricalMeasureField pFieldId_ pColumn_ =+  CategoricalMeasureField'+    { aggregationFunction =+        Prelude.Nothing,+      formatConfiguration = Prelude.Nothing,+      fieldId = pFieldId_,+      column = pColumn_+    }++-- | The aggregation function of the measure field.+categoricalMeasureField_aggregationFunction :: Lens.Lens' CategoricalMeasureField (Prelude.Maybe CategoricalAggregationFunction)+categoricalMeasureField_aggregationFunction = Lens.lens (\CategoricalMeasureField' {aggregationFunction} -> aggregationFunction) (\s@CategoricalMeasureField' {} a -> s {aggregationFunction = a} :: CategoricalMeasureField)++-- | The format configuration of the field.+categoricalMeasureField_formatConfiguration :: Lens.Lens' CategoricalMeasureField (Prelude.Maybe StringFormatConfiguration)+categoricalMeasureField_formatConfiguration = Lens.lens (\CategoricalMeasureField' {formatConfiguration} -> formatConfiguration) (\s@CategoricalMeasureField' {} a -> s {formatConfiguration = a} :: CategoricalMeasureField)++-- | The custom field ID.+categoricalMeasureField_fieldId :: Lens.Lens' CategoricalMeasureField Prelude.Text+categoricalMeasureField_fieldId = Lens.lens (\CategoricalMeasureField' {fieldId} -> fieldId) (\s@CategoricalMeasureField' {} a -> s {fieldId = a} :: CategoricalMeasureField)++-- | The column that is used in the @CategoricalMeasureField@.+categoricalMeasureField_column :: Lens.Lens' CategoricalMeasureField ColumnIdentifier+categoricalMeasureField_column = Lens.lens (\CategoricalMeasureField' {column} -> column) (\s@CategoricalMeasureField' {} a -> s {column = a} :: CategoricalMeasureField)++instance Data.FromJSON CategoricalMeasureField where+  parseJSON =+    Data.withObject+      "CategoricalMeasureField"+      ( \x ->+          CategoricalMeasureField'+            Prelude.<$> (x Data..:? "AggregationFunction")+            Prelude.<*> (x Data..:? "FormatConfiguration")+            Prelude.<*> (x Data..: "FieldId")+            Prelude.<*> (x Data..: "Column")+      )++instance Prelude.Hashable CategoricalMeasureField where+  hashWithSalt _salt CategoricalMeasureField' {..} =+    _salt+      `Prelude.hashWithSalt` aggregationFunction+      `Prelude.hashWithSalt` formatConfiguration+      `Prelude.hashWithSalt` fieldId+      `Prelude.hashWithSalt` column++instance Prelude.NFData CategoricalMeasureField where+  rnf CategoricalMeasureField' {..} =+    Prelude.rnf aggregationFunction+      `Prelude.seq` Prelude.rnf formatConfiguration+      `Prelude.seq` Prelude.rnf fieldId+      `Prelude.seq` Prelude.rnf column++instance Data.ToJSON CategoricalMeasureField where+  toJSON CategoricalMeasureField' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AggregationFunction" Data..=)+              Prelude.<$> aggregationFunction,+            ("FormatConfiguration" Data..=)+              Prelude.<$> formatConfiguration,+            Prelude.Just ("FieldId" Data..= fieldId),+            Prelude.Just ("Column" Data..= column)+          ]+      )
+ gen/Amazonka/QuickSight/Types/CategoryDrillDownFilter.hs view
@@ -0,0 +1,103 @@+{-# 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.QuickSight.Types.CategoryDrillDownFilter+-- 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.QuickSight.Types.CategoryDrillDownFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnIdentifier++-- | The numeric equality type drill down filter.+--+-- /See:/ 'newCategoryDrillDownFilter' smart constructor.+data CategoryDrillDownFilter = CategoryDrillDownFilter'+  { -- | The column that the filter is applied to.+    column :: ColumnIdentifier,+    -- | A list of the string inputs that are the values of the category drill+    -- down filter.+    categoryValues :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CategoryDrillDownFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'column', 'categoryDrillDownFilter_column' - The column that the filter is applied to.+--+-- 'categoryValues', 'categoryDrillDownFilter_categoryValues' - A list of the string inputs that are the values of the category drill+-- down filter.+newCategoryDrillDownFilter ::+  -- | 'column'+  ColumnIdentifier ->+  CategoryDrillDownFilter+newCategoryDrillDownFilter pColumn_ =+  CategoryDrillDownFilter'+    { column = pColumn_,+      categoryValues = Prelude.mempty+    }++-- | The column that the filter is applied to.+categoryDrillDownFilter_column :: Lens.Lens' CategoryDrillDownFilter ColumnIdentifier+categoryDrillDownFilter_column = Lens.lens (\CategoryDrillDownFilter' {column} -> column) (\s@CategoryDrillDownFilter' {} a -> s {column = a} :: CategoryDrillDownFilter)++-- | A list of the string inputs that are the values of the category drill+-- down filter.+categoryDrillDownFilter_categoryValues :: Lens.Lens' CategoryDrillDownFilter [Prelude.Text]+categoryDrillDownFilter_categoryValues = Lens.lens (\CategoryDrillDownFilter' {categoryValues} -> categoryValues) (\s@CategoryDrillDownFilter' {} a -> s {categoryValues = a} :: CategoryDrillDownFilter) Prelude.. Lens.coerced++instance Data.FromJSON CategoryDrillDownFilter where+  parseJSON =+    Data.withObject+      "CategoryDrillDownFilter"+      ( \x ->+          CategoryDrillDownFilter'+            Prelude.<$> (x Data..: "Column")+            Prelude.<*> ( x+                            Data..:? "CategoryValues"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable CategoryDrillDownFilter where+  hashWithSalt _salt CategoryDrillDownFilter' {..} =+    _salt+      `Prelude.hashWithSalt` column+      `Prelude.hashWithSalt` categoryValues++instance Prelude.NFData CategoryDrillDownFilter where+  rnf CategoryDrillDownFilter' {..} =+    Prelude.rnf column+      `Prelude.seq` Prelude.rnf categoryValues++instance Data.ToJSON CategoryDrillDownFilter where+  toJSON CategoryDrillDownFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Column" Data..= column),+            Prelude.Just+              ("CategoryValues" Data..= categoryValues)+          ]+      )
+ gen/Amazonka/QuickSight/Types/CategoryFilter.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.QuickSight.Types.CategoryFilter+-- 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.QuickSight.Types.CategoryFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CategoryFilterConfiguration+import Amazonka.QuickSight.Types.ColumnIdentifier++-- | A @CategoryFilter@ filters text values.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/add-a-text-filter-data-prep.html Adding text filters>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newCategoryFilter' smart constructor.+data CategoryFilter = CategoryFilter'+  { -- | The configuration for a @CategoryFilter@.+    configuration :: Prelude.Maybe CategoryFilterConfiguration,+    -- | An identifier that uniquely identifies a filter within a dashboard,+    -- analysis, or template.+    filterId :: Prelude.Text,+    -- | The column that the filter is applied to.+    column :: ColumnIdentifier+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CategoryFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configuration', 'categoryFilter_configuration' - The configuration for a @CategoryFilter@.+--+-- 'filterId', 'categoryFilter_filterId' - An identifier that uniquely identifies a filter within a dashboard,+-- analysis, or template.+--+-- 'column', 'categoryFilter_column' - The column that the filter is applied to.+newCategoryFilter ::+  -- | 'filterId'+  Prelude.Text ->+  -- | 'column'+  ColumnIdentifier ->+  CategoryFilter+newCategoryFilter pFilterId_ pColumn_ =+  CategoryFilter'+    { configuration = Prelude.Nothing,+      filterId = pFilterId_,+      column = pColumn_+    }++-- | The configuration for a @CategoryFilter@.+categoryFilter_configuration :: Lens.Lens' CategoryFilter (Prelude.Maybe CategoryFilterConfiguration)+categoryFilter_configuration = Lens.lens (\CategoryFilter' {configuration} -> configuration) (\s@CategoryFilter' {} a -> s {configuration = a} :: CategoryFilter)++-- | An identifier that uniquely identifies a filter within a dashboard,+-- analysis, or template.+categoryFilter_filterId :: Lens.Lens' CategoryFilter Prelude.Text+categoryFilter_filterId = Lens.lens (\CategoryFilter' {filterId} -> filterId) (\s@CategoryFilter' {} a -> s {filterId = a} :: CategoryFilter)++-- | The column that the filter is applied to.+categoryFilter_column :: Lens.Lens' CategoryFilter ColumnIdentifier+categoryFilter_column = Lens.lens (\CategoryFilter' {column} -> column) (\s@CategoryFilter' {} a -> s {column = a} :: CategoryFilter)++instance Data.FromJSON CategoryFilter where+  parseJSON =+    Data.withObject+      "CategoryFilter"+      ( \x ->+          CategoryFilter'+            Prelude.<$> (x Data..:? "Configuration")+            Prelude.<*> (x Data..: "FilterId")+            Prelude.<*> (x Data..: "Column")+      )++instance Prelude.Hashable CategoryFilter where+  hashWithSalt _salt CategoryFilter' {..} =+    _salt+      `Prelude.hashWithSalt` configuration+      `Prelude.hashWithSalt` filterId+      `Prelude.hashWithSalt` column++instance Prelude.NFData CategoryFilter where+  rnf CategoryFilter' {..} =+    Prelude.rnf configuration+      `Prelude.seq` Prelude.rnf filterId+      `Prelude.seq` Prelude.rnf column++instance Data.ToJSON CategoryFilter where+  toJSON CategoryFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Configuration" Data..=) Prelude.<$> configuration,+            Prelude.Just ("FilterId" Data..= filterId),+            Prelude.Just ("Column" Data..= column)+          ]+      )
+ gen/Amazonka/QuickSight/Types/CategoryFilterConfiguration.hs view
@@ -0,0 +1,126 @@+{-# 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.QuickSight.Types.CategoryFilterConfiguration+-- 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.QuickSight.Types.CategoryFilterConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CustomFilterConfiguration+import Amazonka.QuickSight.Types.CustomFilterListConfiguration+import Amazonka.QuickSight.Types.FilterListConfiguration++-- | The configuration for a @CategoryFilter@.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newCategoryFilterConfiguration' smart constructor.+data CategoryFilterConfiguration = CategoryFilterConfiguration'+  { -- | A custom filter that filters based on a single value. This filter can be+    -- partially matched.+    customFilterConfiguration :: Prelude.Maybe CustomFilterConfiguration,+    -- | A list of custom filter values. In the Amazon QuickSight console, this+    -- filter type is called a custom filter list.+    customFilterListConfiguration :: Prelude.Maybe CustomFilterListConfiguration,+    -- | A list of filter configurations. In the Amazon QuickSight console, this+    -- filter type is called a filter list.+    filterListConfiguration :: Prelude.Maybe FilterListConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CategoryFilterConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customFilterConfiguration', 'categoryFilterConfiguration_customFilterConfiguration' - A custom filter that filters based on a single value. This filter can be+-- partially matched.+--+-- 'customFilterListConfiguration', 'categoryFilterConfiguration_customFilterListConfiguration' - A list of custom filter values. In the Amazon QuickSight console, this+-- filter type is called a custom filter list.+--+-- 'filterListConfiguration', 'categoryFilterConfiguration_filterListConfiguration' - A list of filter configurations. In the Amazon QuickSight console, this+-- filter type is called a filter list.+newCategoryFilterConfiguration ::+  CategoryFilterConfiguration+newCategoryFilterConfiguration =+  CategoryFilterConfiguration'+    { customFilterConfiguration =+        Prelude.Nothing,+      customFilterListConfiguration =+        Prelude.Nothing,+      filterListConfiguration = Prelude.Nothing+    }++-- | A custom filter that filters based on a single value. This filter can be+-- partially matched.+categoryFilterConfiguration_customFilterConfiguration :: Lens.Lens' CategoryFilterConfiguration (Prelude.Maybe CustomFilterConfiguration)+categoryFilterConfiguration_customFilterConfiguration = Lens.lens (\CategoryFilterConfiguration' {customFilterConfiguration} -> customFilterConfiguration) (\s@CategoryFilterConfiguration' {} a -> s {customFilterConfiguration = a} :: CategoryFilterConfiguration)++-- | A list of custom filter values. In the Amazon QuickSight console, this+-- filter type is called a custom filter list.+categoryFilterConfiguration_customFilterListConfiguration :: Lens.Lens' CategoryFilterConfiguration (Prelude.Maybe CustomFilterListConfiguration)+categoryFilterConfiguration_customFilterListConfiguration = Lens.lens (\CategoryFilterConfiguration' {customFilterListConfiguration} -> customFilterListConfiguration) (\s@CategoryFilterConfiguration' {} a -> s {customFilterListConfiguration = a} :: CategoryFilterConfiguration)++-- | A list of filter configurations. In the Amazon QuickSight console, this+-- filter type is called a filter list.+categoryFilterConfiguration_filterListConfiguration :: Lens.Lens' CategoryFilterConfiguration (Prelude.Maybe FilterListConfiguration)+categoryFilterConfiguration_filterListConfiguration = Lens.lens (\CategoryFilterConfiguration' {filterListConfiguration} -> filterListConfiguration) (\s@CategoryFilterConfiguration' {} a -> s {filterListConfiguration = a} :: CategoryFilterConfiguration)++instance Data.FromJSON CategoryFilterConfiguration where+  parseJSON =+    Data.withObject+      "CategoryFilterConfiguration"+      ( \x ->+          CategoryFilterConfiguration'+            Prelude.<$> (x Data..:? "CustomFilterConfiguration")+            Prelude.<*> (x Data..:? "CustomFilterListConfiguration")+            Prelude.<*> (x Data..:? "FilterListConfiguration")+      )++instance Prelude.Hashable CategoryFilterConfiguration where+  hashWithSalt _salt CategoryFilterConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` customFilterConfiguration+      `Prelude.hashWithSalt` customFilterListConfiguration+      `Prelude.hashWithSalt` filterListConfiguration++instance Prelude.NFData CategoryFilterConfiguration where+  rnf CategoryFilterConfiguration' {..} =+    Prelude.rnf customFilterConfiguration+      `Prelude.seq` Prelude.rnf customFilterListConfiguration+      `Prelude.seq` Prelude.rnf filterListConfiguration++instance Data.ToJSON CategoryFilterConfiguration where+  toJSON CategoryFilterConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomFilterConfiguration" Data..=)+              Prelude.<$> customFilterConfiguration,+            ("CustomFilterListConfiguration" Data..=)+              Prelude.<$> customFilterListConfiguration,+            ("FilterListConfiguration" Data..=)+              Prelude.<$> filterListConfiguration+          ]+      )
+ gen/Amazonka/QuickSight/Types/CategoryFilterMatchOperator.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.QuickSight.Types.CategoryFilterMatchOperator+-- 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.QuickSight.Types.CategoryFilterMatchOperator+  ( CategoryFilterMatchOperator+      ( ..,+        CategoryFilterMatchOperator_CONTAINS,+        CategoryFilterMatchOperator_DOES_NOT_CONTAIN,+        CategoryFilterMatchOperator_DOES_NOT_EQUAL,+        CategoryFilterMatchOperator_ENDS_WITH,+        CategoryFilterMatchOperator_EQUALS,+        CategoryFilterMatchOperator_STARTS_WITH+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CategoryFilterMatchOperator = CategoryFilterMatchOperator'+  { fromCategoryFilterMatchOperator ::+      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 CategoryFilterMatchOperator_CONTAINS :: CategoryFilterMatchOperator+pattern CategoryFilterMatchOperator_CONTAINS = CategoryFilterMatchOperator' "CONTAINS"++pattern CategoryFilterMatchOperator_DOES_NOT_CONTAIN :: CategoryFilterMatchOperator+pattern CategoryFilterMatchOperator_DOES_NOT_CONTAIN = CategoryFilterMatchOperator' "DOES_NOT_CONTAIN"++pattern CategoryFilterMatchOperator_DOES_NOT_EQUAL :: CategoryFilterMatchOperator+pattern CategoryFilterMatchOperator_DOES_NOT_EQUAL = CategoryFilterMatchOperator' "DOES_NOT_EQUAL"++pattern CategoryFilterMatchOperator_ENDS_WITH :: CategoryFilterMatchOperator+pattern CategoryFilterMatchOperator_ENDS_WITH = CategoryFilterMatchOperator' "ENDS_WITH"++pattern CategoryFilterMatchOperator_EQUALS :: CategoryFilterMatchOperator+pattern CategoryFilterMatchOperator_EQUALS = CategoryFilterMatchOperator' "EQUALS"++pattern CategoryFilterMatchOperator_STARTS_WITH :: CategoryFilterMatchOperator+pattern CategoryFilterMatchOperator_STARTS_WITH = CategoryFilterMatchOperator' "STARTS_WITH"++{-# COMPLETE+  CategoryFilterMatchOperator_CONTAINS,+  CategoryFilterMatchOperator_DOES_NOT_CONTAIN,+  CategoryFilterMatchOperator_DOES_NOT_EQUAL,+  CategoryFilterMatchOperator_ENDS_WITH,+  CategoryFilterMatchOperator_EQUALS,+  CategoryFilterMatchOperator_STARTS_WITH,+  CategoryFilterMatchOperator'+  #-}
+ gen/Amazonka/QuickSight/Types/CategoryFilterSelectAllOptions.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.CategoryFilterSelectAllOptions+-- 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.QuickSight.Types.CategoryFilterSelectAllOptions+  ( CategoryFilterSelectAllOptions+      ( ..,+        CategoryFilterSelectAllOptions_FILTER_ALL_VALUES+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CategoryFilterSelectAllOptions = CategoryFilterSelectAllOptions'+  { fromCategoryFilterSelectAllOptions ::+      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 CategoryFilterSelectAllOptions_FILTER_ALL_VALUES :: CategoryFilterSelectAllOptions+pattern CategoryFilterSelectAllOptions_FILTER_ALL_VALUES = CategoryFilterSelectAllOptions' "FILTER_ALL_VALUES"++{-# COMPLETE+  CategoryFilterSelectAllOptions_FILTER_ALL_VALUES,+  CategoryFilterSelectAllOptions'+  #-}
+ gen/Amazonka/QuickSight/Types/ChartAxisLabelOptions.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.QuickSight.Types.ChartAxisLabelOptions+-- 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.QuickSight.Types.ChartAxisLabelOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AxisLabelOptions+import Amazonka.QuickSight.Types.Visibility++-- | The label options for an axis on a chart.+--+-- /See:/ 'newChartAxisLabelOptions' smart constructor.+data ChartAxisLabelOptions = ChartAxisLabelOptions'+  { -- | The label options for a chart axis.+    axisLabelOptions :: Prelude.Maybe [AxisLabelOptions],+    -- | The visibility configuration of the sort icon on a chart\'s axis label.+    sortIconVisibility :: Prelude.Maybe Visibility,+    -- | The visibility of an axis label on a chart. Choose one of the following+    -- options:+    --+    -- -   @VISIBLE@: Shows the axis.+    --+    -- -   @HIDDEN@: Hides the axis.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChartAxisLabelOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'axisLabelOptions', 'chartAxisLabelOptions_axisLabelOptions' - The label options for a chart axis.+--+-- 'sortIconVisibility', 'chartAxisLabelOptions_sortIconVisibility' - The visibility configuration of the sort icon on a chart\'s axis label.+--+-- 'visibility', 'chartAxisLabelOptions_visibility' - The visibility of an axis label on a chart. Choose one of the following+-- options:+--+-- -   @VISIBLE@: Shows the axis.+--+-- -   @HIDDEN@: Hides the axis.+newChartAxisLabelOptions ::+  ChartAxisLabelOptions+newChartAxisLabelOptions =+  ChartAxisLabelOptions'+    { axisLabelOptions =+        Prelude.Nothing,+      sortIconVisibility = Prelude.Nothing,+      visibility = Prelude.Nothing+    }++-- | The label options for a chart axis.+chartAxisLabelOptions_axisLabelOptions :: Lens.Lens' ChartAxisLabelOptions (Prelude.Maybe [AxisLabelOptions])+chartAxisLabelOptions_axisLabelOptions = Lens.lens (\ChartAxisLabelOptions' {axisLabelOptions} -> axisLabelOptions) (\s@ChartAxisLabelOptions' {} a -> s {axisLabelOptions = a} :: ChartAxisLabelOptions) Prelude.. Lens.mapping Lens.coerced++-- | The visibility configuration of the sort icon on a chart\'s axis label.+chartAxisLabelOptions_sortIconVisibility :: Lens.Lens' ChartAxisLabelOptions (Prelude.Maybe Visibility)+chartAxisLabelOptions_sortIconVisibility = Lens.lens (\ChartAxisLabelOptions' {sortIconVisibility} -> sortIconVisibility) (\s@ChartAxisLabelOptions' {} a -> s {sortIconVisibility = a} :: ChartAxisLabelOptions)++-- | The visibility of an axis label on a chart. Choose one of the following+-- options:+--+-- -   @VISIBLE@: Shows the axis.+--+-- -   @HIDDEN@: Hides the axis.+chartAxisLabelOptions_visibility :: Lens.Lens' ChartAxisLabelOptions (Prelude.Maybe Visibility)+chartAxisLabelOptions_visibility = Lens.lens (\ChartAxisLabelOptions' {visibility} -> visibility) (\s@ChartAxisLabelOptions' {} a -> s {visibility = a} :: ChartAxisLabelOptions)++instance Data.FromJSON ChartAxisLabelOptions where+  parseJSON =+    Data.withObject+      "ChartAxisLabelOptions"+      ( \x ->+          ChartAxisLabelOptions'+            Prelude.<$> ( x+                            Data..:? "AxisLabelOptions"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "SortIconVisibility")+            Prelude.<*> (x Data..:? "Visibility")+      )++instance Prelude.Hashable ChartAxisLabelOptions where+  hashWithSalt _salt ChartAxisLabelOptions' {..} =+    _salt+      `Prelude.hashWithSalt` axisLabelOptions+      `Prelude.hashWithSalt` sortIconVisibility+      `Prelude.hashWithSalt` visibility++instance Prelude.NFData ChartAxisLabelOptions where+  rnf ChartAxisLabelOptions' {..} =+    Prelude.rnf axisLabelOptions+      `Prelude.seq` Prelude.rnf sortIconVisibility+      `Prelude.seq` Prelude.rnf visibility++instance Data.ToJSON ChartAxisLabelOptions where+  toJSON ChartAxisLabelOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AxisLabelOptions" Data..=)+              Prelude.<$> axisLabelOptions,+            ("SortIconVisibility" Data..=)+              Prelude.<$> sortIconVisibility,+            ("Visibility" Data..=) Prelude.<$> visibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/ClusterMarker.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.QuickSight.Types.ClusterMarker+-- 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.QuickSight.Types.ClusterMarker where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.SimpleClusterMarker++-- | The cluster marker that is a part of the cluster marker configuration.+--+-- /See:/ 'newClusterMarker' smart constructor.+data ClusterMarker = ClusterMarker'+  { -- | The simple cluster marker of the cluster marker.+    simpleClusterMarker :: Prelude.Maybe SimpleClusterMarker+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ClusterMarker' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'simpleClusterMarker', 'clusterMarker_simpleClusterMarker' - The simple cluster marker of the cluster marker.+newClusterMarker ::+  ClusterMarker+newClusterMarker =+  ClusterMarker'+    { simpleClusterMarker =+        Prelude.Nothing+    }++-- | The simple cluster marker of the cluster marker.+clusterMarker_simpleClusterMarker :: Lens.Lens' ClusterMarker (Prelude.Maybe SimpleClusterMarker)+clusterMarker_simpleClusterMarker = Lens.lens (\ClusterMarker' {simpleClusterMarker} -> simpleClusterMarker) (\s@ClusterMarker' {} a -> s {simpleClusterMarker = a} :: ClusterMarker)++instance Data.FromJSON ClusterMarker where+  parseJSON =+    Data.withObject+      "ClusterMarker"+      ( \x ->+          ClusterMarker'+            Prelude.<$> (x Data..:? "SimpleClusterMarker")+      )++instance Prelude.Hashable ClusterMarker where+  hashWithSalt _salt ClusterMarker' {..} =+    _salt `Prelude.hashWithSalt` simpleClusterMarker++instance Prelude.NFData ClusterMarker where+  rnf ClusterMarker' {..} =+    Prelude.rnf simpleClusterMarker++instance Data.ToJSON ClusterMarker where+  toJSON ClusterMarker' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SimpleClusterMarker" Data..=)+              Prelude.<$> simpleClusterMarker+          ]+      )
+ gen/Amazonka/QuickSight/Types/ClusterMarkerConfiguration.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ClusterMarkerConfiguration+-- 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.QuickSight.Types.ClusterMarkerConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ClusterMarker++-- | The cluster marker configuration of the geospatial map selected point+-- style.+--+-- /See:/ 'newClusterMarkerConfiguration' smart constructor.+data ClusterMarkerConfiguration = ClusterMarkerConfiguration'+  { -- | The cluster marker that is a part of the cluster marker configuration+    clusterMarker :: Prelude.Maybe ClusterMarker+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ClusterMarkerConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterMarker', 'clusterMarkerConfiguration_clusterMarker' - The cluster marker that is a part of the cluster marker configuration+newClusterMarkerConfiguration ::+  ClusterMarkerConfiguration+newClusterMarkerConfiguration =+  ClusterMarkerConfiguration'+    { clusterMarker =+        Prelude.Nothing+    }++-- | The cluster marker that is a part of the cluster marker configuration+clusterMarkerConfiguration_clusterMarker :: Lens.Lens' ClusterMarkerConfiguration (Prelude.Maybe ClusterMarker)+clusterMarkerConfiguration_clusterMarker = Lens.lens (\ClusterMarkerConfiguration' {clusterMarker} -> clusterMarker) (\s@ClusterMarkerConfiguration' {} a -> s {clusterMarker = a} :: ClusterMarkerConfiguration)++instance Data.FromJSON ClusterMarkerConfiguration where+  parseJSON =+    Data.withObject+      "ClusterMarkerConfiguration"+      ( \x ->+          ClusterMarkerConfiguration'+            Prelude.<$> (x Data..:? "ClusterMarker")+      )++instance Prelude.Hashable ClusterMarkerConfiguration where+  hashWithSalt _salt ClusterMarkerConfiguration' {..} =+    _salt `Prelude.hashWithSalt` clusterMarker++instance Prelude.NFData ClusterMarkerConfiguration where+  rnf ClusterMarkerConfiguration' {..} =+    Prelude.rnf clusterMarker++instance Data.ToJSON ClusterMarkerConfiguration where+  toJSON ClusterMarkerConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClusterMarker" Data..=)+              Prelude.<$> clusterMarker+          ]+      )
+ gen/Amazonka/QuickSight/Types/ColorFillType.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.QuickSight.Types.ColorFillType+-- 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.QuickSight.Types.ColorFillType+  ( ColorFillType+      ( ..,+        ColorFillType_DISCRETE,+        ColorFillType_GRADIENT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ColorFillType = ColorFillType'+  { fromColorFillType ::+      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 ColorFillType_DISCRETE :: ColorFillType+pattern ColorFillType_DISCRETE = ColorFillType' "DISCRETE"++pattern ColorFillType_GRADIENT :: ColorFillType+pattern ColorFillType_GRADIENT = ColorFillType' "GRADIENT"++{-# COMPLETE+  ColorFillType_DISCRETE,+  ColorFillType_GRADIENT,+  ColorFillType'+  #-}
+ gen/Amazonka/QuickSight/Types/ColorScale.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.QuickSight.Types.ColorScale+-- 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.QuickSight.Types.ColorScale where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColorFillType+import Amazonka.QuickSight.Types.DataColor++-- | Determines the color scale that is applied to the visual.+--+-- /See:/ 'newColorScale' smart constructor.+data ColorScale = ColorScale'+  { -- | Determines the color that is applied to null values.+    nullValueColor :: Prelude.Maybe DataColor,+    -- | Determines the list of colors that are applied to the visual.+    colors :: Prelude.NonEmpty DataColor,+    -- | Determines the color fill type.+    colorFillType :: ColorFillType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ColorScale' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nullValueColor', 'colorScale_nullValueColor' - Determines the color that is applied to null values.+--+-- 'colors', 'colorScale_colors' - Determines the list of colors that are applied to the visual.+--+-- 'colorFillType', 'colorScale_colorFillType' - Determines the color fill type.+newColorScale ::+  -- | 'colors'+  Prelude.NonEmpty DataColor ->+  -- | 'colorFillType'+  ColorFillType ->+  ColorScale+newColorScale pColors_ pColorFillType_ =+  ColorScale'+    { nullValueColor = Prelude.Nothing,+      colors = Lens.coerced Lens.# pColors_,+      colorFillType = pColorFillType_+    }++-- | Determines the color that is applied to null values.+colorScale_nullValueColor :: Lens.Lens' ColorScale (Prelude.Maybe DataColor)+colorScale_nullValueColor = Lens.lens (\ColorScale' {nullValueColor} -> nullValueColor) (\s@ColorScale' {} a -> s {nullValueColor = a} :: ColorScale)++-- | Determines the list of colors that are applied to the visual.+colorScale_colors :: Lens.Lens' ColorScale (Prelude.NonEmpty DataColor)+colorScale_colors = Lens.lens (\ColorScale' {colors} -> colors) (\s@ColorScale' {} a -> s {colors = a} :: ColorScale) Prelude.. Lens.coerced++-- | Determines the color fill type.+colorScale_colorFillType :: Lens.Lens' ColorScale ColorFillType+colorScale_colorFillType = Lens.lens (\ColorScale' {colorFillType} -> colorFillType) (\s@ColorScale' {} a -> s {colorFillType = a} :: ColorScale)++instance Data.FromJSON ColorScale where+  parseJSON =+    Data.withObject+      "ColorScale"+      ( \x ->+          ColorScale'+            Prelude.<$> (x Data..:? "NullValueColor")+            Prelude.<*> (x Data..: "Colors")+            Prelude.<*> (x Data..: "ColorFillType")+      )++instance Prelude.Hashable ColorScale where+  hashWithSalt _salt ColorScale' {..} =+    _salt+      `Prelude.hashWithSalt` nullValueColor+      `Prelude.hashWithSalt` colors+      `Prelude.hashWithSalt` colorFillType++instance Prelude.NFData ColorScale where+  rnf ColorScale' {..} =+    Prelude.rnf nullValueColor+      `Prelude.seq` Prelude.rnf colors+      `Prelude.seq` Prelude.rnf colorFillType++instance Data.ToJSON ColorScale where+  toJSON ColorScale' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("NullValueColor" Data..=)+              Prelude.<$> nullValueColor,+            Prelude.Just ("Colors" Data..= colors),+            Prelude.Just+              ("ColorFillType" Data..= colorFillType)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ColumnConfiguration.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.QuickSight.Types.ColumnConfiguration+-- 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.QuickSight.Types.ColumnConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.ColumnRole+import Amazonka.QuickSight.Types.FormatConfiguration++-- | The general configuration of a column.+--+-- /See:/ 'newColumnConfiguration' smart constructor.+data ColumnConfiguration = ColumnConfiguration'+  { -- | The format configuration of a column.+    formatConfiguration :: Prelude.Maybe FormatConfiguration,+    -- | The role of the column.+    role' :: Prelude.Maybe ColumnRole,+    -- | The column.+    column :: ColumnIdentifier+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ColumnConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'formatConfiguration', 'columnConfiguration_formatConfiguration' - The format configuration of a column.+--+-- 'role'', 'columnConfiguration_role' - The role of the column.+--+-- 'column', 'columnConfiguration_column' - The column.+newColumnConfiguration ::+  -- | 'column'+  ColumnIdentifier ->+  ColumnConfiguration+newColumnConfiguration pColumn_ =+  ColumnConfiguration'+    { formatConfiguration =+        Prelude.Nothing,+      role' = Prelude.Nothing,+      column = pColumn_+    }++-- | The format configuration of a column.+columnConfiguration_formatConfiguration :: Lens.Lens' ColumnConfiguration (Prelude.Maybe FormatConfiguration)+columnConfiguration_formatConfiguration = Lens.lens (\ColumnConfiguration' {formatConfiguration} -> formatConfiguration) (\s@ColumnConfiguration' {} a -> s {formatConfiguration = a} :: ColumnConfiguration)++-- | The role of the column.+columnConfiguration_role :: Lens.Lens' ColumnConfiguration (Prelude.Maybe ColumnRole)+columnConfiguration_role = Lens.lens (\ColumnConfiguration' {role'} -> role') (\s@ColumnConfiguration' {} a -> s {role' = a} :: ColumnConfiguration)++-- | The column.+columnConfiguration_column :: Lens.Lens' ColumnConfiguration ColumnIdentifier+columnConfiguration_column = Lens.lens (\ColumnConfiguration' {column} -> column) (\s@ColumnConfiguration' {} a -> s {column = a} :: ColumnConfiguration)++instance Data.FromJSON ColumnConfiguration where+  parseJSON =+    Data.withObject+      "ColumnConfiguration"+      ( \x ->+          ColumnConfiguration'+            Prelude.<$> (x Data..:? "FormatConfiguration")+            Prelude.<*> (x Data..:? "Role")+            Prelude.<*> (x Data..: "Column")+      )++instance Prelude.Hashable ColumnConfiguration where+  hashWithSalt _salt ColumnConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` formatConfiguration+      `Prelude.hashWithSalt` role'+      `Prelude.hashWithSalt` column++instance Prelude.NFData ColumnConfiguration where+  rnf ColumnConfiguration' {..} =+    Prelude.rnf formatConfiguration+      `Prelude.seq` Prelude.rnf role'+      `Prelude.seq` Prelude.rnf column++instance Data.ToJSON ColumnConfiguration where+  toJSON ColumnConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FormatConfiguration" Data..=)+              Prelude.<$> formatConfiguration,+            ("Role" Data..=) Prelude.<$> role',+            Prelude.Just ("Column" Data..= column)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ColumnDataType.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ColumnDataType+-- 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.QuickSight.Types.ColumnDataType+  ( ColumnDataType+      ( ..,+        ColumnDataType_DATETIME,+        ColumnDataType_DECIMAL,+        ColumnDataType_INTEGER,+        ColumnDataType_STRING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ColumnDataType = ColumnDataType'+  { fromColumnDataType ::+      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 ColumnDataType_DATETIME :: ColumnDataType+pattern ColumnDataType_DATETIME = ColumnDataType' "DATETIME"++pattern ColumnDataType_DECIMAL :: ColumnDataType+pattern ColumnDataType_DECIMAL = ColumnDataType' "DECIMAL"++pattern ColumnDataType_INTEGER :: ColumnDataType+pattern ColumnDataType_INTEGER = ColumnDataType' "INTEGER"++pattern ColumnDataType_STRING :: ColumnDataType+pattern ColumnDataType_STRING = ColumnDataType' "STRING"++{-# COMPLETE+  ColumnDataType_DATETIME,+  ColumnDataType_DECIMAL,+  ColumnDataType_INTEGER,+  ColumnDataType_STRING,+  ColumnDataType'+  #-}
+ gen/Amazonka/QuickSight/Types/ColumnDescription.hs view
@@ -0,0 +1,74 @@+{-# 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.QuickSight.Types.ColumnDescription+-- 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.QuickSight.Types.ColumnDescription 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 that contains a description for a column.+--+-- /See:/ 'newColumnDescription' smart constructor.+data ColumnDescription = ColumnDescription'+  { -- | The text of a description for a column.+    text :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ColumnDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'text', 'columnDescription_text' - The text of a description for a column.+newColumnDescription ::+  ColumnDescription+newColumnDescription =+  ColumnDescription' {text = Prelude.Nothing}++-- | The text of a description for a column.+columnDescription_text :: Lens.Lens' ColumnDescription (Prelude.Maybe Prelude.Text)+columnDescription_text = Lens.lens (\ColumnDescription' {text} -> text) (\s@ColumnDescription' {} a -> s {text = a} :: ColumnDescription)++instance Data.FromJSON ColumnDescription where+  parseJSON =+    Data.withObject+      "ColumnDescription"+      ( \x ->+          ColumnDescription' Prelude.<$> (x Data..:? "Text")+      )++instance Prelude.Hashable ColumnDescription where+  hashWithSalt _salt ColumnDescription' {..} =+    _salt `Prelude.hashWithSalt` text++instance Prelude.NFData ColumnDescription where+  rnf ColumnDescription' {..} = Prelude.rnf text++instance Data.ToJSON ColumnDescription where+  toJSON ColumnDescription' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Text" Data..=) Prelude.<$> text]+      )
+ gen/Amazonka/QuickSight/Types/ColumnGroup.hs view
@@ -0,0 +1,84 @@+{-# 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.QuickSight.Types.ColumnGroup+-- 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.QuickSight.Types.ColumnGroup where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.GeoSpatialColumnGroup++-- | Groupings of columns that work together in certain Amazon QuickSight+-- features. This is a variant type structure. For this structure to be+-- valid, only one of the attributes can be non-null.+--+-- /See:/ 'newColumnGroup' smart constructor.+data ColumnGroup = ColumnGroup'+  { -- | Geospatial column group that denotes a hierarchy.+    geoSpatialColumnGroup :: Prelude.Maybe GeoSpatialColumnGroup+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ColumnGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'geoSpatialColumnGroup', 'columnGroup_geoSpatialColumnGroup' - Geospatial column group that denotes a hierarchy.+newColumnGroup ::+  ColumnGroup+newColumnGroup =+  ColumnGroup'+    { geoSpatialColumnGroup =+        Prelude.Nothing+    }++-- | Geospatial column group that denotes a hierarchy.+columnGroup_geoSpatialColumnGroup :: Lens.Lens' ColumnGroup (Prelude.Maybe GeoSpatialColumnGroup)+columnGroup_geoSpatialColumnGroup = Lens.lens (\ColumnGroup' {geoSpatialColumnGroup} -> geoSpatialColumnGroup) (\s@ColumnGroup' {} a -> s {geoSpatialColumnGroup = a} :: ColumnGroup)++instance Data.FromJSON ColumnGroup where+  parseJSON =+    Data.withObject+      "ColumnGroup"+      ( \x ->+          ColumnGroup'+            Prelude.<$> (x Data..:? "GeoSpatialColumnGroup")+      )++instance Prelude.Hashable ColumnGroup where+  hashWithSalt _salt ColumnGroup' {..} =+    _salt `Prelude.hashWithSalt` geoSpatialColumnGroup++instance Prelude.NFData ColumnGroup where+  rnf ColumnGroup' {..} =+    Prelude.rnf geoSpatialColumnGroup++instance Data.ToJSON ColumnGroup where+  toJSON ColumnGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("GeoSpatialColumnGroup" Data..=)+              Prelude.<$> geoSpatialColumnGroup+          ]+      )
+ gen/Amazonka/QuickSight/Types/ColumnGroupColumnSchema.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ColumnGroupColumnSchema+-- 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.QuickSight.Types.ColumnGroupColumnSchema 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 structure describing the name, data type, and geographic role of the+-- columns.+--+-- /See:/ 'newColumnGroupColumnSchema' smart constructor.+data ColumnGroupColumnSchema = ColumnGroupColumnSchema'+  { -- | The name of the column group\'s column schema.+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ColumnGroupColumnSchema' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'columnGroupColumnSchema_name' - The name of the column group\'s column schema.+newColumnGroupColumnSchema ::+  ColumnGroupColumnSchema+newColumnGroupColumnSchema =+  ColumnGroupColumnSchema' {name = Prelude.Nothing}++-- | The name of the column group\'s column schema.+columnGroupColumnSchema_name :: Lens.Lens' ColumnGroupColumnSchema (Prelude.Maybe Prelude.Text)+columnGroupColumnSchema_name = Lens.lens (\ColumnGroupColumnSchema' {name} -> name) (\s@ColumnGroupColumnSchema' {} a -> s {name = a} :: ColumnGroupColumnSchema)++instance Data.FromJSON ColumnGroupColumnSchema where+  parseJSON =+    Data.withObject+      "ColumnGroupColumnSchema"+      ( \x ->+          ColumnGroupColumnSchema'+            Prelude.<$> (x Data..:? "Name")+      )++instance Prelude.Hashable ColumnGroupColumnSchema where+  hashWithSalt _salt ColumnGroupColumnSchema' {..} =+    _salt `Prelude.hashWithSalt` name++instance Prelude.NFData ColumnGroupColumnSchema where+  rnf ColumnGroupColumnSchema' {..} = Prelude.rnf name++instance Data.ToJSON ColumnGroupColumnSchema where+  toJSON ColumnGroupColumnSchema' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Name" Data..=) Prelude.<$> name]+      )
+ gen/Amazonka/QuickSight/Types/ColumnGroupSchema.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ColumnGroupSchema+-- 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.QuickSight.Types.ColumnGroupSchema where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnGroupColumnSchema++-- | The column group schema.+--+-- /See:/ 'newColumnGroupSchema' smart constructor.+data ColumnGroupSchema = ColumnGroupSchema'+  { -- | A structure containing the list of schemas for column group columns.+    columnGroupColumnSchemaList :: Prelude.Maybe [ColumnGroupColumnSchema],+    -- | The name of the column group schema.+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ColumnGroupSchema' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columnGroupColumnSchemaList', 'columnGroupSchema_columnGroupColumnSchemaList' - A structure containing the list of schemas for column group columns.+--+-- 'name', 'columnGroupSchema_name' - The name of the column group schema.+newColumnGroupSchema ::+  ColumnGroupSchema+newColumnGroupSchema =+  ColumnGroupSchema'+    { columnGroupColumnSchemaList =+        Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | A structure containing the list of schemas for column group columns.+columnGroupSchema_columnGroupColumnSchemaList :: Lens.Lens' ColumnGroupSchema (Prelude.Maybe [ColumnGroupColumnSchema])+columnGroupSchema_columnGroupColumnSchemaList = Lens.lens (\ColumnGroupSchema' {columnGroupColumnSchemaList} -> columnGroupColumnSchemaList) (\s@ColumnGroupSchema' {} a -> s {columnGroupColumnSchemaList = a} :: ColumnGroupSchema) Prelude.. Lens.mapping Lens.coerced++-- | The name of the column group schema.+columnGroupSchema_name :: Lens.Lens' ColumnGroupSchema (Prelude.Maybe Prelude.Text)+columnGroupSchema_name = Lens.lens (\ColumnGroupSchema' {name} -> name) (\s@ColumnGroupSchema' {} a -> s {name = a} :: ColumnGroupSchema)++instance Data.FromJSON ColumnGroupSchema where+  parseJSON =+    Data.withObject+      "ColumnGroupSchema"+      ( \x ->+          ColumnGroupSchema'+            Prelude.<$> ( x+                            Data..:? "ColumnGroupColumnSchemaList"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable ColumnGroupSchema where+  hashWithSalt _salt ColumnGroupSchema' {..} =+    _salt+      `Prelude.hashWithSalt` columnGroupColumnSchemaList+      `Prelude.hashWithSalt` name++instance Prelude.NFData ColumnGroupSchema where+  rnf ColumnGroupSchema' {..} =+    Prelude.rnf columnGroupColumnSchemaList+      `Prelude.seq` Prelude.rnf name++instance Data.ToJSON ColumnGroupSchema where+  toJSON ColumnGroupSchema' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ColumnGroupColumnSchemaList" Data..=)+              Prelude.<$> columnGroupColumnSchemaList,+            ("Name" Data..=) Prelude.<$> name+          ]+      )
+ gen/Amazonka/QuickSight/Types/ColumnHierarchy.hs view
@@ -0,0 +1,126 @@+{-# 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.QuickSight.Types.ColumnHierarchy+-- 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.QuickSight.Types.ColumnHierarchy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DateTimeHierarchy+import Amazonka.QuickSight.Types.ExplicitHierarchy+import Amazonka.QuickSight.Types.PredefinedHierarchy++-- | The option that determines the hierarchy of the fields for a visual+-- element.+--+-- /See:/ 'newColumnHierarchy' smart constructor.+data ColumnHierarchy = ColumnHierarchy'+  { -- | The option that determines the hierarchy of any @DateTime@ fields.+    dateTimeHierarchy :: Prelude.Maybe DateTimeHierarchy,+    -- | The option that determines the hierarchy of the fields that are built+    -- within a visual\'s field wells. These fields can\'t be duplicated to+    -- other visuals.+    explicitHierarchy :: Prelude.Maybe ExplicitHierarchy,+    -- | The option that determines the hierarchy of the fields that are defined+    -- during data preparation. These fields are available to use in any+    -- analysis that uses the data source.+    predefinedHierarchy :: Prelude.Maybe PredefinedHierarchy+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ColumnHierarchy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dateTimeHierarchy', 'columnHierarchy_dateTimeHierarchy' - The option that determines the hierarchy of any @DateTime@ fields.+--+-- 'explicitHierarchy', 'columnHierarchy_explicitHierarchy' - The option that determines the hierarchy of the fields that are built+-- within a visual\'s field wells. These fields can\'t be duplicated to+-- other visuals.+--+-- 'predefinedHierarchy', 'columnHierarchy_predefinedHierarchy' - The option that determines the hierarchy of the fields that are defined+-- during data preparation. These fields are available to use in any+-- analysis that uses the data source.+newColumnHierarchy ::+  ColumnHierarchy+newColumnHierarchy =+  ColumnHierarchy'+    { dateTimeHierarchy =+        Prelude.Nothing,+      explicitHierarchy = Prelude.Nothing,+      predefinedHierarchy = Prelude.Nothing+    }++-- | The option that determines the hierarchy of any @DateTime@ fields.+columnHierarchy_dateTimeHierarchy :: Lens.Lens' ColumnHierarchy (Prelude.Maybe DateTimeHierarchy)+columnHierarchy_dateTimeHierarchy = Lens.lens (\ColumnHierarchy' {dateTimeHierarchy} -> dateTimeHierarchy) (\s@ColumnHierarchy' {} a -> s {dateTimeHierarchy = a} :: ColumnHierarchy)++-- | The option that determines the hierarchy of the fields that are built+-- within a visual\'s field wells. These fields can\'t be duplicated to+-- other visuals.+columnHierarchy_explicitHierarchy :: Lens.Lens' ColumnHierarchy (Prelude.Maybe ExplicitHierarchy)+columnHierarchy_explicitHierarchy = Lens.lens (\ColumnHierarchy' {explicitHierarchy} -> explicitHierarchy) (\s@ColumnHierarchy' {} a -> s {explicitHierarchy = a} :: ColumnHierarchy)++-- | The option that determines the hierarchy of the fields that are defined+-- during data preparation. These fields are available to use in any+-- analysis that uses the data source.+columnHierarchy_predefinedHierarchy :: Lens.Lens' ColumnHierarchy (Prelude.Maybe PredefinedHierarchy)+columnHierarchy_predefinedHierarchy = Lens.lens (\ColumnHierarchy' {predefinedHierarchy} -> predefinedHierarchy) (\s@ColumnHierarchy' {} a -> s {predefinedHierarchy = a} :: ColumnHierarchy)++instance Data.FromJSON ColumnHierarchy where+  parseJSON =+    Data.withObject+      "ColumnHierarchy"+      ( \x ->+          ColumnHierarchy'+            Prelude.<$> (x Data..:? "DateTimeHierarchy")+            Prelude.<*> (x Data..:? "ExplicitHierarchy")+            Prelude.<*> (x Data..:? "PredefinedHierarchy")+      )++instance Prelude.Hashable ColumnHierarchy where+  hashWithSalt _salt ColumnHierarchy' {..} =+    _salt+      `Prelude.hashWithSalt` dateTimeHierarchy+      `Prelude.hashWithSalt` explicitHierarchy+      `Prelude.hashWithSalt` predefinedHierarchy++instance Prelude.NFData ColumnHierarchy where+  rnf ColumnHierarchy' {..} =+    Prelude.rnf dateTimeHierarchy+      `Prelude.seq` Prelude.rnf explicitHierarchy+      `Prelude.seq` Prelude.rnf predefinedHierarchy++instance Data.ToJSON ColumnHierarchy where+  toJSON ColumnHierarchy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DateTimeHierarchy" Data..=)+              Prelude.<$> dateTimeHierarchy,+            ("ExplicitHierarchy" Data..=)+              Prelude.<$> explicitHierarchy,+            ("PredefinedHierarchy" Data..=)+              Prelude.<$> predefinedHierarchy+          ]+      )
+ gen/Amazonka/QuickSight/Types/ColumnIdentifier.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ColumnIdentifier+-- 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.QuickSight.Types.ColumnIdentifier 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 column of a data set.+--+-- /See:/ 'newColumnIdentifier' smart constructor.+data ColumnIdentifier = ColumnIdentifier'+  { -- | The data set that the column belongs to.+    dataSetIdentifier :: Prelude.Text,+    -- | The name of the column.+    columnName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ColumnIdentifier' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSetIdentifier', 'columnIdentifier_dataSetIdentifier' - The data set that the column belongs to.+--+-- 'columnName', 'columnIdentifier_columnName' - The name of the column.+newColumnIdentifier ::+  -- | 'dataSetIdentifier'+  Prelude.Text ->+  -- | 'columnName'+  Prelude.Text ->+  ColumnIdentifier+newColumnIdentifier pDataSetIdentifier_ pColumnName_ =+  ColumnIdentifier'+    { dataSetIdentifier =+        pDataSetIdentifier_,+      columnName = pColumnName_+    }++-- | The data set that the column belongs to.+columnIdentifier_dataSetIdentifier :: Lens.Lens' ColumnIdentifier Prelude.Text+columnIdentifier_dataSetIdentifier = Lens.lens (\ColumnIdentifier' {dataSetIdentifier} -> dataSetIdentifier) (\s@ColumnIdentifier' {} a -> s {dataSetIdentifier = a} :: ColumnIdentifier)++-- | The name of the column.+columnIdentifier_columnName :: Lens.Lens' ColumnIdentifier Prelude.Text+columnIdentifier_columnName = Lens.lens (\ColumnIdentifier' {columnName} -> columnName) (\s@ColumnIdentifier' {} a -> s {columnName = a} :: ColumnIdentifier)++instance Data.FromJSON ColumnIdentifier where+  parseJSON =+    Data.withObject+      "ColumnIdentifier"+      ( \x ->+          ColumnIdentifier'+            Prelude.<$> (x Data..: "DataSetIdentifier")+            Prelude.<*> (x Data..: "ColumnName")+      )++instance Prelude.Hashable ColumnIdentifier where+  hashWithSalt _salt ColumnIdentifier' {..} =+    _salt+      `Prelude.hashWithSalt` dataSetIdentifier+      `Prelude.hashWithSalt` columnName++instance Prelude.NFData ColumnIdentifier where+  rnf ColumnIdentifier' {..} =+    Prelude.rnf dataSetIdentifier+      `Prelude.seq` Prelude.rnf columnName++instance Data.ToJSON ColumnIdentifier where+  toJSON ColumnIdentifier' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("DataSetIdentifier" Data..= dataSetIdentifier),+            Prelude.Just ("ColumnName" Data..= columnName)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ColumnLevelPermissionRule.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.QuickSight.Types.ColumnLevelPermissionRule+-- 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.QuickSight.Types.ColumnLevelPermissionRule 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 rule defined to grant access on one or more restricted columns. Each+-- dataset can have multiple rules. To create a restricted column, you add+-- it to one or more rules. Each rule must contain at least one column and+-- at least one user or group. To be able to see a restricted column, a+-- user or group needs to be added to a rule for that column.+--+-- /See:/ 'newColumnLevelPermissionRule' smart constructor.+data ColumnLevelPermissionRule = ColumnLevelPermissionRule'+  { -- | An array of column names.+    columnNames :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | An array of Amazon Resource Names (ARNs) for Amazon QuickSight users or+    -- groups.+    principals :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ColumnLevelPermissionRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columnNames', 'columnLevelPermissionRule_columnNames' - An array of column names.+--+-- 'principals', 'columnLevelPermissionRule_principals' - An array of Amazon Resource Names (ARNs) for Amazon QuickSight users or+-- groups.+newColumnLevelPermissionRule ::+  ColumnLevelPermissionRule+newColumnLevelPermissionRule =+  ColumnLevelPermissionRule'+    { columnNames =+        Prelude.Nothing,+      principals = Prelude.Nothing+    }++-- | An array of column names.+columnLevelPermissionRule_columnNames :: Lens.Lens' ColumnLevelPermissionRule (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+columnLevelPermissionRule_columnNames = Lens.lens (\ColumnLevelPermissionRule' {columnNames} -> columnNames) (\s@ColumnLevelPermissionRule' {} a -> s {columnNames = a} :: ColumnLevelPermissionRule) Prelude.. Lens.mapping Lens.coerced++-- | An array of Amazon Resource Names (ARNs) for Amazon QuickSight users or+-- groups.+columnLevelPermissionRule_principals :: Lens.Lens' ColumnLevelPermissionRule (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+columnLevelPermissionRule_principals = Lens.lens (\ColumnLevelPermissionRule' {principals} -> principals) (\s@ColumnLevelPermissionRule' {} a -> s {principals = a} :: ColumnLevelPermissionRule) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ColumnLevelPermissionRule where+  parseJSON =+    Data.withObject+      "ColumnLevelPermissionRule"+      ( \x ->+          ColumnLevelPermissionRule'+            Prelude.<$> (x Data..:? "ColumnNames")+            Prelude.<*> (x Data..:? "Principals")+      )++instance Prelude.Hashable ColumnLevelPermissionRule where+  hashWithSalt _salt ColumnLevelPermissionRule' {..} =+    _salt+      `Prelude.hashWithSalt` columnNames+      `Prelude.hashWithSalt` principals++instance Prelude.NFData ColumnLevelPermissionRule where+  rnf ColumnLevelPermissionRule' {..} =+    Prelude.rnf columnNames+      `Prelude.seq` Prelude.rnf principals++instance Data.ToJSON ColumnLevelPermissionRule where+  toJSON ColumnLevelPermissionRule' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ColumnNames" Data..=) Prelude.<$> columnNames,+            ("Principals" Data..=) Prelude.<$> principals+          ]+      )
+ gen/Amazonka/QuickSight/Types/ColumnRole.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.QuickSight.Types.ColumnRole+-- 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.QuickSight.Types.ColumnRole+  ( ColumnRole+      ( ..,+        ColumnRole_DIMENSION,+        ColumnRole_MEASURE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ColumnRole = ColumnRole'+  { fromColumnRole ::+      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 ColumnRole_DIMENSION :: ColumnRole+pattern ColumnRole_DIMENSION = ColumnRole' "DIMENSION"++pattern ColumnRole_MEASURE :: ColumnRole+pattern ColumnRole_MEASURE = ColumnRole' "MEASURE"++{-# COMPLETE+  ColumnRole_DIMENSION,+  ColumnRole_MEASURE,+  ColumnRole'+  #-}
+ gen/Amazonka/QuickSight/Types/ColumnSchema.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.QuickSight.Types.ColumnSchema+-- 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.QuickSight.Types.ColumnSchema 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 column schema.+--+-- /See:/ 'newColumnSchema' smart constructor.+data ColumnSchema = ColumnSchema'+  { -- | The data type of the column schema.+    dataType :: Prelude.Maybe Prelude.Text,+    -- | The geographic role of the column schema.+    geographicRole :: Prelude.Maybe Prelude.Text,+    -- | The name of the column schema.+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ColumnSchema' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataType', 'columnSchema_dataType' - The data type of the column schema.+--+-- 'geographicRole', 'columnSchema_geographicRole' - The geographic role of the column schema.+--+-- 'name', 'columnSchema_name' - The name of the column schema.+newColumnSchema ::+  ColumnSchema+newColumnSchema =+  ColumnSchema'+    { dataType = Prelude.Nothing,+      geographicRole = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The data type of the column schema.+columnSchema_dataType :: Lens.Lens' ColumnSchema (Prelude.Maybe Prelude.Text)+columnSchema_dataType = Lens.lens (\ColumnSchema' {dataType} -> dataType) (\s@ColumnSchema' {} a -> s {dataType = a} :: ColumnSchema)++-- | The geographic role of the column schema.+columnSchema_geographicRole :: Lens.Lens' ColumnSchema (Prelude.Maybe Prelude.Text)+columnSchema_geographicRole = Lens.lens (\ColumnSchema' {geographicRole} -> geographicRole) (\s@ColumnSchema' {} a -> s {geographicRole = a} :: ColumnSchema)++-- | The name of the column schema.+columnSchema_name :: Lens.Lens' ColumnSchema (Prelude.Maybe Prelude.Text)+columnSchema_name = Lens.lens (\ColumnSchema' {name} -> name) (\s@ColumnSchema' {} a -> s {name = a} :: ColumnSchema)++instance Data.FromJSON ColumnSchema where+  parseJSON =+    Data.withObject+      "ColumnSchema"+      ( \x ->+          ColumnSchema'+            Prelude.<$> (x Data..:? "DataType")+            Prelude.<*> (x Data..:? "GeographicRole")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable ColumnSchema where+  hashWithSalt _salt ColumnSchema' {..} =+    _salt+      `Prelude.hashWithSalt` dataType+      `Prelude.hashWithSalt` geographicRole+      `Prelude.hashWithSalt` name++instance Prelude.NFData ColumnSchema where+  rnf ColumnSchema' {..} =+    Prelude.rnf dataType+      `Prelude.seq` Prelude.rnf geographicRole+      `Prelude.seq` Prelude.rnf name++instance Data.ToJSON ColumnSchema where+  toJSON ColumnSchema' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DataType" Data..=) Prelude.<$> dataType,+            ("GeographicRole" Data..=)+              Prelude.<$> geographicRole,+            ("Name" Data..=) Prelude.<$> name+          ]+      )
+ gen/Amazonka/QuickSight/Types/ColumnSort.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.QuickSight.Types.ColumnSort+-- 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.QuickSight.Types.ColumnSort where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AggregationFunction+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.SortDirection++-- | The sort configuration for a column that is not used in a field well.+--+-- /See:/ 'newColumnSort' smart constructor.+data ColumnSort = ColumnSort'+  { -- | The aggregation function that is defined in the column sort.+    aggregationFunction :: Prelude.Maybe AggregationFunction,+    sortBy :: ColumnIdentifier,+    -- | The sort direction.+    direction :: SortDirection+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ColumnSort' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aggregationFunction', 'columnSort_aggregationFunction' - The aggregation function that is defined in the column sort.+--+-- 'sortBy', 'columnSort_sortBy' - Undocumented member.+--+-- 'direction', 'columnSort_direction' - The sort direction.+newColumnSort ::+  -- | 'sortBy'+  ColumnIdentifier ->+  -- | 'direction'+  SortDirection ->+  ColumnSort+newColumnSort pSortBy_ pDirection_ =+  ColumnSort'+    { aggregationFunction = Prelude.Nothing,+      sortBy = pSortBy_,+      direction = pDirection_+    }++-- | The aggregation function that is defined in the column sort.+columnSort_aggregationFunction :: Lens.Lens' ColumnSort (Prelude.Maybe AggregationFunction)+columnSort_aggregationFunction = Lens.lens (\ColumnSort' {aggregationFunction} -> aggregationFunction) (\s@ColumnSort' {} a -> s {aggregationFunction = a} :: ColumnSort)++-- | Undocumented member.+columnSort_sortBy :: Lens.Lens' ColumnSort ColumnIdentifier+columnSort_sortBy = Lens.lens (\ColumnSort' {sortBy} -> sortBy) (\s@ColumnSort' {} a -> s {sortBy = a} :: ColumnSort)++-- | The sort direction.+columnSort_direction :: Lens.Lens' ColumnSort SortDirection+columnSort_direction = Lens.lens (\ColumnSort' {direction} -> direction) (\s@ColumnSort' {} a -> s {direction = a} :: ColumnSort)++instance Data.FromJSON ColumnSort where+  parseJSON =+    Data.withObject+      "ColumnSort"+      ( \x ->+          ColumnSort'+            Prelude.<$> (x Data..:? "AggregationFunction")+            Prelude.<*> (x Data..: "SortBy")+            Prelude.<*> (x Data..: "Direction")+      )++instance Prelude.Hashable ColumnSort where+  hashWithSalt _salt ColumnSort' {..} =+    _salt+      `Prelude.hashWithSalt` aggregationFunction+      `Prelude.hashWithSalt` sortBy+      `Prelude.hashWithSalt` direction++instance Prelude.NFData ColumnSort where+  rnf ColumnSort' {..} =+    Prelude.rnf aggregationFunction+      `Prelude.seq` Prelude.rnf sortBy+      `Prelude.seq` Prelude.rnf direction++instance Data.ToJSON ColumnSort where+  toJSON ColumnSort' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AggregationFunction" Data..=)+              Prelude.<$> aggregationFunction,+            Prelude.Just ("SortBy" Data..= sortBy),+            Prelude.Just ("Direction" Data..= direction)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ColumnTag.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.QuickSight.Types.ColumnTag+-- 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.QuickSight.Types.ColumnTag where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnDescription+import Amazonka.QuickSight.Types.GeoSpatialDataRole++-- | A tag for a column in a+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_TagColumnOperation.html TagColumnOperation>@ @+-- structure. This is a variant type structure. For this structure to be+-- valid, only one of the attributes can be non-null.+--+-- /See:/ 'newColumnTag' smart constructor.+data ColumnTag = ColumnTag'+  { -- | A description for a column.+    columnDescription :: Prelude.Maybe ColumnDescription,+    -- | A geospatial role for a column.+    columnGeographicRole :: Prelude.Maybe GeoSpatialDataRole+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ColumnTag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columnDescription', 'columnTag_columnDescription' - A description for a column.+--+-- 'columnGeographicRole', 'columnTag_columnGeographicRole' - A geospatial role for a column.+newColumnTag ::+  ColumnTag+newColumnTag =+  ColumnTag'+    { columnDescription = Prelude.Nothing,+      columnGeographicRole = Prelude.Nothing+    }++-- | A description for a column.+columnTag_columnDescription :: Lens.Lens' ColumnTag (Prelude.Maybe ColumnDescription)+columnTag_columnDescription = Lens.lens (\ColumnTag' {columnDescription} -> columnDescription) (\s@ColumnTag' {} a -> s {columnDescription = a} :: ColumnTag)++-- | A geospatial role for a column.+columnTag_columnGeographicRole :: Lens.Lens' ColumnTag (Prelude.Maybe GeoSpatialDataRole)+columnTag_columnGeographicRole = Lens.lens (\ColumnTag' {columnGeographicRole} -> columnGeographicRole) (\s@ColumnTag' {} a -> s {columnGeographicRole = a} :: ColumnTag)++instance Data.FromJSON ColumnTag where+  parseJSON =+    Data.withObject+      "ColumnTag"+      ( \x ->+          ColumnTag'+            Prelude.<$> (x Data..:? "ColumnDescription")+            Prelude.<*> (x Data..:? "ColumnGeographicRole")+      )++instance Prelude.Hashable ColumnTag where+  hashWithSalt _salt ColumnTag' {..} =+    _salt+      `Prelude.hashWithSalt` columnDescription+      `Prelude.hashWithSalt` columnGeographicRole++instance Prelude.NFData ColumnTag where+  rnf ColumnTag' {..} =+    Prelude.rnf columnDescription+      `Prelude.seq` Prelude.rnf columnGeographicRole++instance Data.ToJSON ColumnTag where+  toJSON ColumnTag' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ColumnDescription" Data..=)+              Prelude.<$> columnDescription,+            ("ColumnGeographicRole" Data..=)+              Prelude.<$> columnGeographicRole+          ]+      )
+ gen/Amazonka/QuickSight/Types/ColumnTagName.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.QuickSight.Types.ColumnTagName+-- 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.QuickSight.Types.ColumnTagName+  ( ColumnTagName+      ( ..,+        ColumnTagName_COLUMN_DESCRIPTION,+        ColumnTagName_COLUMN_GEOGRAPHIC_ROLE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ColumnTagName = ColumnTagName'+  { fromColumnTagName ::+      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 ColumnTagName_COLUMN_DESCRIPTION :: ColumnTagName+pattern ColumnTagName_COLUMN_DESCRIPTION = ColumnTagName' "COLUMN_DESCRIPTION"++pattern ColumnTagName_COLUMN_GEOGRAPHIC_ROLE :: ColumnTagName+pattern ColumnTagName_COLUMN_GEOGRAPHIC_ROLE = ColumnTagName' "COLUMN_GEOGRAPHIC_ROLE"++{-# COMPLETE+  ColumnTagName_COLUMN_DESCRIPTION,+  ColumnTagName_COLUMN_GEOGRAPHIC_ROLE,+  ColumnTagName'+  #-}
+ gen/Amazonka/QuickSight/Types/ColumnTooltipItem.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ColumnTooltipItem+-- 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.QuickSight.Types.ColumnTooltipItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AggregationFunction+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.Visibility++-- | The tooltip item for the columns that are not part of a field well.+--+-- /See:/ 'newColumnTooltipItem' smart constructor.+data ColumnTooltipItem = ColumnTooltipItem'+  { -- | The aggregation function of the column tooltip item.+    aggregation :: Prelude.Maybe AggregationFunction,+    -- | The label of the tooltip item.+    label :: Prelude.Maybe Prelude.Text,+    -- | The visibility of the tooltip item.+    visibility :: Prelude.Maybe Visibility,+    -- | The target column of the tooltip item.+    column :: ColumnIdentifier+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ColumnTooltipItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aggregation', 'columnTooltipItem_aggregation' - The aggregation function of the column tooltip item.+--+-- 'label', 'columnTooltipItem_label' - The label of the tooltip item.+--+-- 'visibility', 'columnTooltipItem_visibility' - The visibility of the tooltip item.+--+-- 'column', 'columnTooltipItem_column' - The target column of the tooltip item.+newColumnTooltipItem ::+  -- | 'column'+  ColumnIdentifier ->+  ColumnTooltipItem+newColumnTooltipItem pColumn_ =+  ColumnTooltipItem'+    { aggregation = Prelude.Nothing,+      label = Prelude.Nothing,+      visibility = Prelude.Nothing,+      column = pColumn_+    }++-- | The aggregation function of the column tooltip item.+columnTooltipItem_aggregation :: Lens.Lens' ColumnTooltipItem (Prelude.Maybe AggregationFunction)+columnTooltipItem_aggregation = Lens.lens (\ColumnTooltipItem' {aggregation} -> aggregation) (\s@ColumnTooltipItem' {} a -> s {aggregation = a} :: ColumnTooltipItem)++-- | The label of the tooltip item.+columnTooltipItem_label :: Lens.Lens' ColumnTooltipItem (Prelude.Maybe Prelude.Text)+columnTooltipItem_label = Lens.lens (\ColumnTooltipItem' {label} -> label) (\s@ColumnTooltipItem' {} a -> s {label = a} :: ColumnTooltipItem)++-- | The visibility of the tooltip item.+columnTooltipItem_visibility :: Lens.Lens' ColumnTooltipItem (Prelude.Maybe Visibility)+columnTooltipItem_visibility = Lens.lens (\ColumnTooltipItem' {visibility} -> visibility) (\s@ColumnTooltipItem' {} a -> s {visibility = a} :: ColumnTooltipItem)++-- | The target column of the tooltip item.+columnTooltipItem_column :: Lens.Lens' ColumnTooltipItem ColumnIdentifier+columnTooltipItem_column = Lens.lens (\ColumnTooltipItem' {column} -> column) (\s@ColumnTooltipItem' {} a -> s {column = a} :: ColumnTooltipItem)++instance Data.FromJSON ColumnTooltipItem where+  parseJSON =+    Data.withObject+      "ColumnTooltipItem"+      ( \x ->+          ColumnTooltipItem'+            Prelude.<$> (x Data..:? "Aggregation")+            Prelude.<*> (x Data..:? "Label")+            Prelude.<*> (x Data..:? "Visibility")+            Prelude.<*> (x Data..: "Column")+      )++instance Prelude.Hashable ColumnTooltipItem where+  hashWithSalt _salt ColumnTooltipItem' {..} =+    _salt+      `Prelude.hashWithSalt` aggregation+      `Prelude.hashWithSalt` label+      `Prelude.hashWithSalt` visibility+      `Prelude.hashWithSalt` column++instance Prelude.NFData ColumnTooltipItem where+  rnf ColumnTooltipItem' {..} =+    Prelude.rnf aggregation+      `Prelude.seq` Prelude.rnf label+      `Prelude.seq` Prelude.rnf visibility+      `Prelude.seq` Prelude.rnf column++instance Data.ToJSON ColumnTooltipItem where+  toJSON ColumnTooltipItem' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Aggregation" Data..=) Prelude.<$> aggregation,+            ("Label" Data..=) Prelude.<$> label,+            ("Visibility" Data..=) Prelude.<$> visibility,+            Prelude.Just ("Column" Data..= column)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ComboChartAggregatedFieldWells.hs view
@@ -0,0 +1,130 @@+{-# 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.QuickSight.Types.ComboChartAggregatedFieldWells+-- 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.QuickSight.Types.ComboChartAggregatedFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The aggregated field wells of a combo chart.+--+-- /See:/ 'newComboChartAggregatedFieldWells' smart constructor.+data ComboChartAggregatedFieldWells = ComboChartAggregatedFieldWells'+  { -- | The aggregated @BarValues@ field well of a combo chart.+    barValues :: Prelude.Maybe [MeasureField],+    -- | The aggregated category field wells of a combo chart.+    category :: Prelude.Maybe [DimensionField],+    -- | The aggregated colors field well of a combo chart.+    colors :: Prelude.Maybe [DimensionField],+    -- | The aggregated @LineValues@ field well of a combo chart.+    lineValues :: Prelude.Maybe [MeasureField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ComboChartAggregatedFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'barValues', 'comboChartAggregatedFieldWells_barValues' - The aggregated @BarValues@ field well of a combo chart.+--+-- 'category', 'comboChartAggregatedFieldWells_category' - The aggregated category field wells of a combo chart.+--+-- 'colors', 'comboChartAggregatedFieldWells_colors' - The aggregated colors field well of a combo chart.+--+-- 'lineValues', 'comboChartAggregatedFieldWells_lineValues' - The aggregated @LineValues@ field well of a combo chart.+newComboChartAggregatedFieldWells ::+  ComboChartAggregatedFieldWells+newComboChartAggregatedFieldWells =+  ComboChartAggregatedFieldWells'+    { barValues =+        Prelude.Nothing,+      category = Prelude.Nothing,+      colors = Prelude.Nothing,+      lineValues = Prelude.Nothing+    }++-- | The aggregated @BarValues@ field well of a combo chart.+comboChartAggregatedFieldWells_barValues :: Lens.Lens' ComboChartAggregatedFieldWells (Prelude.Maybe [MeasureField])+comboChartAggregatedFieldWells_barValues = Lens.lens (\ComboChartAggregatedFieldWells' {barValues} -> barValues) (\s@ComboChartAggregatedFieldWells' {} a -> s {barValues = a} :: ComboChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The aggregated category field wells of a combo chart.+comboChartAggregatedFieldWells_category :: Lens.Lens' ComboChartAggregatedFieldWells (Prelude.Maybe [DimensionField])+comboChartAggregatedFieldWells_category = Lens.lens (\ComboChartAggregatedFieldWells' {category} -> category) (\s@ComboChartAggregatedFieldWells' {} a -> s {category = a} :: ComboChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The aggregated colors field well of a combo chart.+comboChartAggregatedFieldWells_colors :: Lens.Lens' ComboChartAggregatedFieldWells (Prelude.Maybe [DimensionField])+comboChartAggregatedFieldWells_colors = Lens.lens (\ComboChartAggregatedFieldWells' {colors} -> colors) (\s@ComboChartAggregatedFieldWells' {} a -> s {colors = a} :: ComboChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The aggregated @LineValues@ field well of a combo chart.+comboChartAggregatedFieldWells_lineValues :: Lens.Lens' ComboChartAggregatedFieldWells (Prelude.Maybe [MeasureField])+comboChartAggregatedFieldWells_lineValues = Lens.lens (\ComboChartAggregatedFieldWells' {lineValues} -> lineValues) (\s@ComboChartAggregatedFieldWells' {} a -> s {lineValues = a} :: ComboChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ComboChartAggregatedFieldWells where+  parseJSON =+    Data.withObject+      "ComboChartAggregatedFieldWells"+      ( \x ->+          ComboChartAggregatedFieldWells'+            Prelude.<$> (x Data..:? "BarValues" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Category" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Colors" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "LineValues" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    ComboChartAggregatedFieldWells+  where+  hashWithSalt+    _salt+    ComboChartAggregatedFieldWells' {..} =+      _salt+        `Prelude.hashWithSalt` barValues+        `Prelude.hashWithSalt` category+        `Prelude.hashWithSalt` colors+        `Prelude.hashWithSalt` lineValues++instance+  Prelude.NFData+    ComboChartAggregatedFieldWells+  where+  rnf ComboChartAggregatedFieldWells' {..} =+    Prelude.rnf barValues+      `Prelude.seq` Prelude.rnf category+      `Prelude.seq` Prelude.rnf colors+      `Prelude.seq` Prelude.rnf lineValues++instance Data.ToJSON ComboChartAggregatedFieldWells where+  toJSON ComboChartAggregatedFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BarValues" Data..=) Prelude.<$> barValues,+            ("Category" Data..=) Prelude.<$> category,+            ("Colors" Data..=) Prelude.<$> colors,+            ("LineValues" Data..=) Prelude.<$> lineValues+          ]+      )
+ gen/Amazonka/QuickSight/Types/ComboChartConfiguration.hs view
@@ -0,0 +1,350 @@+{-# 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.QuickSight.Types.ComboChartConfiguration+-- 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.QuickSight.Types.ComboChartConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AxisDisplayOptions+import Amazonka.QuickSight.Types.BarsArrangement+import Amazonka.QuickSight.Types.ChartAxisLabelOptions+import Amazonka.QuickSight.Types.ComboChartFieldWells+import Amazonka.QuickSight.Types.ComboChartSortConfiguration+import Amazonka.QuickSight.Types.DataLabelOptions+import Amazonka.QuickSight.Types.LegendOptions+import Amazonka.QuickSight.Types.ReferenceLine+import Amazonka.QuickSight.Types.TooltipOptions+import Amazonka.QuickSight.Types.VisualPalette++-- | The configuration of a @ComboChartVisual@.+--+-- /See:/ 'newComboChartConfiguration' smart constructor.+data ComboChartConfiguration = ComboChartConfiguration'+  { -- | The options that determine if visual data labels are displayed.+    --+    -- The data label options for a bar in a combo chart.+    barDataLabels :: Prelude.Maybe DataLabelOptions,+    -- | Determines the bar arrangement in a combo chart. The following are valid+    -- values in this structure:+    --+    -- -   @CLUSTERED@: For clustered bar combo charts.+    --+    -- -   @STACKED@: For stacked bar combo charts.+    --+    -- -   @STACKED_PERCENT@: Do not use. If you use this value, the operation+    --     returns a validation error.+    barsArrangement :: Prelude.Maybe BarsArrangement,+    -- | The category axis of a combo chart.+    categoryAxis :: Prelude.Maybe AxisDisplayOptions,+    -- | The label options (label text, label visibility, and sort icon+    -- visibility) of a combo chart category (group\/color) field well.+    categoryLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The label options (label text, label visibility, and sort icon+    -- visibility) of a combo chart\'s color field well.+    colorLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The field wells of the visual.+    fieldWells :: Prelude.Maybe ComboChartFieldWells,+    -- | The legend display setup of the visual.+    legend :: Prelude.Maybe LegendOptions,+    -- | The options that determine if visual data labels are displayed.+    --+    -- The data label options for a line in a combo chart.+    lineDataLabels :: Prelude.Maybe DataLabelOptions,+    -- | The label display options (grid line, range, scale, and axis step) of a+    -- combo chart\'s primary y-axis (bar) field well.+    primaryYAxisDisplayOptions :: Prelude.Maybe AxisDisplayOptions,+    -- | The label options (label text, label visibility, and sort icon+    -- visibility) of a combo chart\'s primary y-axis (bar) field well.+    primaryYAxisLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The reference line setup of the visual.+    referenceLines :: Prelude.Maybe [ReferenceLine],+    -- | The label display options (grid line, range, scale, axis step) of a+    -- combo chart\'s secondary y-axis (line) field well.+    secondaryYAxisDisplayOptions :: Prelude.Maybe AxisDisplayOptions,+    -- | The label options (label text, label visibility, and sort icon+    -- visibility) of a combo chart\'s secondary y-axis(line) field well.+    secondaryYAxisLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The sort configuration of a @ComboChartVisual@.+    sortConfiguration :: Prelude.Maybe ComboChartSortConfiguration,+    -- | The legend display setup of the visual.+    tooltip :: Prelude.Maybe TooltipOptions,+    -- | The palette (chart color) display setup of the visual.+    visualPalette :: Prelude.Maybe VisualPalette+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ComboChartConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'barDataLabels', 'comboChartConfiguration_barDataLabels' - The options that determine if visual data labels are displayed.+--+-- The data label options for a bar in a combo chart.+--+-- 'barsArrangement', 'comboChartConfiguration_barsArrangement' - Determines the bar arrangement in a combo chart. The following are valid+-- values in this structure:+--+-- -   @CLUSTERED@: For clustered bar combo charts.+--+-- -   @STACKED@: For stacked bar combo charts.+--+-- -   @STACKED_PERCENT@: Do not use. If you use this value, the operation+--     returns a validation error.+--+-- 'categoryAxis', 'comboChartConfiguration_categoryAxis' - The category axis of a combo chart.+--+-- 'categoryLabelOptions', 'comboChartConfiguration_categoryLabelOptions' - The label options (label text, label visibility, and sort icon+-- visibility) of a combo chart category (group\/color) field well.+--+-- 'colorLabelOptions', 'comboChartConfiguration_colorLabelOptions' - The label options (label text, label visibility, and sort icon+-- visibility) of a combo chart\'s color field well.+--+-- 'fieldWells', 'comboChartConfiguration_fieldWells' - The field wells of the visual.+--+-- 'legend', 'comboChartConfiguration_legend' - The legend display setup of the visual.+--+-- 'lineDataLabels', 'comboChartConfiguration_lineDataLabels' - The options that determine if visual data labels are displayed.+--+-- The data label options for a line in a combo chart.+--+-- 'primaryYAxisDisplayOptions', 'comboChartConfiguration_primaryYAxisDisplayOptions' - The label display options (grid line, range, scale, and axis step) of a+-- combo chart\'s primary y-axis (bar) field well.+--+-- 'primaryYAxisLabelOptions', 'comboChartConfiguration_primaryYAxisLabelOptions' - The label options (label text, label visibility, and sort icon+-- visibility) of a combo chart\'s primary y-axis (bar) field well.+--+-- 'referenceLines', 'comboChartConfiguration_referenceLines' - The reference line setup of the visual.+--+-- 'secondaryYAxisDisplayOptions', 'comboChartConfiguration_secondaryYAxisDisplayOptions' - The label display options (grid line, range, scale, axis step) of a+-- combo chart\'s secondary y-axis (line) field well.+--+-- 'secondaryYAxisLabelOptions', 'comboChartConfiguration_secondaryYAxisLabelOptions' - The label options (label text, label visibility, and sort icon+-- visibility) of a combo chart\'s secondary y-axis(line) field well.+--+-- 'sortConfiguration', 'comboChartConfiguration_sortConfiguration' - The sort configuration of a @ComboChartVisual@.+--+-- 'tooltip', 'comboChartConfiguration_tooltip' - The legend display setup of the visual.+--+-- 'visualPalette', 'comboChartConfiguration_visualPalette' - The palette (chart color) display setup of the visual.+newComboChartConfiguration ::+  ComboChartConfiguration+newComboChartConfiguration =+  ComboChartConfiguration'+    { barDataLabels =+        Prelude.Nothing,+      barsArrangement = Prelude.Nothing,+      categoryAxis = Prelude.Nothing,+      categoryLabelOptions = Prelude.Nothing,+      colorLabelOptions = Prelude.Nothing,+      fieldWells = Prelude.Nothing,+      legend = Prelude.Nothing,+      lineDataLabels = Prelude.Nothing,+      primaryYAxisDisplayOptions = Prelude.Nothing,+      primaryYAxisLabelOptions = Prelude.Nothing,+      referenceLines = Prelude.Nothing,+      secondaryYAxisDisplayOptions = Prelude.Nothing,+      secondaryYAxisLabelOptions = Prelude.Nothing,+      sortConfiguration = Prelude.Nothing,+      tooltip = Prelude.Nothing,+      visualPalette = Prelude.Nothing+    }++-- | The options that determine if visual data labels are displayed.+--+-- The data label options for a bar in a combo chart.+comboChartConfiguration_barDataLabels :: Lens.Lens' ComboChartConfiguration (Prelude.Maybe DataLabelOptions)+comboChartConfiguration_barDataLabels = Lens.lens (\ComboChartConfiguration' {barDataLabels} -> barDataLabels) (\s@ComboChartConfiguration' {} a -> s {barDataLabels = a} :: ComboChartConfiguration)++-- | Determines the bar arrangement in a combo chart. The following are valid+-- values in this structure:+--+-- -   @CLUSTERED@: For clustered bar combo charts.+--+-- -   @STACKED@: For stacked bar combo charts.+--+-- -   @STACKED_PERCENT@: Do not use. If you use this value, the operation+--     returns a validation error.+comboChartConfiguration_barsArrangement :: Lens.Lens' ComboChartConfiguration (Prelude.Maybe BarsArrangement)+comboChartConfiguration_barsArrangement = Lens.lens (\ComboChartConfiguration' {barsArrangement} -> barsArrangement) (\s@ComboChartConfiguration' {} a -> s {barsArrangement = a} :: ComboChartConfiguration)++-- | The category axis of a combo chart.+comboChartConfiguration_categoryAxis :: Lens.Lens' ComboChartConfiguration (Prelude.Maybe AxisDisplayOptions)+comboChartConfiguration_categoryAxis = Lens.lens (\ComboChartConfiguration' {categoryAxis} -> categoryAxis) (\s@ComboChartConfiguration' {} a -> s {categoryAxis = a} :: ComboChartConfiguration)++-- | The label options (label text, label visibility, and sort icon+-- visibility) of a combo chart category (group\/color) field well.+comboChartConfiguration_categoryLabelOptions :: Lens.Lens' ComboChartConfiguration (Prelude.Maybe ChartAxisLabelOptions)+comboChartConfiguration_categoryLabelOptions = Lens.lens (\ComboChartConfiguration' {categoryLabelOptions} -> categoryLabelOptions) (\s@ComboChartConfiguration' {} a -> s {categoryLabelOptions = a} :: ComboChartConfiguration)++-- | The label options (label text, label visibility, and sort icon+-- visibility) of a combo chart\'s color field well.+comboChartConfiguration_colorLabelOptions :: Lens.Lens' ComboChartConfiguration (Prelude.Maybe ChartAxisLabelOptions)+comboChartConfiguration_colorLabelOptions = Lens.lens (\ComboChartConfiguration' {colorLabelOptions} -> colorLabelOptions) (\s@ComboChartConfiguration' {} a -> s {colorLabelOptions = a} :: ComboChartConfiguration)++-- | The field wells of the visual.+comboChartConfiguration_fieldWells :: Lens.Lens' ComboChartConfiguration (Prelude.Maybe ComboChartFieldWells)+comboChartConfiguration_fieldWells = Lens.lens (\ComboChartConfiguration' {fieldWells} -> fieldWells) (\s@ComboChartConfiguration' {} a -> s {fieldWells = a} :: ComboChartConfiguration)++-- | The legend display setup of the visual.+comboChartConfiguration_legend :: Lens.Lens' ComboChartConfiguration (Prelude.Maybe LegendOptions)+comboChartConfiguration_legend = Lens.lens (\ComboChartConfiguration' {legend} -> legend) (\s@ComboChartConfiguration' {} a -> s {legend = a} :: ComboChartConfiguration)++-- | The options that determine if visual data labels are displayed.+--+-- The data label options for a line in a combo chart.+comboChartConfiguration_lineDataLabels :: Lens.Lens' ComboChartConfiguration (Prelude.Maybe DataLabelOptions)+comboChartConfiguration_lineDataLabels = Lens.lens (\ComboChartConfiguration' {lineDataLabels} -> lineDataLabels) (\s@ComboChartConfiguration' {} a -> s {lineDataLabels = a} :: ComboChartConfiguration)++-- | The label display options (grid line, range, scale, and axis step) of a+-- combo chart\'s primary y-axis (bar) field well.+comboChartConfiguration_primaryYAxisDisplayOptions :: Lens.Lens' ComboChartConfiguration (Prelude.Maybe AxisDisplayOptions)+comboChartConfiguration_primaryYAxisDisplayOptions = Lens.lens (\ComboChartConfiguration' {primaryYAxisDisplayOptions} -> primaryYAxisDisplayOptions) (\s@ComboChartConfiguration' {} a -> s {primaryYAxisDisplayOptions = a} :: ComboChartConfiguration)++-- | The label options (label text, label visibility, and sort icon+-- visibility) of a combo chart\'s primary y-axis (bar) field well.+comboChartConfiguration_primaryYAxisLabelOptions :: Lens.Lens' ComboChartConfiguration (Prelude.Maybe ChartAxisLabelOptions)+comboChartConfiguration_primaryYAxisLabelOptions = Lens.lens (\ComboChartConfiguration' {primaryYAxisLabelOptions} -> primaryYAxisLabelOptions) (\s@ComboChartConfiguration' {} a -> s {primaryYAxisLabelOptions = a} :: ComboChartConfiguration)++-- | The reference line setup of the visual.+comboChartConfiguration_referenceLines :: Lens.Lens' ComboChartConfiguration (Prelude.Maybe [ReferenceLine])+comboChartConfiguration_referenceLines = Lens.lens (\ComboChartConfiguration' {referenceLines} -> referenceLines) (\s@ComboChartConfiguration' {} a -> s {referenceLines = a} :: ComboChartConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The label display options (grid line, range, scale, axis step) of a+-- combo chart\'s secondary y-axis (line) field well.+comboChartConfiguration_secondaryYAxisDisplayOptions :: Lens.Lens' ComboChartConfiguration (Prelude.Maybe AxisDisplayOptions)+comboChartConfiguration_secondaryYAxisDisplayOptions = Lens.lens (\ComboChartConfiguration' {secondaryYAxisDisplayOptions} -> secondaryYAxisDisplayOptions) (\s@ComboChartConfiguration' {} a -> s {secondaryYAxisDisplayOptions = a} :: ComboChartConfiguration)++-- | The label options (label text, label visibility, and sort icon+-- visibility) of a combo chart\'s secondary y-axis(line) field well.+comboChartConfiguration_secondaryYAxisLabelOptions :: Lens.Lens' ComboChartConfiguration (Prelude.Maybe ChartAxisLabelOptions)+comboChartConfiguration_secondaryYAxisLabelOptions = Lens.lens (\ComboChartConfiguration' {secondaryYAxisLabelOptions} -> secondaryYAxisLabelOptions) (\s@ComboChartConfiguration' {} a -> s {secondaryYAxisLabelOptions = a} :: ComboChartConfiguration)++-- | The sort configuration of a @ComboChartVisual@.+comboChartConfiguration_sortConfiguration :: Lens.Lens' ComboChartConfiguration (Prelude.Maybe ComboChartSortConfiguration)+comboChartConfiguration_sortConfiguration = Lens.lens (\ComboChartConfiguration' {sortConfiguration} -> sortConfiguration) (\s@ComboChartConfiguration' {} a -> s {sortConfiguration = a} :: ComboChartConfiguration)++-- | The legend display setup of the visual.+comboChartConfiguration_tooltip :: Lens.Lens' ComboChartConfiguration (Prelude.Maybe TooltipOptions)+comboChartConfiguration_tooltip = Lens.lens (\ComboChartConfiguration' {tooltip} -> tooltip) (\s@ComboChartConfiguration' {} a -> s {tooltip = a} :: ComboChartConfiguration)++-- | The palette (chart color) display setup of the visual.+comboChartConfiguration_visualPalette :: Lens.Lens' ComboChartConfiguration (Prelude.Maybe VisualPalette)+comboChartConfiguration_visualPalette = Lens.lens (\ComboChartConfiguration' {visualPalette} -> visualPalette) (\s@ComboChartConfiguration' {} a -> s {visualPalette = a} :: ComboChartConfiguration)++instance Data.FromJSON ComboChartConfiguration where+  parseJSON =+    Data.withObject+      "ComboChartConfiguration"+      ( \x ->+          ComboChartConfiguration'+            Prelude.<$> (x Data..:? "BarDataLabels")+            Prelude.<*> (x Data..:? "BarsArrangement")+            Prelude.<*> (x Data..:? "CategoryAxis")+            Prelude.<*> (x Data..:? "CategoryLabelOptions")+            Prelude.<*> (x Data..:? "ColorLabelOptions")+            Prelude.<*> (x Data..:? "FieldWells")+            Prelude.<*> (x Data..:? "Legend")+            Prelude.<*> (x Data..:? "LineDataLabels")+            Prelude.<*> (x Data..:? "PrimaryYAxisDisplayOptions")+            Prelude.<*> (x Data..:? "PrimaryYAxisLabelOptions")+            Prelude.<*> (x Data..:? "ReferenceLines" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "SecondaryYAxisDisplayOptions")+            Prelude.<*> (x Data..:? "SecondaryYAxisLabelOptions")+            Prelude.<*> (x Data..:? "SortConfiguration")+            Prelude.<*> (x Data..:? "Tooltip")+            Prelude.<*> (x Data..:? "VisualPalette")+      )++instance Prelude.Hashable ComboChartConfiguration where+  hashWithSalt _salt ComboChartConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` barDataLabels+      `Prelude.hashWithSalt` barsArrangement+      `Prelude.hashWithSalt` categoryAxis+      `Prelude.hashWithSalt` categoryLabelOptions+      `Prelude.hashWithSalt` colorLabelOptions+      `Prelude.hashWithSalt` fieldWells+      `Prelude.hashWithSalt` legend+      `Prelude.hashWithSalt` lineDataLabels+      `Prelude.hashWithSalt` primaryYAxisDisplayOptions+      `Prelude.hashWithSalt` primaryYAxisLabelOptions+      `Prelude.hashWithSalt` referenceLines+      `Prelude.hashWithSalt` secondaryYAxisDisplayOptions+      `Prelude.hashWithSalt` secondaryYAxisLabelOptions+      `Prelude.hashWithSalt` sortConfiguration+      `Prelude.hashWithSalt` tooltip+      `Prelude.hashWithSalt` visualPalette++instance Prelude.NFData ComboChartConfiguration where+  rnf ComboChartConfiguration' {..} =+    Prelude.rnf barDataLabels+      `Prelude.seq` Prelude.rnf barsArrangement+      `Prelude.seq` Prelude.rnf categoryAxis+      `Prelude.seq` Prelude.rnf categoryLabelOptions+      `Prelude.seq` Prelude.rnf colorLabelOptions+      `Prelude.seq` Prelude.rnf fieldWells+      `Prelude.seq` Prelude.rnf legend+      `Prelude.seq` Prelude.rnf lineDataLabels+      `Prelude.seq` Prelude.rnf primaryYAxisDisplayOptions+      `Prelude.seq` Prelude.rnf primaryYAxisLabelOptions+      `Prelude.seq` Prelude.rnf referenceLines+      `Prelude.seq` Prelude.rnf secondaryYAxisDisplayOptions+      `Prelude.seq` Prelude.rnf secondaryYAxisLabelOptions+      `Prelude.seq` Prelude.rnf sortConfiguration+      `Prelude.seq` Prelude.rnf tooltip+      `Prelude.seq` Prelude.rnf visualPalette++instance Data.ToJSON ComboChartConfiguration where+  toJSON ComboChartConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BarDataLabels" Data..=) Prelude.<$> barDataLabels,+            ("BarsArrangement" Data..=)+              Prelude.<$> barsArrangement,+            ("CategoryAxis" Data..=) Prelude.<$> categoryAxis,+            ("CategoryLabelOptions" Data..=)+              Prelude.<$> categoryLabelOptions,+            ("ColorLabelOptions" Data..=)+              Prelude.<$> colorLabelOptions,+            ("FieldWells" Data..=) Prelude.<$> fieldWells,+            ("Legend" Data..=) Prelude.<$> legend,+            ("LineDataLabels" Data..=)+              Prelude.<$> lineDataLabels,+            ("PrimaryYAxisDisplayOptions" Data..=)+              Prelude.<$> primaryYAxisDisplayOptions,+            ("PrimaryYAxisLabelOptions" Data..=)+              Prelude.<$> primaryYAxisLabelOptions,+            ("ReferenceLines" Data..=)+              Prelude.<$> referenceLines,+            ("SecondaryYAxisDisplayOptions" Data..=)+              Prelude.<$> secondaryYAxisDisplayOptions,+            ("SecondaryYAxisLabelOptions" Data..=)+              Prelude.<$> secondaryYAxisLabelOptions,+            ("SortConfiguration" Data..=)+              Prelude.<$> sortConfiguration,+            ("Tooltip" Data..=) Prelude.<$> tooltip,+            ("VisualPalette" Data..=) Prelude.<$> visualPalette+          ]+      )
+ gen/Amazonka/QuickSight/Types/ComboChartFieldWells.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ComboChartFieldWells+-- 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.QuickSight.Types.ComboChartFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ComboChartAggregatedFieldWells++-- | The field wells of the visual.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newComboChartFieldWells' smart constructor.+data ComboChartFieldWells = ComboChartFieldWells'+  { -- | The aggregated field wells of a combo chart. Combo charts only have+    -- aggregated field wells. Columns in a combo chart are aggregated by+    -- category.+    comboChartAggregatedFieldWells :: Prelude.Maybe ComboChartAggregatedFieldWells+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ComboChartFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'comboChartAggregatedFieldWells', 'comboChartFieldWells_comboChartAggregatedFieldWells' - The aggregated field wells of a combo chart. Combo charts only have+-- aggregated field wells. Columns in a combo chart are aggregated by+-- category.+newComboChartFieldWells ::+  ComboChartFieldWells+newComboChartFieldWells =+  ComboChartFieldWells'+    { comboChartAggregatedFieldWells =+        Prelude.Nothing+    }++-- | The aggregated field wells of a combo chart. Combo charts only have+-- aggregated field wells. Columns in a combo chart are aggregated by+-- category.+comboChartFieldWells_comboChartAggregatedFieldWells :: Lens.Lens' ComboChartFieldWells (Prelude.Maybe ComboChartAggregatedFieldWells)+comboChartFieldWells_comboChartAggregatedFieldWells = Lens.lens (\ComboChartFieldWells' {comboChartAggregatedFieldWells} -> comboChartAggregatedFieldWells) (\s@ComboChartFieldWells' {} a -> s {comboChartAggregatedFieldWells = a} :: ComboChartFieldWells)++instance Data.FromJSON ComboChartFieldWells where+  parseJSON =+    Data.withObject+      "ComboChartFieldWells"+      ( \x ->+          ComboChartFieldWells'+            Prelude.<$> (x Data..:? "ComboChartAggregatedFieldWells")+      )++instance Prelude.Hashable ComboChartFieldWells where+  hashWithSalt _salt ComboChartFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` comboChartAggregatedFieldWells++instance Prelude.NFData ComboChartFieldWells where+  rnf ComboChartFieldWells' {..} =+    Prelude.rnf comboChartAggregatedFieldWells++instance Data.ToJSON ComboChartFieldWells where+  toJSON ComboChartFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ComboChartAggregatedFieldWells" Data..=)+              Prelude.<$> comboChartAggregatedFieldWells+          ]+      )
+ gen/Amazonka/QuickSight/Types/ComboChartSortConfiguration.hs view
@@ -0,0 +1,127 @@+{-# 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.QuickSight.Types.ComboChartSortConfiguration+-- 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.QuickSight.Types.ComboChartSortConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FieldSortOptions+import Amazonka.QuickSight.Types.ItemsLimitConfiguration++-- | The sort configuration of a @ComboChartVisual@.+--+-- /See:/ 'newComboChartSortConfiguration' smart constructor.+data ComboChartSortConfiguration = ComboChartSortConfiguration'+  { -- | The item limit configuration for the category field well of a combo+    -- chart.+    categoryItemsLimit :: Prelude.Maybe ItemsLimitConfiguration,+    -- | The sort configuration of the category field well in a combo chart.+    categorySort :: Prelude.Maybe [FieldSortOptions],+    -- | The item limit configuration of the color field well in a combo chart.+    colorItemsLimit :: Prelude.Maybe ItemsLimitConfiguration,+    -- | The sort configuration of the color field well in a combo chart.+    colorSort :: Prelude.Maybe [FieldSortOptions]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ComboChartSortConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categoryItemsLimit', 'comboChartSortConfiguration_categoryItemsLimit' - The item limit configuration for the category field well of a combo+-- chart.+--+-- 'categorySort', 'comboChartSortConfiguration_categorySort' - The sort configuration of the category field well in a combo chart.+--+-- 'colorItemsLimit', 'comboChartSortConfiguration_colorItemsLimit' - The item limit configuration of the color field well in a combo chart.+--+-- 'colorSort', 'comboChartSortConfiguration_colorSort' - The sort configuration of the color field well in a combo chart.+newComboChartSortConfiguration ::+  ComboChartSortConfiguration+newComboChartSortConfiguration =+  ComboChartSortConfiguration'+    { categoryItemsLimit =+        Prelude.Nothing,+      categorySort = Prelude.Nothing,+      colorItemsLimit = Prelude.Nothing,+      colorSort = Prelude.Nothing+    }++-- | The item limit configuration for the category field well of a combo+-- chart.+comboChartSortConfiguration_categoryItemsLimit :: Lens.Lens' ComboChartSortConfiguration (Prelude.Maybe ItemsLimitConfiguration)+comboChartSortConfiguration_categoryItemsLimit = Lens.lens (\ComboChartSortConfiguration' {categoryItemsLimit} -> categoryItemsLimit) (\s@ComboChartSortConfiguration' {} a -> s {categoryItemsLimit = a} :: ComboChartSortConfiguration)++-- | The sort configuration of the category field well in a combo chart.+comboChartSortConfiguration_categorySort :: Lens.Lens' ComboChartSortConfiguration (Prelude.Maybe [FieldSortOptions])+comboChartSortConfiguration_categorySort = Lens.lens (\ComboChartSortConfiguration' {categorySort} -> categorySort) (\s@ComboChartSortConfiguration' {} a -> s {categorySort = a} :: ComboChartSortConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The item limit configuration of the color field well in a combo chart.+comboChartSortConfiguration_colorItemsLimit :: Lens.Lens' ComboChartSortConfiguration (Prelude.Maybe ItemsLimitConfiguration)+comboChartSortConfiguration_colorItemsLimit = Lens.lens (\ComboChartSortConfiguration' {colorItemsLimit} -> colorItemsLimit) (\s@ComboChartSortConfiguration' {} a -> s {colorItemsLimit = a} :: ComboChartSortConfiguration)++-- | The sort configuration of the color field well in a combo chart.+comboChartSortConfiguration_colorSort :: Lens.Lens' ComboChartSortConfiguration (Prelude.Maybe [FieldSortOptions])+comboChartSortConfiguration_colorSort = Lens.lens (\ComboChartSortConfiguration' {colorSort} -> colorSort) (\s@ComboChartSortConfiguration' {} a -> s {colorSort = a} :: ComboChartSortConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ComboChartSortConfiguration where+  parseJSON =+    Data.withObject+      "ComboChartSortConfiguration"+      ( \x ->+          ComboChartSortConfiguration'+            Prelude.<$> (x Data..:? "CategoryItemsLimit")+            Prelude.<*> (x Data..:? "CategorySort" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ColorItemsLimit")+            Prelude.<*> (x Data..:? "ColorSort" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable ComboChartSortConfiguration where+  hashWithSalt _salt ComboChartSortConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` categoryItemsLimit+      `Prelude.hashWithSalt` categorySort+      `Prelude.hashWithSalt` colorItemsLimit+      `Prelude.hashWithSalt` colorSort++instance Prelude.NFData ComboChartSortConfiguration where+  rnf ComboChartSortConfiguration' {..} =+    Prelude.rnf categoryItemsLimit+      `Prelude.seq` Prelude.rnf categorySort+      `Prelude.seq` Prelude.rnf colorItemsLimit+      `Prelude.seq` Prelude.rnf colorSort++instance Data.ToJSON ComboChartSortConfiguration where+  toJSON ComboChartSortConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoryItemsLimit" Data..=)+              Prelude.<$> categoryItemsLimit,+            ("CategorySort" Data..=) Prelude.<$> categorySort,+            ("ColorItemsLimit" Data..=)+              Prelude.<$> colorItemsLimit,+            ("ColorSort" Data..=) Prelude.<$> colorSort+          ]+      )
+ gen/Amazonka/QuickSight/Types/ComboChartVisual.hs view
@@ -0,0 +1,170 @@+{-# 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.QuickSight.Types.ComboChartVisual+-- 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.QuickSight.Types.ComboChartVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnHierarchy+import Amazonka.QuickSight.Types.ComboChartConfiguration+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions++-- | A combo chart.+--+-- The @ComboChartVisual@ includes stacked bar combo charts and clustered+-- bar combo charts+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/combo-charts.html Using combo charts>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newComboChartVisual' smart constructor.+data ComboChartVisual = ComboChartVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration settings of the visual.+    chartConfiguration :: Prelude.Maybe ComboChartConfiguration,+    -- | The column hierarchy that is used during drill-downs and drill-ups.+    columnHierarchies :: Prelude.Maybe [ColumnHierarchy],+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers.+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ComboChartVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'comboChartVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'comboChartVisual_chartConfiguration' - The configuration settings of the visual.+--+-- 'columnHierarchies', 'comboChartVisual_columnHierarchies' - The column hierarchy that is used during drill-downs and drill-ups.+--+-- 'subtitle', 'comboChartVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'comboChartVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'comboChartVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+newComboChartVisual ::+  -- | 'visualId'+  Prelude.Text ->+  ComboChartVisual+newComboChartVisual pVisualId_ =+  ComboChartVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      columnHierarchies = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_+    }++-- | The list of custom actions that are configured for a visual.+comboChartVisual_actions :: Lens.Lens' ComboChartVisual (Prelude.Maybe [VisualCustomAction])+comboChartVisual_actions = Lens.lens (\ComboChartVisual' {actions} -> actions) (\s@ComboChartVisual' {} a -> s {actions = a} :: ComboChartVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration settings of the visual.+comboChartVisual_chartConfiguration :: Lens.Lens' ComboChartVisual (Prelude.Maybe ComboChartConfiguration)+comboChartVisual_chartConfiguration = Lens.lens (\ComboChartVisual' {chartConfiguration} -> chartConfiguration) (\s@ComboChartVisual' {} a -> s {chartConfiguration = a} :: ComboChartVisual)++-- | The column hierarchy that is used during drill-downs and drill-ups.+comboChartVisual_columnHierarchies :: Lens.Lens' ComboChartVisual (Prelude.Maybe [ColumnHierarchy])+comboChartVisual_columnHierarchies = Lens.lens (\ComboChartVisual' {columnHierarchies} -> columnHierarchies) (\s@ComboChartVisual' {} a -> s {columnHierarchies = a} :: ComboChartVisual) Prelude.. Lens.mapping Lens.coerced++-- | The subtitle that is displayed on the visual.+comboChartVisual_subtitle :: Lens.Lens' ComboChartVisual (Prelude.Maybe VisualSubtitleLabelOptions)+comboChartVisual_subtitle = Lens.lens (\ComboChartVisual' {subtitle} -> subtitle) (\s@ComboChartVisual' {} a -> s {subtitle = a} :: ComboChartVisual)++-- | The title that is displayed on the visual.+comboChartVisual_title :: Lens.Lens' ComboChartVisual (Prelude.Maybe VisualTitleLabelOptions)+comboChartVisual_title = Lens.lens (\ComboChartVisual' {title} -> title) (\s@ComboChartVisual' {} a -> s {title = a} :: ComboChartVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+comboChartVisual_visualId :: Lens.Lens' ComboChartVisual Prelude.Text+comboChartVisual_visualId = Lens.lens (\ComboChartVisual' {visualId} -> visualId) (\s@ComboChartVisual' {} a -> s {visualId = a} :: ComboChartVisual)++instance Data.FromJSON ComboChartVisual where+  parseJSON =+    Data.withObject+      "ComboChartVisual"+      ( \x ->+          ComboChartVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> ( x+                            Data..:? "ColumnHierarchies"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+      )++instance Prelude.Hashable ComboChartVisual where+  hashWithSalt _salt ComboChartVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` columnHierarchies+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData ComboChartVisual where+  rnf ComboChartVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf columnHierarchies+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON ComboChartVisual where+  toJSON ComboChartVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("ColumnHierarchies" Data..=)+              Prelude.<$> columnHierarchies,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ComparisonConfiguration.hs view
@@ -0,0 +1,116 @@+{-# 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.QuickSight.Types.ComparisonConfiguration+-- 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.QuickSight.Types.ComparisonConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ComparisonFormatConfiguration+import Amazonka.QuickSight.Types.ComparisonMethod++-- | The comparison display configuration of a KPI or gauge chart.+--+-- /See:/ 'newComparisonConfiguration' smart constructor.+data ComparisonConfiguration = ComparisonConfiguration'+  { -- | The format of the comparison.+    comparisonFormat :: Prelude.Maybe ComparisonFormatConfiguration,+    -- | The method of the comparison. Choose from the following options:+    --+    -- -   @DIFFERENCE@+    --+    -- -   @PERCENT_DIFFERENCE@+    --+    -- -   @PERCENT@+    comparisonMethod :: Prelude.Maybe ComparisonMethod+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ComparisonConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'comparisonFormat', 'comparisonConfiguration_comparisonFormat' - The format of the comparison.+--+-- 'comparisonMethod', 'comparisonConfiguration_comparisonMethod' - The method of the comparison. Choose from the following options:+--+-- -   @DIFFERENCE@+--+-- -   @PERCENT_DIFFERENCE@+--+-- -   @PERCENT@+newComparisonConfiguration ::+  ComparisonConfiguration+newComparisonConfiguration =+  ComparisonConfiguration'+    { comparisonFormat =+        Prelude.Nothing,+      comparisonMethod = Prelude.Nothing+    }++-- | The format of the comparison.+comparisonConfiguration_comparisonFormat :: Lens.Lens' ComparisonConfiguration (Prelude.Maybe ComparisonFormatConfiguration)+comparisonConfiguration_comparisonFormat = Lens.lens (\ComparisonConfiguration' {comparisonFormat} -> comparisonFormat) (\s@ComparisonConfiguration' {} a -> s {comparisonFormat = a} :: ComparisonConfiguration)++-- | The method of the comparison. Choose from the following options:+--+-- -   @DIFFERENCE@+--+-- -   @PERCENT_DIFFERENCE@+--+-- -   @PERCENT@+comparisonConfiguration_comparisonMethod :: Lens.Lens' ComparisonConfiguration (Prelude.Maybe ComparisonMethod)+comparisonConfiguration_comparisonMethod = Lens.lens (\ComparisonConfiguration' {comparisonMethod} -> comparisonMethod) (\s@ComparisonConfiguration' {} a -> s {comparisonMethod = a} :: ComparisonConfiguration)++instance Data.FromJSON ComparisonConfiguration where+  parseJSON =+    Data.withObject+      "ComparisonConfiguration"+      ( \x ->+          ComparisonConfiguration'+            Prelude.<$> (x Data..:? "ComparisonFormat")+            Prelude.<*> (x Data..:? "ComparisonMethod")+      )++instance Prelude.Hashable ComparisonConfiguration where+  hashWithSalt _salt ComparisonConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` comparisonFormat+      `Prelude.hashWithSalt` comparisonMethod++instance Prelude.NFData ComparisonConfiguration where+  rnf ComparisonConfiguration' {..} =+    Prelude.rnf comparisonFormat+      `Prelude.seq` Prelude.rnf comparisonMethod++instance Data.ToJSON ComparisonConfiguration where+  toJSON ComparisonConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ComparisonFormat" Data..=)+              Prelude.<$> comparisonFormat,+            ("ComparisonMethod" Data..=)+              Prelude.<$> comparisonMethod+          ]+      )
+ gen/Amazonka/QuickSight/Types/ComparisonFormatConfiguration.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.QuickSight.Types.ComparisonFormatConfiguration+-- 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.QuickSight.Types.ComparisonFormatConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.NumberDisplayFormatConfiguration+import Amazonka.QuickSight.Types.PercentageDisplayFormatConfiguration++-- | The format of the comparison.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newComparisonFormatConfiguration' smart constructor.+data ComparisonFormatConfiguration = ComparisonFormatConfiguration'+  { -- | The number display format.+    numberDisplayFormatConfiguration :: Prelude.Maybe NumberDisplayFormatConfiguration,+    -- | The percentage display format.+    percentageDisplayFormatConfiguration :: Prelude.Maybe PercentageDisplayFormatConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ComparisonFormatConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'numberDisplayFormatConfiguration', 'comparisonFormatConfiguration_numberDisplayFormatConfiguration' - The number display format.+--+-- 'percentageDisplayFormatConfiguration', 'comparisonFormatConfiguration_percentageDisplayFormatConfiguration' - The percentage display format.+newComparisonFormatConfiguration ::+  ComparisonFormatConfiguration+newComparisonFormatConfiguration =+  ComparisonFormatConfiguration'+    { numberDisplayFormatConfiguration =+        Prelude.Nothing,+      percentageDisplayFormatConfiguration =+        Prelude.Nothing+    }++-- | The number display format.+comparisonFormatConfiguration_numberDisplayFormatConfiguration :: Lens.Lens' ComparisonFormatConfiguration (Prelude.Maybe NumberDisplayFormatConfiguration)+comparisonFormatConfiguration_numberDisplayFormatConfiguration = Lens.lens (\ComparisonFormatConfiguration' {numberDisplayFormatConfiguration} -> numberDisplayFormatConfiguration) (\s@ComparisonFormatConfiguration' {} a -> s {numberDisplayFormatConfiguration = a} :: ComparisonFormatConfiguration)++-- | The percentage display format.+comparisonFormatConfiguration_percentageDisplayFormatConfiguration :: Lens.Lens' ComparisonFormatConfiguration (Prelude.Maybe PercentageDisplayFormatConfiguration)+comparisonFormatConfiguration_percentageDisplayFormatConfiguration = Lens.lens (\ComparisonFormatConfiguration' {percentageDisplayFormatConfiguration} -> percentageDisplayFormatConfiguration) (\s@ComparisonFormatConfiguration' {} a -> s {percentageDisplayFormatConfiguration = a} :: ComparisonFormatConfiguration)++instance Data.FromJSON ComparisonFormatConfiguration where+  parseJSON =+    Data.withObject+      "ComparisonFormatConfiguration"+      ( \x ->+          ComparisonFormatConfiguration'+            Prelude.<$> (x Data..:? "NumberDisplayFormatConfiguration")+            Prelude.<*> (x Data..:? "PercentageDisplayFormatConfiguration")+      )++instance+  Prelude.Hashable+    ComparisonFormatConfiguration+  where+  hashWithSalt _salt ComparisonFormatConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` numberDisplayFormatConfiguration+      `Prelude.hashWithSalt` percentageDisplayFormatConfiguration++instance Prelude.NFData ComparisonFormatConfiguration where+  rnf ComparisonFormatConfiguration' {..} =+    Prelude.rnf numberDisplayFormatConfiguration+      `Prelude.seq` Prelude.rnf percentageDisplayFormatConfiguration++instance Data.ToJSON ComparisonFormatConfiguration where+  toJSON ComparisonFormatConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("NumberDisplayFormatConfiguration" Data..=)+              Prelude.<$> numberDisplayFormatConfiguration,+            ("PercentageDisplayFormatConfiguration" Data..=)+              Prelude.<$> percentageDisplayFormatConfiguration+          ]+      )
+ gen/Amazonka/QuickSight/Types/ComparisonMethod.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ComparisonMethod+-- 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.QuickSight.Types.ComparisonMethod+  ( ComparisonMethod+      ( ..,+        ComparisonMethod_DIFFERENCE,+        ComparisonMethod_PERCENT,+        ComparisonMethod_PERCENT_DIFFERENCE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ComparisonMethod = ComparisonMethod'+  { fromComparisonMethod ::+      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 ComparisonMethod_DIFFERENCE :: ComparisonMethod+pattern ComparisonMethod_DIFFERENCE = ComparisonMethod' "DIFFERENCE"++pattern ComparisonMethod_PERCENT :: ComparisonMethod+pattern ComparisonMethod_PERCENT = ComparisonMethod' "PERCENT"++pattern ComparisonMethod_PERCENT_DIFFERENCE :: ComparisonMethod+pattern ComparisonMethod_PERCENT_DIFFERENCE = ComparisonMethod' "PERCENT_DIFFERENCE"++{-# COMPLETE+  ComparisonMethod_DIFFERENCE,+  ComparisonMethod_PERCENT,+  ComparisonMethod_PERCENT_DIFFERENCE,+  ComparisonMethod'+  #-}
+ gen/Amazonka/QuickSight/Types/Computation.hs view
@@ -0,0 +1,216 @@+{-# 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.QuickSight.Types.Computation+-- 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.QuickSight.Types.Computation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ForecastComputation+import Amazonka.QuickSight.Types.GrowthRateComputation+import Amazonka.QuickSight.Types.MaximumMinimumComputation+import Amazonka.QuickSight.Types.MetricComparisonComputation+import Amazonka.QuickSight.Types.PeriodOverPeriodComputation+import Amazonka.QuickSight.Types.PeriodToDateComputation+import Amazonka.QuickSight.Types.TopBottomMoversComputation+import Amazonka.QuickSight.Types.TopBottomRankedComputation+import Amazonka.QuickSight.Types.TotalAggregationComputation+import Amazonka.QuickSight.Types.UniqueValuesComputation++-- | The computation union that is used in an insight visual.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newComputation' smart constructor.+data Computation = Computation'+  { -- | The forecast computation configuration.+    forecast :: Prelude.Maybe ForecastComputation,+    -- | The growth rate computation configuration.+    growthRate :: Prelude.Maybe GrowthRateComputation,+    -- | The maximum and minimum computation configuration.+    maximumMinimum :: Prelude.Maybe MaximumMinimumComputation,+    -- | The metric comparison computation configuration.+    metricComparison :: Prelude.Maybe MetricComparisonComputation,+    -- | The period over period computation configuration.+    periodOverPeriod :: Prelude.Maybe PeriodOverPeriodComputation,+    -- | The period to @DataSetIdentifier@ computation configuration.+    periodToDate :: Prelude.Maybe PeriodToDateComputation,+    -- | The top movers and bottom movers computation configuration.+    topBottomMovers :: Prelude.Maybe TopBottomMoversComputation,+    -- | The top ranked and bottom ranked computation configuration.+    topBottomRanked :: Prelude.Maybe TopBottomRankedComputation,+    -- | The total aggregation computation configuration.+    totalAggregation :: Prelude.Maybe TotalAggregationComputation,+    -- | The unique values computation configuration.+    uniqueValues :: Prelude.Maybe UniqueValuesComputation+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Computation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'forecast', 'computation_forecast' - The forecast computation configuration.+--+-- 'growthRate', 'computation_growthRate' - The growth rate computation configuration.+--+-- 'maximumMinimum', 'computation_maximumMinimum' - The maximum and minimum computation configuration.+--+-- 'metricComparison', 'computation_metricComparison' - The metric comparison computation configuration.+--+-- 'periodOverPeriod', 'computation_periodOverPeriod' - The period over period computation configuration.+--+-- 'periodToDate', 'computation_periodToDate' - The period to @DataSetIdentifier@ computation configuration.+--+-- 'topBottomMovers', 'computation_topBottomMovers' - The top movers and bottom movers computation configuration.+--+-- 'topBottomRanked', 'computation_topBottomRanked' - The top ranked and bottom ranked computation configuration.+--+-- 'totalAggregation', 'computation_totalAggregation' - The total aggregation computation configuration.+--+-- 'uniqueValues', 'computation_uniqueValues' - The unique values computation configuration.+newComputation ::+  Computation+newComputation =+  Computation'+    { forecast = Prelude.Nothing,+      growthRate = Prelude.Nothing,+      maximumMinimum = Prelude.Nothing,+      metricComparison = Prelude.Nothing,+      periodOverPeriod = Prelude.Nothing,+      periodToDate = Prelude.Nothing,+      topBottomMovers = Prelude.Nothing,+      topBottomRanked = Prelude.Nothing,+      totalAggregation = Prelude.Nothing,+      uniqueValues = Prelude.Nothing+    }++-- | The forecast computation configuration.+computation_forecast :: Lens.Lens' Computation (Prelude.Maybe ForecastComputation)+computation_forecast = Lens.lens (\Computation' {forecast} -> forecast) (\s@Computation' {} a -> s {forecast = a} :: Computation)++-- | The growth rate computation configuration.+computation_growthRate :: Lens.Lens' Computation (Prelude.Maybe GrowthRateComputation)+computation_growthRate = Lens.lens (\Computation' {growthRate} -> growthRate) (\s@Computation' {} a -> s {growthRate = a} :: Computation)++-- | The maximum and minimum computation configuration.+computation_maximumMinimum :: Lens.Lens' Computation (Prelude.Maybe MaximumMinimumComputation)+computation_maximumMinimum = Lens.lens (\Computation' {maximumMinimum} -> maximumMinimum) (\s@Computation' {} a -> s {maximumMinimum = a} :: Computation)++-- | The metric comparison computation configuration.+computation_metricComparison :: Lens.Lens' Computation (Prelude.Maybe MetricComparisonComputation)+computation_metricComparison = Lens.lens (\Computation' {metricComparison} -> metricComparison) (\s@Computation' {} a -> s {metricComparison = a} :: Computation)++-- | The period over period computation configuration.+computation_periodOverPeriod :: Lens.Lens' Computation (Prelude.Maybe PeriodOverPeriodComputation)+computation_periodOverPeriod = Lens.lens (\Computation' {periodOverPeriod} -> periodOverPeriod) (\s@Computation' {} a -> s {periodOverPeriod = a} :: Computation)++-- | The period to @DataSetIdentifier@ computation configuration.+computation_periodToDate :: Lens.Lens' Computation (Prelude.Maybe PeriodToDateComputation)+computation_periodToDate = Lens.lens (\Computation' {periodToDate} -> periodToDate) (\s@Computation' {} a -> s {periodToDate = a} :: Computation)++-- | The top movers and bottom movers computation configuration.+computation_topBottomMovers :: Lens.Lens' Computation (Prelude.Maybe TopBottomMoversComputation)+computation_topBottomMovers = Lens.lens (\Computation' {topBottomMovers} -> topBottomMovers) (\s@Computation' {} a -> s {topBottomMovers = a} :: Computation)++-- | The top ranked and bottom ranked computation configuration.+computation_topBottomRanked :: Lens.Lens' Computation (Prelude.Maybe TopBottomRankedComputation)+computation_topBottomRanked = Lens.lens (\Computation' {topBottomRanked} -> topBottomRanked) (\s@Computation' {} a -> s {topBottomRanked = a} :: Computation)++-- | The total aggregation computation configuration.+computation_totalAggregation :: Lens.Lens' Computation (Prelude.Maybe TotalAggregationComputation)+computation_totalAggregation = Lens.lens (\Computation' {totalAggregation} -> totalAggregation) (\s@Computation' {} a -> s {totalAggregation = a} :: Computation)++-- | The unique values computation configuration.+computation_uniqueValues :: Lens.Lens' Computation (Prelude.Maybe UniqueValuesComputation)+computation_uniqueValues = Lens.lens (\Computation' {uniqueValues} -> uniqueValues) (\s@Computation' {} a -> s {uniqueValues = a} :: Computation)++instance Data.FromJSON Computation where+  parseJSON =+    Data.withObject+      "Computation"+      ( \x ->+          Computation'+            Prelude.<$> (x Data..:? "Forecast")+            Prelude.<*> (x Data..:? "GrowthRate")+            Prelude.<*> (x Data..:? "MaximumMinimum")+            Prelude.<*> (x Data..:? "MetricComparison")+            Prelude.<*> (x Data..:? "PeriodOverPeriod")+            Prelude.<*> (x Data..:? "PeriodToDate")+            Prelude.<*> (x Data..:? "TopBottomMovers")+            Prelude.<*> (x Data..:? "TopBottomRanked")+            Prelude.<*> (x Data..:? "TotalAggregation")+            Prelude.<*> (x Data..:? "UniqueValues")+      )++instance Prelude.Hashable Computation where+  hashWithSalt _salt Computation' {..} =+    _salt+      `Prelude.hashWithSalt` forecast+      `Prelude.hashWithSalt` growthRate+      `Prelude.hashWithSalt` maximumMinimum+      `Prelude.hashWithSalt` metricComparison+      `Prelude.hashWithSalt` periodOverPeriod+      `Prelude.hashWithSalt` periodToDate+      `Prelude.hashWithSalt` topBottomMovers+      `Prelude.hashWithSalt` topBottomRanked+      `Prelude.hashWithSalt` totalAggregation+      `Prelude.hashWithSalt` uniqueValues++instance Prelude.NFData Computation where+  rnf Computation' {..} =+    Prelude.rnf forecast+      `Prelude.seq` Prelude.rnf growthRate+      `Prelude.seq` Prelude.rnf maximumMinimum+      `Prelude.seq` Prelude.rnf metricComparison+      `Prelude.seq` Prelude.rnf periodOverPeriod+      `Prelude.seq` Prelude.rnf periodToDate+      `Prelude.seq` Prelude.rnf topBottomMovers+      `Prelude.seq` Prelude.rnf topBottomRanked+      `Prelude.seq` Prelude.rnf totalAggregation+      `Prelude.seq` Prelude.rnf uniqueValues++instance Data.ToJSON Computation where+  toJSON Computation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Forecast" Data..=) Prelude.<$> forecast,+            ("GrowthRate" Data..=) Prelude.<$> growthRate,+            ("MaximumMinimum" Data..=)+              Prelude.<$> maximumMinimum,+            ("MetricComparison" Data..=)+              Prelude.<$> metricComparison,+            ("PeriodOverPeriod" Data..=)+              Prelude.<$> periodOverPeriod,+            ("PeriodToDate" Data..=) Prelude.<$> periodToDate,+            ("TopBottomMovers" Data..=)+              Prelude.<$> topBottomMovers,+            ("TopBottomRanked" Data..=)+              Prelude.<$> topBottomRanked,+            ("TotalAggregation" Data..=)+              Prelude.<$> totalAggregation,+            ("UniqueValues" Data..=) Prelude.<$> uniqueValues+          ]+      )
+ gen/Amazonka/QuickSight/Types/ConditionalFormattingColor.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.QuickSight.Types.ConditionalFormattingColor+-- 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.QuickSight.Types.ConditionalFormattingColor where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ConditionalFormattingGradientColor+import Amazonka.QuickSight.Types.ConditionalFormattingSolidColor++-- | The formatting configuration for the color.+--+-- /See:/ 'newConditionalFormattingColor' smart constructor.+data ConditionalFormattingColor = ConditionalFormattingColor'+  { -- | Formatting configuration for gradient color.+    gradient :: Prelude.Maybe ConditionalFormattingGradientColor,+    -- | Formatting configuration for solid color.+    solid :: Prelude.Maybe ConditionalFormattingSolidColor+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConditionalFormattingColor' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gradient', 'conditionalFormattingColor_gradient' - Formatting configuration for gradient color.+--+-- 'solid', 'conditionalFormattingColor_solid' - Formatting configuration for solid color.+newConditionalFormattingColor ::+  ConditionalFormattingColor+newConditionalFormattingColor =+  ConditionalFormattingColor'+    { gradient =+        Prelude.Nothing,+      solid = Prelude.Nothing+    }++-- | Formatting configuration for gradient color.+conditionalFormattingColor_gradient :: Lens.Lens' ConditionalFormattingColor (Prelude.Maybe ConditionalFormattingGradientColor)+conditionalFormattingColor_gradient = Lens.lens (\ConditionalFormattingColor' {gradient} -> gradient) (\s@ConditionalFormattingColor' {} a -> s {gradient = a} :: ConditionalFormattingColor)++-- | Formatting configuration for solid color.+conditionalFormattingColor_solid :: Lens.Lens' ConditionalFormattingColor (Prelude.Maybe ConditionalFormattingSolidColor)+conditionalFormattingColor_solid = Lens.lens (\ConditionalFormattingColor' {solid} -> solid) (\s@ConditionalFormattingColor' {} a -> s {solid = a} :: ConditionalFormattingColor)++instance Data.FromJSON ConditionalFormattingColor where+  parseJSON =+    Data.withObject+      "ConditionalFormattingColor"+      ( \x ->+          ConditionalFormattingColor'+            Prelude.<$> (x Data..:? "Gradient")+            Prelude.<*> (x Data..:? "Solid")+      )++instance Prelude.Hashable ConditionalFormattingColor where+  hashWithSalt _salt ConditionalFormattingColor' {..} =+    _salt+      `Prelude.hashWithSalt` gradient+      `Prelude.hashWithSalt` solid++instance Prelude.NFData ConditionalFormattingColor where+  rnf ConditionalFormattingColor' {..} =+    Prelude.rnf gradient+      `Prelude.seq` Prelude.rnf solid++instance Data.ToJSON ConditionalFormattingColor where+  toJSON ConditionalFormattingColor' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Gradient" Data..=) Prelude.<$> gradient,+            ("Solid" Data..=) Prelude.<$> solid+          ]+      )
+ gen/Amazonka/QuickSight/Types/ConditionalFormattingCustomIconCondition.hs view
@@ -0,0 +1,146 @@+{-# 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.QuickSight.Types.ConditionalFormattingCustomIconCondition+-- 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.QuickSight.Types.ConditionalFormattingCustomIconCondition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ConditionalFormattingCustomIconOptions+import Amazonka.QuickSight.Types.ConditionalFormattingIconDisplayConfiguration++-- | Determines the custom condition for an icon set.+--+-- /See:/ 'newConditionalFormattingCustomIconCondition' smart constructor.+data ConditionalFormattingCustomIconCondition = ConditionalFormattingCustomIconCondition'+  { -- | Determines the color of the icon.+    color :: Prelude.Maybe Prelude.Text,+    -- | Determines the icon display configuration.+    displayConfiguration :: Prelude.Maybe ConditionalFormattingIconDisplayConfiguration,+    -- | The expression that determines the condition of the icon set.+    expression :: Data.Sensitive Prelude.Text,+    -- | Custom icon options for an icon set.+    iconOptions :: ConditionalFormattingCustomIconOptions+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConditionalFormattingCustomIconCondition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'color', 'conditionalFormattingCustomIconCondition_color' - Determines the color of the icon.+--+-- 'displayConfiguration', 'conditionalFormattingCustomIconCondition_displayConfiguration' - Determines the icon display configuration.+--+-- 'expression', 'conditionalFormattingCustomIconCondition_expression' - The expression that determines the condition of the icon set.+--+-- 'iconOptions', 'conditionalFormattingCustomIconCondition_iconOptions' - Custom icon options for an icon set.+newConditionalFormattingCustomIconCondition ::+  -- | 'expression'+  Prelude.Text ->+  -- | 'iconOptions'+  ConditionalFormattingCustomIconOptions ->+  ConditionalFormattingCustomIconCondition+newConditionalFormattingCustomIconCondition+  pExpression_+  pIconOptions_ =+    ConditionalFormattingCustomIconCondition'+      { color =+          Prelude.Nothing,+        displayConfiguration =+          Prelude.Nothing,+        expression =+          Data._Sensitive+            Lens.# pExpression_,+        iconOptions = pIconOptions_+      }++-- | Determines the color of the icon.+conditionalFormattingCustomIconCondition_color :: Lens.Lens' ConditionalFormattingCustomIconCondition (Prelude.Maybe Prelude.Text)+conditionalFormattingCustomIconCondition_color = Lens.lens (\ConditionalFormattingCustomIconCondition' {color} -> color) (\s@ConditionalFormattingCustomIconCondition' {} a -> s {color = a} :: ConditionalFormattingCustomIconCondition)++-- | Determines the icon display configuration.+conditionalFormattingCustomIconCondition_displayConfiguration :: Lens.Lens' ConditionalFormattingCustomIconCondition (Prelude.Maybe ConditionalFormattingIconDisplayConfiguration)+conditionalFormattingCustomIconCondition_displayConfiguration = Lens.lens (\ConditionalFormattingCustomIconCondition' {displayConfiguration} -> displayConfiguration) (\s@ConditionalFormattingCustomIconCondition' {} a -> s {displayConfiguration = a} :: ConditionalFormattingCustomIconCondition)++-- | The expression that determines the condition of the icon set.+conditionalFormattingCustomIconCondition_expression :: Lens.Lens' ConditionalFormattingCustomIconCondition Prelude.Text+conditionalFormattingCustomIconCondition_expression = Lens.lens (\ConditionalFormattingCustomIconCondition' {expression} -> expression) (\s@ConditionalFormattingCustomIconCondition' {} a -> s {expression = a} :: ConditionalFormattingCustomIconCondition) Prelude.. Data._Sensitive++-- | Custom icon options for an icon set.+conditionalFormattingCustomIconCondition_iconOptions :: Lens.Lens' ConditionalFormattingCustomIconCondition ConditionalFormattingCustomIconOptions+conditionalFormattingCustomIconCondition_iconOptions = Lens.lens (\ConditionalFormattingCustomIconCondition' {iconOptions} -> iconOptions) (\s@ConditionalFormattingCustomIconCondition' {} a -> s {iconOptions = a} :: ConditionalFormattingCustomIconCondition)++instance+  Data.FromJSON+    ConditionalFormattingCustomIconCondition+  where+  parseJSON =+    Data.withObject+      "ConditionalFormattingCustomIconCondition"+      ( \x ->+          ConditionalFormattingCustomIconCondition'+            Prelude.<$> (x Data..:? "Color")+            Prelude.<*> (x Data..:? "DisplayConfiguration")+            Prelude.<*> (x Data..: "Expression")+            Prelude.<*> (x Data..: "IconOptions")+      )++instance+  Prelude.Hashable+    ConditionalFormattingCustomIconCondition+  where+  hashWithSalt+    _salt+    ConditionalFormattingCustomIconCondition' {..} =+      _salt+        `Prelude.hashWithSalt` color+        `Prelude.hashWithSalt` displayConfiguration+        `Prelude.hashWithSalt` expression+        `Prelude.hashWithSalt` iconOptions++instance+  Prelude.NFData+    ConditionalFormattingCustomIconCondition+  where+  rnf ConditionalFormattingCustomIconCondition' {..} =+    Prelude.rnf color+      `Prelude.seq` Prelude.rnf displayConfiguration+      `Prelude.seq` Prelude.rnf expression+      `Prelude.seq` Prelude.rnf iconOptions++instance+  Data.ToJSON+    ConditionalFormattingCustomIconCondition+  where+  toJSON ConditionalFormattingCustomIconCondition' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Color" Data..=) Prelude.<$> color,+            ("DisplayConfiguration" Data..=)+              Prelude.<$> displayConfiguration,+            Prelude.Just ("Expression" Data..= expression),+            Prelude.Just ("IconOptions" Data..= iconOptions)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ConditionalFormattingCustomIconOptions.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.QuickSight.Types.ConditionalFormattingCustomIconOptions+-- 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.QuickSight.Types.ConditionalFormattingCustomIconOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Icon++-- | Custom icon options for an icon set.+--+-- /See:/ 'newConditionalFormattingCustomIconOptions' smart constructor.+data ConditionalFormattingCustomIconOptions = ConditionalFormattingCustomIconOptions'+  { -- | Determines the type of icon.+    icon :: Prelude.Maybe Icon,+    -- | Determines the Unicode icon type.+    unicodeIcon :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConditionalFormattingCustomIconOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'icon', 'conditionalFormattingCustomIconOptions_icon' - Determines the type of icon.+--+-- 'unicodeIcon', 'conditionalFormattingCustomIconOptions_unicodeIcon' - Determines the Unicode icon type.+newConditionalFormattingCustomIconOptions ::+  ConditionalFormattingCustomIconOptions+newConditionalFormattingCustomIconOptions =+  ConditionalFormattingCustomIconOptions'+    { icon =+        Prelude.Nothing,+      unicodeIcon = Prelude.Nothing+    }++-- | Determines the type of icon.+conditionalFormattingCustomIconOptions_icon :: Lens.Lens' ConditionalFormattingCustomIconOptions (Prelude.Maybe Icon)+conditionalFormattingCustomIconOptions_icon = Lens.lens (\ConditionalFormattingCustomIconOptions' {icon} -> icon) (\s@ConditionalFormattingCustomIconOptions' {} a -> s {icon = a} :: ConditionalFormattingCustomIconOptions)++-- | Determines the Unicode icon type.+conditionalFormattingCustomIconOptions_unicodeIcon :: Lens.Lens' ConditionalFormattingCustomIconOptions (Prelude.Maybe Prelude.Text)+conditionalFormattingCustomIconOptions_unicodeIcon = Lens.lens (\ConditionalFormattingCustomIconOptions' {unicodeIcon} -> unicodeIcon) (\s@ConditionalFormattingCustomIconOptions' {} a -> s {unicodeIcon = a} :: ConditionalFormattingCustomIconOptions)++instance+  Data.FromJSON+    ConditionalFormattingCustomIconOptions+  where+  parseJSON =+    Data.withObject+      "ConditionalFormattingCustomIconOptions"+      ( \x ->+          ConditionalFormattingCustomIconOptions'+            Prelude.<$> (x Data..:? "Icon")+            Prelude.<*> (x Data..:? "UnicodeIcon")+      )++instance+  Prelude.Hashable+    ConditionalFormattingCustomIconOptions+  where+  hashWithSalt+    _salt+    ConditionalFormattingCustomIconOptions' {..} =+      _salt+        `Prelude.hashWithSalt` icon+        `Prelude.hashWithSalt` unicodeIcon++instance+  Prelude.NFData+    ConditionalFormattingCustomIconOptions+  where+  rnf ConditionalFormattingCustomIconOptions' {..} =+    Prelude.rnf icon+      `Prelude.seq` Prelude.rnf unicodeIcon++instance+  Data.ToJSON+    ConditionalFormattingCustomIconOptions+  where+  toJSON ConditionalFormattingCustomIconOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Icon" Data..=) Prelude.<$> icon,+            ("UnicodeIcon" Data..=) Prelude.<$> unicodeIcon+          ]+      )
+ gen/Amazonka/QuickSight/Types/ConditionalFormattingGradientColor.hs view
@@ -0,0 +1,118 @@+{-# 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.QuickSight.Types.ConditionalFormattingGradientColor+-- 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.QuickSight.Types.ConditionalFormattingGradientColor where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.GradientColor++-- | Formatting configuration for gradient color.+--+-- /See:/ 'newConditionalFormattingGradientColor' smart constructor.+data ConditionalFormattingGradientColor = ConditionalFormattingGradientColor'+  { -- | The expression that determines the formatting configuration for gradient+    -- color.+    expression :: Data.Sensitive Prelude.Text,+    -- | Determines the color.+    color :: GradientColor+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConditionalFormattingGradientColor' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expression', 'conditionalFormattingGradientColor_expression' - The expression that determines the formatting configuration for gradient+-- color.+--+-- 'color', 'conditionalFormattingGradientColor_color' - Determines the color.+newConditionalFormattingGradientColor ::+  -- | 'expression'+  Prelude.Text ->+  -- | 'color'+  GradientColor ->+  ConditionalFormattingGradientColor+newConditionalFormattingGradientColor+  pExpression_+  pColor_ =+    ConditionalFormattingGradientColor'+      { expression =+          Data._Sensitive Lens.# pExpression_,+        color = pColor_+      }++-- | The expression that determines the formatting configuration for gradient+-- color.+conditionalFormattingGradientColor_expression :: Lens.Lens' ConditionalFormattingGradientColor Prelude.Text+conditionalFormattingGradientColor_expression = Lens.lens (\ConditionalFormattingGradientColor' {expression} -> expression) (\s@ConditionalFormattingGradientColor' {} a -> s {expression = a} :: ConditionalFormattingGradientColor) Prelude.. Data._Sensitive++-- | Determines the color.+conditionalFormattingGradientColor_color :: Lens.Lens' ConditionalFormattingGradientColor GradientColor+conditionalFormattingGradientColor_color = Lens.lens (\ConditionalFormattingGradientColor' {color} -> color) (\s@ConditionalFormattingGradientColor' {} a -> s {color = a} :: ConditionalFormattingGradientColor)++instance+  Data.FromJSON+    ConditionalFormattingGradientColor+  where+  parseJSON =+    Data.withObject+      "ConditionalFormattingGradientColor"+      ( \x ->+          ConditionalFormattingGradientColor'+            Prelude.<$> (x Data..: "Expression")+            Prelude.<*> (x Data..: "Color")+      )++instance+  Prelude.Hashable+    ConditionalFormattingGradientColor+  where+  hashWithSalt+    _salt+    ConditionalFormattingGradientColor' {..} =+      _salt+        `Prelude.hashWithSalt` expression+        `Prelude.hashWithSalt` color++instance+  Prelude.NFData+    ConditionalFormattingGradientColor+  where+  rnf ConditionalFormattingGradientColor' {..} =+    Prelude.rnf expression+      `Prelude.seq` Prelude.rnf color++instance+  Data.ToJSON+    ConditionalFormattingGradientColor+  where+  toJSON ConditionalFormattingGradientColor' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Expression" Data..= expression),+            Prelude.Just ("Color" Data..= color)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ConditionalFormattingIcon.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ConditionalFormattingIcon+-- 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.QuickSight.Types.ConditionalFormattingIcon where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ConditionalFormattingCustomIconCondition+import Amazonka.QuickSight.Types.ConditionalFormattingIconSet++-- | The formatting configuration for the icon.+--+-- /See:/ 'newConditionalFormattingIcon' smart constructor.+data ConditionalFormattingIcon = ConditionalFormattingIcon'+  { -- | Determines the custom condition for an icon set.+    customCondition :: Prelude.Maybe ConditionalFormattingCustomIconCondition,+    -- | Formatting configuration for icon set.+    iconSet :: Prelude.Maybe ConditionalFormattingIconSet+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConditionalFormattingIcon' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customCondition', 'conditionalFormattingIcon_customCondition' - Determines the custom condition for an icon set.+--+-- 'iconSet', 'conditionalFormattingIcon_iconSet' - Formatting configuration for icon set.+newConditionalFormattingIcon ::+  ConditionalFormattingIcon+newConditionalFormattingIcon =+  ConditionalFormattingIcon'+    { customCondition =+        Prelude.Nothing,+      iconSet = Prelude.Nothing+    }++-- | Determines the custom condition for an icon set.+conditionalFormattingIcon_customCondition :: Lens.Lens' ConditionalFormattingIcon (Prelude.Maybe ConditionalFormattingCustomIconCondition)+conditionalFormattingIcon_customCondition = Lens.lens (\ConditionalFormattingIcon' {customCondition} -> customCondition) (\s@ConditionalFormattingIcon' {} a -> s {customCondition = a} :: ConditionalFormattingIcon)++-- | Formatting configuration for icon set.+conditionalFormattingIcon_iconSet :: Lens.Lens' ConditionalFormattingIcon (Prelude.Maybe ConditionalFormattingIconSet)+conditionalFormattingIcon_iconSet = Lens.lens (\ConditionalFormattingIcon' {iconSet} -> iconSet) (\s@ConditionalFormattingIcon' {} a -> s {iconSet = a} :: ConditionalFormattingIcon)++instance Data.FromJSON ConditionalFormattingIcon where+  parseJSON =+    Data.withObject+      "ConditionalFormattingIcon"+      ( \x ->+          ConditionalFormattingIcon'+            Prelude.<$> (x Data..:? "CustomCondition")+            Prelude.<*> (x Data..:? "IconSet")+      )++instance Prelude.Hashable ConditionalFormattingIcon where+  hashWithSalt _salt ConditionalFormattingIcon' {..} =+    _salt+      `Prelude.hashWithSalt` customCondition+      `Prelude.hashWithSalt` iconSet++instance Prelude.NFData ConditionalFormattingIcon where+  rnf ConditionalFormattingIcon' {..} =+    Prelude.rnf customCondition+      `Prelude.seq` Prelude.rnf iconSet++instance Data.ToJSON ConditionalFormattingIcon where+  toJSON ConditionalFormattingIcon' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomCondition" Data..=)+              Prelude.<$> customCondition,+            ("IconSet" Data..=) Prelude.<$> iconSet+          ]+      )
+ gen/Amazonka/QuickSight/Types/ConditionalFormattingIconDisplayConfiguration.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.QuickSight.Types.ConditionalFormattingIconDisplayConfiguration+-- 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.QuickSight.Types.ConditionalFormattingIconDisplayConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ConditionalFormattingIconDisplayOption++-- | Determines the icon display configuration.+--+-- /See:/ 'newConditionalFormattingIconDisplayConfiguration' smart constructor.+data ConditionalFormattingIconDisplayConfiguration = ConditionalFormattingIconDisplayConfiguration'+  { -- | Determines the icon display configuration.+    iconDisplayOption :: Prelude.Maybe ConditionalFormattingIconDisplayOption+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConditionalFormattingIconDisplayConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iconDisplayOption', 'conditionalFormattingIconDisplayConfiguration_iconDisplayOption' - Determines the icon display configuration.+newConditionalFormattingIconDisplayConfiguration ::+  ConditionalFormattingIconDisplayConfiguration+newConditionalFormattingIconDisplayConfiguration =+  ConditionalFormattingIconDisplayConfiguration'+    { iconDisplayOption =+        Prelude.Nothing+    }++-- | Determines the icon display configuration.+conditionalFormattingIconDisplayConfiguration_iconDisplayOption :: Lens.Lens' ConditionalFormattingIconDisplayConfiguration (Prelude.Maybe ConditionalFormattingIconDisplayOption)+conditionalFormattingIconDisplayConfiguration_iconDisplayOption = Lens.lens (\ConditionalFormattingIconDisplayConfiguration' {iconDisplayOption} -> iconDisplayOption) (\s@ConditionalFormattingIconDisplayConfiguration' {} a -> s {iconDisplayOption = a} :: ConditionalFormattingIconDisplayConfiguration)++instance+  Data.FromJSON+    ConditionalFormattingIconDisplayConfiguration+  where+  parseJSON =+    Data.withObject+      "ConditionalFormattingIconDisplayConfiguration"+      ( \x ->+          ConditionalFormattingIconDisplayConfiguration'+            Prelude.<$> (x Data..:? "IconDisplayOption")+      )++instance+  Prelude.Hashable+    ConditionalFormattingIconDisplayConfiguration+  where+  hashWithSalt+    _salt+    ConditionalFormattingIconDisplayConfiguration' {..} =+      _salt `Prelude.hashWithSalt` iconDisplayOption++instance+  Prelude.NFData+    ConditionalFormattingIconDisplayConfiguration+  where+  rnf+    ConditionalFormattingIconDisplayConfiguration' {..} =+      Prelude.rnf iconDisplayOption++instance+  Data.ToJSON+    ConditionalFormattingIconDisplayConfiguration+  where+  toJSON+    ConditionalFormattingIconDisplayConfiguration' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("IconDisplayOption" Data..=)+                Prelude.<$> iconDisplayOption+            ]+        )
+ gen/Amazonka/QuickSight/Types/ConditionalFormattingIconDisplayOption.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ConditionalFormattingIconDisplayOption+-- 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.QuickSight.Types.ConditionalFormattingIconDisplayOption+  ( ConditionalFormattingIconDisplayOption+      ( ..,+        ConditionalFormattingIconDisplayOption_ICON_ONLY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConditionalFormattingIconDisplayOption = ConditionalFormattingIconDisplayOption'+  { fromConditionalFormattingIconDisplayOption ::+      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 ConditionalFormattingIconDisplayOption_ICON_ONLY :: ConditionalFormattingIconDisplayOption+pattern ConditionalFormattingIconDisplayOption_ICON_ONLY = ConditionalFormattingIconDisplayOption' "ICON_ONLY"++{-# COMPLETE+  ConditionalFormattingIconDisplayOption_ICON_ONLY,+  ConditionalFormattingIconDisplayOption'+  #-}
+ gen/Amazonka/QuickSight/Types/ConditionalFormattingIconSet.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.QuickSight.Types.ConditionalFormattingIconSet+-- 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.QuickSight.Types.ConditionalFormattingIconSet where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ConditionalFormattingIconSetType++-- | Formatting configuration for icon set.+--+-- /See:/ 'newConditionalFormattingIconSet' smart constructor.+data ConditionalFormattingIconSet = ConditionalFormattingIconSet'+  { -- | Determines the icon set type.+    iconSetType :: Prelude.Maybe ConditionalFormattingIconSetType,+    -- | The expression that determines the formatting configuration for the icon+    -- set.+    expression :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConditionalFormattingIconSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iconSetType', 'conditionalFormattingIconSet_iconSetType' - Determines the icon set type.+--+-- 'expression', 'conditionalFormattingIconSet_expression' - The expression that determines the formatting configuration for the icon+-- set.+newConditionalFormattingIconSet ::+  -- | 'expression'+  Prelude.Text ->+  ConditionalFormattingIconSet+newConditionalFormattingIconSet pExpression_ =+  ConditionalFormattingIconSet'+    { iconSetType =+        Prelude.Nothing,+      expression =+        Data._Sensitive Lens.# pExpression_+    }++-- | Determines the icon set type.+conditionalFormattingIconSet_iconSetType :: Lens.Lens' ConditionalFormattingIconSet (Prelude.Maybe ConditionalFormattingIconSetType)+conditionalFormattingIconSet_iconSetType = Lens.lens (\ConditionalFormattingIconSet' {iconSetType} -> iconSetType) (\s@ConditionalFormattingIconSet' {} a -> s {iconSetType = a} :: ConditionalFormattingIconSet)++-- | The expression that determines the formatting configuration for the icon+-- set.+conditionalFormattingIconSet_expression :: Lens.Lens' ConditionalFormattingIconSet Prelude.Text+conditionalFormattingIconSet_expression = Lens.lens (\ConditionalFormattingIconSet' {expression} -> expression) (\s@ConditionalFormattingIconSet' {} a -> s {expression = a} :: ConditionalFormattingIconSet) Prelude.. Data._Sensitive++instance Data.FromJSON ConditionalFormattingIconSet where+  parseJSON =+    Data.withObject+      "ConditionalFormattingIconSet"+      ( \x ->+          ConditionalFormattingIconSet'+            Prelude.<$> (x Data..:? "IconSetType")+            Prelude.<*> (x Data..: "Expression")+      )++instance+  Prelude.Hashable+    ConditionalFormattingIconSet+  where+  hashWithSalt _salt ConditionalFormattingIconSet' {..} =+    _salt+      `Prelude.hashWithSalt` iconSetType+      `Prelude.hashWithSalt` expression++instance Prelude.NFData ConditionalFormattingIconSet where+  rnf ConditionalFormattingIconSet' {..} =+    Prelude.rnf iconSetType+      `Prelude.seq` Prelude.rnf expression++instance Data.ToJSON ConditionalFormattingIconSet where+  toJSON ConditionalFormattingIconSet' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("IconSetType" Data..=) Prelude.<$> iconSetType,+            Prelude.Just ("Expression" Data..= expression)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ConditionalFormattingIconSetType.hs view
@@ -0,0 +1,116 @@+{-# 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.QuickSight.Types.ConditionalFormattingIconSetType+-- 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.QuickSight.Types.ConditionalFormattingIconSetType+  ( ConditionalFormattingIconSetType+      ( ..,+        ConditionalFormattingIconSetType_BARS,+        ConditionalFormattingIconSetType_CARET_UP_MINUS_DOWN,+        ConditionalFormattingIconSetType_CHECK_X,+        ConditionalFormattingIconSetType_FLAGS,+        ConditionalFormattingIconSetType_FOUR_COLOR_ARROW,+        ConditionalFormattingIconSetType_FOUR_GRAY_ARROW,+        ConditionalFormattingIconSetType_PLUS_MINUS,+        ConditionalFormattingIconSetType_THREE_CIRCLE,+        ConditionalFormattingIconSetType_THREE_COLOR_ARROW,+        ConditionalFormattingIconSetType_THREE_GRAY_ARROW,+        ConditionalFormattingIconSetType_THREE_SHAPE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConditionalFormattingIconSetType = ConditionalFormattingIconSetType'+  { fromConditionalFormattingIconSetType ::+      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 ConditionalFormattingIconSetType_BARS :: ConditionalFormattingIconSetType+pattern ConditionalFormattingIconSetType_BARS = ConditionalFormattingIconSetType' "BARS"++pattern ConditionalFormattingIconSetType_CARET_UP_MINUS_DOWN :: ConditionalFormattingIconSetType+pattern ConditionalFormattingIconSetType_CARET_UP_MINUS_DOWN = ConditionalFormattingIconSetType' "CARET_UP_MINUS_DOWN"++pattern ConditionalFormattingIconSetType_CHECK_X :: ConditionalFormattingIconSetType+pattern ConditionalFormattingIconSetType_CHECK_X = ConditionalFormattingIconSetType' "CHECK_X"++pattern ConditionalFormattingIconSetType_FLAGS :: ConditionalFormattingIconSetType+pattern ConditionalFormattingIconSetType_FLAGS = ConditionalFormattingIconSetType' "FLAGS"++pattern ConditionalFormattingIconSetType_FOUR_COLOR_ARROW :: ConditionalFormattingIconSetType+pattern ConditionalFormattingIconSetType_FOUR_COLOR_ARROW = ConditionalFormattingIconSetType' "FOUR_COLOR_ARROW"++pattern ConditionalFormattingIconSetType_FOUR_GRAY_ARROW :: ConditionalFormattingIconSetType+pattern ConditionalFormattingIconSetType_FOUR_GRAY_ARROW = ConditionalFormattingIconSetType' "FOUR_GRAY_ARROW"++pattern ConditionalFormattingIconSetType_PLUS_MINUS :: ConditionalFormattingIconSetType+pattern ConditionalFormattingIconSetType_PLUS_MINUS = ConditionalFormattingIconSetType' "PLUS_MINUS"++pattern ConditionalFormattingIconSetType_THREE_CIRCLE :: ConditionalFormattingIconSetType+pattern ConditionalFormattingIconSetType_THREE_CIRCLE = ConditionalFormattingIconSetType' "THREE_CIRCLE"++pattern ConditionalFormattingIconSetType_THREE_COLOR_ARROW :: ConditionalFormattingIconSetType+pattern ConditionalFormattingIconSetType_THREE_COLOR_ARROW = ConditionalFormattingIconSetType' "THREE_COLOR_ARROW"++pattern ConditionalFormattingIconSetType_THREE_GRAY_ARROW :: ConditionalFormattingIconSetType+pattern ConditionalFormattingIconSetType_THREE_GRAY_ARROW = ConditionalFormattingIconSetType' "THREE_GRAY_ARROW"++pattern ConditionalFormattingIconSetType_THREE_SHAPE :: ConditionalFormattingIconSetType+pattern ConditionalFormattingIconSetType_THREE_SHAPE = ConditionalFormattingIconSetType' "THREE_SHAPE"++{-# COMPLETE+  ConditionalFormattingIconSetType_BARS,+  ConditionalFormattingIconSetType_CARET_UP_MINUS_DOWN,+  ConditionalFormattingIconSetType_CHECK_X,+  ConditionalFormattingIconSetType_FLAGS,+  ConditionalFormattingIconSetType_FOUR_COLOR_ARROW,+  ConditionalFormattingIconSetType_FOUR_GRAY_ARROW,+  ConditionalFormattingIconSetType_PLUS_MINUS,+  ConditionalFormattingIconSetType_THREE_CIRCLE,+  ConditionalFormattingIconSetType_THREE_COLOR_ARROW,+  ConditionalFormattingIconSetType_THREE_GRAY_ARROW,+  ConditionalFormattingIconSetType_THREE_SHAPE,+  ConditionalFormattingIconSetType'+  #-}
+ gen/Amazonka/QuickSight/Types/ConditionalFormattingSolidColor.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.QuickSight.Types.ConditionalFormattingSolidColor+-- 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.QuickSight.Types.ConditionalFormattingSolidColor 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++-- | Formatting configuration for solid color.+--+-- /See:/ 'newConditionalFormattingSolidColor' smart constructor.+data ConditionalFormattingSolidColor = ConditionalFormattingSolidColor'+  { -- | Determines the color.+    color :: Prelude.Maybe Prelude.Text,+    -- | The expression that determines the formatting configuration for solid+    -- color.+    expression :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConditionalFormattingSolidColor' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'color', 'conditionalFormattingSolidColor_color' - Determines the color.+--+-- 'expression', 'conditionalFormattingSolidColor_expression' - The expression that determines the formatting configuration for solid+-- color.+newConditionalFormattingSolidColor ::+  -- | 'expression'+  Prelude.Text ->+  ConditionalFormattingSolidColor+newConditionalFormattingSolidColor pExpression_ =+  ConditionalFormattingSolidColor'+    { color =+        Prelude.Nothing,+      expression =+        Data._Sensitive Lens.# pExpression_+    }++-- | Determines the color.+conditionalFormattingSolidColor_color :: Lens.Lens' ConditionalFormattingSolidColor (Prelude.Maybe Prelude.Text)+conditionalFormattingSolidColor_color = Lens.lens (\ConditionalFormattingSolidColor' {color} -> color) (\s@ConditionalFormattingSolidColor' {} a -> s {color = a} :: ConditionalFormattingSolidColor)++-- | The expression that determines the formatting configuration for solid+-- color.+conditionalFormattingSolidColor_expression :: Lens.Lens' ConditionalFormattingSolidColor Prelude.Text+conditionalFormattingSolidColor_expression = Lens.lens (\ConditionalFormattingSolidColor' {expression} -> expression) (\s@ConditionalFormattingSolidColor' {} a -> s {expression = a} :: ConditionalFormattingSolidColor) Prelude.. Data._Sensitive++instance+  Data.FromJSON+    ConditionalFormattingSolidColor+  where+  parseJSON =+    Data.withObject+      "ConditionalFormattingSolidColor"+      ( \x ->+          ConditionalFormattingSolidColor'+            Prelude.<$> (x Data..:? "Color")+            Prelude.<*> (x Data..: "Expression")+      )++instance+  Prelude.Hashable+    ConditionalFormattingSolidColor+  where+  hashWithSalt+    _salt+    ConditionalFormattingSolidColor' {..} =+      _salt+        `Prelude.hashWithSalt` color+        `Prelude.hashWithSalt` expression++instance+  Prelude.NFData+    ConditionalFormattingSolidColor+  where+  rnf ConditionalFormattingSolidColor' {..} =+    Prelude.rnf color+      `Prelude.seq` Prelude.rnf expression++instance Data.ToJSON ConditionalFormattingSolidColor where+  toJSON ConditionalFormattingSolidColor' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Color" Data..=) Prelude.<$> color,+            Prelude.Just ("Expression" Data..= expression)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ContributionAnalysisDefault.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.QuickSight.Types.ContributionAnalysisDefault+-- 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.QuickSight.Types.ContributionAnalysisDefault where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnIdentifier++-- | The contribution analysis visual display for a line, pie, or bar chart.+--+-- /See:/ 'newContributionAnalysisDefault' smart constructor.+data ContributionAnalysisDefault = ContributionAnalysisDefault'+  { -- | The measure field that is used in the contribution analysis.+    measureFieldId :: Prelude.Text,+    -- | The dimensions columns that are used in the contribution analysis,+    -- usually a list of @ColumnIdentifiers@.+    contributorDimensions :: Prelude.NonEmpty ColumnIdentifier+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ContributionAnalysisDefault' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'measureFieldId', 'contributionAnalysisDefault_measureFieldId' - The measure field that is used in the contribution analysis.+--+-- 'contributorDimensions', 'contributionAnalysisDefault_contributorDimensions' - The dimensions columns that are used in the contribution analysis,+-- usually a list of @ColumnIdentifiers@.+newContributionAnalysisDefault ::+  -- | 'measureFieldId'+  Prelude.Text ->+  -- | 'contributorDimensions'+  Prelude.NonEmpty ColumnIdentifier ->+  ContributionAnalysisDefault+newContributionAnalysisDefault+  pMeasureFieldId_+  pContributorDimensions_ =+    ContributionAnalysisDefault'+      { measureFieldId =+          pMeasureFieldId_,+        contributorDimensions =+          Lens.coerced Lens.# pContributorDimensions_+      }++-- | The measure field that is used in the contribution analysis.+contributionAnalysisDefault_measureFieldId :: Lens.Lens' ContributionAnalysisDefault Prelude.Text+contributionAnalysisDefault_measureFieldId = Lens.lens (\ContributionAnalysisDefault' {measureFieldId} -> measureFieldId) (\s@ContributionAnalysisDefault' {} a -> s {measureFieldId = a} :: ContributionAnalysisDefault)++-- | The dimensions columns that are used in the contribution analysis,+-- usually a list of @ColumnIdentifiers@.+contributionAnalysisDefault_contributorDimensions :: Lens.Lens' ContributionAnalysisDefault (Prelude.NonEmpty ColumnIdentifier)+contributionAnalysisDefault_contributorDimensions = Lens.lens (\ContributionAnalysisDefault' {contributorDimensions} -> contributorDimensions) (\s@ContributionAnalysisDefault' {} a -> s {contributorDimensions = a} :: ContributionAnalysisDefault) Prelude.. Lens.coerced++instance Data.FromJSON ContributionAnalysisDefault where+  parseJSON =+    Data.withObject+      "ContributionAnalysisDefault"+      ( \x ->+          ContributionAnalysisDefault'+            Prelude.<$> (x Data..: "MeasureFieldId")+            Prelude.<*> (x Data..: "ContributorDimensions")+      )++instance Prelude.Hashable ContributionAnalysisDefault where+  hashWithSalt _salt ContributionAnalysisDefault' {..} =+    _salt+      `Prelude.hashWithSalt` measureFieldId+      `Prelude.hashWithSalt` contributorDimensions++instance Prelude.NFData ContributionAnalysisDefault where+  rnf ContributionAnalysisDefault' {..} =+    Prelude.rnf measureFieldId+      `Prelude.seq` Prelude.rnf contributorDimensions++instance Data.ToJSON ContributionAnalysisDefault where+  toJSON ContributionAnalysisDefault' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("MeasureFieldId" Data..= measureFieldId),+            Prelude.Just+              ( "ContributorDimensions"+                  Data..= contributorDimensions+              )+          ]+      )
+ gen/Amazonka/QuickSight/Types/CreateColumnsOperation.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.QuickSight.Types.CreateColumnsOperation+-- 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.QuickSight.Types.CreateColumnsOperation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CalculatedColumn++-- | A transform operation that creates calculated columns. Columns created+-- in one such operation form a lexical closure.+--+-- /See:/ 'newCreateColumnsOperation' smart constructor.+data CreateColumnsOperation = CreateColumnsOperation'+  { -- | Calculated columns to create.+    columns :: Prelude.NonEmpty CalculatedColumn+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateColumnsOperation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columns', 'createColumnsOperation_columns' - Calculated columns to create.+newCreateColumnsOperation ::+  -- | 'columns'+  Prelude.NonEmpty CalculatedColumn ->+  CreateColumnsOperation+newCreateColumnsOperation pColumns_ =+  CreateColumnsOperation'+    { columns =+        Lens.coerced Lens.# pColumns_+    }++-- | Calculated columns to create.+createColumnsOperation_columns :: Lens.Lens' CreateColumnsOperation (Prelude.NonEmpty CalculatedColumn)+createColumnsOperation_columns = Lens.lens (\CreateColumnsOperation' {columns} -> columns) (\s@CreateColumnsOperation' {} a -> s {columns = a} :: CreateColumnsOperation) Prelude.. Lens.coerced++instance Data.FromJSON CreateColumnsOperation where+  parseJSON =+    Data.withObject+      "CreateColumnsOperation"+      ( \x ->+          CreateColumnsOperation'+            Prelude.<$> (x Data..: "Columns")+      )++instance Prelude.Hashable CreateColumnsOperation where+  hashWithSalt _salt CreateColumnsOperation' {..} =+    _salt `Prelude.hashWithSalt` columns++instance Prelude.NFData CreateColumnsOperation where+  rnf CreateColumnsOperation' {..} = Prelude.rnf columns++instance Data.ToJSON CreateColumnsOperation where+  toJSON CreateColumnsOperation' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Columns" Data..= columns)]+      )
+ gen/Amazonka/QuickSight/Types/CredentialPair.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.QuickSight.Types.CredentialPair+-- 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.QuickSight.Types.CredentialPair where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataSourceParameters++-- | The combination of user name and password that are used as credentials.+--+-- /See:/ 'newCredentialPair' smart constructor.+data CredentialPair = CredentialPair'+  { -- | A set of alternate data source parameters that you want to share for+    -- these credentials. The credentials are applied in tandem with the data+    -- source parameters when you copy a data source by using a create or+    -- update request. The API operation compares the @DataSourceParameters@+    -- structure that\'s in the request with the structures in the+    -- @AlternateDataSourceParameters@ allow list. If the structures are an+    -- exact match, the request is allowed to use the new data source with the+    -- existing credentials. If the @AlternateDataSourceParameters@ list is+    -- null, the @DataSourceParameters@ originally used with these+    -- @Credentials@ is automatically allowed.+    alternateDataSourceParameters :: Prelude.Maybe (Prelude.NonEmpty DataSourceParameters),+    -- | User name.+    username :: Prelude.Text,+    -- | Password.+    password :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CredentialPair' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alternateDataSourceParameters', 'credentialPair_alternateDataSourceParameters' - A set of alternate data source parameters that you want to share for+-- these credentials. The credentials are applied in tandem with the data+-- source parameters when you copy a data source by using a create or+-- update request. The API operation compares the @DataSourceParameters@+-- structure that\'s in the request with the structures in the+-- @AlternateDataSourceParameters@ allow list. If the structures are an+-- exact match, the request is allowed to use the new data source with the+-- existing credentials. If the @AlternateDataSourceParameters@ list is+-- null, the @DataSourceParameters@ originally used with these+-- @Credentials@ is automatically allowed.+--+-- 'username', 'credentialPair_username' - User name.+--+-- 'password', 'credentialPair_password' - Password.+newCredentialPair ::+  -- | 'username'+  Prelude.Text ->+  -- | 'password'+  Prelude.Text ->+  CredentialPair+newCredentialPair pUsername_ pPassword_ =+  CredentialPair'+    { alternateDataSourceParameters =+        Prelude.Nothing,+      username = pUsername_,+      password = pPassword_+    }++-- | A set of alternate data source parameters that you want to share for+-- these credentials. The credentials are applied in tandem with the data+-- source parameters when you copy a data source by using a create or+-- update request. The API operation compares the @DataSourceParameters@+-- structure that\'s in the request with the structures in the+-- @AlternateDataSourceParameters@ allow list. If the structures are an+-- exact match, the request is allowed to use the new data source with the+-- existing credentials. If the @AlternateDataSourceParameters@ list is+-- null, the @DataSourceParameters@ originally used with these+-- @Credentials@ is automatically allowed.+credentialPair_alternateDataSourceParameters :: Lens.Lens' CredentialPair (Prelude.Maybe (Prelude.NonEmpty DataSourceParameters))+credentialPair_alternateDataSourceParameters = Lens.lens (\CredentialPair' {alternateDataSourceParameters} -> alternateDataSourceParameters) (\s@CredentialPair' {} a -> s {alternateDataSourceParameters = a} :: CredentialPair) Prelude.. Lens.mapping Lens.coerced++-- | User name.+credentialPair_username :: Lens.Lens' CredentialPair Prelude.Text+credentialPair_username = Lens.lens (\CredentialPair' {username} -> username) (\s@CredentialPair' {} a -> s {username = a} :: CredentialPair)++-- | Password.+credentialPair_password :: Lens.Lens' CredentialPair Prelude.Text+credentialPair_password = Lens.lens (\CredentialPair' {password} -> password) (\s@CredentialPair' {} a -> s {password = a} :: CredentialPair)++instance Prelude.Hashable CredentialPair where+  hashWithSalt _salt CredentialPair' {..} =+    _salt+      `Prelude.hashWithSalt` alternateDataSourceParameters+      `Prelude.hashWithSalt` username+      `Prelude.hashWithSalt` password++instance Prelude.NFData CredentialPair where+  rnf CredentialPair' {..} =+    Prelude.rnf alternateDataSourceParameters+      `Prelude.seq` Prelude.rnf username+      `Prelude.seq` Prelude.rnf password++instance Data.ToJSON CredentialPair where+  toJSON CredentialPair' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AlternateDataSourceParameters" Data..=)+              Prelude.<$> alternateDataSourceParameters,+            Prelude.Just ("Username" Data..= username),+            Prelude.Just ("Password" Data..= password)+          ]+      )
+ gen/Amazonka/QuickSight/Types/CrossDatasetTypes.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.QuickSight.Types.CrossDatasetTypes+-- 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.QuickSight.Types.CrossDatasetTypes+  ( CrossDatasetTypes+      ( ..,+        CrossDatasetTypes_ALL_DATASETS,+        CrossDatasetTypes_SINGLE_DATASET+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CrossDatasetTypes = CrossDatasetTypes'+  { fromCrossDatasetTypes ::+      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 CrossDatasetTypes_ALL_DATASETS :: CrossDatasetTypes+pattern CrossDatasetTypes_ALL_DATASETS = CrossDatasetTypes' "ALL_DATASETS"++pattern CrossDatasetTypes_SINGLE_DATASET :: CrossDatasetTypes+pattern CrossDatasetTypes_SINGLE_DATASET = CrossDatasetTypes' "SINGLE_DATASET"++{-# COMPLETE+  CrossDatasetTypes_ALL_DATASETS,+  CrossDatasetTypes_SINGLE_DATASET,+  CrossDatasetTypes'+  #-}
+ gen/Amazonka/QuickSight/Types/CurrencyDisplayFormatConfiguration.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.QuickSight.Types.CurrencyDisplayFormatConfiguration+-- 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.QuickSight.Types.CurrencyDisplayFormatConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DecimalPlacesConfiguration+import Amazonka.QuickSight.Types.NegativeValueConfiguration+import Amazonka.QuickSight.Types.NullValueFormatConfiguration+import Amazonka.QuickSight.Types.NumberScale+import Amazonka.QuickSight.Types.NumericSeparatorConfiguration++-- | The options that determine the currency display format configuration.+--+-- /See:/ 'newCurrencyDisplayFormatConfiguration' smart constructor.+data CurrencyDisplayFormatConfiguration = CurrencyDisplayFormatConfiguration'+  { -- | The option that determines the decimal places configuration.+    decimalPlacesConfiguration :: Prelude.Maybe DecimalPlacesConfiguration,+    -- | The options that determine the negative value configuration.+    negativeValueConfiguration :: Prelude.Maybe NegativeValueConfiguration,+    -- | The options that determine the null value format configuration.+    nullValueFormatConfiguration :: Prelude.Maybe NullValueFormatConfiguration,+    -- | Determines the number scale value for the currency format.+    numberScale :: Prelude.Maybe NumberScale,+    -- | Determines the prefix value of the currency format.+    prefix :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The options that determine the numeric separator configuration.+    separatorConfiguration :: Prelude.Maybe NumericSeparatorConfiguration,+    -- | Determines the suffix value of the currency format.+    suffix :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Determines the symbol for the currency format.+    symbol :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CurrencyDisplayFormatConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'decimalPlacesConfiguration', 'currencyDisplayFormatConfiguration_decimalPlacesConfiguration' - The option that determines the decimal places configuration.+--+-- 'negativeValueConfiguration', 'currencyDisplayFormatConfiguration_negativeValueConfiguration' - The options that determine the negative value configuration.+--+-- 'nullValueFormatConfiguration', 'currencyDisplayFormatConfiguration_nullValueFormatConfiguration' - The options that determine the null value format configuration.+--+-- 'numberScale', 'currencyDisplayFormatConfiguration_numberScale' - Determines the number scale value for the currency format.+--+-- 'prefix', 'currencyDisplayFormatConfiguration_prefix' - Determines the prefix value of the currency format.+--+-- 'separatorConfiguration', 'currencyDisplayFormatConfiguration_separatorConfiguration' - The options that determine the numeric separator configuration.+--+-- 'suffix', 'currencyDisplayFormatConfiguration_suffix' - Determines the suffix value of the currency format.+--+-- 'symbol', 'currencyDisplayFormatConfiguration_symbol' - Determines the symbol for the currency format.+newCurrencyDisplayFormatConfiguration ::+  CurrencyDisplayFormatConfiguration+newCurrencyDisplayFormatConfiguration =+  CurrencyDisplayFormatConfiguration'+    { decimalPlacesConfiguration =+        Prelude.Nothing,+      negativeValueConfiguration =+        Prelude.Nothing,+      nullValueFormatConfiguration =+        Prelude.Nothing,+      numberScale = Prelude.Nothing,+      prefix = Prelude.Nothing,+      separatorConfiguration =+        Prelude.Nothing,+      suffix = Prelude.Nothing,+      symbol = Prelude.Nothing+    }++-- | The option that determines the decimal places configuration.+currencyDisplayFormatConfiguration_decimalPlacesConfiguration :: Lens.Lens' CurrencyDisplayFormatConfiguration (Prelude.Maybe DecimalPlacesConfiguration)+currencyDisplayFormatConfiguration_decimalPlacesConfiguration = Lens.lens (\CurrencyDisplayFormatConfiguration' {decimalPlacesConfiguration} -> decimalPlacesConfiguration) (\s@CurrencyDisplayFormatConfiguration' {} a -> s {decimalPlacesConfiguration = a} :: CurrencyDisplayFormatConfiguration)++-- | The options that determine the negative value configuration.+currencyDisplayFormatConfiguration_negativeValueConfiguration :: Lens.Lens' CurrencyDisplayFormatConfiguration (Prelude.Maybe NegativeValueConfiguration)+currencyDisplayFormatConfiguration_negativeValueConfiguration = Lens.lens (\CurrencyDisplayFormatConfiguration' {negativeValueConfiguration} -> negativeValueConfiguration) (\s@CurrencyDisplayFormatConfiguration' {} a -> s {negativeValueConfiguration = a} :: CurrencyDisplayFormatConfiguration)++-- | The options that determine the null value format configuration.+currencyDisplayFormatConfiguration_nullValueFormatConfiguration :: Lens.Lens' CurrencyDisplayFormatConfiguration (Prelude.Maybe NullValueFormatConfiguration)+currencyDisplayFormatConfiguration_nullValueFormatConfiguration = Lens.lens (\CurrencyDisplayFormatConfiguration' {nullValueFormatConfiguration} -> nullValueFormatConfiguration) (\s@CurrencyDisplayFormatConfiguration' {} a -> s {nullValueFormatConfiguration = a} :: CurrencyDisplayFormatConfiguration)++-- | Determines the number scale value for the currency format.+currencyDisplayFormatConfiguration_numberScale :: Lens.Lens' CurrencyDisplayFormatConfiguration (Prelude.Maybe NumberScale)+currencyDisplayFormatConfiguration_numberScale = Lens.lens (\CurrencyDisplayFormatConfiguration' {numberScale} -> numberScale) (\s@CurrencyDisplayFormatConfiguration' {} a -> s {numberScale = a} :: CurrencyDisplayFormatConfiguration)++-- | Determines the prefix value of the currency format.+currencyDisplayFormatConfiguration_prefix :: Lens.Lens' CurrencyDisplayFormatConfiguration (Prelude.Maybe Prelude.Text)+currencyDisplayFormatConfiguration_prefix = Lens.lens (\CurrencyDisplayFormatConfiguration' {prefix} -> prefix) (\s@CurrencyDisplayFormatConfiguration' {} a -> s {prefix = a} :: CurrencyDisplayFormatConfiguration) Prelude.. Lens.mapping Data._Sensitive++-- | The options that determine the numeric separator configuration.+currencyDisplayFormatConfiguration_separatorConfiguration :: Lens.Lens' CurrencyDisplayFormatConfiguration (Prelude.Maybe NumericSeparatorConfiguration)+currencyDisplayFormatConfiguration_separatorConfiguration = Lens.lens (\CurrencyDisplayFormatConfiguration' {separatorConfiguration} -> separatorConfiguration) (\s@CurrencyDisplayFormatConfiguration' {} a -> s {separatorConfiguration = a} :: CurrencyDisplayFormatConfiguration)++-- | Determines the suffix value of the currency format.+currencyDisplayFormatConfiguration_suffix :: Lens.Lens' CurrencyDisplayFormatConfiguration (Prelude.Maybe Prelude.Text)+currencyDisplayFormatConfiguration_suffix = Lens.lens (\CurrencyDisplayFormatConfiguration' {suffix} -> suffix) (\s@CurrencyDisplayFormatConfiguration' {} a -> s {suffix = a} :: CurrencyDisplayFormatConfiguration) Prelude.. Lens.mapping Data._Sensitive++-- | Determines the symbol for the currency format.+currencyDisplayFormatConfiguration_symbol :: Lens.Lens' CurrencyDisplayFormatConfiguration (Prelude.Maybe Prelude.Text)+currencyDisplayFormatConfiguration_symbol = Lens.lens (\CurrencyDisplayFormatConfiguration' {symbol} -> symbol) (\s@CurrencyDisplayFormatConfiguration' {} a -> s {symbol = a} :: CurrencyDisplayFormatConfiguration)++instance+  Data.FromJSON+    CurrencyDisplayFormatConfiguration+  where+  parseJSON =+    Data.withObject+      "CurrencyDisplayFormatConfiguration"+      ( \x ->+          CurrencyDisplayFormatConfiguration'+            Prelude.<$> (x Data..:? "DecimalPlacesConfiguration")+            Prelude.<*> (x Data..:? "NegativeValueConfiguration")+            Prelude.<*> (x Data..:? "NullValueFormatConfiguration")+            Prelude.<*> (x Data..:? "NumberScale")+            Prelude.<*> (x Data..:? "Prefix")+            Prelude.<*> (x Data..:? "SeparatorConfiguration")+            Prelude.<*> (x Data..:? "Suffix")+            Prelude.<*> (x Data..:? "Symbol")+      )++instance+  Prelude.Hashable+    CurrencyDisplayFormatConfiguration+  where+  hashWithSalt+    _salt+    CurrencyDisplayFormatConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` decimalPlacesConfiguration+        `Prelude.hashWithSalt` negativeValueConfiguration+        `Prelude.hashWithSalt` nullValueFormatConfiguration+        `Prelude.hashWithSalt` numberScale+        `Prelude.hashWithSalt` prefix+        `Prelude.hashWithSalt` separatorConfiguration+        `Prelude.hashWithSalt` suffix+        `Prelude.hashWithSalt` symbol++instance+  Prelude.NFData+    CurrencyDisplayFormatConfiguration+  where+  rnf CurrencyDisplayFormatConfiguration' {..} =+    Prelude.rnf decimalPlacesConfiguration+      `Prelude.seq` Prelude.rnf negativeValueConfiguration+      `Prelude.seq` Prelude.rnf nullValueFormatConfiguration+      `Prelude.seq` Prelude.rnf numberScale+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf separatorConfiguration+      `Prelude.seq` Prelude.rnf suffix+      `Prelude.seq` Prelude.rnf symbol++instance+  Data.ToJSON+    CurrencyDisplayFormatConfiguration+  where+  toJSON CurrencyDisplayFormatConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DecimalPlacesConfiguration" Data..=)+              Prelude.<$> decimalPlacesConfiguration,+            ("NegativeValueConfiguration" Data..=)+              Prelude.<$> negativeValueConfiguration,+            ("NullValueFormatConfiguration" Data..=)+              Prelude.<$> nullValueFormatConfiguration,+            ("NumberScale" Data..=) Prelude.<$> numberScale,+            ("Prefix" Data..=) Prelude.<$> prefix,+            ("SeparatorConfiguration" Data..=)+              Prelude.<$> separatorConfiguration,+            ("Suffix" Data..=) Prelude.<$> suffix,+            ("Symbol" Data..=) Prelude.<$> symbol+          ]+      )
+ gen/Amazonka/QuickSight/Types/CustomActionFilterOperation.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.CustomActionFilterOperation+-- 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.QuickSight.Types.CustomActionFilterOperation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FilterOperationSelectedFieldsConfiguration+import Amazonka.QuickSight.Types.FilterOperationTargetVisualsConfiguration++-- | The filter operation that filters data included in a visual or in an+-- entire sheet.+--+-- /See:/ 'newCustomActionFilterOperation' smart constructor.+data CustomActionFilterOperation = CustomActionFilterOperation'+  { -- | The configuration that chooses the fields to be filtered.+    selectedFieldsConfiguration :: FilterOperationSelectedFieldsConfiguration,+    -- | The configuration that chooses the target visuals to be filtered.+    targetVisualsConfiguration :: FilterOperationTargetVisualsConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomActionFilterOperation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'selectedFieldsConfiguration', 'customActionFilterOperation_selectedFieldsConfiguration' - The configuration that chooses the fields to be filtered.+--+-- 'targetVisualsConfiguration', 'customActionFilterOperation_targetVisualsConfiguration' - The configuration that chooses the target visuals to be filtered.+newCustomActionFilterOperation ::+  -- | 'selectedFieldsConfiguration'+  FilterOperationSelectedFieldsConfiguration ->+  -- | 'targetVisualsConfiguration'+  FilterOperationTargetVisualsConfiguration ->+  CustomActionFilterOperation+newCustomActionFilterOperation+  pSelectedFieldsConfiguration_+  pTargetVisualsConfiguration_ =+    CustomActionFilterOperation'+      { selectedFieldsConfiguration =+          pSelectedFieldsConfiguration_,+        targetVisualsConfiguration =+          pTargetVisualsConfiguration_+      }++-- | The configuration that chooses the fields to be filtered.+customActionFilterOperation_selectedFieldsConfiguration :: Lens.Lens' CustomActionFilterOperation FilterOperationSelectedFieldsConfiguration+customActionFilterOperation_selectedFieldsConfiguration = Lens.lens (\CustomActionFilterOperation' {selectedFieldsConfiguration} -> selectedFieldsConfiguration) (\s@CustomActionFilterOperation' {} a -> s {selectedFieldsConfiguration = a} :: CustomActionFilterOperation)++-- | The configuration that chooses the target visuals to be filtered.+customActionFilterOperation_targetVisualsConfiguration :: Lens.Lens' CustomActionFilterOperation FilterOperationTargetVisualsConfiguration+customActionFilterOperation_targetVisualsConfiguration = Lens.lens (\CustomActionFilterOperation' {targetVisualsConfiguration} -> targetVisualsConfiguration) (\s@CustomActionFilterOperation' {} a -> s {targetVisualsConfiguration = a} :: CustomActionFilterOperation)++instance Data.FromJSON CustomActionFilterOperation where+  parseJSON =+    Data.withObject+      "CustomActionFilterOperation"+      ( \x ->+          CustomActionFilterOperation'+            Prelude.<$> (x Data..: "SelectedFieldsConfiguration")+            Prelude.<*> (x Data..: "TargetVisualsConfiguration")+      )++instance Prelude.Hashable CustomActionFilterOperation where+  hashWithSalt _salt CustomActionFilterOperation' {..} =+    _salt+      `Prelude.hashWithSalt` selectedFieldsConfiguration+      `Prelude.hashWithSalt` targetVisualsConfiguration++instance Prelude.NFData CustomActionFilterOperation where+  rnf CustomActionFilterOperation' {..} =+    Prelude.rnf selectedFieldsConfiguration+      `Prelude.seq` Prelude.rnf targetVisualsConfiguration++instance Data.ToJSON CustomActionFilterOperation where+  toJSON CustomActionFilterOperation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "SelectedFieldsConfiguration"+                  Data..= selectedFieldsConfiguration+              ),+            Prelude.Just+              ( "TargetVisualsConfiguration"+                  Data..= targetVisualsConfiguration+              )+          ]+      )
+ gen/Amazonka/QuickSight/Types/CustomActionNavigationOperation.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.QuickSight.Types.CustomActionNavigationOperation+-- 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.QuickSight.Types.CustomActionNavigationOperation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.LocalNavigationConfiguration++-- | The navigation operation that navigates between different sheets in the+-- same analysis.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newCustomActionNavigationOperation' smart constructor.+data CustomActionNavigationOperation = CustomActionNavigationOperation'+  { -- | The configuration that chooses the navigation target.+    localNavigationConfiguration :: Prelude.Maybe LocalNavigationConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomActionNavigationOperation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'localNavigationConfiguration', 'customActionNavigationOperation_localNavigationConfiguration' - The configuration that chooses the navigation target.+newCustomActionNavigationOperation ::+  CustomActionNavigationOperation+newCustomActionNavigationOperation =+  CustomActionNavigationOperation'+    { localNavigationConfiguration =+        Prelude.Nothing+    }++-- | The configuration that chooses the navigation target.+customActionNavigationOperation_localNavigationConfiguration :: Lens.Lens' CustomActionNavigationOperation (Prelude.Maybe LocalNavigationConfiguration)+customActionNavigationOperation_localNavigationConfiguration = Lens.lens (\CustomActionNavigationOperation' {localNavigationConfiguration} -> localNavigationConfiguration) (\s@CustomActionNavigationOperation' {} a -> s {localNavigationConfiguration = a} :: CustomActionNavigationOperation)++instance+  Data.FromJSON+    CustomActionNavigationOperation+  where+  parseJSON =+    Data.withObject+      "CustomActionNavigationOperation"+      ( \x ->+          CustomActionNavigationOperation'+            Prelude.<$> (x Data..:? "LocalNavigationConfiguration")+      )++instance+  Prelude.Hashable+    CustomActionNavigationOperation+  where+  hashWithSalt+    _salt+    CustomActionNavigationOperation' {..} =+      _salt+        `Prelude.hashWithSalt` localNavigationConfiguration++instance+  Prelude.NFData+    CustomActionNavigationOperation+  where+  rnf CustomActionNavigationOperation' {..} =+    Prelude.rnf localNavigationConfiguration++instance Data.ToJSON CustomActionNavigationOperation where+  toJSON CustomActionNavigationOperation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LocalNavigationConfiguration" Data..=)+              Prelude.<$> localNavigationConfiguration+          ]+      )
+ gen/Amazonka/QuickSight/Types/CustomActionSetParametersOperation.hs view
@@ -0,0 +1,103 @@+{-# 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.QuickSight.Types.CustomActionSetParametersOperation+-- 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.QuickSight.Types.CustomActionSetParametersOperation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.SetParameterValueConfiguration++-- | The set parameter operation that sets parameters in custom action.+--+-- /See:/ 'newCustomActionSetParametersOperation' smart constructor.+data CustomActionSetParametersOperation = CustomActionSetParametersOperation'+  { -- | The parameter that determines the value configuration.+    parameterValueConfigurations :: Prelude.NonEmpty SetParameterValueConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomActionSetParametersOperation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'parameterValueConfigurations', 'customActionSetParametersOperation_parameterValueConfigurations' - The parameter that determines the value configuration.+newCustomActionSetParametersOperation ::+  -- | 'parameterValueConfigurations'+  Prelude.NonEmpty SetParameterValueConfiguration ->+  CustomActionSetParametersOperation+newCustomActionSetParametersOperation+  pParameterValueConfigurations_ =+    CustomActionSetParametersOperation'+      { parameterValueConfigurations =+          Lens.coerced+            Lens.# pParameterValueConfigurations_+      }++-- | The parameter that determines the value configuration.+customActionSetParametersOperation_parameterValueConfigurations :: Lens.Lens' CustomActionSetParametersOperation (Prelude.NonEmpty SetParameterValueConfiguration)+customActionSetParametersOperation_parameterValueConfigurations = Lens.lens (\CustomActionSetParametersOperation' {parameterValueConfigurations} -> parameterValueConfigurations) (\s@CustomActionSetParametersOperation' {} a -> s {parameterValueConfigurations = a} :: CustomActionSetParametersOperation) Prelude.. Lens.coerced++instance+  Data.FromJSON+    CustomActionSetParametersOperation+  where+  parseJSON =+    Data.withObject+      "CustomActionSetParametersOperation"+      ( \x ->+          CustomActionSetParametersOperation'+            Prelude.<$> (x Data..: "ParameterValueConfigurations")+      )++instance+  Prelude.Hashable+    CustomActionSetParametersOperation+  where+  hashWithSalt+    _salt+    CustomActionSetParametersOperation' {..} =+      _salt+        `Prelude.hashWithSalt` parameterValueConfigurations++instance+  Prelude.NFData+    CustomActionSetParametersOperation+  where+  rnf CustomActionSetParametersOperation' {..} =+    Prelude.rnf parameterValueConfigurations++instance+  Data.ToJSON+    CustomActionSetParametersOperation+  where+  toJSON CustomActionSetParametersOperation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "ParameterValueConfigurations"+                  Data..= parameterValueConfigurations+              )+          ]+      )
+ gen/Amazonka/QuickSight/Types/CustomActionURLOperation.hs view
@@ -0,0 +1,123 @@+{-# 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.QuickSight.Types.CustomActionURLOperation+-- 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.QuickSight.Types.CustomActionURLOperation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.URLTargetConfiguration++-- | The URL operation that opens a link to another webpage.+--+-- /See:/ 'newCustomActionURLOperation' smart constructor.+data CustomActionURLOperation = CustomActionURLOperation'+  { -- | THe URL link of the @CustomActionURLOperation@.+    uRLTemplate :: Prelude.Text,+    -- | The target of the @CustomActionURLOperation@.+    --+    -- Valid values are defined as follows:+    --+    -- -   @NEW_TAB@: Opens the target URL in a new browser tab.+    --+    -- -   @NEW_WINDOW@: Opens the target URL in a new browser window.+    --+    -- -   @SAME_TAB@: Opens the target URL in the same browser tab.+    uRLTarget :: URLTargetConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomActionURLOperation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'uRLTemplate', 'customActionURLOperation_uRLTemplate' - THe URL link of the @CustomActionURLOperation@.+--+-- 'uRLTarget', 'customActionURLOperation_uRLTarget' - The target of the @CustomActionURLOperation@.+--+-- Valid values are defined as follows:+--+-- -   @NEW_TAB@: Opens the target URL in a new browser tab.+--+-- -   @NEW_WINDOW@: Opens the target URL in a new browser window.+--+-- -   @SAME_TAB@: Opens the target URL in the same browser tab.+newCustomActionURLOperation ::+  -- | 'uRLTemplate'+  Prelude.Text ->+  -- | 'uRLTarget'+  URLTargetConfiguration ->+  CustomActionURLOperation+newCustomActionURLOperation pURLTemplate_ pURLTarget_ =+  CustomActionURLOperation'+    { uRLTemplate =+        pURLTemplate_,+      uRLTarget = pURLTarget_+    }++-- | THe URL link of the @CustomActionURLOperation@.+customActionURLOperation_uRLTemplate :: Lens.Lens' CustomActionURLOperation Prelude.Text+customActionURLOperation_uRLTemplate = Lens.lens (\CustomActionURLOperation' {uRLTemplate} -> uRLTemplate) (\s@CustomActionURLOperation' {} a -> s {uRLTemplate = a} :: CustomActionURLOperation)++-- | The target of the @CustomActionURLOperation@.+--+-- Valid values are defined as follows:+--+-- -   @NEW_TAB@: Opens the target URL in a new browser tab.+--+-- -   @NEW_WINDOW@: Opens the target URL in a new browser window.+--+-- -   @SAME_TAB@: Opens the target URL in the same browser tab.+customActionURLOperation_uRLTarget :: Lens.Lens' CustomActionURLOperation URLTargetConfiguration+customActionURLOperation_uRLTarget = Lens.lens (\CustomActionURLOperation' {uRLTarget} -> uRLTarget) (\s@CustomActionURLOperation' {} a -> s {uRLTarget = a} :: CustomActionURLOperation)++instance Data.FromJSON CustomActionURLOperation where+  parseJSON =+    Data.withObject+      "CustomActionURLOperation"+      ( \x ->+          CustomActionURLOperation'+            Prelude.<$> (x Data..: "URLTemplate")+            Prelude.<*> (x Data..: "URLTarget")+      )++instance Prelude.Hashable CustomActionURLOperation where+  hashWithSalt _salt CustomActionURLOperation' {..} =+    _salt+      `Prelude.hashWithSalt` uRLTemplate+      `Prelude.hashWithSalt` uRLTarget++instance Prelude.NFData CustomActionURLOperation where+  rnf CustomActionURLOperation' {..} =+    Prelude.rnf uRLTemplate+      `Prelude.seq` Prelude.rnf uRLTarget++instance Data.ToJSON CustomActionURLOperation where+  toJSON CustomActionURLOperation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("URLTemplate" Data..= uRLTemplate),+            Prelude.Just ("URLTarget" Data..= uRLTarget)+          ]+      )
+ gen/Amazonka/QuickSight/Types/CustomContentConfiguration.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.CustomContentConfiguration+-- 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.QuickSight.Types.CustomContentConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CustomContentImageScalingConfiguration+import Amazonka.QuickSight.Types.CustomContentType++-- | The configuration of a @CustomContentVisual@.+--+-- /See:/ 'newCustomContentConfiguration' smart constructor.+data CustomContentConfiguration = CustomContentConfiguration'+  { -- | The content type of the custom content visual. You can use this to have+    -- the visual render as an image.+    contentType :: Prelude.Maybe CustomContentType,+    -- | The input URL that links to the custom content that you want in the+    -- custom visual.+    contentUrl :: Prelude.Maybe Prelude.Text,+    -- | The sizing options for the size of the custom content visual. This+    -- structure is required when the @ContentType@ of the visual is+    -- @\'IMAGE\'@.+    imageScaling :: Prelude.Maybe CustomContentImageScalingConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomContentConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'contentType', 'customContentConfiguration_contentType' - The content type of the custom content visual. You can use this to have+-- the visual render as an image.+--+-- 'contentUrl', 'customContentConfiguration_contentUrl' - The input URL that links to the custom content that you want in the+-- custom visual.+--+-- 'imageScaling', 'customContentConfiguration_imageScaling' - The sizing options for the size of the custom content visual. This+-- structure is required when the @ContentType@ of the visual is+-- @\'IMAGE\'@.+newCustomContentConfiguration ::+  CustomContentConfiguration+newCustomContentConfiguration =+  CustomContentConfiguration'+    { contentType =+        Prelude.Nothing,+      contentUrl = Prelude.Nothing,+      imageScaling = Prelude.Nothing+    }++-- | The content type of the custom content visual. You can use this to have+-- the visual render as an image.+customContentConfiguration_contentType :: Lens.Lens' CustomContentConfiguration (Prelude.Maybe CustomContentType)+customContentConfiguration_contentType = Lens.lens (\CustomContentConfiguration' {contentType} -> contentType) (\s@CustomContentConfiguration' {} a -> s {contentType = a} :: CustomContentConfiguration)++-- | The input URL that links to the custom content that you want in the+-- custom visual.+customContentConfiguration_contentUrl :: Lens.Lens' CustomContentConfiguration (Prelude.Maybe Prelude.Text)+customContentConfiguration_contentUrl = Lens.lens (\CustomContentConfiguration' {contentUrl} -> contentUrl) (\s@CustomContentConfiguration' {} a -> s {contentUrl = a} :: CustomContentConfiguration)++-- | The sizing options for the size of the custom content visual. This+-- structure is required when the @ContentType@ of the visual is+-- @\'IMAGE\'@.+customContentConfiguration_imageScaling :: Lens.Lens' CustomContentConfiguration (Prelude.Maybe CustomContentImageScalingConfiguration)+customContentConfiguration_imageScaling = Lens.lens (\CustomContentConfiguration' {imageScaling} -> imageScaling) (\s@CustomContentConfiguration' {} a -> s {imageScaling = a} :: CustomContentConfiguration)++instance Data.FromJSON CustomContentConfiguration where+  parseJSON =+    Data.withObject+      "CustomContentConfiguration"+      ( \x ->+          CustomContentConfiguration'+            Prelude.<$> (x Data..:? "ContentType")+            Prelude.<*> (x Data..:? "ContentUrl")+            Prelude.<*> (x Data..:? "ImageScaling")+      )++instance Prelude.Hashable CustomContentConfiguration where+  hashWithSalt _salt CustomContentConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` contentType+      `Prelude.hashWithSalt` contentUrl+      `Prelude.hashWithSalt` imageScaling++instance Prelude.NFData CustomContentConfiguration where+  rnf CustomContentConfiguration' {..} =+    Prelude.rnf contentType+      `Prelude.seq` Prelude.rnf contentUrl+      `Prelude.seq` Prelude.rnf imageScaling++instance Data.ToJSON CustomContentConfiguration where+  toJSON CustomContentConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ContentType" Data..=) Prelude.<$> contentType,+            ("ContentUrl" Data..=) Prelude.<$> contentUrl,+            ("ImageScaling" Data..=) Prelude.<$> imageScaling+          ]+      )
+ gen/Amazonka/QuickSight/Types/CustomContentImageScalingConfiguration.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.CustomContentImageScalingConfiguration+-- 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.QuickSight.Types.CustomContentImageScalingConfiguration+  ( CustomContentImageScalingConfiguration+      ( ..,+        CustomContentImageScalingConfiguration_DO_NOT_SCALE,+        CustomContentImageScalingConfiguration_FIT_TO_HEIGHT,+        CustomContentImageScalingConfiguration_FIT_TO_WIDTH,+        CustomContentImageScalingConfiguration_SCALE_TO_VISUAL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CustomContentImageScalingConfiguration = CustomContentImageScalingConfiguration'+  { fromCustomContentImageScalingConfiguration ::+      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 CustomContentImageScalingConfiguration_DO_NOT_SCALE :: CustomContentImageScalingConfiguration+pattern CustomContentImageScalingConfiguration_DO_NOT_SCALE = CustomContentImageScalingConfiguration' "DO_NOT_SCALE"++pattern CustomContentImageScalingConfiguration_FIT_TO_HEIGHT :: CustomContentImageScalingConfiguration+pattern CustomContentImageScalingConfiguration_FIT_TO_HEIGHT = CustomContentImageScalingConfiguration' "FIT_TO_HEIGHT"++pattern CustomContentImageScalingConfiguration_FIT_TO_WIDTH :: CustomContentImageScalingConfiguration+pattern CustomContentImageScalingConfiguration_FIT_TO_WIDTH = CustomContentImageScalingConfiguration' "FIT_TO_WIDTH"++pattern CustomContentImageScalingConfiguration_SCALE_TO_VISUAL :: CustomContentImageScalingConfiguration+pattern CustomContentImageScalingConfiguration_SCALE_TO_VISUAL = CustomContentImageScalingConfiguration' "SCALE_TO_VISUAL"++{-# COMPLETE+  CustomContentImageScalingConfiguration_DO_NOT_SCALE,+  CustomContentImageScalingConfiguration_FIT_TO_HEIGHT,+  CustomContentImageScalingConfiguration_FIT_TO_WIDTH,+  CustomContentImageScalingConfiguration_SCALE_TO_VISUAL,+  CustomContentImageScalingConfiguration'+  #-}
+ gen/Amazonka/QuickSight/Types/CustomContentType.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.QuickSight.Types.CustomContentType+-- 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.QuickSight.Types.CustomContentType+  ( CustomContentType+      ( ..,+        CustomContentType_IMAGE,+        CustomContentType_OTHER_EMBEDDED_CONTENT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CustomContentType = CustomContentType'+  { fromCustomContentType ::+      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 CustomContentType_IMAGE :: CustomContentType+pattern CustomContentType_IMAGE = CustomContentType' "IMAGE"++pattern CustomContentType_OTHER_EMBEDDED_CONTENT :: CustomContentType+pattern CustomContentType_OTHER_EMBEDDED_CONTENT = CustomContentType' "OTHER_EMBEDDED_CONTENT"++{-# COMPLETE+  CustomContentType_IMAGE,+  CustomContentType_OTHER_EMBEDDED_CONTENT,+  CustomContentType'+  #-}
+ gen/Amazonka/QuickSight/Types/CustomContentVisual.hs view
@@ -0,0 +1,168 @@+{-# 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.QuickSight.Types.CustomContentVisual+-- 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.QuickSight.Types.CustomContentVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CustomContentConfiguration+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions++-- | A visual that contains custom content.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/custom-visual-content.html Using custom visual content>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newCustomContentVisual' smart constructor.+data CustomContentVisual = CustomContentVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration of a @CustomContentVisual@.+    chartConfiguration :: Prelude.Maybe CustomContentConfiguration,+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers.+    visualId :: Prelude.Text,+    -- | The dataset that is used to create the custom content visual. You can\'t+    -- create a visual without a dataset.+    dataSetIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomContentVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'customContentVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'customContentVisual_chartConfiguration' - The configuration of a @CustomContentVisual@.+--+-- 'subtitle', 'customContentVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'customContentVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'customContentVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+--+-- 'dataSetIdentifier', 'customContentVisual_dataSetIdentifier' - The dataset that is used to create the custom content visual. You can\'t+-- create a visual without a dataset.+newCustomContentVisual ::+  -- | 'visualId'+  Prelude.Text ->+  -- | 'dataSetIdentifier'+  Prelude.Text ->+  CustomContentVisual+newCustomContentVisual pVisualId_ pDataSetIdentifier_ =+  CustomContentVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_,+      dataSetIdentifier = pDataSetIdentifier_+    }++-- | The list of custom actions that are configured for a visual.+customContentVisual_actions :: Lens.Lens' CustomContentVisual (Prelude.Maybe [VisualCustomAction])+customContentVisual_actions = Lens.lens (\CustomContentVisual' {actions} -> actions) (\s@CustomContentVisual' {} a -> s {actions = a} :: CustomContentVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration of a @CustomContentVisual@.+customContentVisual_chartConfiguration :: Lens.Lens' CustomContentVisual (Prelude.Maybe CustomContentConfiguration)+customContentVisual_chartConfiguration = Lens.lens (\CustomContentVisual' {chartConfiguration} -> chartConfiguration) (\s@CustomContentVisual' {} a -> s {chartConfiguration = a} :: CustomContentVisual)++-- | The subtitle that is displayed on the visual.+customContentVisual_subtitle :: Lens.Lens' CustomContentVisual (Prelude.Maybe VisualSubtitleLabelOptions)+customContentVisual_subtitle = Lens.lens (\CustomContentVisual' {subtitle} -> subtitle) (\s@CustomContentVisual' {} a -> s {subtitle = a} :: CustomContentVisual)++-- | The title that is displayed on the visual.+customContentVisual_title :: Lens.Lens' CustomContentVisual (Prelude.Maybe VisualTitleLabelOptions)+customContentVisual_title = Lens.lens (\CustomContentVisual' {title} -> title) (\s@CustomContentVisual' {} a -> s {title = a} :: CustomContentVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+customContentVisual_visualId :: Lens.Lens' CustomContentVisual Prelude.Text+customContentVisual_visualId = Lens.lens (\CustomContentVisual' {visualId} -> visualId) (\s@CustomContentVisual' {} a -> s {visualId = a} :: CustomContentVisual)++-- | The dataset that is used to create the custom content visual. You can\'t+-- create a visual without a dataset.+customContentVisual_dataSetIdentifier :: Lens.Lens' CustomContentVisual Prelude.Text+customContentVisual_dataSetIdentifier = Lens.lens (\CustomContentVisual' {dataSetIdentifier} -> dataSetIdentifier) (\s@CustomContentVisual' {} a -> s {dataSetIdentifier = a} :: CustomContentVisual)++instance Data.FromJSON CustomContentVisual where+  parseJSON =+    Data.withObject+      "CustomContentVisual"+      ( \x ->+          CustomContentVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+            Prelude.<*> (x Data..: "DataSetIdentifier")+      )++instance Prelude.Hashable CustomContentVisual where+  hashWithSalt _salt CustomContentVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId+      `Prelude.hashWithSalt` dataSetIdentifier++instance Prelude.NFData CustomContentVisual where+  rnf CustomContentVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId+      `Prelude.seq` Prelude.rnf dataSetIdentifier++instance Data.ToJSON CustomContentVisual where+  toJSON CustomContentVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId),+            Prelude.Just+              ("DataSetIdentifier" Data..= dataSetIdentifier)+          ]+      )
+ gen/Amazonka/QuickSight/Types/CustomFilterConfiguration.hs view
@@ -0,0 +1,186 @@+{-# 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.QuickSight.Types.CustomFilterConfiguration+-- 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.QuickSight.Types.CustomFilterConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CategoryFilterMatchOperator+import Amazonka.QuickSight.Types.CategoryFilterSelectAllOptions+import Amazonka.QuickSight.Types.FilterNullOption++-- | A custom filter that filters based on a single value. This filter can be+-- partially matched.+--+-- /See:/ 'newCustomFilterConfiguration' smart constructor.+data CustomFilterConfiguration = CustomFilterConfiguration'+  { -- | The category value for the filter.+    --+    -- This field is mutually exclusive to @ParameterName@.+    categoryValue :: Prelude.Maybe Prelude.Text,+    -- | The parameter whose value should be used for the filter value.+    --+    -- This field is mutually exclusive to @CategoryValue@.+    parameterName :: Prelude.Maybe Prelude.Text,+    -- | Select all of the values. Null is not the assigned value of select all.+    --+    -- -   @FILTER_ALL_VALUES@+    selectAllOptions :: Prelude.Maybe CategoryFilterSelectAllOptions,+    -- | The match operator that is used to determine if a filter should be+    -- applied.+    matchOperator :: CategoryFilterMatchOperator,+    -- | This option determines how null values should be treated when filtering+    -- data.+    --+    -- -   @ALL_VALUES@: Include null values in filtered results.+    --+    -- -   @NULLS_ONLY@: Only include null values in filtered results.+    --+    -- -   @NON_NULLS_ONLY@: Exclude null values from filtered results.+    nullOption :: FilterNullOption+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomFilterConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categoryValue', 'customFilterConfiguration_categoryValue' - The category value for the filter.+--+-- This field is mutually exclusive to @ParameterName@.+--+-- 'parameterName', 'customFilterConfiguration_parameterName' - The parameter whose value should be used for the filter value.+--+-- This field is mutually exclusive to @CategoryValue@.+--+-- 'selectAllOptions', 'customFilterConfiguration_selectAllOptions' - Select all of the values. Null is not the assigned value of select all.+--+-- -   @FILTER_ALL_VALUES@+--+-- 'matchOperator', 'customFilterConfiguration_matchOperator' - The match operator that is used to determine if a filter should be+-- applied.+--+-- 'nullOption', 'customFilterConfiguration_nullOption' - This option determines how null values should be treated when filtering+-- data.+--+-- -   @ALL_VALUES@: Include null values in filtered results.+--+-- -   @NULLS_ONLY@: Only include null values in filtered results.+--+-- -   @NON_NULLS_ONLY@: Exclude null values from filtered results.+newCustomFilterConfiguration ::+  -- | 'matchOperator'+  CategoryFilterMatchOperator ->+  -- | 'nullOption'+  FilterNullOption ->+  CustomFilterConfiguration+newCustomFilterConfiguration+  pMatchOperator_+  pNullOption_ =+    CustomFilterConfiguration'+      { categoryValue =+          Prelude.Nothing,+        parameterName = Prelude.Nothing,+        selectAllOptions = Prelude.Nothing,+        matchOperator = pMatchOperator_,+        nullOption = pNullOption_+      }++-- | The category value for the filter.+--+-- This field is mutually exclusive to @ParameterName@.+customFilterConfiguration_categoryValue :: Lens.Lens' CustomFilterConfiguration (Prelude.Maybe Prelude.Text)+customFilterConfiguration_categoryValue = Lens.lens (\CustomFilterConfiguration' {categoryValue} -> categoryValue) (\s@CustomFilterConfiguration' {} a -> s {categoryValue = a} :: CustomFilterConfiguration)++-- | The parameter whose value should be used for the filter value.+--+-- This field is mutually exclusive to @CategoryValue@.+customFilterConfiguration_parameterName :: Lens.Lens' CustomFilterConfiguration (Prelude.Maybe Prelude.Text)+customFilterConfiguration_parameterName = Lens.lens (\CustomFilterConfiguration' {parameterName} -> parameterName) (\s@CustomFilterConfiguration' {} a -> s {parameterName = a} :: CustomFilterConfiguration)++-- | Select all of the values. Null is not the assigned value of select all.+--+-- -   @FILTER_ALL_VALUES@+customFilterConfiguration_selectAllOptions :: Lens.Lens' CustomFilterConfiguration (Prelude.Maybe CategoryFilterSelectAllOptions)+customFilterConfiguration_selectAllOptions = Lens.lens (\CustomFilterConfiguration' {selectAllOptions} -> selectAllOptions) (\s@CustomFilterConfiguration' {} a -> s {selectAllOptions = a} :: CustomFilterConfiguration)++-- | The match operator that is used to determine if a filter should be+-- applied.+customFilterConfiguration_matchOperator :: Lens.Lens' CustomFilterConfiguration CategoryFilterMatchOperator+customFilterConfiguration_matchOperator = Lens.lens (\CustomFilterConfiguration' {matchOperator} -> matchOperator) (\s@CustomFilterConfiguration' {} a -> s {matchOperator = a} :: CustomFilterConfiguration)++-- | This option determines how null values should be treated when filtering+-- data.+--+-- -   @ALL_VALUES@: Include null values in filtered results.+--+-- -   @NULLS_ONLY@: Only include null values in filtered results.+--+-- -   @NON_NULLS_ONLY@: Exclude null values from filtered results.+customFilterConfiguration_nullOption :: Lens.Lens' CustomFilterConfiguration FilterNullOption+customFilterConfiguration_nullOption = Lens.lens (\CustomFilterConfiguration' {nullOption} -> nullOption) (\s@CustomFilterConfiguration' {} a -> s {nullOption = a} :: CustomFilterConfiguration)++instance Data.FromJSON CustomFilterConfiguration where+  parseJSON =+    Data.withObject+      "CustomFilterConfiguration"+      ( \x ->+          CustomFilterConfiguration'+            Prelude.<$> (x Data..:? "CategoryValue")+            Prelude.<*> (x Data..:? "ParameterName")+            Prelude.<*> (x Data..:? "SelectAllOptions")+            Prelude.<*> (x Data..: "MatchOperator")+            Prelude.<*> (x Data..: "NullOption")+      )++instance Prelude.Hashable CustomFilterConfiguration where+  hashWithSalt _salt CustomFilterConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` categoryValue+      `Prelude.hashWithSalt` parameterName+      `Prelude.hashWithSalt` selectAllOptions+      `Prelude.hashWithSalt` matchOperator+      `Prelude.hashWithSalt` nullOption++instance Prelude.NFData CustomFilterConfiguration where+  rnf CustomFilterConfiguration' {..} =+    Prelude.rnf categoryValue+      `Prelude.seq` Prelude.rnf parameterName+      `Prelude.seq` Prelude.rnf selectAllOptions+      `Prelude.seq` Prelude.rnf matchOperator+      `Prelude.seq` Prelude.rnf nullOption++instance Data.ToJSON CustomFilterConfiguration where+  toJSON CustomFilterConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoryValue" Data..=) Prelude.<$> categoryValue,+            ("ParameterName" Data..=) Prelude.<$> parameterName,+            ("SelectAllOptions" Data..=)+              Prelude.<$> selectAllOptions,+            Prelude.Just ("MatchOperator" Data..= matchOperator),+            Prelude.Just ("NullOption" Data..= nullOption)+          ]+      )
+ gen/Amazonka/QuickSight/Types/CustomFilterListConfiguration.hs view
@@ -0,0 +1,164 @@+{-# 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.QuickSight.Types.CustomFilterListConfiguration+-- 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.QuickSight.Types.CustomFilterListConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CategoryFilterMatchOperator+import Amazonka.QuickSight.Types.CategoryFilterSelectAllOptions+import Amazonka.QuickSight.Types.FilterNullOption++-- | A list of custom filter values.+--+-- /See:/ 'newCustomFilterListConfiguration' smart constructor.+data CustomFilterListConfiguration = CustomFilterListConfiguration'+  { -- | The list of category values for the filter.+    categoryValues :: Prelude.Maybe [Prelude.Text],+    -- | Select all of the values. Null is not the assigned value of select all.+    --+    -- -   @FILTER_ALL_VALUES@+    selectAllOptions :: Prelude.Maybe CategoryFilterSelectAllOptions,+    -- | The match operator that is used to determine if a filter should be+    -- applied.+    matchOperator :: CategoryFilterMatchOperator,+    -- | This option determines how null values should be treated when filtering+    -- data.+    --+    -- -   @ALL_VALUES@: Include null values in filtered results.+    --+    -- -   @NULLS_ONLY@: Only include null values in filtered results.+    --+    -- -   @NON_NULLS_ONLY@: Exclude null values from filtered results.+    nullOption :: FilterNullOption+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomFilterListConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categoryValues', 'customFilterListConfiguration_categoryValues' - The list of category values for the filter.+--+-- 'selectAllOptions', 'customFilterListConfiguration_selectAllOptions' - Select all of the values. Null is not the assigned value of select all.+--+-- -   @FILTER_ALL_VALUES@+--+-- 'matchOperator', 'customFilterListConfiguration_matchOperator' - The match operator that is used to determine if a filter should be+-- applied.+--+-- 'nullOption', 'customFilterListConfiguration_nullOption' - This option determines how null values should be treated when filtering+-- data.+--+-- -   @ALL_VALUES@: Include null values in filtered results.+--+-- -   @NULLS_ONLY@: Only include null values in filtered results.+--+-- -   @NON_NULLS_ONLY@: Exclude null values from filtered results.+newCustomFilterListConfiguration ::+  -- | 'matchOperator'+  CategoryFilterMatchOperator ->+  -- | 'nullOption'+  FilterNullOption ->+  CustomFilterListConfiguration+newCustomFilterListConfiguration+  pMatchOperator_+  pNullOption_ =+    CustomFilterListConfiguration'+      { categoryValues =+          Prelude.Nothing,+        selectAllOptions = Prelude.Nothing,+        matchOperator = pMatchOperator_,+        nullOption = pNullOption_+      }++-- | The list of category values for the filter.+customFilterListConfiguration_categoryValues :: Lens.Lens' CustomFilterListConfiguration (Prelude.Maybe [Prelude.Text])+customFilterListConfiguration_categoryValues = Lens.lens (\CustomFilterListConfiguration' {categoryValues} -> categoryValues) (\s@CustomFilterListConfiguration' {} a -> s {categoryValues = a} :: CustomFilterListConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Select all of the values. Null is not the assigned value of select all.+--+-- -   @FILTER_ALL_VALUES@+customFilterListConfiguration_selectAllOptions :: Lens.Lens' CustomFilterListConfiguration (Prelude.Maybe CategoryFilterSelectAllOptions)+customFilterListConfiguration_selectAllOptions = Lens.lens (\CustomFilterListConfiguration' {selectAllOptions} -> selectAllOptions) (\s@CustomFilterListConfiguration' {} a -> s {selectAllOptions = a} :: CustomFilterListConfiguration)++-- | The match operator that is used to determine if a filter should be+-- applied.+customFilterListConfiguration_matchOperator :: Lens.Lens' CustomFilterListConfiguration CategoryFilterMatchOperator+customFilterListConfiguration_matchOperator = Lens.lens (\CustomFilterListConfiguration' {matchOperator} -> matchOperator) (\s@CustomFilterListConfiguration' {} a -> s {matchOperator = a} :: CustomFilterListConfiguration)++-- | This option determines how null values should be treated when filtering+-- data.+--+-- -   @ALL_VALUES@: Include null values in filtered results.+--+-- -   @NULLS_ONLY@: Only include null values in filtered results.+--+-- -   @NON_NULLS_ONLY@: Exclude null values from filtered results.+customFilterListConfiguration_nullOption :: Lens.Lens' CustomFilterListConfiguration FilterNullOption+customFilterListConfiguration_nullOption = Lens.lens (\CustomFilterListConfiguration' {nullOption} -> nullOption) (\s@CustomFilterListConfiguration' {} a -> s {nullOption = a} :: CustomFilterListConfiguration)++instance Data.FromJSON CustomFilterListConfiguration where+  parseJSON =+    Data.withObject+      "CustomFilterListConfiguration"+      ( \x ->+          CustomFilterListConfiguration'+            Prelude.<$> (x Data..:? "CategoryValues" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "SelectAllOptions")+            Prelude.<*> (x Data..: "MatchOperator")+            Prelude.<*> (x Data..: "NullOption")+      )++instance+  Prelude.Hashable+    CustomFilterListConfiguration+  where+  hashWithSalt _salt CustomFilterListConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` categoryValues+      `Prelude.hashWithSalt` selectAllOptions+      `Prelude.hashWithSalt` matchOperator+      `Prelude.hashWithSalt` nullOption++instance Prelude.NFData CustomFilterListConfiguration where+  rnf CustomFilterListConfiguration' {..} =+    Prelude.rnf categoryValues+      `Prelude.seq` Prelude.rnf selectAllOptions+      `Prelude.seq` Prelude.rnf matchOperator+      `Prelude.seq` Prelude.rnf nullOption++instance Data.ToJSON CustomFilterListConfiguration where+  toJSON CustomFilterListConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoryValues" Data..=)+              Prelude.<$> categoryValues,+            ("SelectAllOptions" Data..=)+              Prelude.<$> selectAllOptions,+            Prelude.Just ("MatchOperator" Data..= matchOperator),+            Prelude.Just ("NullOption" Data..= nullOption)+          ]+      )
+ gen/Amazonka/QuickSight/Types/CustomNarrativeOptions.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.CustomNarrativeOptions+-- 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.QuickSight.Types.CustomNarrativeOptions 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 custom narrative options.+--+-- /See:/ 'newCustomNarrativeOptions' smart constructor.+data CustomNarrativeOptions = CustomNarrativeOptions'+  { -- | The string input of custom narrative.+    narrative :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomNarrativeOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'narrative', 'customNarrativeOptions_narrative' - The string input of custom narrative.+newCustomNarrativeOptions ::+  -- | 'narrative'+  Prelude.Text ->+  CustomNarrativeOptions+newCustomNarrativeOptions pNarrative_ =+  CustomNarrativeOptions' {narrative = pNarrative_}++-- | The string input of custom narrative.+customNarrativeOptions_narrative :: Lens.Lens' CustomNarrativeOptions Prelude.Text+customNarrativeOptions_narrative = Lens.lens (\CustomNarrativeOptions' {narrative} -> narrative) (\s@CustomNarrativeOptions' {} a -> s {narrative = a} :: CustomNarrativeOptions)++instance Data.FromJSON CustomNarrativeOptions where+  parseJSON =+    Data.withObject+      "CustomNarrativeOptions"+      ( \x ->+          CustomNarrativeOptions'+            Prelude.<$> (x Data..: "Narrative")+      )++instance Prelude.Hashable CustomNarrativeOptions where+  hashWithSalt _salt CustomNarrativeOptions' {..} =+    _salt `Prelude.hashWithSalt` narrative++instance Prelude.NFData CustomNarrativeOptions where+  rnf CustomNarrativeOptions' {..} =+    Prelude.rnf narrative++instance Data.ToJSON CustomNarrativeOptions where+  toJSON CustomNarrativeOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Narrative" Data..= narrative)]+      )
+ gen/Amazonka/QuickSight/Types/CustomParameterValues.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.CustomParameterValues+-- 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.QuickSight.Types.CustomParameterValues 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 customized parameter values.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newCustomParameterValues' smart constructor.+data CustomParameterValues = CustomParameterValues'+  { -- | A list of datetime-type parameter values.+    dateTimeValues :: Prelude.Maybe [Data.Sensitive Data.POSIX],+    -- | A list of decimal-type parameter values.+    decimalValues :: Prelude.Maybe [Data.Sensitive Prelude.Double],+    -- | A list of integer-type parameter values.+    integerValues :: Prelude.Maybe [Data.Sensitive Prelude.Integer],+    -- | A list of string-type parameter values.+    stringValues :: Prelude.Maybe [Data.Sensitive Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomParameterValues' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dateTimeValues', 'customParameterValues_dateTimeValues' - A list of datetime-type parameter values.+--+-- 'decimalValues', 'customParameterValues_decimalValues' - A list of decimal-type parameter values.+--+-- 'integerValues', 'customParameterValues_integerValues' - A list of integer-type parameter values.+--+-- 'stringValues', 'customParameterValues_stringValues' - A list of string-type parameter values.+newCustomParameterValues ::+  CustomParameterValues+newCustomParameterValues =+  CustomParameterValues'+    { dateTimeValues =+        Prelude.Nothing,+      decimalValues = Prelude.Nothing,+      integerValues = Prelude.Nothing,+      stringValues = Prelude.Nothing+    }++-- | A list of datetime-type parameter values.+customParameterValues_dateTimeValues :: Lens.Lens' CustomParameterValues (Prelude.Maybe [Prelude.UTCTime])+customParameterValues_dateTimeValues = Lens.lens (\CustomParameterValues' {dateTimeValues} -> dateTimeValues) (\s@CustomParameterValues' {} a -> s {dateTimeValues = a} :: CustomParameterValues) Prelude.. Lens.mapping Lens.coerced++-- | A list of decimal-type parameter values.+customParameterValues_decimalValues :: Lens.Lens' CustomParameterValues (Prelude.Maybe [Prelude.Double])+customParameterValues_decimalValues = Lens.lens (\CustomParameterValues' {decimalValues} -> decimalValues) (\s@CustomParameterValues' {} a -> s {decimalValues = a} :: CustomParameterValues) Prelude.. Lens.mapping Lens.coerced++-- | A list of integer-type parameter values.+customParameterValues_integerValues :: Lens.Lens' CustomParameterValues (Prelude.Maybe [Prelude.Integer])+customParameterValues_integerValues = Lens.lens (\CustomParameterValues' {integerValues} -> integerValues) (\s@CustomParameterValues' {} a -> s {integerValues = a} :: CustomParameterValues) Prelude.. Lens.mapping Lens.coerced++-- | A list of string-type parameter values.+customParameterValues_stringValues :: Lens.Lens' CustomParameterValues (Prelude.Maybe [Prelude.Text])+customParameterValues_stringValues = Lens.lens (\CustomParameterValues' {stringValues} -> stringValues) (\s@CustomParameterValues' {} a -> s {stringValues = a} :: CustomParameterValues) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON CustomParameterValues where+  parseJSON =+    Data.withObject+      "CustomParameterValues"+      ( \x ->+          CustomParameterValues'+            Prelude.<$> (x Data..:? "DateTimeValues" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "DecimalValues" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "IntegerValues" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "StringValues" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable CustomParameterValues where+  hashWithSalt _salt CustomParameterValues' {..} =+    _salt+      `Prelude.hashWithSalt` dateTimeValues+      `Prelude.hashWithSalt` decimalValues+      `Prelude.hashWithSalt` integerValues+      `Prelude.hashWithSalt` stringValues++instance Prelude.NFData CustomParameterValues where+  rnf CustomParameterValues' {..} =+    Prelude.rnf dateTimeValues+      `Prelude.seq` Prelude.rnf decimalValues+      `Prelude.seq` Prelude.rnf integerValues+      `Prelude.seq` Prelude.rnf stringValues++instance Data.ToJSON CustomParameterValues where+  toJSON CustomParameterValues' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DateTimeValues" Data..=)+              Prelude.<$> dateTimeValues,+            ("DecimalValues" Data..=) Prelude.<$> decimalValues,+            ("IntegerValues" Data..=) Prelude.<$> integerValues,+            ("StringValues" Data..=) Prelude.<$> stringValues+          ]+      )
+ gen/Amazonka/QuickSight/Types/CustomSql.hs view
@@ -0,0 +1,126 @@+{-# 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.QuickSight.Types.CustomSql+-- 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.QuickSight.Types.CustomSql where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.InputColumn++-- | A physical table type built from the results of the custom SQL query.+--+-- /See:/ 'newCustomSql' smart constructor.+data CustomSql = CustomSql'+  { -- | The column schema from the SQL query result set.+    columns :: Prelude.Maybe (Prelude.NonEmpty InputColumn),+    -- | The Amazon Resource Name (ARN) of the data source.+    dataSourceArn :: Prelude.Text,+    -- | A display name for the SQL query result.+    name :: Prelude.Text,+    -- | The SQL query.+    sqlQuery :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomSql' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columns', 'customSql_columns' - The column schema from the SQL query result set.+--+-- 'dataSourceArn', 'customSql_dataSourceArn' - The Amazon Resource Name (ARN) of the data source.+--+-- 'name', 'customSql_name' - A display name for the SQL query result.+--+-- 'sqlQuery', 'customSql_sqlQuery' - The SQL query.+newCustomSql ::+  -- | 'dataSourceArn'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'sqlQuery'+  Prelude.Text ->+  CustomSql+newCustomSql pDataSourceArn_ pName_ pSqlQuery_ =+  CustomSql'+    { columns = Prelude.Nothing,+      dataSourceArn = pDataSourceArn_,+      name = pName_,+      sqlQuery = pSqlQuery_+    }++-- | The column schema from the SQL query result set.+customSql_columns :: Lens.Lens' CustomSql (Prelude.Maybe (Prelude.NonEmpty InputColumn))+customSql_columns = Lens.lens (\CustomSql' {columns} -> columns) (\s@CustomSql' {} a -> s {columns = a} :: CustomSql) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the data source.+customSql_dataSourceArn :: Lens.Lens' CustomSql Prelude.Text+customSql_dataSourceArn = Lens.lens (\CustomSql' {dataSourceArn} -> dataSourceArn) (\s@CustomSql' {} a -> s {dataSourceArn = a} :: CustomSql)++-- | A display name for the SQL query result.+customSql_name :: Lens.Lens' CustomSql Prelude.Text+customSql_name = Lens.lens (\CustomSql' {name} -> name) (\s@CustomSql' {} a -> s {name = a} :: CustomSql)++-- | The SQL query.+customSql_sqlQuery :: Lens.Lens' CustomSql Prelude.Text+customSql_sqlQuery = Lens.lens (\CustomSql' {sqlQuery} -> sqlQuery) (\s@CustomSql' {} a -> s {sqlQuery = a} :: CustomSql)++instance Data.FromJSON CustomSql where+  parseJSON =+    Data.withObject+      "CustomSql"+      ( \x ->+          CustomSql'+            Prelude.<$> (x Data..:? "Columns")+            Prelude.<*> (x Data..: "DataSourceArn")+            Prelude.<*> (x Data..: "Name")+            Prelude.<*> (x Data..: "SqlQuery")+      )++instance Prelude.Hashable CustomSql where+  hashWithSalt _salt CustomSql' {..} =+    _salt+      `Prelude.hashWithSalt` columns+      `Prelude.hashWithSalt` dataSourceArn+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` sqlQuery++instance Prelude.NFData CustomSql where+  rnf CustomSql' {..} =+    Prelude.rnf columns+      `Prelude.seq` Prelude.rnf dataSourceArn+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf sqlQuery++instance Data.ToJSON CustomSql where+  toJSON CustomSql' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Columns" Data..=) Prelude.<$> columns,+            Prelude.Just ("DataSourceArn" Data..= dataSourceArn),+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("SqlQuery" Data..= sqlQuery)+          ]+      )
+ gen/Amazonka/QuickSight/Types/CustomValuesConfiguration.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.QuickSight.Types.CustomValuesConfiguration+-- 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.QuickSight.Types.CustomValuesConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CustomParameterValues++-- | The configuration of custom values for the destination parameter in+-- @DestinationParameterValueConfiguration@.+--+-- /See:/ 'newCustomValuesConfiguration' smart constructor.+data CustomValuesConfiguration = CustomValuesConfiguration'+  { -- | Includes the null value in custom action parameter values.+    includeNullValue :: Prelude.Maybe Prelude.Bool,+    customValues :: CustomParameterValues+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomValuesConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'includeNullValue', 'customValuesConfiguration_includeNullValue' - Includes the null value in custom action parameter values.+--+-- 'customValues', 'customValuesConfiguration_customValues' - Undocumented member.+newCustomValuesConfiguration ::+  -- | 'customValues'+  CustomParameterValues ->+  CustomValuesConfiguration+newCustomValuesConfiguration pCustomValues_ =+  CustomValuesConfiguration'+    { includeNullValue =+        Prelude.Nothing,+      customValues = pCustomValues_+    }++-- | Includes the null value in custom action parameter values.+customValuesConfiguration_includeNullValue :: Lens.Lens' CustomValuesConfiguration (Prelude.Maybe Prelude.Bool)+customValuesConfiguration_includeNullValue = Lens.lens (\CustomValuesConfiguration' {includeNullValue} -> includeNullValue) (\s@CustomValuesConfiguration' {} a -> s {includeNullValue = a} :: CustomValuesConfiguration)++-- | Undocumented member.+customValuesConfiguration_customValues :: Lens.Lens' CustomValuesConfiguration CustomParameterValues+customValuesConfiguration_customValues = Lens.lens (\CustomValuesConfiguration' {customValues} -> customValues) (\s@CustomValuesConfiguration' {} a -> s {customValues = a} :: CustomValuesConfiguration)++instance Data.FromJSON CustomValuesConfiguration where+  parseJSON =+    Data.withObject+      "CustomValuesConfiguration"+      ( \x ->+          CustomValuesConfiguration'+            Prelude.<$> (x Data..:? "IncludeNullValue")+            Prelude.<*> (x Data..: "CustomValues")+      )++instance Prelude.Hashable CustomValuesConfiguration where+  hashWithSalt _salt CustomValuesConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` includeNullValue+      `Prelude.hashWithSalt` customValues++instance Prelude.NFData CustomValuesConfiguration where+  rnf CustomValuesConfiguration' {..} =+    Prelude.rnf includeNullValue+      `Prelude.seq` Prelude.rnf customValues++instance Data.ToJSON CustomValuesConfiguration where+  toJSON CustomValuesConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("IncludeNullValue" Data..=)+              Prelude.<$> includeNullValue,+            Prelude.Just ("CustomValues" Data..= customValues)+          ]+      )
+ gen/Amazonka/QuickSight/Types/Dashboard.hs view
@@ -0,0 +1,145 @@+{-# 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.QuickSight.Types.Dashboard+-- 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.QuickSight.Types.Dashboard where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DashboardVersion++-- | Dashboard.+--+-- /See:/ 'newDashboard' smart constructor.+data Dashboard = Dashboard'+  { -- | The Amazon Resource Name (ARN) of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time that this dashboard was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | Dashboard ID.+    dashboardId :: Prelude.Maybe Prelude.Text,+    -- | The last time that this dashboard was published.+    lastPublishedTime :: Prelude.Maybe Data.POSIX,+    -- | The last time that this dashboard was updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | A display name for the dashboard.+    name :: Prelude.Maybe Prelude.Text,+    -- | Version.+    version :: Prelude.Maybe DashboardVersion+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Dashboard' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'dashboard_arn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'createdTime', 'dashboard_createdTime' - The time that this dashboard was created.+--+-- 'dashboardId', 'dashboard_dashboardId' - Dashboard ID.+--+-- 'lastPublishedTime', 'dashboard_lastPublishedTime' - The last time that this dashboard was published.+--+-- 'lastUpdatedTime', 'dashboard_lastUpdatedTime' - The last time that this dashboard was updated.+--+-- 'name', 'dashboard_name' - A display name for the dashboard.+--+-- 'version', 'dashboard_version' - Version.+newDashboard ::+  Dashboard+newDashboard =+  Dashboard'+    { arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      dashboardId = Prelude.Nothing,+      lastPublishedTime = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      version = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the resource.+dashboard_arn :: Lens.Lens' Dashboard (Prelude.Maybe Prelude.Text)+dashboard_arn = Lens.lens (\Dashboard' {arn} -> arn) (\s@Dashboard' {} a -> s {arn = a} :: Dashboard)++-- | The time that this dashboard was created.+dashboard_createdTime :: Lens.Lens' Dashboard (Prelude.Maybe Prelude.UTCTime)+dashboard_createdTime = Lens.lens (\Dashboard' {createdTime} -> createdTime) (\s@Dashboard' {} a -> s {createdTime = a} :: Dashboard) Prelude.. Lens.mapping Data._Time++-- | Dashboard ID.+dashboard_dashboardId :: Lens.Lens' Dashboard (Prelude.Maybe Prelude.Text)+dashboard_dashboardId = Lens.lens (\Dashboard' {dashboardId} -> dashboardId) (\s@Dashboard' {} a -> s {dashboardId = a} :: Dashboard)++-- | The last time that this dashboard was published.+dashboard_lastPublishedTime :: Lens.Lens' Dashboard (Prelude.Maybe Prelude.UTCTime)+dashboard_lastPublishedTime = Lens.lens (\Dashboard' {lastPublishedTime} -> lastPublishedTime) (\s@Dashboard' {} a -> s {lastPublishedTime = a} :: Dashboard) Prelude.. Lens.mapping Data._Time++-- | The last time that this dashboard was updated.+dashboard_lastUpdatedTime :: Lens.Lens' Dashboard (Prelude.Maybe Prelude.UTCTime)+dashboard_lastUpdatedTime = Lens.lens (\Dashboard' {lastUpdatedTime} -> lastUpdatedTime) (\s@Dashboard' {} a -> s {lastUpdatedTime = a} :: Dashboard) Prelude.. Lens.mapping Data._Time++-- | A display name for the dashboard.+dashboard_name :: Lens.Lens' Dashboard (Prelude.Maybe Prelude.Text)+dashboard_name = Lens.lens (\Dashboard' {name} -> name) (\s@Dashboard' {} a -> s {name = a} :: Dashboard)++-- | Version.+dashboard_version :: Lens.Lens' Dashboard (Prelude.Maybe DashboardVersion)+dashboard_version = Lens.lens (\Dashboard' {version} -> version) (\s@Dashboard' {} a -> s {version = a} :: Dashboard)++instance Data.FromJSON Dashboard where+  parseJSON =+    Data.withObject+      "Dashboard"+      ( \x ->+          Dashboard'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "DashboardId")+            Prelude.<*> (x Data..:? "LastPublishedTime")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Version")+      )++instance Prelude.Hashable Dashboard where+  hashWithSalt _salt Dashboard' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` dashboardId+      `Prelude.hashWithSalt` lastPublishedTime+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` version++instance Prelude.NFData Dashboard where+  rnf Dashboard' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf dashboardId+      `Prelude.seq` Prelude.rnf lastPublishedTime+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf version
+ gen/Amazonka/QuickSight/Types/DashboardBehavior.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.QuickSight.Types.DashboardBehavior+-- 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.QuickSight.Types.DashboardBehavior+  ( DashboardBehavior+      ( ..,+        DashboardBehavior_DISABLED,+        DashboardBehavior_ENABLED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DashboardBehavior = DashboardBehavior'+  { fromDashboardBehavior ::+      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 DashboardBehavior_DISABLED :: DashboardBehavior+pattern DashboardBehavior_DISABLED = DashboardBehavior' "DISABLED"++pattern DashboardBehavior_ENABLED :: DashboardBehavior+pattern DashboardBehavior_ENABLED = DashboardBehavior' "ENABLED"++{-# COMPLETE+  DashboardBehavior_DISABLED,+  DashboardBehavior_ENABLED,+  DashboardBehavior'+  #-}
+ gen/Amazonka/QuickSight/Types/DashboardError.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DashboardError+-- 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.QuickSight.Types.DashboardError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DashboardErrorType+import Amazonka.QuickSight.Types.Entity++-- | Dashboard error.+--+-- /See:/ 'newDashboardError' smart constructor.+data DashboardError = DashboardError'+  { -- | Message.+    message :: Prelude.Maybe Prelude.Text,+    -- | Type.+    type' :: Prelude.Maybe DashboardErrorType,+    violatedEntities :: Prelude.Maybe [Entity]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DashboardError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'dashboardError_message' - Message.+--+-- 'type'', 'dashboardError_type' - Type.+--+-- 'violatedEntities', 'dashboardError_violatedEntities' -+newDashboardError ::+  DashboardError+newDashboardError =+  DashboardError'+    { message = Prelude.Nothing,+      type' = Prelude.Nothing,+      violatedEntities = Prelude.Nothing+    }++-- | Message.+dashboardError_message :: Lens.Lens' DashboardError (Prelude.Maybe Prelude.Text)+dashboardError_message = Lens.lens (\DashboardError' {message} -> message) (\s@DashboardError' {} a -> s {message = a} :: DashboardError)++-- | Type.+dashboardError_type :: Lens.Lens' DashboardError (Prelude.Maybe DashboardErrorType)+dashboardError_type = Lens.lens (\DashboardError' {type'} -> type') (\s@DashboardError' {} a -> s {type' = a} :: DashboardError)++dashboardError_violatedEntities :: Lens.Lens' DashboardError (Prelude.Maybe [Entity])+dashboardError_violatedEntities = Lens.lens (\DashboardError' {violatedEntities} -> violatedEntities) (\s@DashboardError' {} a -> s {violatedEntities = a} :: DashboardError) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON DashboardError where+  parseJSON =+    Data.withObject+      "DashboardError"+      ( \x ->+          DashboardError'+            Prelude.<$> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "Type")+            Prelude.<*> ( x+                            Data..:? "ViolatedEntities"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable DashboardError where+  hashWithSalt _salt DashboardError' {..} =+    _salt+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` violatedEntities++instance Prelude.NFData DashboardError where+  rnf DashboardError' {..} =+    Prelude.rnf message+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf violatedEntities
+ gen/Amazonka/QuickSight/Types/DashboardErrorType.hs view
@@ -0,0 +1,111 @@+{-# 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.QuickSight.Types.DashboardErrorType+-- 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.QuickSight.Types.DashboardErrorType+  ( DashboardErrorType+      ( ..,+        DashboardErrorType_ACCESS_DENIED,+        DashboardErrorType_COLUMN_GEOGRAPHIC_ROLE_MISMATCH,+        DashboardErrorType_COLUMN_REPLACEMENT_MISSING,+        DashboardErrorType_COLUMN_TYPE_MISMATCH,+        DashboardErrorType_DATA_SET_NOT_FOUND,+        DashboardErrorType_INTERNAL_FAILURE,+        DashboardErrorType_PARAMETER_NOT_FOUND,+        DashboardErrorType_PARAMETER_TYPE_INVALID,+        DashboardErrorType_PARAMETER_VALUE_INCOMPATIBLE,+        DashboardErrorType_SOURCE_NOT_FOUND+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DashboardErrorType = DashboardErrorType'+  { fromDashboardErrorType ::+      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 DashboardErrorType_ACCESS_DENIED :: DashboardErrorType+pattern DashboardErrorType_ACCESS_DENIED = DashboardErrorType' "ACCESS_DENIED"++pattern DashboardErrorType_COLUMN_GEOGRAPHIC_ROLE_MISMATCH :: DashboardErrorType+pattern DashboardErrorType_COLUMN_GEOGRAPHIC_ROLE_MISMATCH = DashboardErrorType' "COLUMN_GEOGRAPHIC_ROLE_MISMATCH"++pattern DashboardErrorType_COLUMN_REPLACEMENT_MISSING :: DashboardErrorType+pattern DashboardErrorType_COLUMN_REPLACEMENT_MISSING = DashboardErrorType' "COLUMN_REPLACEMENT_MISSING"++pattern DashboardErrorType_COLUMN_TYPE_MISMATCH :: DashboardErrorType+pattern DashboardErrorType_COLUMN_TYPE_MISMATCH = DashboardErrorType' "COLUMN_TYPE_MISMATCH"++pattern DashboardErrorType_DATA_SET_NOT_FOUND :: DashboardErrorType+pattern DashboardErrorType_DATA_SET_NOT_FOUND = DashboardErrorType' "DATA_SET_NOT_FOUND"++pattern DashboardErrorType_INTERNAL_FAILURE :: DashboardErrorType+pattern DashboardErrorType_INTERNAL_FAILURE = DashboardErrorType' "INTERNAL_FAILURE"++pattern DashboardErrorType_PARAMETER_NOT_FOUND :: DashboardErrorType+pattern DashboardErrorType_PARAMETER_NOT_FOUND = DashboardErrorType' "PARAMETER_NOT_FOUND"++pattern DashboardErrorType_PARAMETER_TYPE_INVALID :: DashboardErrorType+pattern DashboardErrorType_PARAMETER_TYPE_INVALID = DashboardErrorType' "PARAMETER_TYPE_INVALID"++pattern DashboardErrorType_PARAMETER_VALUE_INCOMPATIBLE :: DashboardErrorType+pattern DashboardErrorType_PARAMETER_VALUE_INCOMPATIBLE = DashboardErrorType' "PARAMETER_VALUE_INCOMPATIBLE"++pattern DashboardErrorType_SOURCE_NOT_FOUND :: DashboardErrorType+pattern DashboardErrorType_SOURCE_NOT_FOUND = DashboardErrorType' "SOURCE_NOT_FOUND"++{-# COMPLETE+  DashboardErrorType_ACCESS_DENIED,+  DashboardErrorType_COLUMN_GEOGRAPHIC_ROLE_MISMATCH,+  DashboardErrorType_COLUMN_REPLACEMENT_MISSING,+  DashboardErrorType_COLUMN_TYPE_MISMATCH,+  DashboardErrorType_DATA_SET_NOT_FOUND,+  DashboardErrorType_INTERNAL_FAILURE,+  DashboardErrorType_PARAMETER_NOT_FOUND,+  DashboardErrorType_PARAMETER_TYPE_INVALID,+  DashboardErrorType_PARAMETER_VALUE_INCOMPATIBLE,+  DashboardErrorType_SOURCE_NOT_FOUND,+  DashboardErrorType'+  #-}
+ gen/Amazonka/QuickSight/Types/DashboardFilterAttribute.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DashboardFilterAttribute+-- 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.QuickSight.Types.DashboardFilterAttribute+  ( DashboardFilterAttribute+      ( ..,+        DashboardFilterAttribute_DASHBOARD_NAME,+        DashboardFilterAttribute_DIRECT_QUICKSIGHT_OWNER,+        DashboardFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER,+        DashboardFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER,+        DashboardFilterAttribute_QUICKSIGHT_OWNER,+        DashboardFilterAttribute_QUICKSIGHT_USER,+        DashboardFilterAttribute_QUICKSIGHT_VIEWER_OR_OWNER+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DashboardFilterAttribute = DashboardFilterAttribute'+  { fromDashboardFilterAttribute ::+      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 DashboardFilterAttribute_DASHBOARD_NAME :: DashboardFilterAttribute+pattern DashboardFilterAttribute_DASHBOARD_NAME = DashboardFilterAttribute' "DASHBOARD_NAME"++pattern DashboardFilterAttribute_DIRECT_QUICKSIGHT_OWNER :: DashboardFilterAttribute+pattern DashboardFilterAttribute_DIRECT_QUICKSIGHT_OWNER = DashboardFilterAttribute' "DIRECT_QUICKSIGHT_OWNER"++pattern DashboardFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER :: DashboardFilterAttribute+pattern DashboardFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER = DashboardFilterAttribute' "DIRECT_QUICKSIGHT_SOLE_OWNER"++pattern DashboardFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER :: DashboardFilterAttribute+pattern DashboardFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER = DashboardFilterAttribute' "DIRECT_QUICKSIGHT_VIEWER_OR_OWNER"++pattern DashboardFilterAttribute_QUICKSIGHT_OWNER :: DashboardFilterAttribute+pattern DashboardFilterAttribute_QUICKSIGHT_OWNER = DashboardFilterAttribute' "QUICKSIGHT_OWNER"++pattern DashboardFilterAttribute_QUICKSIGHT_USER :: DashboardFilterAttribute+pattern DashboardFilterAttribute_QUICKSIGHT_USER = DashboardFilterAttribute' "QUICKSIGHT_USER"++pattern DashboardFilterAttribute_QUICKSIGHT_VIEWER_OR_OWNER :: DashboardFilterAttribute+pattern DashboardFilterAttribute_QUICKSIGHT_VIEWER_OR_OWNER = DashboardFilterAttribute' "QUICKSIGHT_VIEWER_OR_OWNER"++{-# COMPLETE+  DashboardFilterAttribute_DASHBOARD_NAME,+  DashboardFilterAttribute_DIRECT_QUICKSIGHT_OWNER,+  DashboardFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER,+  DashboardFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER,+  DashboardFilterAttribute_QUICKSIGHT_OWNER,+  DashboardFilterAttribute_QUICKSIGHT_USER,+  DashboardFilterAttribute_QUICKSIGHT_VIEWER_OR_OWNER,+  DashboardFilterAttribute'+  #-}
+ gen/Amazonka/QuickSight/Types/DashboardPublishOptions.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.QuickSight.Types.DashboardPublishOptions+-- 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.QuickSight.Types.DashboardPublishOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AdHocFilteringOption+import Amazonka.QuickSight.Types.DashboardVisualPublishOptions+import Amazonka.QuickSight.Types.ExportToCSVOption+import Amazonka.QuickSight.Types.SheetControlsOption++-- | Dashboard publish options.+--+-- /See:/ 'newDashboardPublishOptions' smart constructor.+data DashboardPublishOptions = DashboardPublishOptions'+  { -- | Ad hoc (one-time) filtering option.+    adHocFilteringOption :: Prelude.Maybe AdHocFilteringOption,+    -- | Export to .csv option.+    exportToCSVOption :: Prelude.Maybe ExportToCSVOption,+    -- | Sheet controls option.+    sheetControlsOption :: Prelude.Maybe SheetControlsOption,+    visualPublishOptions :: Prelude.Maybe DashboardVisualPublishOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DashboardPublishOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adHocFilteringOption', 'dashboardPublishOptions_adHocFilteringOption' - Ad hoc (one-time) filtering option.+--+-- 'exportToCSVOption', 'dashboardPublishOptions_exportToCSVOption' - Export to .csv option.+--+-- 'sheetControlsOption', 'dashboardPublishOptions_sheetControlsOption' - Sheet controls option.+--+-- 'visualPublishOptions', 'dashboardPublishOptions_visualPublishOptions' -+newDashboardPublishOptions ::+  DashboardPublishOptions+newDashboardPublishOptions =+  DashboardPublishOptions'+    { adHocFilteringOption =+        Prelude.Nothing,+      exportToCSVOption = Prelude.Nothing,+      sheetControlsOption = Prelude.Nothing,+      visualPublishOptions = Prelude.Nothing+    }++-- | Ad hoc (one-time) filtering option.+dashboardPublishOptions_adHocFilteringOption :: Lens.Lens' DashboardPublishOptions (Prelude.Maybe AdHocFilteringOption)+dashboardPublishOptions_adHocFilteringOption = Lens.lens (\DashboardPublishOptions' {adHocFilteringOption} -> adHocFilteringOption) (\s@DashboardPublishOptions' {} a -> s {adHocFilteringOption = a} :: DashboardPublishOptions)++-- | Export to .csv option.+dashboardPublishOptions_exportToCSVOption :: Lens.Lens' DashboardPublishOptions (Prelude.Maybe ExportToCSVOption)+dashboardPublishOptions_exportToCSVOption = Lens.lens (\DashboardPublishOptions' {exportToCSVOption} -> exportToCSVOption) (\s@DashboardPublishOptions' {} a -> s {exportToCSVOption = a} :: DashboardPublishOptions)++-- | Sheet controls option.+dashboardPublishOptions_sheetControlsOption :: Lens.Lens' DashboardPublishOptions (Prelude.Maybe SheetControlsOption)+dashboardPublishOptions_sheetControlsOption = Lens.lens (\DashboardPublishOptions' {sheetControlsOption} -> sheetControlsOption) (\s@DashboardPublishOptions' {} a -> s {sheetControlsOption = a} :: DashboardPublishOptions)++dashboardPublishOptions_visualPublishOptions :: Lens.Lens' DashboardPublishOptions (Prelude.Maybe DashboardVisualPublishOptions)+dashboardPublishOptions_visualPublishOptions = Lens.lens (\DashboardPublishOptions' {visualPublishOptions} -> visualPublishOptions) (\s@DashboardPublishOptions' {} a -> s {visualPublishOptions = a} :: DashboardPublishOptions)++instance Prelude.Hashable DashboardPublishOptions where+  hashWithSalt _salt DashboardPublishOptions' {..} =+    _salt+      `Prelude.hashWithSalt` adHocFilteringOption+      `Prelude.hashWithSalt` exportToCSVOption+      `Prelude.hashWithSalt` sheetControlsOption+      `Prelude.hashWithSalt` visualPublishOptions++instance Prelude.NFData DashboardPublishOptions where+  rnf DashboardPublishOptions' {..} =+    Prelude.rnf adHocFilteringOption+      `Prelude.seq` Prelude.rnf exportToCSVOption+      `Prelude.seq` Prelude.rnf sheetControlsOption+      `Prelude.seq` Prelude.rnf visualPublishOptions++instance Data.ToJSON DashboardPublishOptions where+  toJSON DashboardPublishOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AdHocFilteringOption" Data..=)+              Prelude.<$> adHocFilteringOption,+            ("ExportToCSVOption" Data..=)+              Prelude.<$> exportToCSVOption,+            ("SheetControlsOption" Data..=)+              Prelude.<$> sheetControlsOption,+            ("VisualPublishOptions" Data..=)+              Prelude.<$> visualPublishOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/DashboardSearchFilter.hs view
@@ -0,0 +1,240 @@+{-# 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.QuickSight.Types.DashboardSearchFilter+-- 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.QuickSight.Types.DashboardSearchFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DashboardFilterAttribute+import Amazonka.QuickSight.Types.FilterOperator++-- | A filter that you apply when searching for dashboards.+--+-- /See:/ 'newDashboardSearchFilter' smart constructor.+data DashboardSearchFilter = DashboardSearchFilter'+  { -- | The name of the value that you want to use as a filter, for example,+    -- @\"Name\": \"QUICKSIGHT_OWNER\"@.+    --+    -- Valid values are defined as follows:+    --+    -- -   @QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or group, and+    --     any dashboards with that ARN listed as one of the dashboards\'s+    --     owners or viewers are returned. Implicit permissions from folders or+    --     groups are considered.+    --+    -- -   @QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and any+    --     dashboards with that ARN listed as one of the owners of the+    --     dashboards are returned. Implicit permissions from folders or groups+    --     are considered.+    --+    -- -   @DIRECT_QUICKSIGHT_SOLE_OWNER@: Provide an ARN of a user or group,+    --     and any dashboards with that ARN listed as the only owner of the+    --     dashboard are returned. Implicit permissions from folders or groups+    --     are not considered.+    --+    -- -   @DIRECT_QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and+    --     any dashboards with that ARN listed as one of the owners of the+    --     dashboards are returned. Implicit permissions from folders or groups+    --     are not considered.+    --+    -- -   @DIRECT_QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or+    --     group, and any dashboards with that ARN listed as one of the owners+    --     or viewers of the dashboards are returned. Implicit permissions from+    --     folders or groups are not considered.+    --+    -- -   @DASHBOARD_NAME@: Any dashboards whose names have a substring match+    --     to this value will be returned.+    name :: Prelude.Maybe DashboardFilterAttribute,+    -- | The value of the named item, in this case @QUICKSIGHT_USER@, that you+    -- want to use as a filter, for example,+    -- @\"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+    value :: Prelude.Maybe Prelude.Text,+    -- | The comparison operator that you want to use as a filter, for example+    -- @\"Operator\": \"StringEquals\"@. Valid values are @\"StringEquals\"@+    -- and @\"StringLike\"@.+    --+    -- If you set the operator value to @\"StringEquals\"@, you need to provide+    -- an ownership related filter in the @\"NAME\"@ field and the arn of the+    -- user or group whose folders you want to search in the @\"Value\"@ field.+    -- For example,+    -- @\"Name\":\"DIRECT_QUICKSIGHT_OWNER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+    --+    -- If you set the value to @\"StringLike\"@, you need to provide the name+    -- of the folders you are searching for. For example,+    -- @\"Name\":\"DASHBOARD_NAME\", \"Operator\": \"StringLike\", \"Value\": \"Test\"@.+    -- The @\"StringLike\"@ operator only supports the @NAME@ value+    -- @DASHBOARD_NAME@.+    operator :: FilterOperator+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DashboardSearchFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'dashboardSearchFilter_name' - The name of the value that you want to use as a filter, for example,+-- @\"Name\": \"QUICKSIGHT_OWNER\"@.+--+-- Valid values are defined as follows:+--+-- -   @QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or group, and+--     any dashboards with that ARN listed as one of the dashboards\'s+--     owners or viewers are returned. Implicit permissions from folders or+--     groups are considered.+--+-- -   @QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and any+--     dashboards with that ARN listed as one of the owners of the+--     dashboards are returned. Implicit permissions from folders or groups+--     are considered.+--+-- -   @DIRECT_QUICKSIGHT_SOLE_OWNER@: Provide an ARN of a user or group,+--     and any dashboards with that ARN listed as the only owner of the+--     dashboard are returned. Implicit permissions from folders or groups+--     are not considered.+--+-- -   @DIRECT_QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and+--     any dashboards with that ARN listed as one of the owners of the+--     dashboards are returned. Implicit permissions from folders or groups+--     are not considered.+--+-- -   @DIRECT_QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or+--     group, and any dashboards with that ARN listed as one of the owners+--     or viewers of the dashboards are returned. Implicit permissions from+--     folders or groups are not considered.+--+-- -   @DASHBOARD_NAME@: Any dashboards whose names have a substring match+--     to this value will be returned.+--+-- 'value', 'dashboardSearchFilter_value' - The value of the named item, in this case @QUICKSIGHT_USER@, that you+-- want to use as a filter, for example,+-- @\"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+--+-- 'operator', 'dashboardSearchFilter_operator' - The comparison operator that you want to use as a filter, for example+-- @\"Operator\": \"StringEquals\"@. Valid values are @\"StringEquals\"@+-- and @\"StringLike\"@.+--+-- If you set the operator value to @\"StringEquals\"@, you need to provide+-- an ownership related filter in the @\"NAME\"@ field and the arn of the+-- user or group whose folders you want to search in the @\"Value\"@ field.+-- For example,+-- @\"Name\":\"DIRECT_QUICKSIGHT_OWNER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+--+-- If you set the value to @\"StringLike\"@, you need to provide the name+-- of the folders you are searching for. For example,+-- @\"Name\":\"DASHBOARD_NAME\", \"Operator\": \"StringLike\", \"Value\": \"Test\"@.+-- The @\"StringLike\"@ operator only supports the @NAME@ value+-- @DASHBOARD_NAME@.+newDashboardSearchFilter ::+  -- | 'operator'+  FilterOperator ->+  DashboardSearchFilter+newDashboardSearchFilter pOperator_ =+  DashboardSearchFilter'+    { name = Prelude.Nothing,+      value = Prelude.Nothing,+      operator = pOperator_+    }++-- | The name of the value that you want to use as a filter, for example,+-- @\"Name\": \"QUICKSIGHT_OWNER\"@.+--+-- Valid values are defined as follows:+--+-- -   @QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or group, and+--     any dashboards with that ARN listed as one of the dashboards\'s+--     owners or viewers are returned. Implicit permissions from folders or+--     groups are considered.+--+-- -   @QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and any+--     dashboards with that ARN listed as one of the owners of the+--     dashboards are returned. Implicit permissions from folders or groups+--     are considered.+--+-- -   @DIRECT_QUICKSIGHT_SOLE_OWNER@: Provide an ARN of a user or group,+--     and any dashboards with that ARN listed as the only owner of the+--     dashboard are returned. Implicit permissions from folders or groups+--     are not considered.+--+-- -   @DIRECT_QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and+--     any dashboards with that ARN listed as one of the owners of the+--     dashboards are returned. Implicit permissions from folders or groups+--     are not considered.+--+-- -   @DIRECT_QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or+--     group, and any dashboards with that ARN listed as one of the owners+--     or viewers of the dashboards are returned. Implicit permissions from+--     folders or groups are not considered.+--+-- -   @DASHBOARD_NAME@: Any dashboards whose names have a substring match+--     to this value will be returned.+dashboardSearchFilter_name :: Lens.Lens' DashboardSearchFilter (Prelude.Maybe DashboardFilterAttribute)+dashboardSearchFilter_name = Lens.lens (\DashboardSearchFilter' {name} -> name) (\s@DashboardSearchFilter' {} a -> s {name = a} :: DashboardSearchFilter)++-- | The value of the named item, in this case @QUICKSIGHT_USER@, that you+-- want to use as a filter, for example,+-- @\"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+dashboardSearchFilter_value :: Lens.Lens' DashboardSearchFilter (Prelude.Maybe Prelude.Text)+dashboardSearchFilter_value = Lens.lens (\DashboardSearchFilter' {value} -> value) (\s@DashboardSearchFilter' {} a -> s {value = a} :: DashboardSearchFilter)++-- | The comparison operator that you want to use as a filter, for example+-- @\"Operator\": \"StringEquals\"@. Valid values are @\"StringEquals\"@+-- and @\"StringLike\"@.+--+-- If you set the operator value to @\"StringEquals\"@, you need to provide+-- an ownership related filter in the @\"NAME\"@ field and the arn of the+-- user or group whose folders you want to search in the @\"Value\"@ field.+-- For example,+-- @\"Name\":\"DIRECT_QUICKSIGHT_OWNER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+--+-- If you set the value to @\"StringLike\"@, you need to provide the name+-- of the folders you are searching for. For example,+-- @\"Name\":\"DASHBOARD_NAME\", \"Operator\": \"StringLike\", \"Value\": \"Test\"@.+-- The @\"StringLike\"@ operator only supports the @NAME@ value+-- @DASHBOARD_NAME@.+dashboardSearchFilter_operator :: Lens.Lens' DashboardSearchFilter FilterOperator+dashboardSearchFilter_operator = Lens.lens (\DashboardSearchFilter' {operator} -> operator) (\s@DashboardSearchFilter' {} a -> s {operator = a} :: DashboardSearchFilter)++instance Prelude.Hashable DashboardSearchFilter where+  hashWithSalt _salt DashboardSearchFilter' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` operator++instance Prelude.NFData DashboardSearchFilter where+  rnf DashboardSearchFilter' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf value+      `Prelude.seq` Prelude.rnf operator++instance Data.ToJSON DashboardSearchFilter where+  toJSON DashboardSearchFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Name" Data..=) Prelude.<$> name,+            ("Value" Data..=) Prelude.<$> value,+            Prelude.Just ("Operator" Data..= operator)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DashboardSourceEntity.hs view
@@ -0,0 +1,73 @@+{-# 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.QuickSight.Types.DashboardSourceEntity+-- 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.QuickSight.Types.DashboardSourceEntity where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DashboardSourceTemplate++-- | Dashboard source entity.+--+-- /See:/ 'newDashboardSourceEntity' smart constructor.+data DashboardSourceEntity = DashboardSourceEntity'+  { -- | Source template.+    sourceTemplate :: Prelude.Maybe DashboardSourceTemplate+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DashboardSourceEntity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceTemplate', 'dashboardSourceEntity_sourceTemplate' - Source template.+newDashboardSourceEntity ::+  DashboardSourceEntity+newDashboardSourceEntity =+  DashboardSourceEntity'+    { sourceTemplate =+        Prelude.Nothing+    }++-- | Source template.+dashboardSourceEntity_sourceTemplate :: Lens.Lens' DashboardSourceEntity (Prelude.Maybe DashboardSourceTemplate)+dashboardSourceEntity_sourceTemplate = Lens.lens (\DashboardSourceEntity' {sourceTemplate} -> sourceTemplate) (\s@DashboardSourceEntity' {} a -> s {sourceTemplate = a} :: DashboardSourceEntity)++instance Prelude.Hashable DashboardSourceEntity where+  hashWithSalt _salt DashboardSourceEntity' {..} =+    _salt `Prelude.hashWithSalt` sourceTemplate++instance Prelude.NFData DashboardSourceEntity where+  rnf DashboardSourceEntity' {..} =+    Prelude.rnf sourceTemplate++instance Data.ToJSON DashboardSourceEntity where+  toJSON DashboardSourceEntity' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SourceTemplate" Data..=)+              Prelude.<$> sourceTemplate+          ]+      )
+ gen/Amazonka/QuickSight/Types/DashboardSourceTemplate.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DashboardSourceTemplate+-- 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.QuickSight.Types.DashboardSourceTemplate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataSetReference++-- | Dashboard source template.+--+-- /See:/ 'newDashboardSourceTemplate' smart constructor.+data DashboardSourceTemplate = DashboardSourceTemplate'+  { -- | Dataset references.+    dataSetReferences :: Prelude.NonEmpty DataSetReference,+    -- | The Amazon Resource Name (ARN) of the resource.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DashboardSourceTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSetReferences', 'dashboardSourceTemplate_dataSetReferences' - Dataset references.+--+-- 'arn', 'dashboardSourceTemplate_arn' - The Amazon Resource Name (ARN) of the resource.+newDashboardSourceTemplate ::+  -- | 'dataSetReferences'+  Prelude.NonEmpty DataSetReference ->+  -- | 'arn'+  Prelude.Text ->+  DashboardSourceTemplate+newDashboardSourceTemplate pDataSetReferences_ pArn_ =+  DashboardSourceTemplate'+    { dataSetReferences =+        Lens.coerced Lens.# pDataSetReferences_,+      arn = pArn_+    }++-- | Dataset references.+dashboardSourceTemplate_dataSetReferences :: Lens.Lens' DashboardSourceTemplate (Prelude.NonEmpty DataSetReference)+dashboardSourceTemplate_dataSetReferences = Lens.lens (\DashboardSourceTemplate' {dataSetReferences} -> dataSetReferences) (\s@DashboardSourceTemplate' {} a -> s {dataSetReferences = a} :: DashboardSourceTemplate) Prelude.. Lens.coerced++-- | The Amazon Resource Name (ARN) of the resource.+dashboardSourceTemplate_arn :: Lens.Lens' DashboardSourceTemplate Prelude.Text+dashboardSourceTemplate_arn = Lens.lens (\DashboardSourceTemplate' {arn} -> arn) (\s@DashboardSourceTemplate' {} a -> s {arn = a} :: DashboardSourceTemplate)++instance Prelude.Hashable DashboardSourceTemplate where+  hashWithSalt _salt DashboardSourceTemplate' {..} =+    _salt+      `Prelude.hashWithSalt` dataSetReferences+      `Prelude.hashWithSalt` arn++instance Prelude.NFData DashboardSourceTemplate where+  rnf DashboardSourceTemplate' {..} =+    Prelude.rnf dataSetReferences+      `Prelude.seq` Prelude.rnf arn++instance Data.ToJSON DashboardSourceTemplate where+  toJSON DashboardSourceTemplate' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("DataSetReferences" Data..= dataSetReferences),+            Prelude.Just ("Arn" Data..= arn)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DashboardSummary.hs view
@@ -0,0 +1,144 @@+{-# 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.QuickSight.Types.DashboardSummary+-- 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.QuickSight.Types.DashboardSummary 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++-- | Dashboard summary.+--+-- /See:/ 'newDashboardSummary' smart constructor.+data DashboardSummary = DashboardSummary'+  { -- | The Amazon Resource Name (ARN) of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time that this dashboard was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | Dashboard ID.+    dashboardId :: Prelude.Maybe Prelude.Text,+    -- | The last time that this dashboard was published.+    lastPublishedTime :: Prelude.Maybe Data.POSIX,+    -- | The last time that this dashboard was updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | A display name for the dashboard.+    name :: Prelude.Maybe Prelude.Text,+    -- | Published version number.+    publishedVersionNumber :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DashboardSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'dashboardSummary_arn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'createdTime', 'dashboardSummary_createdTime' - The time that this dashboard was created.+--+-- 'dashboardId', 'dashboardSummary_dashboardId' - Dashboard ID.+--+-- 'lastPublishedTime', 'dashboardSummary_lastPublishedTime' - The last time that this dashboard was published.+--+-- 'lastUpdatedTime', 'dashboardSummary_lastUpdatedTime' - The last time that this dashboard was updated.+--+-- 'name', 'dashboardSummary_name' - A display name for the dashboard.+--+-- 'publishedVersionNumber', 'dashboardSummary_publishedVersionNumber' - Published version number.+newDashboardSummary ::+  DashboardSummary+newDashboardSummary =+  DashboardSummary'+    { arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      dashboardId = Prelude.Nothing,+      lastPublishedTime = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      publishedVersionNumber = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the resource.+dashboardSummary_arn :: Lens.Lens' DashboardSummary (Prelude.Maybe Prelude.Text)+dashboardSummary_arn = Lens.lens (\DashboardSummary' {arn} -> arn) (\s@DashboardSummary' {} a -> s {arn = a} :: DashboardSummary)++-- | The time that this dashboard was created.+dashboardSummary_createdTime :: Lens.Lens' DashboardSummary (Prelude.Maybe Prelude.UTCTime)+dashboardSummary_createdTime = Lens.lens (\DashboardSummary' {createdTime} -> createdTime) (\s@DashboardSummary' {} a -> s {createdTime = a} :: DashboardSummary) Prelude.. Lens.mapping Data._Time++-- | Dashboard ID.+dashboardSummary_dashboardId :: Lens.Lens' DashboardSummary (Prelude.Maybe Prelude.Text)+dashboardSummary_dashboardId = Lens.lens (\DashboardSummary' {dashboardId} -> dashboardId) (\s@DashboardSummary' {} a -> s {dashboardId = a} :: DashboardSummary)++-- | The last time that this dashboard was published.+dashboardSummary_lastPublishedTime :: Lens.Lens' DashboardSummary (Prelude.Maybe Prelude.UTCTime)+dashboardSummary_lastPublishedTime = Lens.lens (\DashboardSummary' {lastPublishedTime} -> lastPublishedTime) (\s@DashboardSummary' {} a -> s {lastPublishedTime = a} :: DashboardSummary) Prelude.. Lens.mapping Data._Time++-- | The last time that this dashboard was updated.+dashboardSummary_lastUpdatedTime :: Lens.Lens' DashboardSummary (Prelude.Maybe Prelude.UTCTime)+dashboardSummary_lastUpdatedTime = Lens.lens (\DashboardSummary' {lastUpdatedTime} -> lastUpdatedTime) (\s@DashboardSummary' {} a -> s {lastUpdatedTime = a} :: DashboardSummary) Prelude.. Lens.mapping Data._Time++-- | A display name for the dashboard.+dashboardSummary_name :: Lens.Lens' DashboardSummary (Prelude.Maybe Prelude.Text)+dashboardSummary_name = Lens.lens (\DashboardSummary' {name} -> name) (\s@DashboardSummary' {} a -> s {name = a} :: DashboardSummary)++-- | Published version number.+dashboardSummary_publishedVersionNumber :: Lens.Lens' DashboardSummary (Prelude.Maybe Prelude.Natural)+dashboardSummary_publishedVersionNumber = Lens.lens (\DashboardSummary' {publishedVersionNumber} -> publishedVersionNumber) (\s@DashboardSummary' {} a -> s {publishedVersionNumber = a} :: DashboardSummary)++instance Data.FromJSON DashboardSummary where+  parseJSON =+    Data.withObject+      "DashboardSummary"+      ( \x ->+          DashboardSummary'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "DashboardId")+            Prelude.<*> (x Data..:? "LastPublishedTime")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "PublishedVersionNumber")+      )++instance Prelude.Hashable DashboardSummary where+  hashWithSalt _salt DashboardSummary' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` dashboardId+      `Prelude.hashWithSalt` lastPublishedTime+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` publishedVersionNumber++instance Prelude.NFData DashboardSummary where+  rnf DashboardSummary' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf dashboardId+      `Prelude.seq` Prelude.rnf lastPublishedTime+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf publishedVersionNumber
+ gen/Amazonka/QuickSight/Types/DashboardUIState.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.QuickSight.Types.DashboardUIState+-- 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.QuickSight.Types.DashboardUIState+  ( DashboardUIState+      ( ..,+        DashboardUIState_COLLAPSED,+        DashboardUIState_EXPANDED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DashboardUIState = DashboardUIState'+  { fromDashboardUIState ::+      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 DashboardUIState_COLLAPSED :: DashboardUIState+pattern DashboardUIState_COLLAPSED = DashboardUIState' "COLLAPSED"++pattern DashboardUIState_EXPANDED :: DashboardUIState+pattern DashboardUIState_EXPANDED = DashboardUIState' "EXPANDED"++{-# COMPLETE+  DashboardUIState_COLLAPSED,+  DashboardUIState_EXPANDED,+  DashboardUIState'+  #-}
+ gen/Amazonka/QuickSight/Types/DashboardVersion.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DashboardVersion+-- 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.QuickSight.Types.DashboardVersion where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DashboardError+import Amazonka.QuickSight.Types.ResourceStatus+import Amazonka.QuickSight.Types.Sheet++-- | Dashboard version.+--+-- /See:/ 'newDashboardVersion' smart constructor.+data DashboardVersion = DashboardVersion'+  { -- | The Amazon Resource Name (ARN) of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time that this dashboard version was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The Amazon Resource Numbers (ARNs) for the datasets that are associated+    -- with this version of the dashboard.+    dataSetArns :: Prelude.Maybe [Prelude.Text],+    -- | Description.+    description :: Prelude.Maybe Prelude.Text,+    -- | Errors associated with this dashboard version.+    errors :: Prelude.Maybe (Prelude.NonEmpty DashboardError),+    -- | A list of the associated sheets with the unique identifier and name of+    -- each sheet.+    sheets :: Prelude.Maybe [Sheet],+    -- | Source entity ARN.+    sourceEntityArn :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Maybe ResourceStatus,+    -- | The ARN of the theme associated with a version of the dashboard.+    themeArn :: Prelude.Maybe Prelude.Text,+    -- | Version number for this version of the dashboard.+    versionNumber :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DashboardVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'dashboardVersion_arn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'createdTime', 'dashboardVersion_createdTime' - The time that this dashboard version was created.+--+-- 'dataSetArns', 'dashboardVersion_dataSetArns' - The Amazon Resource Numbers (ARNs) for the datasets that are associated+-- with this version of the dashboard.+--+-- 'description', 'dashboardVersion_description' - Description.+--+-- 'errors', 'dashboardVersion_errors' - Errors associated with this dashboard version.+--+-- 'sheets', 'dashboardVersion_sheets' - A list of the associated sheets with the unique identifier and name of+-- each sheet.+--+-- 'sourceEntityArn', 'dashboardVersion_sourceEntityArn' - Source entity ARN.+--+-- 'status', 'dashboardVersion_status' - The HTTP status of the request.+--+-- 'themeArn', 'dashboardVersion_themeArn' - The ARN of the theme associated with a version of the dashboard.+--+-- 'versionNumber', 'dashboardVersion_versionNumber' - Version number for this version of the dashboard.+newDashboardVersion ::+  DashboardVersion+newDashboardVersion =+  DashboardVersion'+    { arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      dataSetArns = Prelude.Nothing,+      description = Prelude.Nothing,+      errors = Prelude.Nothing,+      sheets = Prelude.Nothing,+      sourceEntityArn = Prelude.Nothing,+      status = Prelude.Nothing,+      themeArn = Prelude.Nothing,+      versionNumber = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the resource.+dashboardVersion_arn :: Lens.Lens' DashboardVersion (Prelude.Maybe Prelude.Text)+dashboardVersion_arn = Lens.lens (\DashboardVersion' {arn} -> arn) (\s@DashboardVersion' {} a -> s {arn = a} :: DashboardVersion)++-- | The time that this dashboard version was created.+dashboardVersion_createdTime :: Lens.Lens' DashboardVersion (Prelude.Maybe Prelude.UTCTime)+dashboardVersion_createdTime = Lens.lens (\DashboardVersion' {createdTime} -> createdTime) (\s@DashboardVersion' {} a -> s {createdTime = a} :: DashboardVersion) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Numbers (ARNs) for the datasets that are associated+-- with this version of the dashboard.+dashboardVersion_dataSetArns :: Lens.Lens' DashboardVersion (Prelude.Maybe [Prelude.Text])+dashboardVersion_dataSetArns = Lens.lens (\DashboardVersion' {dataSetArns} -> dataSetArns) (\s@DashboardVersion' {} a -> s {dataSetArns = a} :: DashboardVersion) Prelude.. Lens.mapping Lens.coerced++-- | Description.+dashboardVersion_description :: Lens.Lens' DashboardVersion (Prelude.Maybe Prelude.Text)+dashboardVersion_description = Lens.lens (\DashboardVersion' {description} -> description) (\s@DashboardVersion' {} a -> s {description = a} :: DashboardVersion)++-- | Errors associated with this dashboard version.+dashboardVersion_errors :: Lens.Lens' DashboardVersion (Prelude.Maybe (Prelude.NonEmpty DashboardError))+dashboardVersion_errors = Lens.lens (\DashboardVersion' {errors} -> errors) (\s@DashboardVersion' {} a -> s {errors = a} :: DashboardVersion) Prelude.. Lens.mapping Lens.coerced++-- | A list of the associated sheets with the unique identifier and name of+-- each sheet.+dashboardVersion_sheets :: Lens.Lens' DashboardVersion (Prelude.Maybe [Sheet])+dashboardVersion_sheets = Lens.lens (\DashboardVersion' {sheets} -> sheets) (\s@DashboardVersion' {} a -> s {sheets = a} :: DashboardVersion) Prelude.. Lens.mapping Lens.coerced++-- | Source entity ARN.+dashboardVersion_sourceEntityArn :: Lens.Lens' DashboardVersion (Prelude.Maybe Prelude.Text)+dashboardVersion_sourceEntityArn = Lens.lens (\DashboardVersion' {sourceEntityArn} -> sourceEntityArn) (\s@DashboardVersion' {} a -> s {sourceEntityArn = a} :: DashboardVersion)++-- | The HTTP status of the request.+dashboardVersion_status :: Lens.Lens' DashboardVersion (Prelude.Maybe ResourceStatus)+dashboardVersion_status = Lens.lens (\DashboardVersion' {status} -> status) (\s@DashboardVersion' {} a -> s {status = a} :: DashboardVersion)++-- | The ARN of the theme associated with a version of the dashboard.+dashboardVersion_themeArn :: Lens.Lens' DashboardVersion (Prelude.Maybe Prelude.Text)+dashboardVersion_themeArn = Lens.lens (\DashboardVersion' {themeArn} -> themeArn) (\s@DashboardVersion' {} a -> s {themeArn = a} :: DashboardVersion)++-- | Version number for this version of the dashboard.+dashboardVersion_versionNumber :: Lens.Lens' DashboardVersion (Prelude.Maybe Prelude.Natural)+dashboardVersion_versionNumber = Lens.lens (\DashboardVersion' {versionNumber} -> versionNumber) (\s@DashboardVersion' {} a -> s {versionNumber = a} :: DashboardVersion)++instance Data.FromJSON DashboardVersion where+  parseJSON =+    Data.withObject+      "DashboardVersion"+      ( \x ->+          DashboardVersion'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "DataSetArns" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Errors")+            Prelude.<*> (x Data..:? "Sheets" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "SourceEntityArn")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "ThemeArn")+            Prelude.<*> (x Data..:? "VersionNumber")+      )++instance Prelude.Hashable DashboardVersion where+  hashWithSalt _salt DashboardVersion' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` dataSetArns+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` errors+      `Prelude.hashWithSalt` sheets+      `Prelude.hashWithSalt` sourceEntityArn+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` themeArn+      `Prelude.hashWithSalt` versionNumber++instance Prelude.NFData DashboardVersion where+  rnf DashboardVersion' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf dataSetArns+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf errors+      `Prelude.seq` Prelude.rnf sheets+      `Prelude.seq` Prelude.rnf sourceEntityArn+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf themeArn+      `Prelude.seq` Prelude.rnf versionNumber
+ gen/Amazonka/QuickSight/Types/DashboardVersionDefinition.hs view
@@ -0,0 +1,225 @@+{-# 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.QuickSight.Types.DashboardVersionDefinition+-- 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.QuickSight.Types.DashboardVersionDefinition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AnalysisDefaults+import Amazonka.QuickSight.Types.CalculatedField+import Amazonka.QuickSight.Types.ColumnConfiguration+import Amazonka.QuickSight.Types.DataSetIdentifierDeclaration+import Amazonka.QuickSight.Types.FilterGroup+import Amazonka.QuickSight.Types.ParameterDeclaration+import Amazonka.QuickSight.Types.SheetDefinition++-- | The contents of a dashboard.+--+-- /See:/ 'newDashboardVersionDefinition' smart constructor.+data DashboardVersionDefinition = DashboardVersionDefinition'+  { analysisDefaults :: Prelude.Maybe AnalysisDefaults,+    -- | An array of calculated field definitions for the dashboard.+    calculatedFields :: Prelude.Maybe [CalculatedField],+    -- | An array of dashboard-level column configurations. Column configurations+    -- are used to set the default formatting for a column that is used+    -- throughout a dashboard.+    columnConfigurations :: Prelude.Maybe [ColumnConfiguration],+    -- | The filter definitions for a dashboard.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/adding-a-filter.html Filtering Data in Amazon QuickSight>+    -- in the /Amazon QuickSight User Guide/.+    filterGroups :: Prelude.Maybe [FilterGroup],+    -- | The parameter declarations for a dashboard. Parameters are named+    -- variables that can transfer a value for use by an action or an object.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html Parameters in Amazon QuickSight>+    -- in the /Amazon QuickSight User Guide/.+    parameterDeclarations :: Prelude.Maybe [ParameterDeclaration],+    -- | An array of sheet definitions for a dashboard.+    sheets :: Prelude.Maybe [SheetDefinition],+    -- | An array of dataset identifier declarations. With this mapping,you can+    -- use dataset identifiers instead of dataset Amazon Resource Names (ARNs)+    -- throughout the dashboard\'s sub-structures.+    dataSetIdentifierDeclarations :: Prelude.NonEmpty DataSetIdentifierDeclaration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DashboardVersionDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analysisDefaults', 'dashboardVersionDefinition_analysisDefaults' - Undocumented member.+--+-- 'calculatedFields', 'dashboardVersionDefinition_calculatedFields' - An array of calculated field definitions for the dashboard.+--+-- 'columnConfigurations', 'dashboardVersionDefinition_columnConfigurations' - An array of dashboard-level column configurations. Column configurations+-- are used to set the default formatting for a column that is used+-- throughout a dashboard.+--+-- 'filterGroups', 'dashboardVersionDefinition_filterGroups' - The filter definitions for a dashboard.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/adding-a-filter.html Filtering Data in Amazon QuickSight>+-- in the /Amazon QuickSight User Guide/.+--+-- 'parameterDeclarations', 'dashboardVersionDefinition_parameterDeclarations' - The parameter declarations for a dashboard. Parameters are named+-- variables that can transfer a value for use by an action or an object.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html Parameters in Amazon QuickSight>+-- in the /Amazon QuickSight User Guide/.+--+-- 'sheets', 'dashboardVersionDefinition_sheets' - An array of sheet definitions for a dashboard.+--+-- 'dataSetIdentifierDeclarations', 'dashboardVersionDefinition_dataSetIdentifierDeclarations' - An array of dataset identifier declarations. With this mapping,you can+-- use dataset identifiers instead of dataset Amazon Resource Names (ARNs)+-- throughout the dashboard\'s sub-structures.+newDashboardVersionDefinition ::+  -- | 'dataSetIdentifierDeclarations'+  Prelude.NonEmpty DataSetIdentifierDeclaration ->+  DashboardVersionDefinition+newDashboardVersionDefinition+  pDataSetIdentifierDeclarations_ =+    DashboardVersionDefinition'+      { analysisDefaults =+          Prelude.Nothing,+        calculatedFields = Prelude.Nothing,+        columnConfigurations = Prelude.Nothing,+        filterGroups = Prelude.Nothing,+        parameterDeclarations = Prelude.Nothing,+        sheets = Prelude.Nothing,+        dataSetIdentifierDeclarations =+          Lens.coerced+            Lens.# pDataSetIdentifierDeclarations_+      }++-- | Undocumented member.+dashboardVersionDefinition_analysisDefaults :: Lens.Lens' DashboardVersionDefinition (Prelude.Maybe AnalysisDefaults)+dashboardVersionDefinition_analysisDefaults = Lens.lens (\DashboardVersionDefinition' {analysisDefaults} -> analysisDefaults) (\s@DashboardVersionDefinition' {} a -> s {analysisDefaults = a} :: DashboardVersionDefinition)++-- | An array of calculated field definitions for the dashboard.+dashboardVersionDefinition_calculatedFields :: Lens.Lens' DashboardVersionDefinition (Prelude.Maybe [CalculatedField])+dashboardVersionDefinition_calculatedFields = Lens.lens (\DashboardVersionDefinition' {calculatedFields} -> calculatedFields) (\s@DashboardVersionDefinition' {} a -> s {calculatedFields = a} :: DashboardVersionDefinition) Prelude.. Lens.mapping Lens.coerced++-- | An array of dashboard-level column configurations. Column configurations+-- are used to set the default formatting for a column that is used+-- throughout a dashboard.+dashboardVersionDefinition_columnConfigurations :: Lens.Lens' DashboardVersionDefinition (Prelude.Maybe [ColumnConfiguration])+dashboardVersionDefinition_columnConfigurations = Lens.lens (\DashboardVersionDefinition' {columnConfigurations} -> columnConfigurations) (\s@DashboardVersionDefinition' {} a -> s {columnConfigurations = a} :: DashboardVersionDefinition) Prelude.. Lens.mapping Lens.coerced++-- | The filter definitions for a dashboard.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/adding-a-filter.html Filtering Data in Amazon QuickSight>+-- in the /Amazon QuickSight User Guide/.+dashboardVersionDefinition_filterGroups :: Lens.Lens' DashboardVersionDefinition (Prelude.Maybe [FilterGroup])+dashboardVersionDefinition_filterGroups = Lens.lens (\DashboardVersionDefinition' {filterGroups} -> filterGroups) (\s@DashboardVersionDefinition' {} a -> s {filterGroups = a} :: DashboardVersionDefinition) Prelude.. Lens.mapping Lens.coerced++-- | The parameter declarations for a dashboard. Parameters are named+-- variables that can transfer a value for use by an action or an object.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html Parameters in Amazon QuickSight>+-- in the /Amazon QuickSight User Guide/.+dashboardVersionDefinition_parameterDeclarations :: Lens.Lens' DashboardVersionDefinition (Prelude.Maybe [ParameterDeclaration])+dashboardVersionDefinition_parameterDeclarations = Lens.lens (\DashboardVersionDefinition' {parameterDeclarations} -> parameterDeclarations) (\s@DashboardVersionDefinition' {} a -> s {parameterDeclarations = a} :: DashboardVersionDefinition) Prelude.. Lens.mapping Lens.coerced++-- | An array of sheet definitions for a dashboard.+dashboardVersionDefinition_sheets :: Lens.Lens' DashboardVersionDefinition (Prelude.Maybe [SheetDefinition])+dashboardVersionDefinition_sheets = Lens.lens (\DashboardVersionDefinition' {sheets} -> sheets) (\s@DashboardVersionDefinition' {} a -> s {sheets = a} :: DashboardVersionDefinition) Prelude.. Lens.mapping Lens.coerced++-- | An array of dataset identifier declarations. With this mapping,you can+-- use dataset identifiers instead of dataset Amazon Resource Names (ARNs)+-- throughout the dashboard\'s sub-structures.+dashboardVersionDefinition_dataSetIdentifierDeclarations :: Lens.Lens' DashboardVersionDefinition (Prelude.NonEmpty DataSetIdentifierDeclaration)+dashboardVersionDefinition_dataSetIdentifierDeclarations = Lens.lens (\DashboardVersionDefinition' {dataSetIdentifierDeclarations} -> dataSetIdentifierDeclarations) (\s@DashboardVersionDefinition' {} a -> s {dataSetIdentifierDeclarations = a} :: DashboardVersionDefinition) Prelude.. Lens.coerced++instance Data.FromJSON DashboardVersionDefinition where+  parseJSON =+    Data.withObject+      "DashboardVersionDefinition"+      ( \x ->+          DashboardVersionDefinition'+            Prelude.<$> (x Data..:? "AnalysisDefaults")+            Prelude.<*> ( x+                            Data..:? "CalculatedFields"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "ColumnConfigurations"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "FilterGroups" Data..!= Prelude.mempty)+            Prelude.<*> ( x+                            Data..:? "ParameterDeclarations"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Sheets" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "DataSetIdentifierDeclarations")+      )++instance Prelude.Hashable DashboardVersionDefinition where+  hashWithSalt _salt DashboardVersionDefinition' {..} =+    _salt+      `Prelude.hashWithSalt` analysisDefaults+      `Prelude.hashWithSalt` calculatedFields+      `Prelude.hashWithSalt` columnConfigurations+      `Prelude.hashWithSalt` filterGroups+      `Prelude.hashWithSalt` parameterDeclarations+      `Prelude.hashWithSalt` sheets+      `Prelude.hashWithSalt` dataSetIdentifierDeclarations++instance Prelude.NFData DashboardVersionDefinition where+  rnf DashboardVersionDefinition' {..} =+    Prelude.rnf analysisDefaults+      `Prelude.seq` Prelude.rnf calculatedFields+      `Prelude.seq` Prelude.rnf columnConfigurations+      `Prelude.seq` Prelude.rnf filterGroups+      `Prelude.seq` Prelude.rnf parameterDeclarations+      `Prelude.seq` Prelude.rnf sheets+      `Prelude.seq` Prelude.rnf dataSetIdentifierDeclarations++instance Data.ToJSON DashboardVersionDefinition where+  toJSON DashboardVersionDefinition' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AnalysisDefaults" Data..=)+              Prelude.<$> analysisDefaults,+            ("CalculatedFields" Data..=)+              Prelude.<$> calculatedFields,+            ("ColumnConfigurations" Data..=)+              Prelude.<$> columnConfigurations,+            ("FilterGroups" Data..=) Prelude.<$> filterGroups,+            ("ParameterDeclarations" Data..=)+              Prelude.<$> parameterDeclarations,+            ("Sheets" Data..=) Prelude.<$> sheets,+            Prelude.Just+              ( "DataSetIdentifierDeclarations"+                  Data..= dataSetIdentifierDeclarations+              )+          ]+      )
+ gen/Amazonka/QuickSight/Types/DashboardVersionSummary.hs view
@@ -0,0 +1,133 @@+{-# 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.QuickSight.Types.DashboardVersionSummary+-- 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.QuickSight.Types.DashboardVersionSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ResourceStatus++-- | Dashboard version summary.+--+-- /See:/ 'newDashboardVersionSummary' smart constructor.+data DashboardVersionSummary = DashboardVersionSummary'+  { -- | The Amazon Resource Name (ARN) of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time that this dashboard version was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | Description.+    description :: Prelude.Maybe Prelude.Text,+    -- | Source entity ARN.+    sourceEntityArn :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Maybe ResourceStatus,+    -- | Version number.+    versionNumber :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DashboardVersionSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'dashboardVersionSummary_arn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'createdTime', 'dashboardVersionSummary_createdTime' - The time that this dashboard version was created.+--+-- 'description', 'dashboardVersionSummary_description' - Description.+--+-- 'sourceEntityArn', 'dashboardVersionSummary_sourceEntityArn' - Source entity ARN.+--+-- 'status', 'dashboardVersionSummary_status' - The HTTP status of the request.+--+-- 'versionNumber', 'dashboardVersionSummary_versionNumber' - Version number.+newDashboardVersionSummary ::+  DashboardVersionSummary+newDashboardVersionSummary =+  DashboardVersionSummary'+    { arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      description = Prelude.Nothing,+      sourceEntityArn = Prelude.Nothing,+      status = Prelude.Nothing,+      versionNumber = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the resource.+dashboardVersionSummary_arn :: Lens.Lens' DashboardVersionSummary (Prelude.Maybe Prelude.Text)+dashboardVersionSummary_arn = Lens.lens (\DashboardVersionSummary' {arn} -> arn) (\s@DashboardVersionSummary' {} a -> s {arn = a} :: DashboardVersionSummary)++-- | The time that this dashboard version was created.+dashboardVersionSummary_createdTime :: Lens.Lens' DashboardVersionSummary (Prelude.Maybe Prelude.UTCTime)+dashboardVersionSummary_createdTime = Lens.lens (\DashboardVersionSummary' {createdTime} -> createdTime) (\s@DashboardVersionSummary' {} a -> s {createdTime = a} :: DashboardVersionSummary) Prelude.. Lens.mapping Data._Time++-- | Description.+dashboardVersionSummary_description :: Lens.Lens' DashboardVersionSummary (Prelude.Maybe Prelude.Text)+dashboardVersionSummary_description = Lens.lens (\DashboardVersionSummary' {description} -> description) (\s@DashboardVersionSummary' {} a -> s {description = a} :: DashboardVersionSummary)++-- | Source entity ARN.+dashboardVersionSummary_sourceEntityArn :: Lens.Lens' DashboardVersionSummary (Prelude.Maybe Prelude.Text)+dashboardVersionSummary_sourceEntityArn = Lens.lens (\DashboardVersionSummary' {sourceEntityArn} -> sourceEntityArn) (\s@DashboardVersionSummary' {} a -> s {sourceEntityArn = a} :: DashboardVersionSummary)++-- | The HTTP status of the request.+dashboardVersionSummary_status :: Lens.Lens' DashboardVersionSummary (Prelude.Maybe ResourceStatus)+dashboardVersionSummary_status = Lens.lens (\DashboardVersionSummary' {status} -> status) (\s@DashboardVersionSummary' {} a -> s {status = a} :: DashboardVersionSummary)++-- | Version number.+dashboardVersionSummary_versionNumber :: Lens.Lens' DashboardVersionSummary (Prelude.Maybe Prelude.Natural)+dashboardVersionSummary_versionNumber = Lens.lens (\DashboardVersionSummary' {versionNumber} -> versionNumber) (\s@DashboardVersionSummary' {} a -> s {versionNumber = a} :: DashboardVersionSummary)++instance Data.FromJSON DashboardVersionSummary where+  parseJSON =+    Data.withObject+      "DashboardVersionSummary"+      ( \x ->+          DashboardVersionSummary'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "SourceEntityArn")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "VersionNumber")+      )++instance Prelude.Hashable DashboardVersionSummary where+  hashWithSalt _salt DashboardVersionSummary' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` sourceEntityArn+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` versionNumber++instance Prelude.NFData DashboardVersionSummary where+  rnf DashboardVersionSummary' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf sourceEntityArn+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf versionNumber
+ gen/Amazonka/QuickSight/Types/DashboardVisualId.hs view
@@ -0,0 +1,144 @@+{-# 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.QuickSight.Types.DashboardVisualId+-- 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.QuickSight.Types.DashboardVisualId 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 structure that contains the following elements:+--+-- -   The @DashboardId@ of the dashboard that has the visual that you want+--     to embed.+--+-- -   The @SheetId@ of the sheet that has the visual that you want to+--     embed.+--+-- -   The @VisualId@ of the visual that you want to embed.+--+-- The @DashboardId@, @SheetId@, and @VisualId@ can be found in the+-- @IDs for developers@ section of the @Embed visual@ pane of the visual\'s+-- on-visual menu of the Amazon QuickSight console. You can also get the+-- @DashboardId@ with a @ListDashboards@ API operation.+--+-- /See:/ 'newDashboardVisualId' smart constructor.+data DashboardVisualId = DashboardVisualId'+  { -- | The ID of the dashboard that has the visual that you want to embed. The+    -- @DashboardId@ can be found in the @IDs for developers@ section of the+    -- @Embed visual@ pane of the visual\'s on-visual menu of the Amazon+    -- QuickSight console. You can also get the @DashboardId@ with a+    -- @ListDashboards@ API operation.+    dashboardId :: Prelude.Text,+    -- | The ID of the sheet that the has visual that you want to embed. The+    -- @SheetId@ can be found in the @IDs for developers@ section of the+    -- @Embed visual@ pane of the visual\'s on-visual menu of the Amazon+    -- QuickSight console.+    sheetId :: Prelude.Text,+    -- | The ID of the visual that you want to embed. The @VisualID@ can be found+    -- in the @IDs for developers@ section of the @Embed visual@ pane of the+    -- visual\'s on-visual menu of the Amazon QuickSight console.+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DashboardVisualId' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dashboardId', 'dashboardVisualId_dashboardId' - The ID of the dashboard that has the visual that you want to embed. The+-- @DashboardId@ can be found in the @IDs for developers@ section of the+-- @Embed visual@ pane of the visual\'s on-visual menu of the Amazon+-- QuickSight console. You can also get the @DashboardId@ with a+-- @ListDashboards@ API operation.+--+-- 'sheetId', 'dashboardVisualId_sheetId' - The ID of the sheet that the has visual that you want to embed. The+-- @SheetId@ can be found in the @IDs for developers@ section of the+-- @Embed visual@ pane of the visual\'s on-visual menu of the Amazon+-- QuickSight console.+--+-- 'visualId', 'dashboardVisualId_visualId' - The ID of the visual that you want to embed. The @VisualID@ can be found+-- in the @IDs for developers@ section of the @Embed visual@ pane of the+-- visual\'s on-visual menu of the Amazon QuickSight console.+newDashboardVisualId ::+  -- | 'dashboardId'+  Prelude.Text ->+  -- | 'sheetId'+  Prelude.Text ->+  -- | 'visualId'+  Prelude.Text ->+  DashboardVisualId+newDashboardVisualId+  pDashboardId_+  pSheetId_+  pVisualId_ =+    DashboardVisualId'+      { dashboardId = pDashboardId_,+        sheetId = pSheetId_,+        visualId = pVisualId_+      }++-- | The ID of the dashboard that has the visual that you want to embed. The+-- @DashboardId@ can be found in the @IDs for developers@ section of the+-- @Embed visual@ pane of the visual\'s on-visual menu of the Amazon+-- QuickSight console. You can also get the @DashboardId@ with a+-- @ListDashboards@ API operation.+dashboardVisualId_dashboardId :: Lens.Lens' DashboardVisualId Prelude.Text+dashboardVisualId_dashboardId = Lens.lens (\DashboardVisualId' {dashboardId} -> dashboardId) (\s@DashboardVisualId' {} a -> s {dashboardId = a} :: DashboardVisualId)++-- | The ID of the sheet that the has visual that you want to embed. The+-- @SheetId@ can be found in the @IDs for developers@ section of the+-- @Embed visual@ pane of the visual\'s on-visual menu of the Amazon+-- QuickSight console.+dashboardVisualId_sheetId :: Lens.Lens' DashboardVisualId Prelude.Text+dashboardVisualId_sheetId = Lens.lens (\DashboardVisualId' {sheetId} -> sheetId) (\s@DashboardVisualId' {} a -> s {sheetId = a} :: DashboardVisualId)++-- | The ID of the visual that you want to embed. The @VisualID@ can be found+-- in the @IDs for developers@ section of the @Embed visual@ pane of the+-- visual\'s on-visual menu of the Amazon QuickSight console.+dashboardVisualId_visualId :: Lens.Lens' DashboardVisualId Prelude.Text+dashboardVisualId_visualId = Lens.lens (\DashboardVisualId' {visualId} -> visualId) (\s@DashboardVisualId' {} a -> s {visualId = a} :: DashboardVisualId)++instance Prelude.Hashable DashboardVisualId where+  hashWithSalt _salt DashboardVisualId' {..} =+    _salt+      `Prelude.hashWithSalt` dashboardId+      `Prelude.hashWithSalt` sheetId+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData DashboardVisualId where+  rnf DashboardVisualId' {..} =+    Prelude.rnf dashboardId+      `Prelude.seq` Prelude.rnf sheetId+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON DashboardVisualId where+  toJSON DashboardVisualId' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("DashboardId" Data..= dashboardId),+            Prelude.Just ("SheetId" Data..= sheetId),+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DashboardVisualPublishOptions.hs view
@@ -0,0 +1,75 @@+{-# 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.QuickSight.Types.DashboardVisualPublishOptions+-- 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.QuickSight.Types.DashboardVisualPublishOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ExportHiddenFieldsOption++-- |+--+-- /See:/ 'newDashboardVisualPublishOptions' smart constructor.+data DashboardVisualPublishOptions = DashboardVisualPublishOptions'+  { exportHiddenFieldsOption :: Prelude.Maybe ExportHiddenFieldsOption+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DashboardVisualPublishOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'exportHiddenFieldsOption', 'dashboardVisualPublishOptions_exportHiddenFieldsOption' -+newDashboardVisualPublishOptions ::+  DashboardVisualPublishOptions+newDashboardVisualPublishOptions =+  DashboardVisualPublishOptions'+    { exportHiddenFieldsOption =+        Prelude.Nothing+    }++dashboardVisualPublishOptions_exportHiddenFieldsOption :: Lens.Lens' DashboardVisualPublishOptions (Prelude.Maybe ExportHiddenFieldsOption)+dashboardVisualPublishOptions_exportHiddenFieldsOption = Lens.lens (\DashboardVisualPublishOptions' {exportHiddenFieldsOption} -> exportHiddenFieldsOption) (\s@DashboardVisualPublishOptions' {} a -> s {exportHiddenFieldsOption = a} :: DashboardVisualPublishOptions)++instance+  Prelude.Hashable+    DashboardVisualPublishOptions+  where+  hashWithSalt _salt DashboardVisualPublishOptions' {..} =+    _salt+      `Prelude.hashWithSalt` exportHiddenFieldsOption++instance Prelude.NFData DashboardVisualPublishOptions where+  rnf DashboardVisualPublishOptions' {..} =+    Prelude.rnf exportHiddenFieldsOption++instance Data.ToJSON DashboardVisualPublishOptions where+  toJSON DashboardVisualPublishOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ExportHiddenFieldsOption" Data..=)+              Prelude.<$> exportHiddenFieldsOption+          ]+      )
+ gen/Amazonka/QuickSight/Types/DataColor.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DataColor+-- 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.QuickSight.Types.DataColor 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++-- | Determines the color that is applied to a particular data value.+--+-- /See:/ 'newDataColor' smart constructor.+data DataColor = DataColor'+  { -- | The color that is applied to the data value.+    color :: Prelude.Maybe Prelude.Text,+    -- | The data value that the color is applied to.+    dataValue :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataColor' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'color', 'dataColor_color' - The color that is applied to the data value.+--+-- 'dataValue', 'dataColor_dataValue' - The data value that the color is applied to.+newDataColor ::+  DataColor+newDataColor =+  DataColor'+    { color = Prelude.Nothing,+      dataValue = Prelude.Nothing+    }++-- | The color that is applied to the data value.+dataColor_color :: Lens.Lens' DataColor (Prelude.Maybe Prelude.Text)+dataColor_color = Lens.lens (\DataColor' {color} -> color) (\s@DataColor' {} a -> s {color = a} :: DataColor)++-- | The data value that the color is applied to.+dataColor_dataValue :: Lens.Lens' DataColor (Prelude.Maybe Prelude.Double)+dataColor_dataValue = Lens.lens (\DataColor' {dataValue} -> dataValue) (\s@DataColor' {} a -> s {dataValue = a} :: DataColor)++instance Data.FromJSON DataColor where+  parseJSON =+    Data.withObject+      "DataColor"+      ( \x ->+          DataColor'+            Prelude.<$> (x Data..:? "Color")+            Prelude.<*> (x Data..:? "DataValue")+      )++instance Prelude.Hashable DataColor where+  hashWithSalt _salt DataColor' {..} =+    _salt+      `Prelude.hashWithSalt` color+      `Prelude.hashWithSalt` dataValue++instance Prelude.NFData DataColor where+  rnf DataColor' {..} =+    Prelude.rnf color+      `Prelude.seq` Prelude.rnf dataValue++instance Data.ToJSON DataColor where+  toJSON DataColor' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Color" Data..=) Prelude.<$> color,+            ("DataValue" Data..=) Prelude.<$> dataValue+          ]+      )
+ gen/Amazonka/QuickSight/Types/DataColorPalette.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.QuickSight.Types.DataColorPalette+-- 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.QuickSight.Types.DataColorPalette 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 theme colors that are used for data colors in charts. The colors+-- description is a hexadecimal color code that consists of six+-- alphanumerical characters, prefixed with @#@, for example #37BFF5.+--+-- /See:/ 'newDataColorPalette' smart constructor.+data DataColorPalette = DataColorPalette'+  { -- | The hexadecimal codes for the colors.+    colors :: Prelude.Maybe [Prelude.Text],+    -- | The hexadecimal code of a color that applies to charts where a lack of+    -- data is highlighted.+    emptyFillColor :: Prelude.Maybe Prelude.Text,+    -- | The minimum and maximum hexadecimal codes that describe a color+    -- gradient.+    minMaxGradient :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataColorPalette' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'colors', 'dataColorPalette_colors' - The hexadecimal codes for the colors.+--+-- 'emptyFillColor', 'dataColorPalette_emptyFillColor' - The hexadecimal code of a color that applies to charts where a lack of+-- data is highlighted.+--+-- 'minMaxGradient', 'dataColorPalette_minMaxGradient' - The minimum and maximum hexadecimal codes that describe a color+-- gradient.+newDataColorPalette ::+  DataColorPalette+newDataColorPalette =+  DataColorPalette'+    { colors = Prelude.Nothing,+      emptyFillColor = Prelude.Nothing,+      minMaxGradient = Prelude.Nothing+    }++-- | The hexadecimal codes for the colors.+dataColorPalette_colors :: Lens.Lens' DataColorPalette (Prelude.Maybe [Prelude.Text])+dataColorPalette_colors = Lens.lens (\DataColorPalette' {colors} -> colors) (\s@DataColorPalette' {} a -> s {colors = a} :: DataColorPalette) Prelude.. Lens.mapping Lens.coerced++-- | The hexadecimal code of a color that applies to charts where a lack of+-- data is highlighted.+dataColorPalette_emptyFillColor :: Lens.Lens' DataColorPalette (Prelude.Maybe Prelude.Text)+dataColorPalette_emptyFillColor = Lens.lens (\DataColorPalette' {emptyFillColor} -> emptyFillColor) (\s@DataColorPalette' {} a -> s {emptyFillColor = a} :: DataColorPalette)++-- | The minimum and maximum hexadecimal codes that describe a color+-- gradient.+dataColorPalette_minMaxGradient :: Lens.Lens' DataColorPalette (Prelude.Maybe [Prelude.Text])+dataColorPalette_minMaxGradient = Lens.lens (\DataColorPalette' {minMaxGradient} -> minMaxGradient) (\s@DataColorPalette' {} a -> s {minMaxGradient = a} :: DataColorPalette) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON DataColorPalette where+  parseJSON =+    Data.withObject+      "DataColorPalette"+      ( \x ->+          DataColorPalette'+            Prelude.<$> (x Data..:? "Colors" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "EmptyFillColor")+            Prelude.<*> ( x+                            Data..:? "MinMaxGradient"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable DataColorPalette where+  hashWithSalt _salt DataColorPalette' {..} =+    _salt+      `Prelude.hashWithSalt` colors+      `Prelude.hashWithSalt` emptyFillColor+      `Prelude.hashWithSalt` minMaxGradient++instance Prelude.NFData DataColorPalette where+  rnf DataColorPalette' {..} =+    Prelude.rnf colors+      `Prelude.seq` Prelude.rnf emptyFillColor+      `Prelude.seq` Prelude.rnf minMaxGradient++instance Data.ToJSON DataColorPalette where+  toJSON DataColorPalette' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Colors" Data..=) Prelude.<$> colors,+            ("EmptyFillColor" Data..=)+              Prelude.<$> emptyFillColor,+            ("MinMaxGradient" Data..=)+              Prelude.<$> minMaxGradient+          ]+      )
+ gen/Amazonka/QuickSight/Types/DataFieldSeriesItem.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DataFieldSeriesItem+-- 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.QuickSight.Types.DataFieldSeriesItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AxisBinding+import Amazonka.QuickSight.Types.LineChartSeriesSettings++-- | The data field series item configuration of a line chart.+--+-- /See:/ 'newDataFieldSeriesItem' smart constructor.+data DataFieldSeriesItem = DataFieldSeriesItem'+  { -- | The field value of the field that you are setting the axis binding to.+    fieldValue :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The options that determine the presentation of line series associated to+    -- the field.+    settings :: Prelude.Maybe LineChartSeriesSettings,+    -- | The field ID of the field that you are setting the axis binding to.+    fieldId :: Prelude.Text,+    -- | The axis that you are binding the field to.+    axisBinding :: AxisBinding+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataFieldSeriesItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldValue', 'dataFieldSeriesItem_fieldValue' - The field value of the field that you are setting the axis binding to.+--+-- 'settings', 'dataFieldSeriesItem_settings' - The options that determine the presentation of line series associated to+-- the field.+--+-- 'fieldId', 'dataFieldSeriesItem_fieldId' - The field ID of the field that you are setting the axis binding to.+--+-- 'axisBinding', 'dataFieldSeriesItem_axisBinding' - The axis that you are binding the field to.+newDataFieldSeriesItem ::+  -- | 'fieldId'+  Prelude.Text ->+  -- | 'axisBinding'+  AxisBinding ->+  DataFieldSeriesItem+newDataFieldSeriesItem pFieldId_ pAxisBinding_ =+  DataFieldSeriesItem'+    { fieldValue = Prelude.Nothing,+      settings = Prelude.Nothing,+      fieldId = pFieldId_,+      axisBinding = pAxisBinding_+    }++-- | The field value of the field that you are setting the axis binding to.+dataFieldSeriesItem_fieldValue :: Lens.Lens' DataFieldSeriesItem (Prelude.Maybe Prelude.Text)+dataFieldSeriesItem_fieldValue = Lens.lens (\DataFieldSeriesItem' {fieldValue} -> fieldValue) (\s@DataFieldSeriesItem' {} a -> s {fieldValue = a} :: DataFieldSeriesItem) Prelude.. Lens.mapping Data._Sensitive++-- | The options that determine the presentation of line series associated to+-- the field.+dataFieldSeriesItem_settings :: Lens.Lens' DataFieldSeriesItem (Prelude.Maybe LineChartSeriesSettings)+dataFieldSeriesItem_settings = Lens.lens (\DataFieldSeriesItem' {settings} -> settings) (\s@DataFieldSeriesItem' {} a -> s {settings = a} :: DataFieldSeriesItem)++-- | The field ID of the field that you are setting the axis binding to.+dataFieldSeriesItem_fieldId :: Lens.Lens' DataFieldSeriesItem Prelude.Text+dataFieldSeriesItem_fieldId = Lens.lens (\DataFieldSeriesItem' {fieldId} -> fieldId) (\s@DataFieldSeriesItem' {} a -> s {fieldId = a} :: DataFieldSeriesItem)++-- | The axis that you are binding the field to.+dataFieldSeriesItem_axisBinding :: Lens.Lens' DataFieldSeriesItem AxisBinding+dataFieldSeriesItem_axisBinding = Lens.lens (\DataFieldSeriesItem' {axisBinding} -> axisBinding) (\s@DataFieldSeriesItem' {} a -> s {axisBinding = a} :: DataFieldSeriesItem)++instance Data.FromJSON DataFieldSeriesItem where+  parseJSON =+    Data.withObject+      "DataFieldSeriesItem"+      ( \x ->+          DataFieldSeriesItem'+            Prelude.<$> (x Data..:? "FieldValue")+            Prelude.<*> (x Data..:? "Settings")+            Prelude.<*> (x Data..: "FieldId")+            Prelude.<*> (x Data..: "AxisBinding")+      )++instance Prelude.Hashable DataFieldSeriesItem where+  hashWithSalt _salt DataFieldSeriesItem' {..} =+    _salt+      `Prelude.hashWithSalt` fieldValue+      `Prelude.hashWithSalt` settings+      `Prelude.hashWithSalt` fieldId+      `Prelude.hashWithSalt` axisBinding++instance Prelude.NFData DataFieldSeriesItem where+  rnf DataFieldSeriesItem' {..} =+    Prelude.rnf fieldValue+      `Prelude.seq` Prelude.rnf settings+      `Prelude.seq` Prelude.rnf fieldId+      `Prelude.seq` Prelude.rnf axisBinding++instance Data.ToJSON DataFieldSeriesItem where+  toJSON DataFieldSeriesItem' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FieldValue" Data..=) Prelude.<$> fieldValue,+            ("Settings" Data..=) Prelude.<$> settings,+            Prelude.Just ("FieldId" Data..= fieldId),+            Prelude.Just ("AxisBinding" Data..= axisBinding)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DataLabelContent.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DataLabelContent+-- 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.QuickSight.Types.DataLabelContent+  ( DataLabelContent+      ( ..,+        DataLabelContent_PERCENT,+        DataLabelContent_VALUE,+        DataLabelContent_VALUE_AND_PERCENT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataLabelContent = DataLabelContent'+  { fromDataLabelContent ::+      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 DataLabelContent_PERCENT :: DataLabelContent+pattern DataLabelContent_PERCENT = DataLabelContent' "PERCENT"++pattern DataLabelContent_VALUE :: DataLabelContent+pattern DataLabelContent_VALUE = DataLabelContent' "VALUE"++pattern DataLabelContent_VALUE_AND_PERCENT :: DataLabelContent+pattern DataLabelContent_VALUE_AND_PERCENT = DataLabelContent' "VALUE_AND_PERCENT"++{-# COMPLETE+  DataLabelContent_PERCENT,+  DataLabelContent_VALUE,+  DataLabelContent_VALUE_AND_PERCENT,+  DataLabelContent'+  #-}
+ gen/Amazonka/QuickSight/Types/DataLabelOptions.hs view
@@ -0,0 +1,195 @@+{-# 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.QuickSight.Types.DataLabelOptions+-- 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.QuickSight.Types.DataLabelOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataLabelContent+import Amazonka.QuickSight.Types.DataLabelOverlap+import Amazonka.QuickSight.Types.DataLabelPosition+import Amazonka.QuickSight.Types.DataLabelType+import Amazonka.QuickSight.Types.FontConfiguration+import Amazonka.QuickSight.Types.Visibility++-- | The options that determine the presentation of the data labels.+--+-- /See:/ 'newDataLabelOptions' smart constructor.+data DataLabelOptions = DataLabelOptions'+  { -- | Determines the visibility of the category field labels.+    categoryLabelVisibility :: Prelude.Maybe Visibility,+    -- | The option that determines the data label type.+    dataLabelTypes :: Prelude.Maybe [DataLabelType],+    -- | Determines the color of the data labels.+    labelColor :: Prelude.Maybe Prelude.Text,+    -- | Determines the content of the data labels.+    labelContent :: Prelude.Maybe DataLabelContent,+    -- | Determines the font configuration of the data labels.+    labelFontConfiguration :: Prelude.Maybe FontConfiguration,+    -- | Determines the visibility of the measure field labels.+    measureLabelVisibility :: Prelude.Maybe Visibility,+    -- | Determines whether overlap is enabled or disabled for the data labels.+    overlap :: Prelude.Maybe DataLabelOverlap,+    -- | Determines the position of the data labels.+    position :: Prelude.Maybe DataLabelPosition,+    -- | Determines the visibility of the data labels.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataLabelOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categoryLabelVisibility', 'dataLabelOptions_categoryLabelVisibility' - Determines the visibility of the category field labels.+--+-- 'dataLabelTypes', 'dataLabelOptions_dataLabelTypes' - The option that determines the data label type.+--+-- 'labelColor', 'dataLabelOptions_labelColor' - Determines the color of the data labels.+--+-- 'labelContent', 'dataLabelOptions_labelContent' - Determines the content of the data labels.+--+-- 'labelFontConfiguration', 'dataLabelOptions_labelFontConfiguration' - Determines the font configuration of the data labels.+--+-- 'measureLabelVisibility', 'dataLabelOptions_measureLabelVisibility' - Determines the visibility of the measure field labels.+--+-- 'overlap', 'dataLabelOptions_overlap' - Determines whether overlap is enabled or disabled for the data labels.+--+-- 'position', 'dataLabelOptions_position' - Determines the position of the data labels.+--+-- 'visibility', 'dataLabelOptions_visibility' - Determines the visibility of the data labels.+newDataLabelOptions ::+  DataLabelOptions+newDataLabelOptions =+  DataLabelOptions'+    { categoryLabelVisibility =+        Prelude.Nothing,+      dataLabelTypes = Prelude.Nothing,+      labelColor = Prelude.Nothing,+      labelContent = Prelude.Nothing,+      labelFontConfiguration = Prelude.Nothing,+      measureLabelVisibility = Prelude.Nothing,+      overlap = Prelude.Nothing,+      position = Prelude.Nothing,+      visibility = Prelude.Nothing+    }++-- | Determines the visibility of the category field labels.+dataLabelOptions_categoryLabelVisibility :: Lens.Lens' DataLabelOptions (Prelude.Maybe Visibility)+dataLabelOptions_categoryLabelVisibility = Lens.lens (\DataLabelOptions' {categoryLabelVisibility} -> categoryLabelVisibility) (\s@DataLabelOptions' {} a -> s {categoryLabelVisibility = a} :: DataLabelOptions)++-- | The option that determines the data label type.+dataLabelOptions_dataLabelTypes :: Lens.Lens' DataLabelOptions (Prelude.Maybe [DataLabelType])+dataLabelOptions_dataLabelTypes = Lens.lens (\DataLabelOptions' {dataLabelTypes} -> dataLabelTypes) (\s@DataLabelOptions' {} a -> s {dataLabelTypes = a} :: DataLabelOptions) Prelude.. Lens.mapping Lens.coerced++-- | Determines the color of the data labels.+dataLabelOptions_labelColor :: Lens.Lens' DataLabelOptions (Prelude.Maybe Prelude.Text)+dataLabelOptions_labelColor = Lens.lens (\DataLabelOptions' {labelColor} -> labelColor) (\s@DataLabelOptions' {} a -> s {labelColor = a} :: DataLabelOptions)++-- | Determines the content of the data labels.+dataLabelOptions_labelContent :: Lens.Lens' DataLabelOptions (Prelude.Maybe DataLabelContent)+dataLabelOptions_labelContent = Lens.lens (\DataLabelOptions' {labelContent} -> labelContent) (\s@DataLabelOptions' {} a -> s {labelContent = a} :: DataLabelOptions)++-- | Determines the font configuration of the data labels.+dataLabelOptions_labelFontConfiguration :: Lens.Lens' DataLabelOptions (Prelude.Maybe FontConfiguration)+dataLabelOptions_labelFontConfiguration = Lens.lens (\DataLabelOptions' {labelFontConfiguration} -> labelFontConfiguration) (\s@DataLabelOptions' {} a -> s {labelFontConfiguration = a} :: DataLabelOptions)++-- | Determines the visibility of the measure field labels.+dataLabelOptions_measureLabelVisibility :: Lens.Lens' DataLabelOptions (Prelude.Maybe Visibility)+dataLabelOptions_measureLabelVisibility = Lens.lens (\DataLabelOptions' {measureLabelVisibility} -> measureLabelVisibility) (\s@DataLabelOptions' {} a -> s {measureLabelVisibility = a} :: DataLabelOptions)++-- | Determines whether overlap is enabled or disabled for the data labels.+dataLabelOptions_overlap :: Lens.Lens' DataLabelOptions (Prelude.Maybe DataLabelOverlap)+dataLabelOptions_overlap = Lens.lens (\DataLabelOptions' {overlap} -> overlap) (\s@DataLabelOptions' {} a -> s {overlap = a} :: DataLabelOptions)++-- | Determines the position of the data labels.+dataLabelOptions_position :: Lens.Lens' DataLabelOptions (Prelude.Maybe DataLabelPosition)+dataLabelOptions_position = Lens.lens (\DataLabelOptions' {position} -> position) (\s@DataLabelOptions' {} a -> s {position = a} :: DataLabelOptions)++-- | Determines the visibility of the data labels.+dataLabelOptions_visibility :: Lens.Lens' DataLabelOptions (Prelude.Maybe Visibility)+dataLabelOptions_visibility = Lens.lens (\DataLabelOptions' {visibility} -> visibility) (\s@DataLabelOptions' {} a -> s {visibility = a} :: DataLabelOptions)++instance Data.FromJSON DataLabelOptions where+  parseJSON =+    Data.withObject+      "DataLabelOptions"+      ( \x ->+          DataLabelOptions'+            Prelude.<$> (x Data..:? "CategoryLabelVisibility")+            Prelude.<*> (x Data..:? "DataLabelTypes" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "LabelColor")+            Prelude.<*> (x Data..:? "LabelContent")+            Prelude.<*> (x Data..:? "LabelFontConfiguration")+            Prelude.<*> (x Data..:? "MeasureLabelVisibility")+            Prelude.<*> (x Data..:? "Overlap")+            Prelude.<*> (x Data..:? "Position")+            Prelude.<*> (x Data..:? "Visibility")+      )++instance Prelude.Hashable DataLabelOptions where+  hashWithSalt _salt DataLabelOptions' {..} =+    _salt+      `Prelude.hashWithSalt` categoryLabelVisibility+      `Prelude.hashWithSalt` dataLabelTypes+      `Prelude.hashWithSalt` labelColor+      `Prelude.hashWithSalt` labelContent+      `Prelude.hashWithSalt` labelFontConfiguration+      `Prelude.hashWithSalt` measureLabelVisibility+      `Prelude.hashWithSalt` overlap+      `Prelude.hashWithSalt` position+      `Prelude.hashWithSalt` visibility++instance Prelude.NFData DataLabelOptions where+  rnf DataLabelOptions' {..} =+    Prelude.rnf categoryLabelVisibility+      `Prelude.seq` Prelude.rnf dataLabelTypes+      `Prelude.seq` Prelude.rnf labelColor+      `Prelude.seq` Prelude.rnf labelContent+      `Prelude.seq` Prelude.rnf labelFontConfiguration+      `Prelude.seq` Prelude.rnf measureLabelVisibility+      `Prelude.seq` Prelude.rnf overlap+      `Prelude.seq` Prelude.rnf position+      `Prelude.seq` Prelude.rnf visibility++instance Data.ToJSON DataLabelOptions where+  toJSON DataLabelOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoryLabelVisibility" Data..=)+              Prelude.<$> categoryLabelVisibility,+            ("DataLabelTypes" Data..=)+              Prelude.<$> dataLabelTypes,+            ("LabelColor" Data..=) Prelude.<$> labelColor,+            ("LabelContent" Data..=) Prelude.<$> labelContent,+            ("LabelFontConfiguration" Data..=)+              Prelude.<$> labelFontConfiguration,+            ("MeasureLabelVisibility" Data..=)+              Prelude.<$> measureLabelVisibility,+            ("Overlap" Data..=) Prelude.<$> overlap,+            ("Position" Data..=) Prelude.<$> position,+            ("Visibility" Data..=) Prelude.<$> visibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/DataLabelOverlap.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.QuickSight.Types.DataLabelOverlap+-- 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.QuickSight.Types.DataLabelOverlap+  ( DataLabelOverlap+      ( ..,+        DataLabelOverlap_DISABLE_OVERLAP,+        DataLabelOverlap_ENABLE_OVERLAP+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataLabelOverlap = DataLabelOverlap'+  { fromDataLabelOverlap ::+      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 DataLabelOverlap_DISABLE_OVERLAP :: DataLabelOverlap+pattern DataLabelOverlap_DISABLE_OVERLAP = DataLabelOverlap' "DISABLE_OVERLAP"++pattern DataLabelOverlap_ENABLE_OVERLAP :: DataLabelOverlap+pattern DataLabelOverlap_ENABLE_OVERLAP = DataLabelOverlap' "ENABLE_OVERLAP"++{-# COMPLETE+  DataLabelOverlap_DISABLE_OVERLAP,+  DataLabelOverlap_ENABLE_OVERLAP,+  DataLabelOverlap'+  #-}
+ gen/Amazonka/QuickSight/Types/DataLabelPosition.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.QuickSight.Types.DataLabelPosition+-- 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.QuickSight.Types.DataLabelPosition+  ( DataLabelPosition+      ( ..,+        DataLabelPosition_BOTTOM,+        DataLabelPosition_INSIDE,+        DataLabelPosition_LEFT,+        DataLabelPosition_OUTSIDE,+        DataLabelPosition_RIGHT,+        DataLabelPosition_TOP+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataLabelPosition = DataLabelPosition'+  { fromDataLabelPosition ::+      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 DataLabelPosition_BOTTOM :: DataLabelPosition+pattern DataLabelPosition_BOTTOM = DataLabelPosition' "BOTTOM"++pattern DataLabelPosition_INSIDE :: DataLabelPosition+pattern DataLabelPosition_INSIDE = DataLabelPosition' "INSIDE"++pattern DataLabelPosition_LEFT :: DataLabelPosition+pattern DataLabelPosition_LEFT = DataLabelPosition' "LEFT"++pattern DataLabelPosition_OUTSIDE :: DataLabelPosition+pattern DataLabelPosition_OUTSIDE = DataLabelPosition' "OUTSIDE"++pattern DataLabelPosition_RIGHT :: DataLabelPosition+pattern DataLabelPosition_RIGHT = DataLabelPosition' "RIGHT"++pattern DataLabelPosition_TOP :: DataLabelPosition+pattern DataLabelPosition_TOP = DataLabelPosition' "TOP"++{-# COMPLETE+  DataLabelPosition_BOTTOM,+  DataLabelPosition_INSIDE,+  DataLabelPosition_LEFT,+  DataLabelPosition_OUTSIDE,+  DataLabelPosition_RIGHT,+  DataLabelPosition_TOP,+  DataLabelPosition'+  #-}
+ gen/Amazonka/QuickSight/Types/DataLabelType.hs view
@@ -0,0 +1,145 @@+{-# 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.QuickSight.Types.DataLabelType+-- 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.QuickSight.Types.DataLabelType where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataPathLabelType+import Amazonka.QuickSight.Types.FieldLabelType+import Amazonka.QuickSight.Types.MaximumLabelType+import Amazonka.QuickSight.Types.MinimumLabelType+import Amazonka.QuickSight.Types.RangeEndsLabelType++-- | The option that determines the data label type.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newDataLabelType' smart constructor.+data DataLabelType = DataLabelType'+  { -- | The option that specifies individual data values for labels.+    dataPathLabelType :: Prelude.Maybe DataPathLabelType,+    -- | Determines the label configuration for the entire field.+    fieldLabelType :: Prelude.Maybe FieldLabelType,+    -- | Determines the label configuration for the maximum value in a visual.+    maximumLabelType :: Prelude.Maybe MaximumLabelType,+    -- | Determines the label configuration for the minimum value in a visual.+    minimumLabelType :: Prelude.Maybe MinimumLabelType,+    -- | Determines the label configuration for range end value in a visual.+    rangeEndsLabelType :: Prelude.Maybe RangeEndsLabelType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataLabelType' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataPathLabelType', 'dataLabelType_dataPathLabelType' - The option that specifies individual data values for labels.+--+-- 'fieldLabelType', 'dataLabelType_fieldLabelType' - Determines the label configuration for the entire field.+--+-- 'maximumLabelType', 'dataLabelType_maximumLabelType' - Determines the label configuration for the maximum value in a visual.+--+-- 'minimumLabelType', 'dataLabelType_minimumLabelType' - Determines the label configuration for the minimum value in a visual.+--+-- 'rangeEndsLabelType', 'dataLabelType_rangeEndsLabelType' - Determines the label configuration for range end value in a visual.+newDataLabelType ::+  DataLabelType+newDataLabelType =+  DataLabelType'+    { dataPathLabelType = Prelude.Nothing,+      fieldLabelType = Prelude.Nothing,+      maximumLabelType = Prelude.Nothing,+      minimumLabelType = Prelude.Nothing,+      rangeEndsLabelType = Prelude.Nothing+    }++-- | The option that specifies individual data values for labels.+dataLabelType_dataPathLabelType :: Lens.Lens' DataLabelType (Prelude.Maybe DataPathLabelType)+dataLabelType_dataPathLabelType = Lens.lens (\DataLabelType' {dataPathLabelType} -> dataPathLabelType) (\s@DataLabelType' {} a -> s {dataPathLabelType = a} :: DataLabelType)++-- | Determines the label configuration for the entire field.+dataLabelType_fieldLabelType :: Lens.Lens' DataLabelType (Prelude.Maybe FieldLabelType)+dataLabelType_fieldLabelType = Lens.lens (\DataLabelType' {fieldLabelType} -> fieldLabelType) (\s@DataLabelType' {} a -> s {fieldLabelType = a} :: DataLabelType)++-- | Determines the label configuration for the maximum value in a visual.+dataLabelType_maximumLabelType :: Lens.Lens' DataLabelType (Prelude.Maybe MaximumLabelType)+dataLabelType_maximumLabelType = Lens.lens (\DataLabelType' {maximumLabelType} -> maximumLabelType) (\s@DataLabelType' {} a -> s {maximumLabelType = a} :: DataLabelType)++-- | Determines the label configuration for the minimum value in a visual.+dataLabelType_minimumLabelType :: Lens.Lens' DataLabelType (Prelude.Maybe MinimumLabelType)+dataLabelType_minimumLabelType = Lens.lens (\DataLabelType' {minimumLabelType} -> minimumLabelType) (\s@DataLabelType' {} a -> s {minimumLabelType = a} :: DataLabelType)++-- | Determines the label configuration for range end value in a visual.+dataLabelType_rangeEndsLabelType :: Lens.Lens' DataLabelType (Prelude.Maybe RangeEndsLabelType)+dataLabelType_rangeEndsLabelType = Lens.lens (\DataLabelType' {rangeEndsLabelType} -> rangeEndsLabelType) (\s@DataLabelType' {} a -> s {rangeEndsLabelType = a} :: DataLabelType)++instance Data.FromJSON DataLabelType where+  parseJSON =+    Data.withObject+      "DataLabelType"+      ( \x ->+          DataLabelType'+            Prelude.<$> (x Data..:? "DataPathLabelType")+            Prelude.<*> (x Data..:? "FieldLabelType")+            Prelude.<*> (x Data..:? "MaximumLabelType")+            Prelude.<*> (x Data..:? "MinimumLabelType")+            Prelude.<*> (x Data..:? "RangeEndsLabelType")+      )++instance Prelude.Hashable DataLabelType where+  hashWithSalt _salt DataLabelType' {..} =+    _salt+      `Prelude.hashWithSalt` dataPathLabelType+      `Prelude.hashWithSalt` fieldLabelType+      `Prelude.hashWithSalt` maximumLabelType+      `Prelude.hashWithSalt` minimumLabelType+      `Prelude.hashWithSalt` rangeEndsLabelType++instance Prelude.NFData DataLabelType where+  rnf DataLabelType' {..} =+    Prelude.rnf dataPathLabelType+      `Prelude.seq` Prelude.rnf fieldLabelType+      `Prelude.seq` Prelude.rnf maximumLabelType+      `Prelude.seq` Prelude.rnf minimumLabelType+      `Prelude.seq` Prelude.rnf rangeEndsLabelType++instance Data.ToJSON DataLabelType where+  toJSON DataLabelType' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DataPathLabelType" Data..=)+              Prelude.<$> dataPathLabelType,+            ("FieldLabelType" Data..=)+              Prelude.<$> fieldLabelType,+            ("MaximumLabelType" Data..=)+              Prelude.<$> maximumLabelType,+            ("MinimumLabelType" Data..=)+              Prelude.<$> minimumLabelType,+            ("RangeEndsLabelType" Data..=)+              Prelude.<$> rangeEndsLabelType+          ]+      )
+ gen/Amazonka/QuickSight/Types/DataPathColor.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.QuickSight.Types.DataPathColor+-- 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.QuickSight.Types.DataPathColor where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataPathValue+import Amazonka.QuickSight.Types.TimeGranularity++-- | The color map that determines the color options for a particular+-- element.+--+-- /See:/ 'newDataPathColor' smart constructor.+data DataPathColor = DataPathColor'+  { -- | The time granularity of the field that the color needs to be applied to.+    timeGranularity :: Prelude.Maybe TimeGranularity,+    -- | The element that the color needs to be applied to.+    element :: DataPathValue,+    -- | The color that needs to be applied to the element.+    color :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataPathColor' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'timeGranularity', 'dataPathColor_timeGranularity' - The time granularity of the field that the color needs to be applied to.+--+-- 'element', 'dataPathColor_element' - The element that the color needs to be applied to.+--+-- 'color', 'dataPathColor_color' - The color that needs to be applied to the element.+newDataPathColor ::+  -- | 'element'+  DataPathValue ->+  -- | 'color'+  Prelude.Text ->+  DataPathColor+newDataPathColor pElement_ pColor_ =+  DataPathColor'+    { timeGranularity = Prelude.Nothing,+      element = pElement_,+      color = pColor_+    }++-- | The time granularity of the field that the color needs to be applied to.+dataPathColor_timeGranularity :: Lens.Lens' DataPathColor (Prelude.Maybe TimeGranularity)+dataPathColor_timeGranularity = Lens.lens (\DataPathColor' {timeGranularity} -> timeGranularity) (\s@DataPathColor' {} a -> s {timeGranularity = a} :: DataPathColor)++-- | The element that the color needs to be applied to.+dataPathColor_element :: Lens.Lens' DataPathColor DataPathValue+dataPathColor_element = Lens.lens (\DataPathColor' {element} -> element) (\s@DataPathColor' {} a -> s {element = a} :: DataPathColor)++-- | The color that needs to be applied to the element.+dataPathColor_color :: Lens.Lens' DataPathColor Prelude.Text+dataPathColor_color = Lens.lens (\DataPathColor' {color} -> color) (\s@DataPathColor' {} a -> s {color = a} :: DataPathColor)++instance Data.FromJSON DataPathColor where+  parseJSON =+    Data.withObject+      "DataPathColor"+      ( \x ->+          DataPathColor'+            Prelude.<$> (x Data..:? "TimeGranularity")+            Prelude.<*> (x Data..: "Element")+            Prelude.<*> (x Data..: "Color")+      )++instance Prelude.Hashable DataPathColor where+  hashWithSalt _salt DataPathColor' {..} =+    _salt+      `Prelude.hashWithSalt` timeGranularity+      `Prelude.hashWithSalt` element+      `Prelude.hashWithSalt` color++instance Prelude.NFData DataPathColor where+  rnf DataPathColor' {..} =+    Prelude.rnf timeGranularity+      `Prelude.seq` Prelude.rnf element+      `Prelude.seq` Prelude.rnf color++instance Data.ToJSON DataPathColor where+  toJSON DataPathColor' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TimeGranularity" Data..=)+              Prelude.<$> timeGranularity,+            Prelude.Just ("Element" Data..= element),+            Prelude.Just ("Color" Data..= color)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DataPathLabelType.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.QuickSight.Types.DataPathLabelType+-- 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.QuickSight.Types.DataPathLabelType where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The option that specifies individual data values for labels.+--+-- /See:/ 'newDataPathLabelType' smart constructor.+data DataPathLabelType = DataPathLabelType'+  { -- | The field ID of the field that the data label needs to be applied to.+    fieldId :: Prelude.Maybe Prelude.Text,+    -- | The actual value of the field that is labeled.+    fieldValue :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The visibility of the data label.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataPathLabelType' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldId', 'dataPathLabelType_fieldId' - The field ID of the field that the data label needs to be applied to.+--+-- 'fieldValue', 'dataPathLabelType_fieldValue' - The actual value of the field that is labeled.+--+-- 'visibility', 'dataPathLabelType_visibility' - The visibility of the data label.+newDataPathLabelType ::+  DataPathLabelType+newDataPathLabelType =+  DataPathLabelType'+    { fieldId = Prelude.Nothing,+      fieldValue = Prelude.Nothing,+      visibility = Prelude.Nothing+    }++-- | The field ID of the field that the data label needs to be applied to.+dataPathLabelType_fieldId :: Lens.Lens' DataPathLabelType (Prelude.Maybe Prelude.Text)+dataPathLabelType_fieldId = Lens.lens (\DataPathLabelType' {fieldId} -> fieldId) (\s@DataPathLabelType' {} a -> s {fieldId = a} :: DataPathLabelType)++-- | The actual value of the field that is labeled.+dataPathLabelType_fieldValue :: Lens.Lens' DataPathLabelType (Prelude.Maybe Prelude.Text)+dataPathLabelType_fieldValue = Lens.lens (\DataPathLabelType' {fieldValue} -> fieldValue) (\s@DataPathLabelType' {} a -> s {fieldValue = a} :: DataPathLabelType) Prelude.. Lens.mapping Data._Sensitive++-- | The visibility of the data label.+dataPathLabelType_visibility :: Lens.Lens' DataPathLabelType (Prelude.Maybe Visibility)+dataPathLabelType_visibility = Lens.lens (\DataPathLabelType' {visibility} -> visibility) (\s@DataPathLabelType' {} a -> s {visibility = a} :: DataPathLabelType)++instance Data.FromJSON DataPathLabelType where+  parseJSON =+    Data.withObject+      "DataPathLabelType"+      ( \x ->+          DataPathLabelType'+            Prelude.<$> (x Data..:? "FieldId")+            Prelude.<*> (x Data..:? "FieldValue")+            Prelude.<*> (x Data..:? "Visibility")+      )++instance Prelude.Hashable DataPathLabelType where+  hashWithSalt _salt DataPathLabelType' {..} =+    _salt+      `Prelude.hashWithSalt` fieldId+      `Prelude.hashWithSalt` fieldValue+      `Prelude.hashWithSalt` visibility++instance Prelude.NFData DataPathLabelType where+  rnf DataPathLabelType' {..} =+    Prelude.rnf fieldId+      `Prelude.seq` Prelude.rnf fieldValue+      `Prelude.seq` Prelude.rnf visibility++instance Data.ToJSON DataPathLabelType where+  toJSON DataPathLabelType' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FieldId" Data..=) Prelude.<$> fieldId,+            ("FieldValue" Data..=) Prelude.<$> fieldValue,+            ("Visibility" Data..=) Prelude.<$> visibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/DataPathSort.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DataPathSort+-- 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.QuickSight.Types.DataPathSort where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataPathValue+import Amazonka.QuickSight.Types.SortDirection++-- | Allows data paths to be sorted by a specific data value.+--+-- /See:/ 'newDataPathSort' smart constructor.+data DataPathSort = DataPathSort'+  { -- | Determines the sort direction.+    direction :: SortDirection,+    -- | The list of data paths that need to be sorted.+    sortPaths :: [DataPathValue]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataPathSort' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'direction', 'dataPathSort_direction' - Determines the sort direction.+--+-- 'sortPaths', 'dataPathSort_sortPaths' - The list of data paths that need to be sorted.+newDataPathSort ::+  -- | 'direction'+  SortDirection ->+  DataPathSort+newDataPathSort pDirection_ =+  DataPathSort'+    { direction = pDirection_,+      sortPaths = Prelude.mempty+    }++-- | Determines the sort direction.+dataPathSort_direction :: Lens.Lens' DataPathSort SortDirection+dataPathSort_direction = Lens.lens (\DataPathSort' {direction} -> direction) (\s@DataPathSort' {} a -> s {direction = a} :: DataPathSort)++-- | The list of data paths that need to be sorted.+dataPathSort_sortPaths :: Lens.Lens' DataPathSort [DataPathValue]+dataPathSort_sortPaths = Lens.lens (\DataPathSort' {sortPaths} -> sortPaths) (\s@DataPathSort' {} a -> s {sortPaths = a} :: DataPathSort) Prelude.. Lens.coerced++instance Data.FromJSON DataPathSort where+  parseJSON =+    Data.withObject+      "DataPathSort"+      ( \x ->+          DataPathSort'+            Prelude.<$> (x Data..: "Direction")+            Prelude.<*> (x Data..:? "SortPaths" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable DataPathSort where+  hashWithSalt _salt DataPathSort' {..} =+    _salt+      `Prelude.hashWithSalt` direction+      `Prelude.hashWithSalt` sortPaths++instance Prelude.NFData DataPathSort where+  rnf DataPathSort' {..} =+    Prelude.rnf direction+      `Prelude.seq` Prelude.rnf sortPaths++instance Data.ToJSON DataPathSort where+  toJSON DataPathSort' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Direction" Data..= direction),+            Prelude.Just ("SortPaths" Data..= sortPaths)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DataPathValue.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DataPathValue+-- 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.QuickSight.Types.DataPathValue 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 data path that needs to be sorted.+--+-- /See:/ 'newDataPathValue' smart constructor.+data DataPathValue = DataPathValue'+  { -- | The field ID of the field that needs to be sorted.+    fieldId :: Prelude.Text,+    -- | The actual value of the field that needs to be sorted.+    fieldValue :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataPathValue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldId', 'dataPathValue_fieldId' - The field ID of the field that needs to be sorted.+--+-- 'fieldValue', 'dataPathValue_fieldValue' - The actual value of the field that needs to be sorted.+newDataPathValue ::+  -- | 'fieldId'+  Prelude.Text ->+  -- | 'fieldValue'+  Prelude.Text ->+  DataPathValue+newDataPathValue pFieldId_ pFieldValue_ =+  DataPathValue'+    { fieldId = pFieldId_,+      fieldValue = Data._Sensitive Lens.# pFieldValue_+    }++-- | The field ID of the field that needs to be sorted.+dataPathValue_fieldId :: Lens.Lens' DataPathValue Prelude.Text+dataPathValue_fieldId = Lens.lens (\DataPathValue' {fieldId} -> fieldId) (\s@DataPathValue' {} a -> s {fieldId = a} :: DataPathValue)++-- | The actual value of the field that needs to be sorted.+dataPathValue_fieldValue :: Lens.Lens' DataPathValue Prelude.Text+dataPathValue_fieldValue = Lens.lens (\DataPathValue' {fieldValue} -> fieldValue) (\s@DataPathValue' {} a -> s {fieldValue = a} :: DataPathValue) Prelude.. Data._Sensitive++instance Data.FromJSON DataPathValue where+  parseJSON =+    Data.withObject+      "DataPathValue"+      ( \x ->+          DataPathValue'+            Prelude.<$> (x Data..: "FieldId")+            Prelude.<*> (x Data..: "FieldValue")+      )++instance Prelude.Hashable DataPathValue where+  hashWithSalt _salt DataPathValue' {..} =+    _salt+      `Prelude.hashWithSalt` fieldId+      `Prelude.hashWithSalt` fieldValue++instance Prelude.NFData DataPathValue where+  rnf DataPathValue' {..} =+    Prelude.rnf fieldId+      `Prelude.seq` Prelude.rnf fieldValue++instance Data.ToJSON DataPathValue where+  toJSON DataPathValue' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("FieldId" Data..= fieldId),+            Prelude.Just ("FieldValue" Data..= fieldValue)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DataSet.hs view
@@ -0,0 +1,290 @@+{-# 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.QuickSight.Types.DataSet+-- 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.QuickSight.Types.DataSet where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnGroup+import Amazonka.QuickSight.Types.ColumnLevelPermissionRule+import Amazonka.QuickSight.Types.DataSetImportMode+import Amazonka.QuickSight.Types.DataSetUsageConfiguration+import Amazonka.QuickSight.Types.FieldFolder+import Amazonka.QuickSight.Types.LogicalTable+import Amazonka.QuickSight.Types.OutputColumn+import Amazonka.QuickSight.Types.PhysicalTable+import Amazonka.QuickSight.Types.RowLevelPermissionDataSet+import Amazonka.QuickSight.Types.RowLevelPermissionTagConfiguration++-- | Dataset.+--+-- /See:/ 'newDataSet' smart constructor.+data DataSet = DataSet'+  { -- | The Amazon Resource Name (ARN) of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | Groupings of columns that work together in certain Amazon QuickSight+    -- features. Currently, only geospatial hierarchy is supported.+    columnGroups :: Prelude.Maybe (Prelude.NonEmpty ColumnGroup),+    -- | A set of one or more definitions of a+    -- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html ColumnLevelPermissionRule>@ @.+    columnLevelPermissionRules :: Prelude.Maybe (Prelude.NonEmpty ColumnLevelPermissionRule),+    -- | The amount of SPICE capacity used by this dataset. This is 0 if the+    -- dataset isn\'t imported into SPICE.+    consumedSpiceCapacityInBytes :: Prelude.Maybe Prelude.Integer,+    -- | The time that this dataset was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The ID of the dataset.+    dataSetId :: Prelude.Maybe Prelude.Text,+    -- | The usage configuration to apply to child datasets that reference this+    -- dataset as a source.+    dataSetUsageConfiguration :: Prelude.Maybe DataSetUsageConfiguration,+    -- | The folder that contains fields and nested subfolders for your dataset.+    fieldFolders :: Prelude.Maybe (Prelude.HashMap Prelude.Text FieldFolder),+    -- | A value that indicates whether you want to import the data into SPICE.+    importMode :: Prelude.Maybe DataSetImportMode,+    -- | The last time that this dataset was updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | Configures the combination and transformation of the data from the+    -- physical tables.+    logicalTableMap :: Prelude.Maybe (Prelude.HashMap Prelude.Text LogicalTable),+    -- | A display name for the dataset.+    name :: Prelude.Maybe Prelude.Text,+    -- | The list of columns after all transforms. These columns are available in+    -- templates, analyses, and dashboards.+    outputColumns :: Prelude.Maybe [OutputColumn],+    -- | Declares the physical tables that are available in the underlying data+    -- sources.+    physicalTableMap :: Prelude.Maybe (Prelude.HashMap Prelude.Text PhysicalTable),+    -- | The row-level security configuration for the dataset.+    rowLevelPermissionDataSet :: Prelude.Maybe RowLevelPermissionDataSet,+    -- | The element you can use to define tags for row-level security.+    rowLevelPermissionTagConfiguration :: Prelude.Maybe RowLevelPermissionTagConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'dataSet_arn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'columnGroups', 'dataSet_columnGroups' - Groupings of columns that work together in certain Amazon QuickSight+-- features. Currently, only geospatial hierarchy is supported.+--+-- 'columnLevelPermissionRules', 'dataSet_columnLevelPermissionRules' - A set of one or more definitions of a+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html ColumnLevelPermissionRule>@ @.+--+-- 'consumedSpiceCapacityInBytes', 'dataSet_consumedSpiceCapacityInBytes' - The amount of SPICE capacity used by this dataset. This is 0 if the+-- dataset isn\'t imported into SPICE.+--+-- 'createdTime', 'dataSet_createdTime' - The time that this dataset was created.+--+-- 'dataSetId', 'dataSet_dataSetId' - The ID of the dataset.+--+-- 'dataSetUsageConfiguration', 'dataSet_dataSetUsageConfiguration' - The usage configuration to apply to child datasets that reference this+-- dataset as a source.+--+-- 'fieldFolders', 'dataSet_fieldFolders' - The folder that contains fields and nested subfolders for your dataset.+--+-- 'importMode', 'dataSet_importMode' - A value that indicates whether you want to import the data into SPICE.+--+-- 'lastUpdatedTime', 'dataSet_lastUpdatedTime' - The last time that this dataset was updated.+--+-- 'logicalTableMap', 'dataSet_logicalTableMap' - Configures the combination and transformation of the data from the+-- physical tables.+--+-- 'name', 'dataSet_name' - A display name for the dataset.+--+-- 'outputColumns', 'dataSet_outputColumns' - The list of columns after all transforms. These columns are available in+-- templates, analyses, and dashboards.+--+-- 'physicalTableMap', 'dataSet_physicalTableMap' - Declares the physical tables that are available in the underlying data+-- sources.+--+-- 'rowLevelPermissionDataSet', 'dataSet_rowLevelPermissionDataSet' - The row-level security configuration for the dataset.+--+-- 'rowLevelPermissionTagConfiguration', 'dataSet_rowLevelPermissionTagConfiguration' - The element you can use to define tags for row-level security.+newDataSet ::+  DataSet+newDataSet =+  DataSet'+    { arn = Prelude.Nothing,+      columnGroups = Prelude.Nothing,+      columnLevelPermissionRules = Prelude.Nothing,+      consumedSpiceCapacityInBytes = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      dataSetId = Prelude.Nothing,+      dataSetUsageConfiguration = Prelude.Nothing,+      fieldFolders = Prelude.Nothing,+      importMode = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      logicalTableMap = Prelude.Nothing,+      name = Prelude.Nothing,+      outputColumns = Prelude.Nothing,+      physicalTableMap = Prelude.Nothing,+      rowLevelPermissionDataSet = Prelude.Nothing,+      rowLevelPermissionTagConfiguration = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the resource.+dataSet_arn :: Lens.Lens' DataSet (Prelude.Maybe Prelude.Text)+dataSet_arn = Lens.lens (\DataSet' {arn} -> arn) (\s@DataSet' {} a -> s {arn = a} :: DataSet)++-- | Groupings of columns that work together in certain Amazon QuickSight+-- features. Currently, only geospatial hierarchy is supported.+dataSet_columnGroups :: Lens.Lens' DataSet (Prelude.Maybe (Prelude.NonEmpty ColumnGroup))+dataSet_columnGroups = Lens.lens (\DataSet' {columnGroups} -> columnGroups) (\s@DataSet' {} a -> s {columnGroups = a} :: DataSet) Prelude.. Lens.mapping Lens.coerced++-- | A set of one or more definitions of a+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html ColumnLevelPermissionRule>@ @.+dataSet_columnLevelPermissionRules :: Lens.Lens' DataSet (Prelude.Maybe (Prelude.NonEmpty ColumnLevelPermissionRule))+dataSet_columnLevelPermissionRules = Lens.lens (\DataSet' {columnLevelPermissionRules} -> columnLevelPermissionRules) (\s@DataSet' {} a -> s {columnLevelPermissionRules = a} :: DataSet) Prelude.. Lens.mapping Lens.coerced++-- | The amount of SPICE capacity used by this dataset. This is 0 if the+-- dataset isn\'t imported into SPICE.+dataSet_consumedSpiceCapacityInBytes :: Lens.Lens' DataSet (Prelude.Maybe Prelude.Integer)+dataSet_consumedSpiceCapacityInBytes = Lens.lens (\DataSet' {consumedSpiceCapacityInBytes} -> consumedSpiceCapacityInBytes) (\s@DataSet' {} a -> s {consumedSpiceCapacityInBytes = a} :: DataSet)++-- | The time that this dataset was created.+dataSet_createdTime :: Lens.Lens' DataSet (Prelude.Maybe Prelude.UTCTime)+dataSet_createdTime = Lens.lens (\DataSet' {createdTime} -> createdTime) (\s@DataSet' {} a -> s {createdTime = a} :: DataSet) Prelude.. Lens.mapping Data._Time++-- | The ID of the dataset.+dataSet_dataSetId :: Lens.Lens' DataSet (Prelude.Maybe Prelude.Text)+dataSet_dataSetId = Lens.lens (\DataSet' {dataSetId} -> dataSetId) (\s@DataSet' {} a -> s {dataSetId = a} :: DataSet)++-- | The usage configuration to apply to child datasets that reference this+-- dataset as a source.+dataSet_dataSetUsageConfiguration :: Lens.Lens' DataSet (Prelude.Maybe DataSetUsageConfiguration)+dataSet_dataSetUsageConfiguration = Lens.lens (\DataSet' {dataSetUsageConfiguration} -> dataSetUsageConfiguration) (\s@DataSet' {} a -> s {dataSetUsageConfiguration = a} :: DataSet)++-- | The folder that contains fields and nested subfolders for your dataset.+dataSet_fieldFolders :: Lens.Lens' DataSet (Prelude.Maybe (Prelude.HashMap Prelude.Text FieldFolder))+dataSet_fieldFolders = Lens.lens (\DataSet' {fieldFolders} -> fieldFolders) (\s@DataSet' {} a -> s {fieldFolders = a} :: DataSet) Prelude.. Lens.mapping Lens.coerced++-- | A value that indicates whether you want to import the data into SPICE.+dataSet_importMode :: Lens.Lens' DataSet (Prelude.Maybe DataSetImportMode)+dataSet_importMode = Lens.lens (\DataSet' {importMode} -> importMode) (\s@DataSet' {} a -> s {importMode = a} :: DataSet)++-- | The last time that this dataset was updated.+dataSet_lastUpdatedTime :: Lens.Lens' DataSet (Prelude.Maybe Prelude.UTCTime)+dataSet_lastUpdatedTime = Lens.lens (\DataSet' {lastUpdatedTime} -> lastUpdatedTime) (\s@DataSet' {} a -> s {lastUpdatedTime = a} :: DataSet) Prelude.. Lens.mapping Data._Time++-- | Configures the combination and transformation of the data from the+-- physical tables.+dataSet_logicalTableMap :: Lens.Lens' DataSet (Prelude.Maybe (Prelude.HashMap Prelude.Text LogicalTable))+dataSet_logicalTableMap = Lens.lens (\DataSet' {logicalTableMap} -> logicalTableMap) (\s@DataSet' {} a -> s {logicalTableMap = a} :: DataSet) Prelude.. Lens.mapping Lens.coerced++-- | A display name for the dataset.+dataSet_name :: Lens.Lens' DataSet (Prelude.Maybe Prelude.Text)+dataSet_name = Lens.lens (\DataSet' {name} -> name) (\s@DataSet' {} a -> s {name = a} :: DataSet)++-- | The list of columns after all transforms. These columns are available in+-- templates, analyses, and dashboards.+dataSet_outputColumns :: Lens.Lens' DataSet (Prelude.Maybe [OutputColumn])+dataSet_outputColumns = Lens.lens (\DataSet' {outputColumns} -> outputColumns) (\s@DataSet' {} a -> s {outputColumns = a} :: DataSet) Prelude.. Lens.mapping Lens.coerced++-- | Declares the physical tables that are available in the underlying data+-- sources.+dataSet_physicalTableMap :: Lens.Lens' DataSet (Prelude.Maybe (Prelude.HashMap Prelude.Text PhysicalTable))+dataSet_physicalTableMap = Lens.lens (\DataSet' {physicalTableMap} -> physicalTableMap) (\s@DataSet' {} a -> s {physicalTableMap = a} :: DataSet) Prelude.. Lens.mapping Lens.coerced++-- | The row-level security configuration for the dataset.+dataSet_rowLevelPermissionDataSet :: Lens.Lens' DataSet (Prelude.Maybe RowLevelPermissionDataSet)+dataSet_rowLevelPermissionDataSet = Lens.lens (\DataSet' {rowLevelPermissionDataSet} -> rowLevelPermissionDataSet) (\s@DataSet' {} a -> s {rowLevelPermissionDataSet = a} :: DataSet)++-- | The element you can use to define tags for row-level security.+dataSet_rowLevelPermissionTagConfiguration :: Lens.Lens' DataSet (Prelude.Maybe RowLevelPermissionTagConfiguration)+dataSet_rowLevelPermissionTagConfiguration = Lens.lens (\DataSet' {rowLevelPermissionTagConfiguration} -> rowLevelPermissionTagConfiguration) (\s@DataSet' {} a -> s {rowLevelPermissionTagConfiguration = a} :: DataSet)++instance Data.FromJSON DataSet where+  parseJSON =+    Data.withObject+      "DataSet"+      ( \x ->+          DataSet'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "ColumnGroups")+            Prelude.<*> (x Data..:? "ColumnLevelPermissionRules")+            Prelude.<*> (x Data..:? "ConsumedSpiceCapacityInBytes")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "DataSetId")+            Prelude.<*> (x Data..:? "DataSetUsageConfiguration")+            Prelude.<*> (x Data..:? "FieldFolders" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ImportMode")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> ( x+                            Data..:? "LogicalTableMap"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "OutputColumns" Data..!= Prelude.mempty)+            Prelude.<*> ( x+                            Data..:? "PhysicalTableMap"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "RowLevelPermissionDataSet")+            Prelude.<*> (x Data..:? "RowLevelPermissionTagConfiguration")+      )++instance Prelude.Hashable DataSet where+  hashWithSalt _salt DataSet' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` columnGroups+      `Prelude.hashWithSalt` columnLevelPermissionRules+      `Prelude.hashWithSalt` consumedSpiceCapacityInBytes+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` dataSetId+      `Prelude.hashWithSalt` dataSetUsageConfiguration+      `Prelude.hashWithSalt` fieldFolders+      `Prelude.hashWithSalt` importMode+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` logicalTableMap+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` outputColumns+      `Prelude.hashWithSalt` physicalTableMap+      `Prelude.hashWithSalt` rowLevelPermissionDataSet+      `Prelude.hashWithSalt` rowLevelPermissionTagConfiguration++instance Prelude.NFData DataSet where+  rnf DataSet' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf columnGroups+      `Prelude.seq` Prelude.rnf columnLevelPermissionRules+      `Prelude.seq` Prelude.rnf consumedSpiceCapacityInBytes+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf dataSetId+      `Prelude.seq` Prelude.rnf dataSetUsageConfiguration+      `Prelude.seq` Prelude.rnf fieldFolders+      `Prelude.seq` Prelude.rnf importMode+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf logicalTableMap+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf outputColumns+      `Prelude.seq` Prelude.rnf physicalTableMap+      `Prelude.seq` Prelude.rnf rowLevelPermissionDataSet+      `Prelude.seq` Prelude.rnf+        rowLevelPermissionTagConfiguration
+ gen/Amazonka/QuickSight/Types/DataSetConfiguration.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.QuickSight.Types.DataSetConfiguration+-- 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.QuickSight.Types.DataSetConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnGroupSchema+import Amazonka.QuickSight.Types.DataSetSchema++-- | Dataset configuration.+--+-- /See:/ 'newDataSetConfiguration' smart constructor.+data DataSetConfiguration = DataSetConfiguration'+  { -- | A structure containing the list of column group schemas.+    columnGroupSchemaList :: Prelude.Maybe [ColumnGroupSchema],+    -- | Dataset schema.+    dataSetSchema :: Prelude.Maybe DataSetSchema,+    -- | Placeholder.+    placeholder :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataSetConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columnGroupSchemaList', 'dataSetConfiguration_columnGroupSchemaList' - A structure containing the list of column group schemas.+--+-- 'dataSetSchema', 'dataSetConfiguration_dataSetSchema' - Dataset schema.+--+-- 'placeholder', 'dataSetConfiguration_placeholder' - Placeholder.+newDataSetConfiguration ::+  DataSetConfiguration+newDataSetConfiguration =+  DataSetConfiguration'+    { columnGroupSchemaList =+        Prelude.Nothing,+      dataSetSchema = Prelude.Nothing,+      placeholder = Prelude.Nothing+    }++-- | A structure containing the list of column group schemas.+dataSetConfiguration_columnGroupSchemaList :: Lens.Lens' DataSetConfiguration (Prelude.Maybe [ColumnGroupSchema])+dataSetConfiguration_columnGroupSchemaList = Lens.lens (\DataSetConfiguration' {columnGroupSchemaList} -> columnGroupSchemaList) (\s@DataSetConfiguration' {} a -> s {columnGroupSchemaList = a} :: DataSetConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Dataset schema.+dataSetConfiguration_dataSetSchema :: Lens.Lens' DataSetConfiguration (Prelude.Maybe DataSetSchema)+dataSetConfiguration_dataSetSchema = Lens.lens (\DataSetConfiguration' {dataSetSchema} -> dataSetSchema) (\s@DataSetConfiguration' {} a -> s {dataSetSchema = a} :: DataSetConfiguration)++-- | Placeholder.+dataSetConfiguration_placeholder :: Lens.Lens' DataSetConfiguration (Prelude.Maybe Prelude.Text)+dataSetConfiguration_placeholder = Lens.lens (\DataSetConfiguration' {placeholder} -> placeholder) (\s@DataSetConfiguration' {} a -> s {placeholder = a} :: DataSetConfiguration)++instance Data.FromJSON DataSetConfiguration where+  parseJSON =+    Data.withObject+      "DataSetConfiguration"+      ( \x ->+          DataSetConfiguration'+            Prelude.<$> ( x+                            Data..:? "ColumnGroupSchemaList"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "DataSetSchema")+            Prelude.<*> (x Data..:? "Placeholder")+      )++instance Prelude.Hashable DataSetConfiguration where+  hashWithSalt _salt DataSetConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` columnGroupSchemaList+      `Prelude.hashWithSalt` dataSetSchema+      `Prelude.hashWithSalt` placeholder++instance Prelude.NFData DataSetConfiguration where+  rnf DataSetConfiguration' {..} =+    Prelude.rnf columnGroupSchemaList+      `Prelude.seq` Prelude.rnf dataSetSchema+      `Prelude.seq` Prelude.rnf placeholder++instance Data.ToJSON DataSetConfiguration where+  toJSON DataSetConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ColumnGroupSchemaList" Data..=)+              Prelude.<$> columnGroupSchemaList,+            ("DataSetSchema" Data..=) Prelude.<$> dataSetSchema,+            ("Placeholder" Data..=) Prelude.<$> placeholder+          ]+      )
+ gen/Amazonka/QuickSight/Types/DataSetFilterAttribute.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.QuickSight.Types.DataSetFilterAttribute+-- 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.QuickSight.Types.DataSetFilterAttribute+  ( DataSetFilterAttribute+      ( ..,+        DataSetFilterAttribute_DATASET_NAME,+        DataSetFilterAttribute_DIRECT_QUICKSIGHT_OWNER,+        DataSetFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER,+        DataSetFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER,+        DataSetFilterAttribute_QUICKSIGHT_OWNER,+        DataSetFilterAttribute_QUICKSIGHT_VIEWER_OR_OWNER+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataSetFilterAttribute = DataSetFilterAttribute'+  { fromDataSetFilterAttribute ::+      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 DataSetFilterAttribute_DATASET_NAME :: DataSetFilterAttribute+pattern DataSetFilterAttribute_DATASET_NAME = DataSetFilterAttribute' "DATASET_NAME"++pattern DataSetFilterAttribute_DIRECT_QUICKSIGHT_OWNER :: DataSetFilterAttribute+pattern DataSetFilterAttribute_DIRECT_QUICKSIGHT_OWNER = DataSetFilterAttribute' "DIRECT_QUICKSIGHT_OWNER"++pattern DataSetFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER :: DataSetFilterAttribute+pattern DataSetFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER = DataSetFilterAttribute' "DIRECT_QUICKSIGHT_SOLE_OWNER"++pattern DataSetFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER :: DataSetFilterAttribute+pattern DataSetFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER = DataSetFilterAttribute' "DIRECT_QUICKSIGHT_VIEWER_OR_OWNER"++pattern DataSetFilterAttribute_QUICKSIGHT_OWNER :: DataSetFilterAttribute+pattern DataSetFilterAttribute_QUICKSIGHT_OWNER = DataSetFilterAttribute' "QUICKSIGHT_OWNER"++pattern DataSetFilterAttribute_QUICKSIGHT_VIEWER_OR_OWNER :: DataSetFilterAttribute+pattern DataSetFilterAttribute_QUICKSIGHT_VIEWER_OR_OWNER = DataSetFilterAttribute' "QUICKSIGHT_VIEWER_OR_OWNER"++{-# COMPLETE+  DataSetFilterAttribute_DATASET_NAME,+  DataSetFilterAttribute_DIRECT_QUICKSIGHT_OWNER,+  DataSetFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER,+  DataSetFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER,+  DataSetFilterAttribute_QUICKSIGHT_OWNER,+  DataSetFilterAttribute_QUICKSIGHT_VIEWER_OR_OWNER,+  DataSetFilterAttribute'+  #-}
+ gen/Amazonka/QuickSight/Types/DataSetIdentifierDeclaration.hs view
@@ -0,0 +1,103 @@+{-# 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.QuickSight.Types.DataSetIdentifierDeclaration+-- 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.QuickSight.Types.DataSetIdentifierDeclaration 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 set.+--+-- /See:/ 'newDataSetIdentifierDeclaration' smart constructor.+data DataSetIdentifierDeclaration = DataSetIdentifierDeclaration'+  { -- | The identifier of the data set, typically the data set\'s name.+    identifier :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the data set.+    dataSetArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataSetIdentifierDeclaration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identifier', 'dataSetIdentifierDeclaration_identifier' - The identifier of the data set, typically the data set\'s name.+--+-- 'dataSetArn', 'dataSetIdentifierDeclaration_dataSetArn' - The Amazon Resource Name (ARN) of the data set.+newDataSetIdentifierDeclaration ::+  -- | 'identifier'+  Prelude.Text ->+  -- | 'dataSetArn'+  Prelude.Text ->+  DataSetIdentifierDeclaration+newDataSetIdentifierDeclaration+  pIdentifier_+  pDataSetArn_ =+    DataSetIdentifierDeclaration'+      { identifier =+          pIdentifier_,+        dataSetArn = pDataSetArn_+      }++-- | The identifier of the data set, typically the data set\'s name.+dataSetIdentifierDeclaration_identifier :: Lens.Lens' DataSetIdentifierDeclaration Prelude.Text+dataSetIdentifierDeclaration_identifier = Lens.lens (\DataSetIdentifierDeclaration' {identifier} -> identifier) (\s@DataSetIdentifierDeclaration' {} a -> s {identifier = a} :: DataSetIdentifierDeclaration)++-- | The Amazon Resource Name (ARN) of the data set.+dataSetIdentifierDeclaration_dataSetArn :: Lens.Lens' DataSetIdentifierDeclaration Prelude.Text+dataSetIdentifierDeclaration_dataSetArn = Lens.lens (\DataSetIdentifierDeclaration' {dataSetArn} -> dataSetArn) (\s@DataSetIdentifierDeclaration' {} a -> s {dataSetArn = a} :: DataSetIdentifierDeclaration)++instance Data.FromJSON DataSetIdentifierDeclaration where+  parseJSON =+    Data.withObject+      "DataSetIdentifierDeclaration"+      ( \x ->+          DataSetIdentifierDeclaration'+            Prelude.<$> (x Data..: "Identifier")+            Prelude.<*> (x Data..: "DataSetArn")+      )++instance+  Prelude.Hashable+    DataSetIdentifierDeclaration+  where+  hashWithSalt _salt DataSetIdentifierDeclaration' {..} =+    _salt+      `Prelude.hashWithSalt` identifier+      `Prelude.hashWithSalt` dataSetArn++instance Prelude.NFData DataSetIdentifierDeclaration where+  rnf DataSetIdentifierDeclaration' {..} =+    Prelude.rnf identifier+      `Prelude.seq` Prelude.rnf dataSetArn++instance Data.ToJSON DataSetIdentifierDeclaration where+  toJSON DataSetIdentifierDeclaration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Identifier" Data..= identifier),+            Prelude.Just ("DataSetArn" Data..= dataSetArn)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DataSetImportMode.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.QuickSight.Types.DataSetImportMode+-- 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.QuickSight.Types.DataSetImportMode+  ( DataSetImportMode+      ( ..,+        DataSetImportMode_DIRECT_QUERY,+        DataSetImportMode_SPICE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataSetImportMode = DataSetImportMode'+  { fromDataSetImportMode ::+      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 DataSetImportMode_DIRECT_QUERY :: DataSetImportMode+pattern DataSetImportMode_DIRECT_QUERY = DataSetImportMode' "DIRECT_QUERY"++pattern DataSetImportMode_SPICE :: DataSetImportMode+pattern DataSetImportMode_SPICE = DataSetImportMode' "SPICE"++{-# COMPLETE+  DataSetImportMode_DIRECT_QUERY,+  DataSetImportMode_SPICE,+  DataSetImportMode'+  #-}
+ gen/Amazonka/QuickSight/Types/DataSetReference.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DataSetReference+-- 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.QuickSight.Types.DataSetReference 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++-- | Dataset reference.+--+-- /See:/ 'newDataSetReference' smart constructor.+data DataSetReference = DataSetReference'+  { -- | Dataset placeholder.+    dataSetPlaceholder :: Prelude.Text,+    -- | Dataset Amazon Resource Name (ARN).+    dataSetArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataSetReference' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSetPlaceholder', 'dataSetReference_dataSetPlaceholder' - Dataset placeholder.+--+-- 'dataSetArn', 'dataSetReference_dataSetArn' - Dataset Amazon Resource Name (ARN).+newDataSetReference ::+  -- | 'dataSetPlaceholder'+  Prelude.Text ->+  -- | 'dataSetArn'+  Prelude.Text ->+  DataSetReference+newDataSetReference pDataSetPlaceholder_ pDataSetArn_ =+  DataSetReference'+    { dataSetPlaceholder =+        pDataSetPlaceholder_,+      dataSetArn = pDataSetArn_+    }++-- | Dataset placeholder.+dataSetReference_dataSetPlaceholder :: Lens.Lens' DataSetReference Prelude.Text+dataSetReference_dataSetPlaceholder = Lens.lens (\DataSetReference' {dataSetPlaceholder} -> dataSetPlaceholder) (\s@DataSetReference' {} a -> s {dataSetPlaceholder = a} :: DataSetReference)++-- | Dataset Amazon Resource Name (ARN).+dataSetReference_dataSetArn :: Lens.Lens' DataSetReference Prelude.Text+dataSetReference_dataSetArn = Lens.lens (\DataSetReference' {dataSetArn} -> dataSetArn) (\s@DataSetReference' {} a -> s {dataSetArn = a} :: DataSetReference)++instance Prelude.Hashable DataSetReference where+  hashWithSalt _salt DataSetReference' {..} =+    _salt+      `Prelude.hashWithSalt` dataSetPlaceholder+      `Prelude.hashWithSalt` dataSetArn++instance Prelude.NFData DataSetReference where+  rnf DataSetReference' {..} =+    Prelude.rnf dataSetPlaceholder+      `Prelude.seq` Prelude.rnf dataSetArn++instance Data.ToJSON DataSetReference where+  toJSON DataSetReference' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("DataSetPlaceholder" Data..= dataSetPlaceholder),+            Prelude.Just ("DataSetArn" Data..= dataSetArn)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DataSetSchema.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.QuickSight.Types.DataSetSchema+-- 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.QuickSight.Types.DataSetSchema where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnSchema++-- | Dataset schema.+--+-- /See:/ 'newDataSetSchema' smart constructor.+data DataSetSchema = DataSetSchema'+  { -- | A structure containing the list of column schemas.+    columnSchemaList :: Prelude.Maybe [ColumnSchema]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataSetSchema' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columnSchemaList', 'dataSetSchema_columnSchemaList' - A structure containing the list of column schemas.+newDataSetSchema ::+  DataSetSchema+newDataSetSchema =+  DataSetSchema' {columnSchemaList = Prelude.Nothing}++-- | A structure containing the list of column schemas.+dataSetSchema_columnSchemaList :: Lens.Lens' DataSetSchema (Prelude.Maybe [ColumnSchema])+dataSetSchema_columnSchemaList = Lens.lens (\DataSetSchema' {columnSchemaList} -> columnSchemaList) (\s@DataSetSchema' {} a -> s {columnSchemaList = a} :: DataSetSchema) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON DataSetSchema where+  parseJSON =+    Data.withObject+      "DataSetSchema"+      ( \x ->+          DataSetSchema'+            Prelude.<$> ( x+                            Data..:? "ColumnSchemaList"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable DataSetSchema where+  hashWithSalt _salt DataSetSchema' {..} =+    _salt `Prelude.hashWithSalt` columnSchemaList++instance Prelude.NFData DataSetSchema where+  rnf DataSetSchema' {..} = Prelude.rnf columnSchemaList++instance Data.ToJSON DataSetSchema where+  toJSON DataSetSchema' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ColumnSchemaList" Data..=)+              Prelude.<$> columnSchemaList+          ]+      )
+ gen/Amazonka/QuickSight/Types/DataSetSearchFilter.hs view
@@ -0,0 +1,244 @@+{-# 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.QuickSight.Types.DataSetSearchFilter+-- 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.QuickSight.Types.DataSetSearchFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataSetFilterAttribute+import Amazonka.QuickSight.Types.FilterOperator++-- | A filter that you apply when searching for datasets.+--+-- /See:/ 'newDataSetSearchFilter' smart constructor.+data DataSetSearchFilter = DataSetSearchFilter'+  { -- | The comparison operator that you want to use as a filter, for example+    -- @\"Operator\": \"StringEquals\"@. Valid values are @\"StringEquals\"@+    -- and @\"StringLike\"@.+    --+    -- If you set the operator value to @\"StringEquals\"@, you need to provide+    -- an ownership related filter in the @\"NAME\"@ field and the arn of the+    -- user or group whose datasets you want to search in the @\"Value\"@+    -- field. For example,+    -- @\"Name\":\"QUICKSIGHT_OWNER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east- 1:1:user\/default\/UserName1\"@.+    --+    -- If you set the value to @\"StringLike\"@, you need to provide the name+    -- of the datasets you are searching for. For example,+    -- @\"Name\":\"DATASET_NAME\", \"Operator\": \"StringLike\", \"Value\": \"Test\"@.+    -- The @\"StringLike\"@ operator only supports the @NAME@ value+    -- @DATASET_NAME@.+    operator :: FilterOperator,+    -- | The name of the value that you want to use as a filter, for example,+    -- @\"Name\": \"QUICKSIGHT_OWNER\"@.+    --+    -- Valid values are defined as follows:+    --+    -- -   @QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or group, and+    --     any datasets with that ARN listed as one of the dataset owners or+    --     viewers are returned. Implicit permissions from folders or groups+    --     are considered.+    --+    -- -   @QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and any+    --     datasets with that ARN listed as one of the owners of the dataset+    --     are returned. Implicit permissions from folders or groups are+    --     considered.+    --+    -- -   @DIRECT_QUICKSIGHT_SOLE_OWNER@: Provide an ARN of a user or group,+    --     and any datasets with that ARN listed as the only owner of the+    --     dataset are returned. Implicit permissions from folders or groups+    --     are not considered.+    --+    -- -   @DIRECT_QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and+    --     any datasets with that ARN listed as one of the owners if the+    --     dataset are returned. Implicit permissions from folders or groups+    --     are not considered.+    --+    -- -   @DIRECT_QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or+    --     group, and any datasets with that ARN listed as one of the owners or+    --     viewers of the dataset are returned. Implicit permissions from+    --     folders or groups are not considered.+    --+    -- -   @DATASET_NAME@: Any datasets whose names have a substring match to+    --     this value will be returned.+    name :: DataSetFilterAttribute,+    -- | The value of the named item, in this case @QUICKSIGHT_OWNER@, that you+    -- want to use as a filter, for example,+    -- @\"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataSetSearchFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'operator', 'dataSetSearchFilter_operator' - The comparison operator that you want to use as a filter, for example+-- @\"Operator\": \"StringEquals\"@. Valid values are @\"StringEquals\"@+-- and @\"StringLike\"@.+--+-- If you set the operator value to @\"StringEquals\"@, you need to provide+-- an ownership related filter in the @\"NAME\"@ field and the arn of the+-- user or group whose datasets you want to search in the @\"Value\"@+-- field. For example,+-- @\"Name\":\"QUICKSIGHT_OWNER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east- 1:1:user\/default\/UserName1\"@.+--+-- If you set the value to @\"StringLike\"@, you need to provide the name+-- of the datasets you are searching for. For example,+-- @\"Name\":\"DATASET_NAME\", \"Operator\": \"StringLike\", \"Value\": \"Test\"@.+-- The @\"StringLike\"@ operator only supports the @NAME@ value+-- @DATASET_NAME@.+--+-- 'name', 'dataSetSearchFilter_name' - The name of the value that you want to use as a filter, for example,+-- @\"Name\": \"QUICKSIGHT_OWNER\"@.+--+-- Valid values are defined as follows:+--+-- -   @QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or group, and+--     any datasets with that ARN listed as one of the dataset owners or+--     viewers are returned. Implicit permissions from folders or groups+--     are considered.+--+-- -   @QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and any+--     datasets with that ARN listed as one of the owners of the dataset+--     are returned. Implicit permissions from folders or groups are+--     considered.+--+-- -   @DIRECT_QUICKSIGHT_SOLE_OWNER@: Provide an ARN of a user or group,+--     and any datasets with that ARN listed as the only owner of the+--     dataset are returned. Implicit permissions from folders or groups+--     are not considered.+--+-- -   @DIRECT_QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and+--     any datasets with that ARN listed as one of the owners if the+--     dataset are returned. Implicit permissions from folders or groups+--     are not considered.+--+-- -   @DIRECT_QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or+--     group, and any datasets with that ARN listed as one of the owners or+--     viewers of the dataset are returned. Implicit permissions from+--     folders or groups are not considered.+--+-- -   @DATASET_NAME@: Any datasets whose names have a substring match to+--     this value will be returned.+--+-- 'value', 'dataSetSearchFilter_value' - The value of the named item, in this case @QUICKSIGHT_OWNER@, that you+-- want to use as a filter, for example,+-- @\"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+newDataSetSearchFilter ::+  -- | 'operator'+  FilterOperator ->+  -- | 'name'+  DataSetFilterAttribute ->+  -- | 'value'+  Prelude.Text ->+  DataSetSearchFilter+newDataSetSearchFilter pOperator_ pName_ pValue_ =+  DataSetSearchFilter'+    { operator = pOperator_,+      name = pName_,+      value = pValue_+    }++-- | The comparison operator that you want to use as a filter, for example+-- @\"Operator\": \"StringEquals\"@. Valid values are @\"StringEquals\"@+-- and @\"StringLike\"@.+--+-- If you set the operator value to @\"StringEquals\"@, you need to provide+-- an ownership related filter in the @\"NAME\"@ field and the arn of the+-- user or group whose datasets you want to search in the @\"Value\"@+-- field. For example,+-- @\"Name\":\"QUICKSIGHT_OWNER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east- 1:1:user\/default\/UserName1\"@.+--+-- If you set the value to @\"StringLike\"@, you need to provide the name+-- of the datasets you are searching for. For example,+-- @\"Name\":\"DATASET_NAME\", \"Operator\": \"StringLike\", \"Value\": \"Test\"@.+-- The @\"StringLike\"@ operator only supports the @NAME@ value+-- @DATASET_NAME@.+dataSetSearchFilter_operator :: Lens.Lens' DataSetSearchFilter FilterOperator+dataSetSearchFilter_operator = Lens.lens (\DataSetSearchFilter' {operator} -> operator) (\s@DataSetSearchFilter' {} a -> s {operator = a} :: DataSetSearchFilter)++-- | The name of the value that you want to use as a filter, for example,+-- @\"Name\": \"QUICKSIGHT_OWNER\"@.+--+-- Valid values are defined as follows:+--+-- -   @QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or group, and+--     any datasets with that ARN listed as one of the dataset owners or+--     viewers are returned. Implicit permissions from folders or groups+--     are considered.+--+-- -   @QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and any+--     datasets with that ARN listed as one of the owners of the dataset+--     are returned. Implicit permissions from folders or groups are+--     considered.+--+-- -   @DIRECT_QUICKSIGHT_SOLE_OWNER@: Provide an ARN of a user or group,+--     and any datasets with that ARN listed as the only owner of the+--     dataset are returned. Implicit permissions from folders or groups+--     are not considered.+--+-- -   @DIRECT_QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and+--     any datasets with that ARN listed as one of the owners if the+--     dataset are returned. Implicit permissions from folders or groups+--     are not considered.+--+-- -   @DIRECT_QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or+--     group, and any datasets with that ARN listed as one of the owners or+--     viewers of the dataset are returned. Implicit permissions from+--     folders or groups are not considered.+--+-- -   @DATASET_NAME@: Any datasets whose names have a substring match to+--     this value will be returned.+dataSetSearchFilter_name :: Lens.Lens' DataSetSearchFilter DataSetFilterAttribute+dataSetSearchFilter_name = Lens.lens (\DataSetSearchFilter' {name} -> name) (\s@DataSetSearchFilter' {} a -> s {name = a} :: DataSetSearchFilter)++-- | The value of the named item, in this case @QUICKSIGHT_OWNER@, that you+-- want to use as a filter, for example,+-- @\"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+dataSetSearchFilter_value :: Lens.Lens' DataSetSearchFilter Prelude.Text+dataSetSearchFilter_value = Lens.lens (\DataSetSearchFilter' {value} -> value) (\s@DataSetSearchFilter' {} a -> s {value = a} :: DataSetSearchFilter)++instance Prelude.Hashable DataSetSearchFilter where+  hashWithSalt _salt DataSetSearchFilter' {..} =+    _salt+      `Prelude.hashWithSalt` operator+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` value++instance Prelude.NFData DataSetSearchFilter where+  rnf DataSetSearchFilter' {..} =+    Prelude.rnf operator+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf value++instance Data.ToJSON DataSetSearchFilter where+  toJSON DataSetSearchFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Operator" Data..= operator),+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DataSetSummary.hs view
@@ -0,0 +1,177 @@+{-# 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.QuickSight.Types.DataSetSummary+-- 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.QuickSight.Types.DataSetSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataSetImportMode+import Amazonka.QuickSight.Types.RowLevelPermissionDataSet++-- | Dataset summary.+--+-- /See:/ 'newDataSetSummary' smart constructor.+data DataSetSummary = DataSetSummary'+  { -- | The Amazon Resource Name (ARN) of the dataset.+    arn :: Prelude.Maybe Prelude.Text,+    -- | A value that indicates if the dataset has column level permission+    -- configured.+    columnLevelPermissionRulesApplied :: Prelude.Maybe Prelude.Bool,+    -- | The time that this dataset was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The ID of the dataset.+    dataSetId :: Prelude.Maybe Prelude.Text,+    -- | A value that indicates whether you want to import the data into SPICE.+    importMode :: Prelude.Maybe DataSetImportMode,+    -- | The last time that this dataset was updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | A display name for the dataset.+    name :: Prelude.Maybe Prelude.Text,+    -- | The row-level security configuration for the dataset.+    rowLevelPermissionDataSet :: Prelude.Maybe RowLevelPermissionDataSet,+    -- | Whether or not the row level permission tags are applied.+    rowLevelPermissionTagConfigurationApplied :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataSetSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'dataSetSummary_arn' - The Amazon Resource Name (ARN) of the dataset.+--+-- 'columnLevelPermissionRulesApplied', 'dataSetSummary_columnLevelPermissionRulesApplied' - A value that indicates if the dataset has column level permission+-- configured.+--+-- 'createdTime', 'dataSetSummary_createdTime' - The time that this dataset was created.+--+-- 'dataSetId', 'dataSetSummary_dataSetId' - The ID of the dataset.+--+-- 'importMode', 'dataSetSummary_importMode' - A value that indicates whether you want to import the data into SPICE.+--+-- 'lastUpdatedTime', 'dataSetSummary_lastUpdatedTime' - The last time that this dataset was updated.+--+-- 'name', 'dataSetSummary_name' - A display name for the dataset.+--+-- 'rowLevelPermissionDataSet', 'dataSetSummary_rowLevelPermissionDataSet' - The row-level security configuration for the dataset.+--+-- 'rowLevelPermissionTagConfigurationApplied', 'dataSetSummary_rowLevelPermissionTagConfigurationApplied' - Whether or not the row level permission tags are applied.+newDataSetSummary ::+  DataSetSummary+newDataSetSummary =+  DataSetSummary'+    { arn = Prelude.Nothing,+      columnLevelPermissionRulesApplied = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      dataSetId = Prelude.Nothing,+      importMode = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      rowLevelPermissionDataSet = Prelude.Nothing,+      rowLevelPermissionTagConfigurationApplied =+        Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the dataset.+dataSetSummary_arn :: Lens.Lens' DataSetSummary (Prelude.Maybe Prelude.Text)+dataSetSummary_arn = Lens.lens (\DataSetSummary' {arn} -> arn) (\s@DataSetSummary' {} a -> s {arn = a} :: DataSetSummary)++-- | A value that indicates if the dataset has column level permission+-- configured.+dataSetSummary_columnLevelPermissionRulesApplied :: Lens.Lens' DataSetSummary (Prelude.Maybe Prelude.Bool)+dataSetSummary_columnLevelPermissionRulesApplied = Lens.lens (\DataSetSummary' {columnLevelPermissionRulesApplied} -> columnLevelPermissionRulesApplied) (\s@DataSetSummary' {} a -> s {columnLevelPermissionRulesApplied = a} :: DataSetSummary)++-- | The time that this dataset was created.+dataSetSummary_createdTime :: Lens.Lens' DataSetSummary (Prelude.Maybe Prelude.UTCTime)+dataSetSummary_createdTime = Lens.lens (\DataSetSummary' {createdTime} -> createdTime) (\s@DataSetSummary' {} a -> s {createdTime = a} :: DataSetSummary) Prelude.. Lens.mapping Data._Time++-- | The ID of the dataset.+dataSetSummary_dataSetId :: Lens.Lens' DataSetSummary (Prelude.Maybe Prelude.Text)+dataSetSummary_dataSetId = Lens.lens (\DataSetSummary' {dataSetId} -> dataSetId) (\s@DataSetSummary' {} a -> s {dataSetId = a} :: DataSetSummary)++-- | A value that indicates whether you want to import the data into SPICE.+dataSetSummary_importMode :: Lens.Lens' DataSetSummary (Prelude.Maybe DataSetImportMode)+dataSetSummary_importMode = Lens.lens (\DataSetSummary' {importMode} -> importMode) (\s@DataSetSummary' {} a -> s {importMode = a} :: DataSetSummary)++-- | The last time that this dataset was updated.+dataSetSummary_lastUpdatedTime :: Lens.Lens' DataSetSummary (Prelude.Maybe Prelude.UTCTime)+dataSetSummary_lastUpdatedTime = Lens.lens (\DataSetSummary' {lastUpdatedTime} -> lastUpdatedTime) (\s@DataSetSummary' {} a -> s {lastUpdatedTime = a} :: DataSetSummary) Prelude.. Lens.mapping Data._Time++-- | A display name for the dataset.+dataSetSummary_name :: Lens.Lens' DataSetSummary (Prelude.Maybe Prelude.Text)+dataSetSummary_name = Lens.lens (\DataSetSummary' {name} -> name) (\s@DataSetSummary' {} a -> s {name = a} :: DataSetSummary)++-- | The row-level security configuration for the dataset.+dataSetSummary_rowLevelPermissionDataSet :: Lens.Lens' DataSetSummary (Prelude.Maybe RowLevelPermissionDataSet)+dataSetSummary_rowLevelPermissionDataSet = Lens.lens (\DataSetSummary' {rowLevelPermissionDataSet} -> rowLevelPermissionDataSet) (\s@DataSetSummary' {} a -> s {rowLevelPermissionDataSet = a} :: DataSetSummary)++-- | Whether or not the row level permission tags are applied.+dataSetSummary_rowLevelPermissionTagConfigurationApplied :: Lens.Lens' DataSetSummary (Prelude.Maybe Prelude.Bool)+dataSetSummary_rowLevelPermissionTagConfigurationApplied = Lens.lens (\DataSetSummary' {rowLevelPermissionTagConfigurationApplied} -> rowLevelPermissionTagConfigurationApplied) (\s@DataSetSummary' {} a -> s {rowLevelPermissionTagConfigurationApplied = a} :: DataSetSummary)++instance Data.FromJSON DataSetSummary where+  parseJSON =+    Data.withObject+      "DataSetSummary"+      ( \x ->+          DataSetSummary'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "ColumnLevelPermissionRulesApplied")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "DataSetId")+            Prelude.<*> (x Data..:? "ImportMode")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "RowLevelPermissionDataSet")+            Prelude.<*> ( x+                            Data..:? "RowLevelPermissionTagConfigurationApplied"+                        )+      )++instance Prelude.Hashable DataSetSummary where+  hashWithSalt _salt DataSetSummary' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` columnLevelPermissionRulesApplied+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` dataSetId+      `Prelude.hashWithSalt` importMode+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` rowLevelPermissionDataSet+      `Prelude.hashWithSalt` rowLevelPermissionTagConfigurationApplied++instance Prelude.NFData DataSetSummary where+  rnf DataSetSummary' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf columnLevelPermissionRulesApplied+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf dataSetId+      `Prelude.seq` Prelude.rnf importMode+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf rowLevelPermissionDataSet+      `Prelude.seq` Prelude.rnf+        rowLevelPermissionTagConfigurationApplied
+ gen/Amazonka/QuickSight/Types/DataSetUsageConfiguration.hs view
@@ -0,0 +1,103 @@+{-# 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.QuickSight.Types.DataSetUsageConfiguration+-- 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.QuickSight.Types.DataSetUsageConfiguration 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 usage configuration to apply to child datasets that reference this+-- dataset as a source.+--+-- /See:/ 'newDataSetUsageConfiguration' smart constructor.+data DataSetUsageConfiguration = DataSetUsageConfiguration'+  { -- | An option that controls whether a child dataset of a direct query can+    -- use this dataset as a source.+    disableUseAsDirectQuerySource :: Prelude.Maybe Prelude.Bool,+    -- | An option that controls whether a child dataset that\'s stored in+    -- QuickSight can use this dataset as a source.+    disableUseAsImportedSource :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataSetUsageConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'disableUseAsDirectQuerySource', 'dataSetUsageConfiguration_disableUseAsDirectQuerySource' - An option that controls whether a child dataset of a direct query can+-- use this dataset as a source.+--+-- 'disableUseAsImportedSource', 'dataSetUsageConfiguration_disableUseAsImportedSource' - An option that controls whether a child dataset that\'s stored in+-- QuickSight can use this dataset as a source.+newDataSetUsageConfiguration ::+  DataSetUsageConfiguration+newDataSetUsageConfiguration =+  DataSetUsageConfiguration'+    { disableUseAsDirectQuerySource =+        Prelude.Nothing,+      disableUseAsImportedSource = Prelude.Nothing+    }++-- | An option that controls whether a child dataset of a direct query can+-- use this dataset as a source.+dataSetUsageConfiguration_disableUseAsDirectQuerySource :: Lens.Lens' DataSetUsageConfiguration (Prelude.Maybe Prelude.Bool)+dataSetUsageConfiguration_disableUseAsDirectQuerySource = Lens.lens (\DataSetUsageConfiguration' {disableUseAsDirectQuerySource} -> disableUseAsDirectQuerySource) (\s@DataSetUsageConfiguration' {} a -> s {disableUseAsDirectQuerySource = a} :: DataSetUsageConfiguration)++-- | An option that controls whether a child dataset that\'s stored in+-- QuickSight can use this dataset as a source.+dataSetUsageConfiguration_disableUseAsImportedSource :: Lens.Lens' DataSetUsageConfiguration (Prelude.Maybe Prelude.Bool)+dataSetUsageConfiguration_disableUseAsImportedSource = Lens.lens (\DataSetUsageConfiguration' {disableUseAsImportedSource} -> disableUseAsImportedSource) (\s@DataSetUsageConfiguration' {} a -> s {disableUseAsImportedSource = a} :: DataSetUsageConfiguration)++instance Data.FromJSON DataSetUsageConfiguration where+  parseJSON =+    Data.withObject+      "DataSetUsageConfiguration"+      ( \x ->+          DataSetUsageConfiguration'+            Prelude.<$> (x Data..:? "DisableUseAsDirectQuerySource")+            Prelude.<*> (x Data..:? "DisableUseAsImportedSource")+      )++instance Prelude.Hashable DataSetUsageConfiguration where+  hashWithSalt _salt DataSetUsageConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` disableUseAsDirectQuerySource+      `Prelude.hashWithSalt` disableUseAsImportedSource++instance Prelude.NFData DataSetUsageConfiguration where+  rnf DataSetUsageConfiguration' {..} =+    Prelude.rnf disableUseAsDirectQuerySource+      `Prelude.seq` Prelude.rnf disableUseAsImportedSource++instance Data.ToJSON DataSetUsageConfiguration where+  toJSON DataSetUsageConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DisableUseAsDirectQuerySource" Data..=)+              Prelude.<$> disableUseAsDirectQuerySource,+            ("DisableUseAsImportedSource" Data..=)+              Prelude.<$> disableUseAsImportedSource+          ]+      )
+ gen/Amazonka/QuickSight/Types/DataSource.hs view
@@ -0,0 +1,280 @@+{-# 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.QuickSight.Types.DataSource+-- 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.QuickSight.Types.DataSource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataSourceErrorInfo+import Amazonka.QuickSight.Types.DataSourceParameters+import Amazonka.QuickSight.Types.DataSourceType+import Amazonka.QuickSight.Types.ResourceStatus+import Amazonka.QuickSight.Types.SslProperties+import Amazonka.QuickSight.Types.VpcConnectionProperties++-- | The structure of a data source.+--+-- /See:/ 'newDataSource' smart constructor.+data DataSource = DataSource'+  { -- | A set of alternate data source parameters that you want to share for the+    -- credentials stored with this data source. The credentials are applied in+    -- tandem with the data source parameters when you copy a data source by+    -- using a create or update request. The API operation compares the+    -- @DataSourceParameters@ structure that\'s in the request with the+    -- structures in the @AlternateDataSourceParameters@ allow list. If the+    -- structures are an exact match, the request is allowed to use the+    -- credentials from this existing data source. If the+    -- @AlternateDataSourceParameters@ list is null, the @Credentials@+    -- originally used with this @DataSourceParameters@ are automatically+    -- allowed.+    alternateDataSourceParameters :: Prelude.Maybe (Prelude.NonEmpty DataSourceParameters),+    -- | The Amazon Resource Name (ARN) of the data source.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time that this data source was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The ID of the data source. This ID is unique per Amazon Web Services+    -- Region for each Amazon Web Services account.+    dataSourceId :: Prelude.Maybe Prelude.Text,+    -- | The parameters that Amazon QuickSight uses to connect to your underlying+    -- source. This is a variant type structure. For this structure to be+    -- valid, only one of the attributes can be non-null.+    dataSourceParameters :: Prelude.Maybe DataSourceParameters,+    -- | Error information from the last update or the creation of the data+    -- source.+    errorInfo :: Prelude.Maybe DataSourceErrorInfo,+    -- | The last time that this data source was updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | A display name for the data source.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the secret associated with the data+    -- source in Amazon Secrets Manager.+    secretArn :: Prelude.Maybe Prelude.Text,+    -- | Secure Socket Layer (SSL) properties that apply when Amazon QuickSight+    -- connects to your underlying source.+    sslProperties :: Prelude.Maybe SslProperties,+    -- | The HTTP status of the request.+    status :: Prelude.Maybe ResourceStatus,+    -- | The type of the data source. This type indicates which database engine+    -- the data source connects to.+    type' :: Prelude.Maybe DataSourceType,+    -- | The VPC connection information. You need to use this parameter only when+    -- you want Amazon QuickSight to use a VPC connection when connecting to+    -- your underlying source.+    vpcConnectionProperties :: Prelude.Maybe VpcConnectionProperties+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alternateDataSourceParameters', 'dataSource_alternateDataSourceParameters' - A set of alternate data source parameters that you want to share for the+-- credentials stored with this data source. The credentials are applied in+-- tandem with the data source parameters when you copy a data source by+-- using a create or update request. The API operation compares the+-- @DataSourceParameters@ structure that\'s in the request with the+-- structures in the @AlternateDataSourceParameters@ allow list. If the+-- structures are an exact match, the request is allowed to use the+-- credentials from this existing data source. If the+-- @AlternateDataSourceParameters@ list is null, the @Credentials@+-- originally used with this @DataSourceParameters@ are automatically+-- allowed.+--+-- 'arn', 'dataSource_arn' - The Amazon Resource Name (ARN) of the data source.+--+-- 'createdTime', 'dataSource_createdTime' - The time that this data source was created.+--+-- 'dataSourceId', 'dataSource_dataSourceId' - The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+--+-- 'dataSourceParameters', 'dataSource_dataSourceParameters' - The parameters that Amazon QuickSight uses to connect to your underlying+-- source. This is a variant type structure. For this structure to be+-- valid, only one of the attributes can be non-null.+--+-- 'errorInfo', 'dataSource_errorInfo' - Error information from the last update or the creation of the data+-- source.+--+-- 'lastUpdatedTime', 'dataSource_lastUpdatedTime' - The last time that this data source was updated.+--+-- 'name', 'dataSource_name' - A display name for the data source.+--+-- 'secretArn', 'dataSource_secretArn' - The Amazon Resource Name (ARN) of the secret associated with the data+-- source in Amazon Secrets Manager.+--+-- 'sslProperties', 'dataSource_sslProperties' - Secure Socket Layer (SSL) properties that apply when Amazon QuickSight+-- connects to your underlying source.+--+-- 'status', 'dataSource_status' - The HTTP status of the request.+--+-- 'type'', 'dataSource_type' - The type of the data source. This type indicates which database engine+-- the data source connects to.+--+-- 'vpcConnectionProperties', 'dataSource_vpcConnectionProperties' - The VPC connection information. You need to use this parameter only when+-- you want Amazon QuickSight to use a VPC connection when connecting to+-- your underlying source.+newDataSource ::+  DataSource+newDataSource =+  DataSource'+    { alternateDataSourceParameters =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      dataSourceId = Prelude.Nothing,+      dataSourceParameters = Prelude.Nothing,+      errorInfo = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      secretArn = Prelude.Nothing,+      sslProperties = Prelude.Nothing,+      status = Prelude.Nothing,+      type' = Prelude.Nothing,+      vpcConnectionProperties = Prelude.Nothing+    }++-- | A set of alternate data source parameters that you want to share for the+-- credentials stored with this data source. The credentials are applied in+-- tandem with the data source parameters when you copy a data source by+-- using a create or update request. The API operation compares the+-- @DataSourceParameters@ structure that\'s in the request with the+-- structures in the @AlternateDataSourceParameters@ allow list. If the+-- structures are an exact match, the request is allowed to use the+-- credentials from this existing data source. If the+-- @AlternateDataSourceParameters@ list is null, the @Credentials@+-- originally used with this @DataSourceParameters@ are automatically+-- allowed.+dataSource_alternateDataSourceParameters :: Lens.Lens' DataSource (Prelude.Maybe (Prelude.NonEmpty DataSourceParameters))+dataSource_alternateDataSourceParameters = Lens.lens (\DataSource' {alternateDataSourceParameters} -> alternateDataSourceParameters) (\s@DataSource' {} a -> s {alternateDataSourceParameters = a} :: DataSource) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the data source.+dataSource_arn :: Lens.Lens' DataSource (Prelude.Maybe Prelude.Text)+dataSource_arn = Lens.lens (\DataSource' {arn} -> arn) (\s@DataSource' {} a -> s {arn = a} :: DataSource)++-- | The time that this data source was created.+dataSource_createdTime :: Lens.Lens' DataSource (Prelude.Maybe Prelude.UTCTime)+dataSource_createdTime = Lens.lens (\DataSource' {createdTime} -> createdTime) (\s@DataSource' {} a -> s {createdTime = a} :: DataSource) Prelude.. Lens.mapping Data._Time++-- | The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+dataSource_dataSourceId :: Lens.Lens' DataSource (Prelude.Maybe Prelude.Text)+dataSource_dataSourceId = Lens.lens (\DataSource' {dataSourceId} -> dataSourceId) (\s@DataSource' {} a -> s {dataSourceId = a} :: DataSource)++-- | The parameters that Amazon QuickSight uses to connect to your underlying+-- source. This is a variant type structure. For this structure to be+-- valid, only one of the attributes can be non-null.+dataSource_dataSourceParameters :: Lens.Lens' DataSource (Prelude.Maybe DataSourceParameters)+dataSource_dataSourceParameters = Lens.lens (\DataSource' {dataSourceParameters} -> dataSourceParameters) (\s@DataSource' {} a -> s {dataSourceParameters = a} :: DataSource)++-- | Error information from the last update or the creation of the data+-- source.+dataSource_errorInfo :: Lens.Lens' DataSource (Prelude.Maybe DataSourceErrorInfo)+dataSource_errorInfo = Lens.lens (\DataSource' {errorInfo} -> errorInfo) (\s@DataSource' {} a -> s {errorInfo = a} :: DataSource)++-- | The last time that this data source was updated.+dataSource_lastUpdatedTime :: Lens.Lens' DataSource (Prelude.Maybe Prelude.UTCTime)+dataSource_lastUpdatedTime = Lens.lens (\DataSource' {lastUpdatedTime} -> lastUpdatedTime) (\s@DataSource' {} a -> s {lastUpdatedTime = a} :: DataSource) Prelude.. Lens.mapping Data._Time++-- | A display name for the data source.+dataSource_name :: Lens.Lens' DataSource (Prelude.Maybe Prelude.Text)+dataSource_name = Lens.lens (\DataSource' {name} -> name) (\s@DataSource' {} a -> s {name = a} :: DataSource)++-- | The Amazon Resource Name (ARN) of the secret associated with the data+-- source in Amazon Secrets Manager.+dataSource_secretArn :: Lens.Lens' DataSource (Prelude.Maybe Prelude.Text)+dataSource_secretArn = Lens.lens (\DataSource' {secretArn} -> secretArn) (\s@DataSource' {} a -> s {secretArn = a} :: DataSource)++-- | Secure Socket Layer (SSL) properties that apply when Amazon QuickSight+-- connects to your underlying source.+dataSource_sslProperties :: Lens.Lens' DataSource (Prelude.Maybe SslProperties)+dataSource_sslProperties = Lens.lens (\DataSource' {sslProperties} -> sslProperties) (\s@DataSource' {} a -> s {sslProperties = a} :: DataSource)++-- | The HTTP status of the request.+dataSource_status :: Lens.Lens' DataSource (Prelude.Maybe ResourceStatus)+dataSource_status = Lens.lens (\DataSource' {status} -> status) (\s@DataSource' {} a -> s {status = a} :: DataSource)++-- | The type of the data source. This type indicates which database engine+-- the data source connects to.+dataSource_type :: Lens.Lens' DataSource (Prelude.Maybe DataSourceType)+dataSource_type = Lens.lens (\DataSource' {type'} -> type') (\s@DataSource' {} a -> s {type' = a} :: DataSource)++-- | The VPC connection information. You need to use this parameter only when+-- you want Amazon QuickSight to use a VPC connection when connecting to+-- your underlying source.+dataSource_vpcConnectionProperties :: Lens.Lens' DataSource (Prelude.Maybe VpcConnectionProperties)+dataSource_vpcConnectionProperties = Lens.lens (\DataSource' {vpcConnectionProperties} -> vpcConnectionProperties) (\s@DataSource' {} a -> s {vpcConnectionProperties = a} :: DataSource)++instance Data.FromJSON DataSource where+  parseJSON =+    Data.withObject+      "DataSource"+      ( \x ->+          DataSource'+            Prelude.<$> (x Data..:? "AlternateDataSourceParameters")+            Prelude.<*> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "DataSourceId")+            Prelude.<*> (x Data..:? "DataSourceParameters")+            Prelude.<*> (x Data..:? "ErrorInfo")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "SecretArn")+            Prelude.<*> (x Data..:? "SslProperties")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "Type")+            Prelude.<*> (x Data..:? "VpcConnectionProperties")+      )++instance Prelude.Hashable DataSource where+  hashWithSalt _salt DataSource' {..} =+    _salt+      `Prelude.hashWithSalt` alternateDataSourceParameters+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` dataSourceId+      `Prelude.hashWithSalt` dataSourceParameters+      `Prelude.hashWithSalt` errorInfo+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` secretArn+      `Prelude.hashWithSalt` sslProperties+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` vpcConnectionProperties++instance Prelude.NFData DataSource where+  rnf DataSource' {..} =+    Prelude.rnf alternateDataSourceParameters+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf dataSourceId+      `Prelude.seq` Prelude.rnf dataSourceParameters+      `Prelude.seq` Prelude.rnf errorInfo+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf secretArn+      `Prelude.seq` Prelude.rnf sslProperties+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf vpcConnectionProperties
+ gen/Amazonka/QuickSight/Types/DataSourceCredentials.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.QuickSight.Types.DataSourceCredentials+-- 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.QuickSight.Types.DataSourceCredentials where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CredentialPair++-- | Data source credentials. This is a variant type structure. For this+-- structure to be valid, only one of the attributes can be non-null.+--+-- /See:/ 'newDataSourceCredentials' smart constructor.+data DataSourceCredentials = DataSourceCredentials'+  { -- | The Amazon Resource Name (ARN) of a data source that has the credential+    -- pair that you want to use. When @CopySourceArn@ is not null, the+    -- credential pair from the data source in the ARN is used as the+    -- credentials for the @DataSourceCredentials@ structure.+    copySourceArn :: Prelude.Maybe Prelude.Text,+    -- | Credential pair. For more information, see+    -- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CredentialPair.html CredentialPair>@ @.+    credentialPair :: Prelude.Maybe CredentialPair,+    -- | The Amazon Resource Name (ARN) of the secret associated with the data+    -- source in Amazon Secrets Manager.+    secretArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataSourceCredentials' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'copySourceArn', 'dataSourceCredentials_copySourceArn' - The Amazon Resource Name (ARN) of a data source that has the credential+-- pair that you want to use. When @CopySourceArn@ is not null, the+-- credential pair from the data source in the ARN is used as the+-- credentials for the @DataSourceCredentials@ structure.+--+-- 'credentialPair', 'dataSourceCredentials_credentialPair' - Credential pair. For more information, see+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CredentialPair.html CredentialPair>@ @.+--+-- 'secretArn', 'dataSourceCredentials_secretArn' - The Amazon Resource Name (ARN) of the secret associated with the data+-- source in Amazon Secrets Manager.+newDataSourceCredentials ::+  DataSourceCredentials+newDataSourceCredentials =+  DataSourceCredentials'+    { copySourceArn =+        Prelude.Nothing,+      credentialPair = Prelude.Nothing,+      secretArn = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of a data source that has the credential+-- pair that you want to use. When @CopySourceArn@ is not null, the+-- credential pair from the data source in the ARN is used as the+-- credentials for the @DataSourceCredentials@ structure.+dataSourceCredentials_copySourceArn :: Lens.Lens' DataSourceCredentials (Prelude.Maybe Prelude.Text)+dataSourceCredentials_copySourceArn = Lens.lens (\DataSourceCredentials' {copySourceArn} -> copySourceArn) (\s@DataSourceCredentials' {} a -> s {copySourceArn = a} :: DataSourceCredentials)++-- | Credential pair. For more information, see+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CredentialPair.html CredentialPair>@ @.+dataSourceCredentials_credentialPair :: Lens.Lens' DataSourceCredentials (Prelude.Maybe CredentialPair)+dataSourceCredentials_credentialPair = Lens.lens (\DataSourceCredentials' {credentialPair} -> credentialPair) (\s@DataSourceCredentials' {} a -> s {credentialPair = a} :: DataSourceCredentials)++-- | The Amazon Resource Name (ARN) of the secret associated with the data+-- source in Amazon Secrets Manager.+dataSourceCredentials_secretArn :: Lens.Lens' DataSourceCredentials (Prelude.Maybe Prelude.Text)+dataSourceCredentials_secretArn = Lens.lens (\DataSourceCredentials' {secretArn} -> secretArn) (\s@DataSourceCredentials' {} a -> s {secretArn = a} :: DataSourceCredentials)++instance Prelude.Hashable DataSourceCredentials where+  hashWithSalt _salt DataSourceCredentials' {..} =+    _salt+      `Prelude.hashWithSalt` copySourceArn+      `Prelude.hashWithSalt` credentialPair+      `Prelude.hashWithSalt` secretArn++instance Prelude.NFData DataSourceCredentials where+  rnf DataSourceCredentials' {..} =+    Prelude.rnf copySourceArn+      `Prelude.seq` Prelude.rnf credentialPair+      `Prelude.seq` Prelude.rnf secretArn++instance Data.ToJSON DataSourceCredentials where+  toJSON DataSourceCredentials' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CopySourceArn" Data..=) Prelude.<$> copySourceArn,+            ("CredentialPair" Data..=)+              Prelude.<$> credentialPair,+            ("SecretArn" Data..=) Prelude.<$> secretArn+          ]+      )
+ gen/Amazonka/QuickSight/Types/DataSourceErrorInfo.hs view
@@ -0,0 +1,84 @@+{-# 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.QuickSight.Types.DataSourceErrorInfo+-- 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.QuickSight.Types.DataSourceErrorInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataSourceErrorInfoType++-- | Error information for the data source creation or update.+--+-- /See:/ 'newDataSourceErrorInfo' smart constructor.+data DataSourceErrorInfo = DataSourceErrorInfo'+  { -- | Error message.+    message :: Prelude.Maybe Prelude.Text,+    -- | Error type.+    type' :: Prelude.Maybe DataSourceErrorInfoType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataSourceErrorInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'dataSourceErrorInfo_message' - Error message.+--+-- 'type'', 'dataSourceErrorInfo_type' - Error type.+newDataSourceErrorInfo ::+  DataSourceErrorInfo+newDataSourceErrorInfo =+  DataSourceErrorInfo'+    { message = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | Error message.+dataSourceErrorInfo_message :: Lens.Lens' DataSourceErrorInfo (Prelude.Maybe Prelude.Text)+dataSourceErrorInfo_message = Lens.lens (\DataSourceErrorInfo' {message} -> message) (\s@DataSourceErrorInfo' {} a -> s {message = a} :: DataSourceErrorInfo)++-- | Error type.+dataSourceErrorInfo_type :: Lens.Lens' DataSourceErrorInfo (Prelude.Maybe DataSourceErrorInfoType)+dataSourceErrorInfo_type = Lens.lens (\DataSourceErrorInfo' {type'} -> type') (\s@DataSourceErrorInfo' {} a -> s {type' = a} :: DataSourceErrorInfo)++instance Data.FromJSON DataSourceErrorInfo where+  parseJSON =+    Data.withObject+      "DataSourceErrorInfo"+      ( \x ->+          DataSourceErrorInfo'+            Prelude.<$> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable DataSourceErrorInfo where+  hashWithSalt _salt DataSourceErrorInfo' {..} =+    _salt+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` type'++instance Prelude.NFData DataSourceErrorInfo where+  rnf DataSourceErrorInfo' {..} =+    Prelude.rnf message `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/QuickSight/Types/DataSourceErrorInfoType.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DataSourceErrorInfoType+-- 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.QuickSight.Types.DataSourceErrorInfoType+  ( DataSourceErrorInfoType+      ( ..,+        DataSourceErrorInfoType_ACCESS_DENIED,+        DataSourceErrorInfoType_CONFLICT,+        DataSourceErrorInfoType_COPY_SOURCE_NOT_FOUND,+        DataSourceErrorInfoType_ENGINE_VERSION_NOT_SUPPORTED,+        DataSourceErrorInfoType_GENERIC_SQL_FAILURE,+        DataSourceErrorInfoType_TIMEOUT,+        DataSourceErrorInfoType_UNKNOWN,+        DataSourceErrorInfoType_UNKNOWN_HOST+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataSourceErrorInfoType = DataSourceErrorInfoType'+  { fromDataSourceErrorInfoType ::+      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 DataSourceErrorInfoType_ACCESS_DENIED :: DataSourceErrorInfoType+pattern DataSourceErrorInfoType_ACCESS_DENIED = DataSourceErrorInfoType' "ACCESS_DENIED"++pattern DataSourceErrorInfoType_CONFLICT :: DataSourceErrorInfoType+pattern DataSourceErrorInfoType_CONFLICT = DataSourceErrorInfoType' "CONFLICT"++pattern DataSourceErrorInfoType_COPY_SOURCE_NOT_FOUND :: DataSourceErrorInfoType+pattern DataSourceErrorInfoType_COPY_SOURCE_NOT_FOUND = DataSourceErrorInfoType' "COPY_SOURCE_NOT_FOUND"++pattern DataSourceErrorInfoType_ENGINE_VERSION_NOT_SUPPORTED :: DataSourceErrorInfoType+pattern DataSourceErrorInfoType_ENGINE_VERSION_NOT_SUPPORTED = DataSourceErrorInfoType' "ENGINE_VERSION_NOT_SUPPORTED"++pattern DataSourceErrorInfoType_GENERIC_SQL_FAILURE :: DataSourceErrorInfoType+pattern DataSourceErrorInfoType_GENERIC_SQL_FAILURE = DataSourceErrorInfoType' "GENERIC_SQL_FAILURE"++pattern DataSourceErrorInfoType_TIMEOUT :: DataSourceErrorInfoType+pattern DataSourceErrorInfoType_TIMEOUT = DataSourceErrorInfoType' "TIMEOUT"++pattern DataSourceErrorInfoType_UNKNOWN :: DataSourceErrorInfoType+pattern DataSourceErrorInfoType_UNKNOWN = DataSourceErrorInfoType' "UNKNOWN"++pattern DataSourceErrorInfoType_UNKNOWN_HOST :: DataSourceErrorInfoType+pattern DataSourceErrorInfoType_UNKNOWN_HOST = DataSourceErrorInfoType' "UNKNOWN_HOST"++{-# COMPLETE+  DataSourceErrorInfoType_ACCESS_DENIED,+  DataSourceErrorInfoType_CONFLICT,+  DataSourceErrorInfoType_COPY_SOURCE_NOT_FOUND,+  DataSourceErrorInfoType_ENGINE_VERSION_NOT_SUPPORTED,+  DataSourceErrorInfoType_GENERIC_SQL_FAILURE,+  DataSourceErrorInfoType_TIMEOUT,+  DataSourceErrorInfoType_UNKNOWN,+  DataSourceErrorInfoType_UNKNOWN_HOST,+  DataSourceErrorInfoType'+  #-}
+ gen/Amazonka/QuickSight/Types/DataSourceFilterAttribute.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DataSourceFilterAttribute+-- 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.QuickSight.Types.DataSourceFilterAttribute+  ( DataSourceFilterAttribute+      ( ..,+        DataSourceFilterAttribute_DATASOURCE_NAME,+        DataSourceFilterAttribute_DIRECT_QUICKSIGHT_OWNER,+        DataSourceFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER,+        DataSourceFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataSourceFilterAttribute = DataSourceFilterAttribute'+  { fromDataSourceFilterAttribute ::+      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 DataSourceFilterAttribute_DATASOURCE_NAME :: DataSourceFilterAttribute+pattern DataSourceFilterAttribute_DATASOURCE_NAME = DataSourceFilterAttribute' "DATASOURCE_NAME"++pattern DataSourceFilterAttribute_DIRECT_QUICKSIGHT_OWNER :: DataSourceFilterAttribute+pattern DataSourceFilterAttribute_DIRECT_QUICKSIGHT_OWNER = DataSourceFilterAttribute' "DIRECT_QUICKSIGHT_OWNER"++pattern DataSourceFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER :: DataSourceFilterAttribute+pattern DataSourceFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER = DataSourceFilterAttribute' "DIRECT_QUICKSIGHT_SOLE_OWNER"++pattern DataSourceFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER :: DataSourceFilterAttribute+pattern DataSourceFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER = DataSourceFilterAttribute' "DIRECT_QUICKSIGHT_VIEWER_OR_OWNER"++{-# COMPLETE+  DataSourceFilterAttribute_DATASOURCE_NAME,+  DataSourceFilterAttribute_DIRECT_QUICKSIGHT_OWNER,+  DataSourceFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER,+  DataSourceFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER,+  DataSourceFilterAttribute'+  #-}
+ gen/Amazonka/QuickSight/Types/DataSourceParameters.hs view
@@ -0,0 +1,419 @@+{-# 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.QuickSight.Types.DataSourceParameters+-- 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.QuickSight.Types.DataSourceParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AmazonElasticsearchParameters+import Amazonka.QuickSight.Types.AmazonOpenSearchParameters+import Amazonka.QuickSight.Types.AthenaParameters+import Amazonka.QuickSight.Types.AuroraParameters+import Amazonka.QuickSight.Types.AuroraPostgreSqlParameters+import Amazonka.QuickSight.Types.AwsIotAnalyticsParameters+import Amazonka.QuickSight.Types.DatabricksParameters+import Amazonka.QuickSight.Types.ExasolParameters+import Amazonka.QuickSight.Types.JiraParameters+import Amazonka.QuickSight.Types.MariaDbParameters+import Amazonka.QuickSight.Types.MySqlParameters+import Amazonka.QuickSight.Types.OracleParameters+import Amazonka.QuickSight.Types.PostgreSqlParameters+import Amazonka.QuickSight.Types.PrestoParameters+import Amazonka.QuickSight.Types.RdsParameters+import Amazonka.QuickSight.Types.RedshiftParameters+import Amazonka.QuickSight.Types.S3Parameters+import Amazonka.QuickSight.Types.ServiceNowParameters+import Amazonka.QuickSight.Types.SnowflakeParameters+import Amazonka.QuickSight.Types.SparkParameters+import Amazonka.QuickSight.Types.SqlServerParameters+import Amazonka.QuickSight.Types.TeradataParameters+import Amazonka.QuickSight.Types.TwitterParameters++-- | The parameters that Amazon QuickSight uses to connect to your underlying+-- data source. This is a variant type structure. For this structure to be+-- valid, only one of the attributes can be non-null.+--+-- /See:/ 'newDataSourceParameters' smart constructor.+data DataSourceParameters = DataSourceParameters'+  { -- | The parameters for OpenSearch.+    amazonElasticsearchParameters :: Prelude.Maybe AmazonElasticsearchParameters,+    -- | The parameters for OpenSearch.+    amazonOpenSearchParameters :: Prelude.Maybe AmazonOpenSearchParameters,+    -- | The parameters for Amazon Athena.+    athenaParameters :: Prelude.Maybe AthenaParameters,+    -- | The parameters for Amazon Aurora MySQL.+    auroraParameters :: Prelude.Maybe AuroraParameters,+    -- | The parameters for Amazon Aurora.+    auroraPostgreSqlParameters :: Prelude.Maybe AuroraPostgreSqlParameters,+    -- | The parameters for IoT Analytics.+    awsIotAnalyticsParameters :: Prelude.Maybe AwsIotAnalyticsParameters,+    -- | The required parameters that are needed to connect to a Databricks data+    -- source.+    databricksParameters :: Prelude.Maybe DatabricksParameters,+    -- | The parameters for Exasol.+    exasolParameters :: Prelude.Maybe ExasolParameters,+    -- | The parameters for Jira.+    jiraParameters :: Prelude.Maybe JiraParameters,+    -- | The parameters for MariaDB.+    mariaDbParameters :: Prelude.Maybe MariaDbParameters,+    -- | The parameters for MySQL.+    mySqlParameters :: Prelude.Maybe MySqlParameters,+    -- | The parameters for Oracle.+    oracleParameters :: Prelude.Maybe OracleParameters,+    -- | The parameters for PostgreSQL.+    postgreSqlParameters :: Prelude.Maybe PostgreSqlParameters,+    -- | The parameters for Presto.+    prestoParameters :: Prelude.Maybe PrestoParameters,+    -- | The parameters for Amazon RDS.+    rdsParameters :: Prelude.Maybe RdsParameters,+    -- | The parameters for Amazon Redshift.+    redshiftParameters :: Prelude.Maybe RedshiftParameters,+    -- | The parameters for S3.+    s3Parameters :: Prelude.Maybe S3Parameters,+    -- | The parameters for ServiceNow.+    serviceNowParameters :: Prelude.Maybe ServiceNowParameters,+    -- | The parameters for Snowflake.+    snowflakeParameters :: Prelude.Maybe SnowflakeParameters,+    -- | The parameters for Spark.+    sparkParameters :: Prelude.Maybe SparkParameters,+    -- | The parameters for SQL Server.+    sqlServerParameters :: Prelude.Maybe SqlServerParameters,+    -- | The parameters for Teradata.+    teradataParameters :: Prelude.Maybe TeradataParameters,+    -- | The parameters for Twitter.+    twitterParameters :: Prelude.Maybe TwitterParameters+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataSourceParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'amazonElasticsearchParameters', 'dataSourceParameters_amazonElasticsearchParameters' - The parameters for OpenSearch.+--+-- 'amazonOpenSearchParameters', 'dataSourceParameters_amazonOpenSearchParameters' - The parameters for OpenSearch.+--+-- 'athenaParameters', 'dataSourceParameters_athenaParameters' - The parameters for Amazon Athena.+--+-- 'auroraParameters', 'dataSourceParameters_auroraParameters' - The parameters for Amazon Aurora MySQL.+--+-- 'auroraPostgreSqlParameters', 'dataSourceParameters_auroraPostgreSqlParameters' - The parameters for Amazon Aurora.+--+-- 'awsIotAnalyticsParameters', 'dataSourceParameters_awsIotAnalyticsParameters' - The parameters for IoT Analytics.+--+-- 'databricksParameters', 'dataSourceParameters_databricksParameters' - The required parameters that are needed to connect to a Databricks data+-- source.+--+-- 'exasolParameters', 'dataSourceParameters_exasolParameters' - The parameters for Exasol.+--+-- 'jiraParameters', 'dataSourceParameters_jiraParameters' - The parameters for Jira.+--+-- 'mariaDbParameters', 'dataSourceParameters_mariaDbParameters' - The parameters for MariaDB.+--+-- 'mySqlParameters', 'dataSourceParameters_mySqlParameters' - The parameters for MySQL.+--+-- 'oracleParameters', 'dataSourceParameters_oracleParameters' - The parameters for Oracle.+--+-- 'postgreSqlParameters', 'dataSourceParameters_postgreSqlParameters' - The parameters for PostgreSQL.+--+-- 'prestoParameters', 'dataSourceParameters_prestoParameters' - The parameters for Presto.+--+-- 'rdsParameters', 'dataSourceParameters_rdsParameters' - The parameters for Amazon RDS.+--+-- 'redshiftParameters', 'dataSourceParameters_redshiftParameters' - The parameters for Amazon Redshift.+--+-- 's3Parameters', 'dataSourceParameters_s3Parameters' - The parameters for S3.+--+-- 'serviceNowParameters', 'dataSourceParameters_serviceNowParameters' - The parameters for ServiceNow.+--+-- 'snowflakeParameters', 'dataSourceParameters_snowflakeParameters' - The parameters for Snowflake.+--+-- 'sparkParameters', 'dataSourceParameters_sparkParameters' - The parameters for Spark.+--+-- 'sqlServerParameters', 'dataSourceParameters_sqlServerParameters' - The parameters for SQL Server.+--+-- 'teradataParameters', 'dataSourceParameters_teradataParameters' - The parameters for Teradata.+--+-- 'twitterParameters', 'dataSourceParameters_twitterParameters' - The parameters for Twitter.+newDataSourceParameters ::+  DataSourceParameters+newDataSourceParameters =+  DataSourceParameters'+    { amazonElasticsearchParameters =+        Prelude.Nothing,+      amazonOpenSearchParameters = Prelude.Nothing,+      athenaParameters = Prelude.Nothing,+      auroraParameters = Prelude.Nothing,+      auroraPostgreSqlParameters = Prelude.Nothing,+      awsIotAnalyticsParameters = Prelude.Nothing,+      databricksParameters = Prelude.Nothing,+      exasolParameters = Prelude.Nothing,+      jiraParameters = Prelude.Nothing,+      mariaDbParameters = Prelude.Nothing,+      mySqlParameters = Prelude.Nothing,+      oracleParameters = Prelude.Nothing,+      postgreSqlParameters = Prelude.Nothing,+      prestoParameters = Prelude.Nothing,+      rdsParameters = Prelude.Nothing,+      redshiftParameters = Prelude.Nothing,+      s3Parameters = Prelude.Nothing,+      serviceNowParameters = Prelude.Nothing,+      snowflakeParameters = Prelude.Nothing,+      sparkParameters = Prelude.Nothing,+      sqlServerParameters = Prelude.Nothing,+      teradataParameters = Prelude.Nothing,+      twitterParameters = Prelude.Nothing+    }++-- | The parameters for OpenSearch.+dataSourceParameters_amazonElasticsearchParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe AmazonElasticsearchParameters)+dataSourceParameters_amazonElasticsearchParameters = Lens.lens (\DataSourceParameters' {amazonElasticsearchParameters} -> amazonElasticsearchParameters) (\s@DataSourceParameters' {} a -> s {amazonElasticsearchParameters = a} :: DataSourceParameters)++-- | The parameters for OpenSearch.+dataSourceParameters_amazonOpenSearchParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe AmazonOpenSearchParameters)+dataSourceParameters_amazonOpenSearchParameters = Lens.lens (\DataSourceParameters' {amazonOpenSearchParameters} -> amazonOpenSearchParameters) (\s@DataSourceParameters' {} a -> s {amazonOpenSearchParameters = a} :: DataSourceParameters)++-- | The parameters for Amazon Athena.+dataSourceParameters_athenaParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe AthenaParameters)+dataSourceParameters_athenaParameters = Lens.lens (\DataSourceParameters' {athenaParameters} -> athenaParameters) (\s@DataSourceParameters' {} a -> s {athenaParameters = a} :: DataSourceParameters)++-- | The parameters for Amazon Aurora MySQL.+dataSourceParameters_auroraParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe AuroraParameters)+dataSourceParameters_auroraParameters = Lens.lens (\DataSourceParameters' {auroraParameters} -> auroraParameters) (\s@DataSourceParameters' {} a -> s {auroraParameters = a} :: DataSourceParameters)++-- | The parameters for Amazon Aurora.+dataSourceParameters_auroraPostgreSqlParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe AuroraPostgreSqlParameters)+dataSourceParameters_auroraPostgreSqlParameters = Lens.lens (\DataSourceParameters' {auroraPostgreSqlParameters} -> auroraPostgreSqlParameters) (\s@DataSourceParameters' {} a -> s {auroraPostgreSqlParameters = a} :: DataSourceParameters)++-- | The parameters for IoT Analytics.+dataSourceParameters_awsIotAnalyticsParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe AwsIotAnalyticsParameters)+dataSourceParameters_awsIotAnalyticsParameters = Lens.lens (\DataSourceParameters' {awsIotAnalyticsParameters} -> awsIotAnalyticsParameters) (\s@DataSourceParameters' {} a -> s {awsIotAnalyticsParameters = a} :: DataSourceParameters)++-- | The required parameters that are needed to connect to a Databricks data+-- source.+dataSourceParameters_databricksParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe DatabricksParameters)+dataSourceParameters_databricksParameters = Lens.lens (\DataSourceParameters' {databricksParameters} -> databricksParameters) (\s@DataSourceParameters' {} a -> s {databricksParameters = a} :: DataSourceParameters)++-- | The parameters for Exasol.+dataSourceParameters_exasolParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe ExasolParameters)+dataSourceParameters_exasolParameters = Lens.lens (\DataSourceParameters' {exasolParameters} -> exasolParameters) (\s@DataSourceParameters' {} a -> s {exasolParameters = a} :: DataSourceParameters)++-- | The parameters for Jira.+dataSourceParameters_jiraParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe JiraParameters)+dataSourceParameters_jiraParameters = Lens.lens (\DataSourceParameters' {jiraParameters} -> jiraParameters) (\s@DataSourceParameters' {} a -> s {jiraParameters = a} :: DataSourceParameters)++-- | The parameters for MariaDB.+dataSourceParameters_mariaDbParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe MariaDbParameters)+dataSourceParameters_mariaDbParameters = Lens.lens (\DataSourceParameters' {mariaDbParameters} -> mariaDbParameters) (\s@DataSourceParameters' {} a -> s {mariaDbParameters = a} :: DataSourceParameters)++-- | The parameters for MySQL.+dataSourceParameters_mySqlParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe MySqlParameters)+dataSourceParameters_mySqlParameters = Lens.lens (\DataSourceParameters' {mySqlParameters} -> mySqlParameters) (\s@DataSourceParameters' {} a -> s {mySqlParameters = a} :: DataSourceParameters)++-- | The parameters for Oracle.+dataSourceParameters_oracleParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe OracleParameters)+dataSourceParameters_oracleParameters = Lens.lens (\DataSourceParameters' {oracleParameters} -> oracleParameters) (\s@DataSourceParameters' {} a -> s {oracleParameters = a} :: DataSourceParameters)++-- | The parameters for PostgreSQL.+dataSourceParameters_postgreSqlParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe PostgreSqlParameters)+dataSourceParameters_postgreSqlParameters = Lens.lens (\DataSourceParameters' {postgreSqlParameters} -> postgreSqlParameters) (\s@DataSourceParameters' {} a -> s {postgreSqlParameters = a} :: DataSourceParameters)++-- | The parameters for Presto.+dataSourceParameters_prestoParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe PrestoParameters)+dataSourceParameters_prestoParameters = Lens.lens (\DataSourceParameters' {prestoParameters} -> prestoParameters) (\s@DataSourceParameters' {} a -> s {prestoParameters = a} :: DataSourceParameters)++-- | The parameters for Amazon RDS.+dataSourceParameters_rdsParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe RdsParameters)+dataSourceParameters_rdsParameters = Lens.lens (\DataSourceParameters' {rdsParameters} -> rdsParameters) (\s@DataSourceParameters' {} a -> s {rdsParameters = a} :: DataSourceParameters)++-- | The parameters for Amazon Redshift.+dataSourceParameters_redshiftParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe RedshiftParameters)+dataSourceParameters_redshiftParameters = Lens.lens (\DataSourceParameters' {redshiftParameters} -> redshiftParameters) (\s@DataSourceParameters' {} a -> s {redshiftParameters = a} :: DataSourceParameters)++-- | The parameters for S3.+dataSourceParameters_s3Parameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe S3Parameters)+dataSourceParameters_s3Parameters = Lens.lens (\DataSourceParameters' {s3Parameters} -> s3Parameters) (\s@DataSourceParameters' {} a -> s {s3Parameters = a} :: DataSourceParameters)++-- | The parameters for ServiceNow.+dataSourceParameters_serviceNowParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe ServiceNowParameters)+dataSourceParameters_serviceNowParameters = Lens.lens (\DataSourceParameters' {serviceNowParameters} -> serviceNowParameters) (\s@DataSourceParameters' {} a -> s {serviceNowParameters = a} :: DataSourceParameters)++-- | The parameters for Snowflake.+dataSourceParameters_snowflakeParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe SnowflakeParameters)+dataSourceParameters_snowflakeParameters = Lens.lens (\DataSourceParameters' {snowflakeParameters} -> snowflakeParameters) (\s@DataSourceParameters' {} a -> s {snowflakeParameters = a} :: DataSourceParameters)++-- | The parameters for Spark.+dataSourceParameters_sparkParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe SparkParameters)+dataSourceParameters_sparkParameters = Lens.lens (\DataSourceParameters' {sparkParameters} -> sparkParameters) (\s@DataSourceParameters' {} a -> s {sparkParameters = a} :: DataSourceParameters)++-- | The parameters for SQL Server.+dataSourceParameters_sqlServerParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe SqlServerParameters)+dataSourceParameters_sqlServerParameters = Lens.lens (\DataSourceParameters' {sqlServerParameters} -> sqlServerParameters) (\s@DataSourceParameters' {} a -> s {sqlServerParameters = a} :: DataSourceParameters)++-- | The parameters for Teradata.+dataSourceParameters_teradataParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe TeradataParameters)+dataSourceParameters_teradataParameters = Lens.lens (\DataSourceParameters' {teradataParameters} -> teradataParameters) (\s@DataSourceParameters' {} a -> s {teradataParameters = a} :: DataSourceParameters)++-- | The parameters for Twitter.+dataSourceParameters_twitterParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe TwitterParameters)+dataSourceParameters_twitterParameters = Lens.lens (\DataSourceParameters' {twitterParameters} -> twitterParameters) (\s@DataSourceParameters' {} a -> s {twitterParameters = a} :: DataSourceParameters)++instance Data.FromJSON DataSourceParameters where+  parseJSON =+    Data.withObject+      "DataSourceParameters"+      ( \x ->+          DataSourceParameters'+            Prelude.<$> (x Data..:? "AmazonElasticsearchParameters")+            Prelude.<*> (x Data..:? "AmazonOpenSearchParameters")+            Prelude.<*> (x Data..:? "AthenaParameters")+            Prelude.<*> (x Data..:? "AuroraParameters")+            Prelude.<*> (x Data..:? "AuroraPostgreSqlParameters")+            Prelude.<*> (x Data..:? "AwsIotAnalyticsParameters")+            Prelude.<*> (x Data..:? "DatabricksParameters")+            Prelude.<*> (x Data..:? "ExasolParameters")+            Prelude.<*> (x Data..:? "JiraParameters")+            Prelude.<*> (x Data..:? "MariaDbParameters")+            Prelude.<*> (x Data..:? "MySqlParameters")+            Prelude.<*> (x Data..:? "OracleParameters")+            Prelude.<*> (x Data..:? "PostgreSqlParameters")+            Prelude.<*> (x Data..:? "PrestoParameters")+            Prelude.<*> (x Data..:? "RdsParameters")+            Prelude.<*> (x Data..:? "RedshiftParameters")+            Prelude.<*> (x Data..:? "S3Parameters")+            Prelude.<*> (x Data..:? "ServiceNowParameters")+            Prelude.<*> (x Data..:? "SnowflakeParameters")+            Prelude.<*> (x Data..:? "SparkParameters")+            Prelude.<*> (x Data..:? "SqlServerParameters")+            Prelude.<*> (x Data..:? "TeradataParameters")+            Prelude.<*> (x Data..:? "TwitterParameters")+      )++instance Prelude.Hashable DataSourceParameters where+  hashWithSalt _salt DataSourceParameters' {..} =+    _salt+      `Prelude.hashWithSalt` amazonElasticsearchParameters+      `Prelude.hashWithSalt` amazonOpenSearchParameters+      `Prelude.hashWithSalt` athenaParameters+      `Prelude.hashWithSalt` auroraParameters+      `Prelude.hashWithSalt` auroraPostgreSqlParameters+      `Prelude.hashWithSalt` awsIotAnalyticsParameters+      `Prelude.hashWithSalt` databricksParameters+      `Prelude.hashWithSalt` exasolParameters+      `Prelude.hashWithSalt` jiraParameters+      `Prelude.hashWithSalt` mariaDbParameters+      `Prelude.hashWithSalt` mySqlParameters+      `Prelude.hashWithSalt` oracleParameters+      `Prelude.hashWithSalt` postgreSqlParameters+      `Prelude.hashWithSalt` prestoParameters+      `Prelude.hashWithSalt` rdsParameters+      `Prelude.hashWithSalt` redshiftParameters+      `Prelude.hashWithSalt` s3Parameters+      `Prelude.hashWithSalt` serviceNowParameters+      `Prelude.hashWithSalt` snowflakeParameters+      `Prelude.hashWithSalt` sparkParameters+      `Prelude.hashWithSalt` sqlServerParameters+      `Prelude.hashWithSalt` teradataParameters+      `Prelude.hashWithSalt` twitterParameters++instance Prelude.NFData DataSourceParameters where+  rnf DataSourceParameters' {..} =+    Prelude.rnf amazonElasticsearchParameters+      `Prelude.seq` Prelude.rnf amazonOpenSearchParameters+      `Prelude.seq` Prelude.rnf athenaParameters+      `Prelude.seq` Prelude.rnf auroraParameters+      `Prelude.seq` Prelude.rnf auroraPostgreSqlParameters+      `Prelude.seq` Prelude.rnf awsIotAnalyticsParameters+      `Prelude.seq` Prelude.rnf databricksParameters+      `Prelude.seq` Prelude.rnf exasolParameters+      `Prelude.seq` Prelude.rnf jiraParameters+      `Prelude.seq` Prelude.rnf mariaDbParameters+      `Prelude.seq` Prelude.rnf mySqlParameters+      `Prelude.seq` Prelude.rnf oracleParameters+      `Prelude.seq` Prelude.rnf postgreSqlParameters+      `Prelude.seq` Prelude.rnf prestoParameters+      `Prelude.seq` Prelude.rnf rdsParameters+      `Prelude.seq` Prelude.rnf redshiftParameters+      `Prelude.seq` Prelude.rnf s3Parameters+      `Prelude.seq` Prelude.rnf serviceNowParameters+      `Prelude.seq` Prelude.rnf snowflakeParameters+      `Prelude.seq` Prelude.rnf sparkParameters+      `Prelude.seq` Prelude.rnf+        sqlServerParameters+      `Prelude.seq` Prelude.rnf+        teradataParameters+      `Prelude.seq` Prelude.rnf+        twitterParameters++instance Data.ToJSON DataSourceParameters where+  toJSON DataSourceParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AmazonElasticsearchParameters" Data..=)+              Prelude.<$> amazonElasticsearchParameters,+            ("AmazonOpenSearchParameters" Data..=)+              Prelude.<$> amazonOpenSearchParameters,+            ("AthenaParameters" Data..=)+              Prelude.<$> athenaParameters,+            ("AuroraParameters" Data..=)+              Prelude.<$> auroraParameters,+            ("AuroraPostgreSqlParameters" Data..=)+              Prelude.<$> auroraPostgreSqlParameters,+            ("AwsIotAnalyticsParameters" Data..=)+              Prelude.<$> awsIotAnalyticsParameters,+            ("DatabricksParameters" Data..=)+              Prelude.<$> databricksParameters,+            ("ExasolParameters" Data..=)+              Prelude.<$> exasolParameters,+            ("JiraParameters" Data..=)+              Prelude.<$> jiraParameters,+            ("MariaDbParameters" Data..=)+              Prelude.<$> mariaDbParameters,+            ("MySqlParameters" Data..=)+              Prelude.<$> mySqlParameters,+            ("OracleParameters" Data..=)+              Prelude.<$> oracleParameters,+            ("PostgreSqlParameters" Data..=)+              Prelude.<$> postgreSqlParameters,+            ("PrestoParameters" Data..=)+              Prelude.<$> prestoParameters,+            ("RdsParameters" Data..=) Prelude.<$> rdsParameters,+            ("RedshiftParameters" Data..=)+              Prelude.<$> redshiftParameters,+            ("S3Parameters" Data..=) Prelude.<$> s3Parameters,+            ("ServiceNowParameters" Data..=)+              Prelude.<$> serviceNowParameters,+            ("SnowflakeParameters" Data..=)+              Prelude.<$> snowflakeParameters,+            ("SparkParameters" Data..=)+              Prelude.<$> sparkParameters,+            ("SqlServerParameters" Data..=)+              Prelude.<$> sqlServerParameters,+            ("TeradataParameters" Data..=)+              Prelude.<$> teradataParameters,+            ("TwitterParameters" Data..=)+              Prelude.<$> twitterParameters+          ]+      )
+ gen/Amazonka/QuickSight/Types/DataSourceSearchFilter.hs view
@@ -0,0 +1,214 @@+{-# 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.QuickSight.Types.DataSourceSearchFilter+-- 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.QuickSight.Types.DataSourceSearchFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataSourceFilterAttribute+import Amazonka.QuickSight.Types.FilterOperator++-- | A filter that you apply when searching for data sources.+--+-- /See:/ 'newDataSourceSearchFilter' smart constructor.+data DataSourceSearchFilter = DataSourceSearchFilter'+  { -- | The comparison operator that you want to use as a filter, for example+    -- @\"Operator\": \"StringEquals\"@. Valid values are @\"StringEquals\"@+    -- and @\"StringLike\"@.+    --+    -- If you set the operator value to @\"StringEquals\"@, you need to provide+    -- an ownership related filter in the @\"NAME\"@ field and the arn of the+    -- user or group whose data sources you want to search in the @\"Value\"@+    -- field. For example,+    -- @\"Name\":\"DIRECT_QUICKSIGHT_OWNER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+    --+    -- If you set the value to @\"StringLike\"@, you need to provide the name+    -- of the data sources you are searching for. For example,+    -- @\"Name\":\"DATASOURCE_NAME\", \"Operator\": \"StringLike\", \"Value\": \"Test\"@.+    -- The @\"StringLike\"@ operator only supports the @NAME@ value+    -- @DATASOURCE_NAME@.+    operator :: FilterOperator,+    -- | The name of the value that you want to use as a filter, for example,+    -- @\"Name\": \"DIRECT_QUICKSIGHT_OWNER\"@.+    --+    -- Valid values are defined as follows:+    --+    -- -   @DIRECT_QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or+    --     group, and any data sources with that ARN listed as one of the+    --     owners or viewers of the data sources are returned. Implicit+    --     permissions from folders or groups are not considered.+    --+    -- -   @DIRECT_QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and+    --     any data sources with that ARN listed as one of the owners if the+    --     data source are returned. Implicit permissions from folders or+    --     groups are not considered.+    --+    -- -   @DIRECT_QUICKSIGHT_SOLE_OWNER@: Provide an ARN of a user or group,+    --     and any data sources with that ARN listed as the only owner of the+    --     data source are returned. Implicit permissions from folders or+    --     groups are not considered.+    --+    -- -   @DATASOURCE_NAME@: Any data sources whose names have a substring+    --     match to the provided value are returned.+    name :: DataSourceFilterAttribute,+    -- | The value of the named item, for example @DIRECT_QUICKSIGHT_OWNER@, that+    -- you want to use as a filter, for example,+    -- @\"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataSourceSearchFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'operator', 'dataSourceSearchFilter_operator' - The comparison operator that you want to use as a filter, for example+-- @\"Operator\": \"StringEquals\"@. Valid values are @\"StringEquals\"@+-- and @\"StringLike\"@.+--+-- If you set the operator value to @\"StringEquals\"@, you need to provide+-- an ownership related filter in the @\"NAME\"@ field and the arn of the+-- user or group whose data sources you want to search in the @\"Value\"@+-- field. For example,+-- @\"Name\":\"DIRECT_QUICKSIGHT_OWNER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+--+-- If you set the value to @\"StringLike\"@, you need to provide the name+-- of the data sources you are searching for. For example,+-- @\"Name\":\"DATASOURCE_NAME\", \"Operator\": \"StringLike\", \"Value\": \"Test\"@.+-- The @\"StringLike\"@ operator only supports the @NAME@ value+-- @DATASOURCE_NAME@.+--+-- 'name', 'dataSourceSearchFilter_name' - The name of the value that you want to use as a filter, for example,+-- @\"Name\": \"DIRECT_QUICKSIGHT_OWNER\"@.+--+-- Valid values are defined as follows:+--+-- -   @DIRECT_QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or+--     group, and any data sources with that ARN listed as one of the+--     owners or viewers of the data sources are returned. Implicit+--     permissions from folders or groups are not considered.+--+-- -   @DIRECT_QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and+--     any data sources with that ARN listed as one of the owners if the+--     data source are returned. Implicit permissions from folders or+--     groups are not considered.+--+-- -   @DIRECT_QUICKSIGHT_SOLE_OWNER@: Provide an ARN of a user or group,+--     and any data sources with that ARN listed as the only owner of the+--     data source are returned. Implicit permissions from folders or+--     groups are not considered.+--+-- -   @DATASOURCE_NAME@: Any data sources whose names have a substring+--     match to the provided value are returned.+--+-- 'value', 'dataSourceSearchFilter_value' - The value of the named item, for example @DIRECT_QUICKSIGHT_OWNER@, that+-- you want to use as a filter, for example,+-- @\"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+newDataSourceSearchFilter ::+  -- | 'operator'+  FilterOperator ->+  -- | 'name'+  DataSourceFilterAttribute ->+  -- | 'value'+  Prelude.Text ->+  DataSourceSearchFilter+newDataSourceSearchFilter pOperator_ pName_ pValue_ =+  DataSourceSearchFilter'+    { operator = pOperator_,+      name = pName_,+      value = pValue_+    }++-- | The comparison operator that you want to use as a filter, for example+-- @\"Operator\": \"StringEquals\"@. Valid values are @\"StringEquals\"@+-- and @\"StringLike\"@.+--+-- If you set the operator value to @\"StringEquals\"@, you need to provide+-- an ownership related filter in the @\"NAME\"@ field and the arn of the+-- user or group whose data sources you want to search in the @\"Value\"@+-- field. For example,+-- @\"Name\":\"DIRECT_QUICKSIGHT_OWNER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+--+-- If you set the value to @\"StringLike\"@, you need to provide the name+-- of the data sources you are searching for. For example,+-- @\"Name\":\"DATASOURCE_NAME\", \"Operator\": \"StringLike\", \"Value\": \"Test\"@.+-- The @\"StringLike\"@ operator only supports the @NAME@ value+-- @DATASOURCE_NAME@.+dataSourceSearchFilter_operator :: Lens.Lens' DataSourceSearchFilter FilterOperator+dataSourceSearchFilter_operator = Lens.lens (\DataSourceSearchFilter' {operator} -> operator) (\s@DataSourceSearchFilter' {} a -> s {operator = a} :: DataSourceSearchFilter)++-- | The name of the value that you want to use as a filter, for example,+-- @\"Name\": \"DIRECT_QUICKSIGHT_OWNER\"@.+--+-- Valid values are defined as follows:+--+-- -   @DIRECT_QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or+--     group, and any data sources with that ARN listed as one of the+--     owners or viewers of the data sources are returned. Implicit+--     permissions from folders or groups are not considered.+--+-- -   @DIRECT_QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and+--     any data sources with that ARN listed as one of the owners if the+--     data source are returned. Implicit permissions from folders or+--     groups are not considered.+--+-- -   @DIRECT_QUICKSIGHT_SOLE_OWNER@: Provide an ARN of a user or group,+--     and any data sources with that ARN listed as the only owner of the+--     data source are returned. Implicit permissions from folders or+--     groups are not considered.+--+-- -   @DATASOURCE_NAME@: Any data sources whose names have a substring+--     match to the provided value are returned.+dataSourceSearchFilter_name :: Lens.Lens' DataSourceSearchFilter DataSourceFilterAttribute+dataSourceSearchFilter_name = Lens.lens (\DataSourceSearchFilter' {name} -> name) (\s@DataSourceSearchFilter' {} a -> s {name = a} :: DataSourceSearchFilter)++-- | The value of the named item, for example @DIRECT_QUICKSIGHT_OWNER@, that+-- you want to use as a filter, for example,+-- @\"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+dataSourceSearchFilter_value :: Lens.Lens' DataSourceSearchFilter Prelude.Text+dataSourceSearchFilter_value = Lens.lens (\DataSourceSearchFilter' {value} -> value) (\s@DataSourceSearchFilter' {} a -> s {value = a} :: DataSourceSearchFilter)++instance Prelude.Hashable DataSourceSearchFilter where+  hashWithSalt _salt DataSourceSearchFilter' {..} =+    _salt+      `Prelude.hashWithSalt` operator+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` value++instance Prelude.NFData DataSourceSearchFilter where+  rnf DataSourceSearchFilter' {..} =+    Prelude.rnf operator+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf value++instance Data.ToJSON DataSourceSearchFilter where+  toJSON DataSourceSearchFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Operator" Data..= operator),+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DataSourceSummary.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DataSourceSummary+-- 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.QuickSight.Types.DataSourceSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataSourceType++-- | A @DataSourceSummary@ object that returns a summary of a data source.+--+-- /See:/ 'newDataSourceSummary' smart constructor.+data DataSourceSummary = DataSourceSummary'+  { -- | The arn of the datasource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The date and time that the data source was created. This value is+    -- expressed in MM-DD-YYYY HH:MM:SS format.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The unique ID of the data source.+    dataSourceId :: Prelude.Maybe Prelude.Text,+    -- | The date and time the data source was last updated. This value is+    -- expressed in MM-DD-YYYY HH:MM:SS format.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the data source.+    name :: Prelude.Maybe Prelude.Text,+    -- | The type of the data source.+    type' :: Prelude.Maybe DataSourceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataSourceSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'dataSourceSummary_arn' - The arn of the datasource.+--+-- 'createdTime', 'dataSourceSummary_createdTime' - The date and time that the data source was created. This value is+-- expressed in MM-DD-YYYY HH:MM:SS format.+--+-- 'dataSourceId', 'dataSourceSummary_dataSourceId' - The unique ID of the data source.+--+-- 'lastUpdatedTime', 'dataSourceSummary_lastUpdatedTime' - The date and time the data source was last updated. This value is+-- expressed in MM-DD-YYYY HH:MM:SS format.+--+-- 'name', 'dataSourceSummary_name' - The name of the data source.+--+-- 'type'', 'dataSourceSummary_type' - The type of the data source.+newDataSourceSummary ::+  DataSourceSummary+newDataSourceSummary =+  DataSourceSummary'+    { arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      dataSourceId = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The arn of the datasource.+dataSourceSummary_arn :: Lens.Lens' DataSourceSummary (Prelude.Maybe Prelude.Text)+dataSourceSummary_arn = Lens.lens (\DataSourceSummary' {arn} -> arn) (\s@DataSourceSummary' {} a -> s {arn = a} :: DataSourceSummary)++-- | The date and time that the data source was created. This value is+-- expressed in MM-DD-YYYY HH:MM:SS format.+dataSourceSummary_createdTime :: Lens.Lens' DataSourceSummary (Prelude.Maybe Prelude.UTCTime)+dataSourceSummary_createdTime = Lens.lens (\DataSourceSummary' {createdTime} -> createdTime) (\s@DataSourceSummary' {} a -> s {createdTime = a} :: DataSourceSummary) Prelude.. Lens.mapping Data._Time++-- | The unique ID of the data source.+dataSourceSummary_dataSourceId :: Lens.Lens' DataSourceSummary (Prelude.Maybe Prelude.Text)+dataSourceSummary_dataSourceId = Lens.lens (\DataSourceSummary' {dataSourceId} -> dataSourceId) (\s@DataSourceSummary' {} a -> s {dataSourceId = a} :: DataSourceSummary)++-- | The date and time the data source was last updated. This value is+-- expressed in MM-DD-YYYY HH:MM:SS format.+dataSourceSummary_lastUpdatedTime :: Lens.Lens' DataSourceSummary (Prelude.Maybe Prelude.UTCTime)+dataSourceSummary_lastUpdatedTime = Lens.lens (\DataSourceSummary' {lastUpdatedTime} -> lastUpdatedTime) (\s@DataSourceSummary' {} a -> s {lastUpdatedTime = a} :: DataSourceSummary) Prelude.. Lens.mapping Data._Time++-- | The name of the data source.+dataSourceSummary_name :: Lens.Lens' DataSourceSummary (Prelude.Maybe Prelude.Text)+dataSourceSummary_name = Lens.lens (\DataSourceSummary' {name} -> name) (\s@DataSourceSummary' {} a -> s {name = a} :: DataSourceSummary)++-- | The type of the data source.+dataSourceSummary_type :: Lens.Lens' DataSourceSummary (Prelude.Maybe DataSourceType)+dataSourceSummary_type = Lens.lens (\DataSourceSummary' {type'} -> type') (\s@DataSourceSummary' {} a -> s {type' = a} :: DataSourceSummary)++instance Data.FromJSON DataSourceSummary where+  parseJSON =+    Data.withObject+      "DataSourceSummary"+      ( \x ->+          DataSourceSummary'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "DataSourceId")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable DataSourceSummary where+  hashWithSalt _salt DataSourceSummary' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` dataSourceId+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` type'++instance Prelude.NFData DataSourceSummary where+  rnf DataSourceSummary' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf dataSourceId+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/QuickSight/Types/DataSourceType.hs view
@@ -0,0 +1,191 @@+{-# 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.QuickSight.Types.DataSourceType+-- 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.QuickSight.Types.DataSourceType+  ( DataSourceType+      ( ..,+        DataSourceType_ADOBE_ANALYTICS,+        DataSourceType_AMAZON_ELASTICSEARCH,+        DataSourceType_AMAZON_OPENSEARCH,+        DataSourceType_ATHENA,+        DataSourceType_AURORA,+        DataSourceType_AURORA_POSTGRESQL,+        DataSourceType_AWS_IOT_ANALYTICS,+        DataSourceType_DATABRICKS,+        DataSourceType_EXASOL,+        DataSourceType_GITHUB,+        DataSourceType_JIRA,+        DataSourceType_MARIADB,+        DataSourceType_MYSQL,+        DataSourceType_ORACLE,+        DataSourceType_POSTGRESQL,+        DataSourceType_PRESTO,+        DataSourceType_REDSHIFT,+        DataSourceType_S3,+        DataSourceType_SALESFORCE,+        DataSourceType_SERVICENOW,+        DataSourceType_SNOWFLAKE,+        DataSourceType_SPARK,+        DataSourceType_SQLSERVER,+        DataSourceType_TERADATA,+        DataSourceType_TIMESTREAM,+        DataSourceType_TWITTER+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataSourceType = DataSourceType'+  { fromDataSourceType ::+      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 DataSourceType_ADOBE_ANALYTICS :: DataSourceType+pattern DataSourceType_ADOBE_ANALYTICS = DataSourceType' "ADOBE_ANALYTICS"++pattern DataSourceType_AMAZON_ELASTICSEARCH :: DataSourceType+pattern DataSourceType_AMAZON_ELASTICSEARCH = DataSourceType' "AMAZON_ELASTICSEARCH"++pattern DataSourceType_AMAZON_OPENSEARCH :: DataSourceType+pattern DataSourceType_AMAZON_OPENSEARCH = DataSourceType' "AMAZON_OPENSEARCH"++pattern DataSourceType_ATHENA :: DataSourceType+pattern DataSourceType_ATHENA = DataSourceType' "ATHENA"++pattern DataSourceType_AURORA :: DataSourceType+pattern DataSourceType_AURORA = DataSourceType' "AURORA"++pattern DataSourceType_AURORA_POSTGRESQL :: DataSourceType+pattern DataSourceType_AURORA_POSTGRESQL = DataSourceType' "AURORA_POSTGRESQL"++pattern DataSourceType_AWS_IOT_ANALYTICS :: DataSourceType+pattern DataSourceType_AWS_IOT_ANALYTICS = DataSourceType' "AWS_IOT_ANALYTICS"++pattern DataSourceType_DATABRICKS :: DataSourceType+pattern DataSourceType_DATABRICKS = DataSourceType' "DATABRICKS"++pattern DataSourceType_EXASOL :: DataSourceType+pattern DataSourceType_EXASOL = DataSourceType' "EXASOL"++pattern DataSourceType_GITHUB :: DataSourceType+pattern DataSourceType_GITHUB = DataSourceType' "GITHUB"++pattern DataSourceType_JIRA :: DataSourceType+pattern DataSourceType_JIRA = DataSourceType' "JIRA"++pattern DataSourceType_MARIADB :: DataSourceType+pattern DataSourceType_MARIADB = DataSourceType' "MARIADB"++pattern DataSourceType_MYSQL :: DataSourceType+pattern DataSourceType_MYSQL = DataSourceType' "MYSQL"++pattern DataSourceType_ORACLE :: DataSourceType+pattern DataSourceType_ORACLE = DataSourceType' "ORACLE"++pattern DataSourceType_POSTGRESQL :: DataSourceType+pattern DataSourceType_POSTGRESQL = DataSourceType' "POSTGRESQL"++pattern DataSourceType_PRESTO :: DataSourceType+pattern DataSourceType_PRESTO = DataSourceType' "PRESTO"++pattern DataSourceType_REDSHIFT :: DataSourceType+pattern DataSourceType_REDSHIFT = DataSourceType' "REDSHIFT"++pattern DataSourceType_S3 :: DataSourceType+pattern DataSourceType_S3 = DataSourceType' "S3"++pattern DataSourceType_SALESFORCE :: DataSourceType+pattern DataSourceType_SALESFORCE = DataSourceType' "SALESFORCE"++pattern DataSourceType_SERVICENOW :: DataSourceType+pattern DataSourceType_SERVICENOW = DataSourceType' "SERVICENOW"++pattern DataSourceType_SNOWFLAKE :: DataSourceType+pattern DataSourceType_SNOWFLAKE = DataSourceType' "SNOWFLAKE"++pattern DataSourceType_SPARK :: DataSourceType+pattern DataSourceType_SPARK = DataSourceType' "SPARK"++pattern DataSourceType_SQLSERVER :: DataSourceType+pattern DataSourceType_SQLSERVER = DataSourceType' "SQLSERVER"++pattern DataSourceType_TERADATA :: DataSourceType+pattern DataSourceType_TERADATA = DataSourceType' "TERADATA"++pattern DataSourceType_TIMESTREAM :: DataSourceType+pattern DataSourceType_TIMESTREAM = DataSourceType' "TIMESTREAM"++pattern DataSourceType_TWITTER :: DataSourceType+pattern DataSourceType_TWITTER = DataSourceType' "TWITTER"++{-# COMPLETE+  DataSourceType_ADOBE_ANALYTICS,+  DataSourceType_AMAZON_ELASTICSEARCH,+  DataSourceType_AMAZON_OPENSEARCH,+  DataSourceType_ATHENA,+  DataSourceType_AURORA,+  DataSourceType_AURORA_POSTGRESQL,+  DataSourceType_AWS_IOT_ANALYTICS,+  DataSourceType_DATABRICKS,+  DataSourceType_EXASOL,+  DataSourceType_GITHUB,+  DataSourceType_JIRA,+  DataSourceType_MARIADB,+  DataSourceType_MYSQL,+  DataSourceType_ORACLE,+  DataSourceType_POSTGRESQL,+  DataSourceType_PRESTO,+  DataSourceType_REDSHIFT,+  DataSourceType_S3,+  DataSourceType_SALESFORCE,+  DataSourceType_SERVICENOW,+  DataSourceType_SNOWFLAKE,+  DataSourceType_SPARK,+  DataSourceType_SQLSERVER,+  DataSourceType_TERADATA,+  DataSourceType_TIMESTREAM,+  DataSourceType_TWITTER,+  DataSourceType'+  #-}
+ gen/Amazonka/QuickSight/Types/DatabricksParameters.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DatabricksParameters+-- 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.QuickSight.Types.DatabricksParameters 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 required parameters that are needed to connect to a Databricks data+-- source.+--+-- /See:/ 'newDatabricksParameters' smart constructor.+data DatabricksParameters = DatabricksParameters'+  { -- | The host name of the Databricks data source.+    host :: Prelude.Text,+    -- | The port for the Databricks data source.+    port :: Prelude.Natural,+    -- | The HTTP path of the Databricks data source.+    sqlEndpointPath :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DatabricksParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'host', 'databricksParameters_host' - The host name of the Databricks data source.+--+-- 'port', 'databricksParameters_port' - The port for the Databricks data source.+--+-- 'sqlEndpointPath', 'databricksParameters_sqlEndpointPath' - The HTTP path of the Databricks data source.+newDatabricksParameters ::+  -- | 'host'+  Prelude.Text ->+  -- | 'port'+  Prelude.Natural ->+  -- | 'sqlEndpointPath'+  Prelude.Text ->+  DatabricksParameters+newDatabricksParameters+  pHost_+  pPort_+  pSqlEndpointPath_ =+    DatabricksParameters'+      { host = pHost_,+        port = pPort_,+        sqlEndpointPath = pSqlEndpointPath_+      }++-- | The host name of the Databricks data source.+databricksParameters_host :: Lens.Lens' DatabricksParameters Prelude.Text+databricksParameters_host = Lens.lens (\DatabricksParameters' {host} -> host) (\s@DatabricksParameters' {} a -> s {host = a} :: DatabricksParameters)++-- | The port for the Databricks data source.+databricksParameters_port :: Lens.Lens' DatabricksParameters Prelude.Natural+databricksParameters_port = Lens.lens (\DatabricksParameters' {port} -> port) (\s@DatabricksParameters' {} a -> s {port = a} :: DatabricksParameters)++-- | The HTTP path of the Databricks data source.+databricksParameters_sqlEndpointPath :: Lens.Lens' DatabricksParameters Prelude.Text+databricksParameters_sqlEndpointPath = Lens.lens (\DatabricksParameters' {sqlEndpointPath} -> sqlEndpointPath) (\s@DatabricksParameters' {} a -> s {sqlEndpointPath = a} :: DatabricksParameters)++instance Data.FromJSON DatabricksParameters where+  parseJSON =+    Data.withObject+      "DatabricksParameters"+      ( \x ->+          DatabricksParameters'+            Prelude.<$> (x Data..: "Host")+            Prelude.<*> (x Data..: "Port")+            Prelude.<*> (x Data..: "SqlEndpointPath")+      )++instance Prelude.Hashable DatabricksParameters where+  hashWithSalt _salt DatabricksParameters' {..} =+    _salt+      `Prelude.hashWithSalt` host+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` sqlEndpointPath++instance Prelude.NFData DatabricksParameters where+  rnf DatabricksParameters' {..} =+    Prelude.rnf host+      `Prelude.seq` Prelude.rnf port+      `Prelude.seq` Prelude.rnf sqlEndpointPath++instance Data.ToJSON DatabricksParameters where+  toJSON DatabricksParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Host" Data..= host),+            Prelude.Just ("Port" Data..= port),+            Prelude.Just+              ("SqlEndpointPath" Data..= sqlEndpointPath)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DateAggregationFunction.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DateAggregationFunction+-- 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.QuickSight.Types.DateAggregationFunction+  ( DateAggregationFunction+      ( ..,+        DateAggregationFunction_COUNT,+        DateAggregationFunction_DISTINCT_COUNT,+        DateAggregationFunction_MAX,+        DateAggregationFunction_MIN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DateAggregationFunction = DateAggregationFunction'+  { fromDateAggregationFunction ::+      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 DateAggregationFunction_COUNT :: DateAggregationFunction+pattern DateAggregationFunction_COUNT = DateAggregationFunction' "COUNT"++pattern DateAggregationFunction_DISTINCT_COUNT :: DateAggregationFunction+pattern DateAggregationFunction_DISTINCT_COUNT = DateAggregationFunction' "DISTINCT_COUNT"++pattern DateAggregationFunction_MAX :: DateAggregationFunction+pattern DateAggregationFunction_MAX = DateAggregationFunction' "MAX"++pattern DateAggregationFunction_MIN :: DateAggregationFunction+pattern DateAggregationFunction_MIN = DateAggregationFunction' "MIN"++{-# COMPLETE+  DateAggregationFunction_COUNT,+  DateAggregationFunction_DISTINCT_COUNT,+  DateAggregationFunction_MAX,+  DateAggregationFunction_MIN,+  DateAggregationFunction'+  #-}
+ gen/Amazonka/QuickSight/Types/DateAxisOptions.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.QuickSight.Types.DateAxisOptions+-- 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.QuickSight.Types.DateAxisOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The options that determine how a date axis is displayed.+--+-- /See:/ 'newDateAxisOptions' smart constructor.+data DateAxisOptions = DateAxisOptions'+  { -- | Determines whether or not missing dates are displayed.+    missingDateVisibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DateAxisOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'missingDateVisibility', 'dateAxisOptions_missingDateVisibility' - Determines whether or not missing dates are displayed.+newDateAxisOptions ::+  DateAxisOptions+newDateAxisOptions =+  DateAxisOptions'+    { missingDateVisibility =+        Prelude.Nothing+    }++-- | Determines whether or not missing dates are displayed.+dateAxisOptions_missingDateVisibility :: Lens.Lens' DateAxisOptions (Prelude.Maybe Visibility)+dateAxisOptions_missingDateVisibility = Lens.lens (\DateAxisOptions' {missingDateVisibility} -> missingDateVisibility) (\s@DateAxisOptions' {} a -> s {missingDateVisibility = a} :: DateAxisOptions)++instance Data.FromJSON DateAxisOptions where+  parseJSON =+    Data.withObject+      "DateAxisOptions"+      ( \x ->+          DateAxisOptions'+            Prelude.<$> (x Data..:? "MissingDateVisibility")+      )++instance Prelude.Hashable DateAxisOptions where+  hashWithSalt _salt DateAxisOptions' {..} =+    _salt `Prelude.hashWithSalt` missingDateVisibility++instance Prelude.NFData DateAxisOptions where+  rnf DateAxisOptions' {..} =+    Prelude.rnf missingDateVisibility++instance Data.ToJSON DateAxisOptions where+  toJSON DateAxisOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MissingDateVisibility" Data..=)+              Prelude.<$> missingDateVisibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/DateDimensionField.hs view
@@ -0,0 +1,199 @@+{-# 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.QuickSight.Types.DateDimensionField+-- 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.QuickSight.Types.DateDimensionField where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.DateTimeFormatConfiguration+import Amazonka.QuickSight.Types.TimeGranularity++-- | The dimension type field with date type columns.+--+-- /See:/ 'newDateDimensionField' smart constructor.+data DateDimensionField = DateDimensionField'+  { -- | The date granularity of the @DateDimensionField@. Choose one of the+    -- following options:+    --+    -- -   @YEAR@+    --+    -- -   @QUARTER@+    --+    -- -   @MONTH@+    --+    -- -   @WEEK@+    --+    -- -   @DAY@+    --+    -- -   @HOUR@+    --+    -- -   @MINUTE@+    --+    -- -   @SECOND@+    --+    -- -   @MILLISECOND@+    dateGranularity :: Prelude.Maybe TimeGranularity,+    -- | The format configuration of the field.+    formatConfiguration :: Prelude.Maybe DateTimeFormatConfiguration,+    -- | The custom hierarchy ID.+    hierarchyId :: Prelude.Maybe Prelude.Text,+    -- | The custom field ID.+    fieldId :: Prelude.Text,+    -- | The column that is used in the @DateDimensionField@.+    column :: ColumnIdentifier+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DateDimensionField' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dateGranularity', 'dateDimensionField_dateGranularity' - The date granularity of the @DateDimensionField@. Choose one of the+-- following options:+--+-- -   @YEAR@+--+-- -   @QUARTER@+--+-- -   @MONTH@+--+-- -   @WEEK@+--+-- -   @DAY@+--+-- -   @HOUR@+--+-- -   @MINUTE@+--+-- -   @SECOND@+--+-- -   @MILLISECOND@+--+-- 'formatConfiguration', 'dateDimensionField_formatConfiguration' - The format configuration of the field.+--+-- 'hierarchyId', 'dateDimensionField_hierarchyId' - The custom hierarchy ID.+--+-- 'fieldId', 'dateDimensionField_fieldId' - The custom field ID.+--+-- 'column', 'dateDimensionField_column' - The column that is used in the @DateDimensionField@.+newDateDimensionField ::+  -- | 'fieldId'+  Prelude.Text ->+  -- | 'column'+  ColumnIdentifier ->+  DateDimensionField+newDateDimensionField pFieldId_ pColumn_ =+  DateDimensionField'+    { dateGranularity =+        Prelude.Nothing,+      formatConfiguration = Prelude.Nothing,+      hierarchyId = Prelude.Nothing,+      fieldId = pFieldId_,+      column = pColumn_+    }++-- | The date granularity of the @DateDimensionField@. Choose one of the+-- following options:+--+-- -   @YEAR@+--+-- -   @QUARTER@+--+-- -   @MONTH@+--+-- -   @WEEK@+--+-- -   @DAY@+--+-- -   @HOUR@+--+-- -   @MINUTE@+--+-- -   @SECOND@+--+-- -   @MILLISECOND@+dateDimensionField_dateGranularity :: Lens.Lens' DateDimensionField (Prelude.Maybe TimeGranularity)+dateDimensionField_dateGranularity = Lens.lens (\DateDimensionField' {dateGranularity} -> dateGranularity) (\s@DateDimensionField' {} a -> s {dateGranularity = a} :: DateDimensionField)++-- | The format configuration of the field.+dateDimensionField_formatConfiguration :: Lens.Lens' DateDimensionField (Prelude.Maybe DateTimeFormatConfiguration)+dateDimensionField_formatConfiguration = Lens.lens (\DateDimensionField' {formatConfiguration} -> formatConfiguration) (\s@DateDimensionField' {} a -> s {formatConfiguration = a} :: DateDimensionField)++-- | The custom hierarchy ID.+dateDimensionField_hierarchyId :: Lens.Lens' DateDimensionField (Prelude.Maybe Prelude.Text)+dateDimensionField_hierarchyId = Lens.lens (\DateDimensionField' {hierarchyId} -> hierarchyId) (\s@DateDimensionField' {} a -> s {hierarchyId = a} :: DateDimensionField)++-- | The custom field ID.+dateDimensionField_fieldId :: Lens.Lens' DateDimensionField Prelude.Text+dateDimensionField_fieldId = Lens.lens (\DateDimensionField' {fieldId} -> fieldId) (\s@DateDimensionField' {} a -> s {fieldId = a} :: DateDimensionField)++-- | The column that is used in the @DateDimensionField@.+dateDimensionField_column :: Lens.Lens' DateDimensionField ColumnIdentifier+dateDimensionField_column = Lens.lens (\DateDimensionField' {column} -> column) (\s@DateDimensionField' {} a -> s {column = a} :: DateDimensionField)++instance Data.FromJSON DateDimensionField where+  parseJSON =+    Data.withObject+      "DateDimensionField"+      ( \x ->+          DateDimensionField'+            Prelude.<$> (x Data..:? "DateGranularity")+            Prelude.<*> (x Data..:? "FormatConfiguration")+            Prelude.<*> (x Data..:? "HierarchyId")+            Prelude.<*> (x Data..: "FieldId")+            Prelude.<*> (x Data..: "Column")+      )++instance Prelude.Hashable DateDimensionField where+  hashWithSalt _salt DateDimensionField' {..} =+    _salt+      `Prelude.hashWithSalt` dateGranularity+      `Prelude.hashWithSalt` formatConfiguration+      `Prelude.hashWithSalt` hierarchyId+      `Prelude.hashWithSalt` fieldId+      `Prelude.hashWithSalt` column++instance Prelude.NFData DateDimensionField where+  rnf DateDimensionField' {..} =+    Prelude.rnf dateGranularity+      `Prelude.seq` Prelude.rnf formatConfiguration+      `Prelude.seq` Prelude.rnf hierarchyId+      `Prelude.seq` Prelude.rnf fieldId+      `Prelude.seq` Prelude.rnf column++instance Data.ToJSON DateDimensionField where+  toJSON DateDimensionField' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DateGranularity" Data..=)+              Prelude.<$> dateGranularity,+            ("FormatConfiguration" Data..=)+              Prelude.<$> formatConfiguration,+            ("HierarchyId" Data..=) Prelude.<$> hierarchyId,+            Prelude.Just ("FieldId" Data..= fieldId),+            Prelude.Just ("Column" Data..= column)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DateMeasureField.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.QuickSight.Types.DateMeasureField+-- 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.QuickSight.Types.DateMeasureField where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.DateAggregationFunction+import Amazonka.QuickSight.Types.DateTimeFormatConfiguration++-- | The measure type field with date type columns.+--+-- /See:/ 'newDateMeasureField' smart constructor.+data DateMeasureField = DateMeasureField'+  { -- | The aggregation function of the measure field.+    aggregationFunction :: Prelude.Maybe DateAggregationFunction,+    -- | The format configuration of the field.+    formatConfiguration :: Prelude.Maybe DateTimeFormatConfiguration,+    -- | The custom field ID.+    fieldId :: Prelude.Text,+    -- | The column that is used in the @DateMeasureField@.+    column :: ColumnIdentifier+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DateMeasureField' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aggregationFunction', 'dateMeasureField_aggregationFunction' - The aggregation function of the measure field.+--+-- 'formatConfiguration', 'dateMeasureField_formatConfiguration' - The format configuration of the field.+--+-- 'fieldId', 'dateMeasureField_fieldId' - The custom field ID.+--+-- 'column', 'dateMeasureField_column' - The column that is used in the @DateMeasureField@.+newDateMeasureField ::+  -- | 'fieldId'+  Prelude.Text ->+  -- | 'column'+  ColumnIdentifier ->+  DateMeasureField+newDateMeasureField pFieldId_ pColumn_ =+  DateMeasureField'+    { aggregationFunction =+        Prelude.Nothing,+      formatConfiguration = Prelude.Nothing,+      fieldId = pFieldId_,+      column = pColumn_+    }++-- | The aggregation function of the measure field.+dateMeasureField_aggregationFunction :: Lens.Lens' DateMeasureField (Prelude.Maybe DateAggregationFunction)+dateMeasureField_aggregationFunction = Lens.lens (\DateMeasureField' {aggregationFunction} -> aggregationFunction) (\s@DateMeasureField' {} a -> s {aggregationFunction = a} :: DateMeasureField)++-- | The format configuration of the field.+dateMeasureField_formatConfiguration :: Lens.Lens' DateMeasureField (Prelude.Maybe DateTimeFormatConfiguration)+dateMeasureField_formatConfiguration = Lens.lens (\DateMeasureField' {formatConfiguration} -> formatConfiguration) (\s@DateMeasureField' {} a -> s {formatConfiguration = a} :: DateMeasureField)++-- | The custom field ID.+dateMeasureField_fieldId :: Lens.Lens' DateMeasureField Prelude.Text+dateMeasureField_fieldId = Lens.lens (\DateMeasureField' {fieldId} -> fieldId) (\s@DateMeasureField' {} a -> s {fieldId = a} :: DateMeasureField)++-- | The column that is used in the @DateMeasureField@.+dateMeasureField_column :: Lens.Lens' DateMeasureField ColumnIdentifier+dateMeasureField_column = Lens.lens (\DateMeasureField' {column} -> column) (\s@DateMeasureField' {} a -> s {column = a} :: DateMeasureField)++instance Data.FromJSON DateMeasureField where+  parseJSON =+    Data.withObject+      "DateMeasureField"+      ( \x ->+          DateMeasureField'+            Prelude.<$> (x Data..:? "AggregationFunction")+            Prelude.<*> (x Data..:? "FormatConfiguration")+            Prelude.<*> (x Data..: "FieldId")+            Prelude.<*> (x Data..: "Column")+      )++instance Prelude.Hashable DateMeasureField where+  hashWithSalt _salt DateMeasureField' {..} =+    _salt+      `Prelude.hashWithSalt` aggregationFunction+      `Prelude.hashWithSalt` formatConfiguration+      `Prelude.hashWithSalt` fieldId+      `Prelude.hashWithSalt` column++instance Prelude.NFData DateMeasureField where+  rnf DateMeasureField' {..} =+    Prelude.rnf aggregationFunction+      `Prelude.seq` Prelude.rnf formatConfiguration+      `Prelude.seq` Prelude.rnf fieldId+      `Prelude.seq` Prelude.rnf column++instance Data.ToJSON DateMeasureField where+  toJSON DateMeasureField' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AggregationFunction" Data..=)+              Prelude.<$> aggregationFunction,+            ("FormatConfiguration" Data..=)+              Prelude.<$> formatConfiguration,+            Prelude.Just ("FieldId" Data..= fieldId),+            Prelude.Just ("Column" Data..= column)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DateTimeDefaultValues.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DateTimeDefaultValues+-- 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.QuickSight.Types.DateTimeDefaultValues where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DynamicDefaultValue+import Amazonka.QuickSight.Types.RollingDateConfiguration++-- | The default values of the @DateTimeParameterDeclaration@.+--+-- /See:/ 'newDateTimeDefaultValues' smart constructor.+data DateTimeDefaultValues = DateTimeDefaultValues'+  { -- | The dynamic value of the @DataTimeDefaultValues@. Different defaults are+    -- displayed according to users, groups, and values mapping.+    dynamicValue :: Prelude.Maybe DynamicDefaultValue,+    -- | The rolling date of the @DataTimeDefaultValues@. The date is determined+    -- from the dataset based on input expression.+    rollingDate :: Prelude.Maybe RollingDateConfiguration,+    -- | The static values of the @DataTimeDefaultValues@.+    staticValues :: Prelude.Maybe [Data.Sensitive Data.POSIX]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DateTimeDefaultValues' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dynamicValue', 'dateTimeDefaultValues_dynamicValue' - The dynamic value of the @DataTimeDefaultValues@. Different defaults are+-- displayed according to users, groups, and values mapping.+--+-- 'rollingDate', 'dateTimeDefaultValues_rollingDate' - The rolling date of the @DataTimeDefaultValues@. The date is determined+-- from the dataset based on input expression.+--+-- 'staticValues', 'dateTimeDefaultValues_staticValues' - The static values of the @DataTimeDefaultValues@.+newDateTimeDefaultValues ::+  DateTimeDefaultValues+newDateTimeDefaultValues =+  DateTimeDefaultValues'+    { dynamicValue =+        Prelude.Nothing,+      rollingDate = Prelude.Nothing,+      staticValues = Prelude.Nothing+    }++-- | The dynamic value of the @DataTimeDefaultValues@. Different defaults are+-- displayed according to users, groups, and values mapping.+dateTimeDefaultValues_dynamicValue :: Lens.Lens' DateTimeDefaultValues (Prelude.Maybe DynamicDefaultValue)+dateTimeDefaultValues_dynamicValue = Lens.lens (\DateTimeDefaultValues' {dynamicValue} -> dynamicValue) (\s@DateTimeDefaultValues' {} a -> s {dynamicValue = a} :: DateTimeDefaultValues)++-- | The rolling date of the @DataTimeDefaultValues@. The date is determined+-- from the dataset based on input expression.+dateTimeDefaultValues_rollingDate :: Lens.Lens' DateTimeDefaultValues (Prelude.Maybe RollingDateConfiguration)+dateTimeDefaultValues_rollingDate = Lens.lens (\DateTimeDefaultValues' {rollingDate} -> rollingDate) (\s@DateTimeDefaultValues' {} a -> s {rollingDate = a} :: DateTimeDefaultValues)++-- | The static values of the @DataTimeDefaultValues@.+dateTimeDefaultValues_staticValues :: Lens.Lens' DateTimeDefaultValues (Prelude.Maybe [Prelude.UTCTime])+dateTimeDefaultValues_staticValues = Lens.lens (\DateTimeDefaultValues' {staticValues} -> staticValues) (\s@DateTimeDefaultValues' {} a -> s {staticValues = a} :: DateTimeDefaultValues) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON DateTimeDefaultValues where+  parseJSON =+    Data.withObject+      "DateTimeDefaultValues"+      ( \x ->+          DateTimeDefaultValues'+            Prelude.<$> (x Data..:? "DynamicValue")+            Prelude.<*> (x Data..:? "RollingDate")+            Prelude.<*> (x Data..:? "StaticValues" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable DateTimeDefaultValues where+  hashWithSalt _salt DateTimeDefaultValues' {..} =+    _salt+      `Prelude.hashWithSalt` dynamicValue+      `Prelude.hashWithSalt` rollingDate+      `Prelude.hashWithSalt` staticValues++instance Prelude.NFData DateTimeDefaultValues where+  rnf DateTimeDefaultValues' {..} =+    Prelude.rnf dynamicValue+      `Prelude.seq` Prelude.rnf rollingDate+      `Prelude.seq` Prelude.rnf staticValues++instance Data.ToJSON DateTimeDefaultValues where+  toJSON DateTimeDefaultValues' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DynamicValue" Data..=) Prelude.<$> dynamicValue,+            ("RollingDate" Data..=) Prelude.<$> rollingDate,+            ("StaticValues" Data..=) Prelude.<$> staticValues+          ]+      )
+ gen/Amazonka/QuickSight/Types/DateTimeFormatConfiguration.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DateTimeFormatConfiguration+-- 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.QuickSight.Types.DateTimeFormatConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.NullValueFormatConfiguration+import Amazonka.QuickSight.Types.NumericFormatConfiguration++-- | Formatting configuration for @DateTime@ fields.+--+-- /See:/ 'newDateTimeFormatConfiguration' smart constructor.+data DateTimeFormatConfiguration = DateTimeFormatConfiguration'+  { -- | Determines the @DateTime@ format.+    dateTimeFormat :: Prelude.Maybe Prelude.Text,+    -- | The options that determine the null value format configuration.+    nullValueFormatConfiguration :: Prelude.Maybe NullValueFormatConfiguration,+    -- | The formatting configuration for numeric @DateTime@ fields.+    numericFormatConfiguration :: Prelude.Maybe NumericFormatConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DateTimeFormatConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dateTimeFormat', 'dateTimeFormatConfiguration_dateTimeFormat' - Determines the @DateTime@ format.+--+-- 'nullValueFormatConfiguration', 'dateTimeFormatConfiguration_nullValueFormatConfiguration' - The options that determine the null value format configuration.+--+-- 'numericFormatConfiguration', 'dateTimeFormatConfiguration_numericFormatConfiguration' - The formatting configuration for numeric @DateTime@ fields.+newDateTimeFormatConfiguration ::+  DateTimeFormatConfiguration+newDateTimeFormatConfiguration =+  DateTimeFormatConfiguration'+    { dateTimeFormat =+        Prelude.Nothing,+      nullValueFormatConfiguration = Prelude.Nothing,+      numericFormatConfiguration = Prelude.Nothing+    }++-- | Determines the @DateTime@ format.+dateTimeFormatConfiguration_dateTimeFormat :: Lens.Lens' DateTimeFormatConfiguration (Prelude.Maybe Prelude.Text)+dateTimeFormatConfiguration_dateTimeFormat = Lens.lens (\DateTimeFormatConfiguration' {dateTimeFormat} -> dateTimeFormat) (\s@DateTimeFormatConfiguration' {} a -> s {dateTimeFormat = a} :: DateTimeFormatConfiguration)++-- | The options that determine the null value format configuration.+dateTimeFormatConfiguration_nullValueFormatConfiguration :: Lens.Lens' DateTimeFormatConfiguration (Prelude.Maybe NullValueFormatConfiguration)+dateTimeFormatConfiguration_nullValueFormatConfiguration = Lens.lens (\DateTimeFormatConfiguration' {nullValueFormatConfiguration} -> nullValueFormatConfiguration) (\s@DateTimeFormatConfiguration' {} a -> s {nullValueFormatConfiguration = a} :: DateTimeFormatConfiguration)++-- | The formatting configuration for numeric @DateTime@ fields.+dateTimeFormatConfiguration_numericFormatConfiguration :: Lens.Lens' DateTimeFormatConfiguration (Prelude.Maybe NumericFormatConfiguration)+dateTimeFormatConfiguration_numericFormatConfiguration = Lens.lens (\DateTimeFormatConfiguration' {numericFormatConfiguration} -> numericFormatConfiguration) (\s@DateTimeFormatConfiguration' {} a -> s {numericFormatConfiguration = a} :: DateTimeFormatConfiguration)++instance Data.FromJSON DateTimeFormatConfiguration where+  parseJSON =+    Data.withObject+      "DateTimeFormatConfiguration"+      ( \x ->+          DateTimeFormatConfiguration'+            Prelude.<$> (x Data..:? "DateTimeFormat")+            Prelude.<*> (x Data..:? "NullValueFormatConfiguration")+            Prelude.<*> (x Data..:? "NumericFormatConfiguration")+      )++instance Prelude.Hashable DateTimeFormatConfiguration where+  hashWithSalt _salt DateTimeFormatConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` dateTimeFormat+      `Prelude.hashWithSalt` nullValueFormatConfiguration+      `Prelude.hashWithSalt` numericFormatConfiguration++instance Prelude.NFData DateTimeFormatConfiguration where+  rnf DateTimeFormatConfiguration' {..} =+    Prelude.rnf dateTimeFormat+      `Prelude.seq` Prelude.rnf nullValueFormatConfiguration+      `Prelude.seq` Prelude.rnf numericFormatConfiguration++instance Data.ToJSON DateTimeFormatConfiguration where+  toJSON DateTimeFormatConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DateTimeFormat" Data..=)+              Prelude.<$> dateTimeFormat,+            ("NullValueFormatConfiguration" Data..=)+              Prelude.<$> nullValueFormatConfiguration,+            ("NumericFormatConfiguration" Data..=)+              Prelude.<$> numericFormatConfiguration+          ]+      )
+ gen/Amazonka/QuickSight/Types/DateTimeHierarchy.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.QuickSight.Types.DateTimeHierarchy+-- 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.QuickSight.Types.DateTimeHierarchy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DrillDownFilter++-- | The option that determines the hierarchy of any @DateTime@ fields.+--+-- /See:/ 'newDateTimeHierarchy' smart constructor.+data DateTimeHierarchy = DateTimeHierarchy'+  { -- | The option that determines the drill down filters for the @DateTime@+    -- hierarchy.+    drillDownFilters :: Prelude.Maybe [DrillDownFilter],+    -- | The hierarchy ID of the @DateTime@ hierarchy.+    hierarchyId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DateTimeHierarchy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'drillDownFilters', 'dateTimeHierarchy_drillDownFilters' - The option that determines the drill down filters for the @DateTime@+-- hierarchy.+--+-- 'hierarchyId', 'dateTimeHierarchy_hierarchyId' - The hierarchy ID of the @DateTime@ hierarchy.+newDateTimeHierarchy ::+  -- | 'hierarchyId'+  Prelude.Text ->+  DateTimeHierarchy+newDateTimeHierarchy pHierarchyId_ =+  DateTimeHierarchy'+    { drillDownFilters =+        Prelude.Nothing,+      hierarchyId = pHierarchyId_+    }++-- | The option that determines the drill down filters for the @DateTime@+-- hierarchy.+dateTimeHierarchy_drillDownFilters :: Lens.Lens' DateTimeHierarchy (Prelude.Maybe [DrillDownFilter])+dateTimeHierarchy_drillDownFilters = Lens.lens (\DateTimeHierarchy' {drillDownFilters} -> drillDownFilters) (\s@DateTimeHierarchy' {} a -> s {drillDownFilters = a} :: DateTimeHierarchy) Prelude.. Lens.mapping Lens.coerced++-- | The hierarchy ID of the @DateTime@ hierarchy.+dateTimeHierarchy_hierarchyId :: Lens.Lens' DateTimeHierarchy Prelude.Text+dateTimeHierarchy_hierarchyId = Lens.lens (\DateTimeHierarchy' {hierarchyId} -> hierarchyId) (\s@DateTimeHierarchy' {} a -> s {hierarchyId = a} :: DateTimeHierarchy)++instance Data.FromJSON DateTimeHierarchy where+  parseJSON =+    Data.withObject+      "DateTimeHierarchy"+      ( \x ->+          DateTimeHierarchy'+            Prelude.<$> ( x+                            Data..:? "DrillDownFilters"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "HierarchyId")+      )++instance Prelude.Hashable DateTimeHierarchy where+  hashWithSalt _salt DateTimeHierarchy' {..} =+    _salt+      `Prelude.hashWithSalt` drillDownFilters+      `Prelude.hashWithSalt` hierarchyId++instance Prelude.NFData DateTimeHierarchy where+  rnf DateTimeHierarchy' {..} =+    Prelude.rnf drillDownFilters+      `Prelude.seq` Prelude.rnf hierarchyId++instance Data.ToJSON DateTimeHierarchy where+  toJSON DateTimeHierarchy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DrillDownFilters" Data..=)+              Prelude.<$> drillDownFilters,+            Prelude.Just ("HierarchyId" Data..= hierarchyId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DateTimeParameter.hs view
@@ -0,0 +1,84 @@+{-# 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.QuickSight.Types.DateTimeParameter+-- 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.QuickSight.Types.DateTimeParameter 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 date-time parameter.+--+-- /See:/ 'newDateTimeParameter' smart constructor.+data DateTimeParameter = DateTimeParameter'+  { -- | A display name for the date-time parameter.+    name :: Prelude.Text,+    -- | The values for the date-time parameter.+    values :: [Data.Sensitive Data.POSIX]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DateTimeParameter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'dateTimeParameter_name' - A display name for the date-time parameter.+--+-- 'values', 'dateTimeParameter_values' - The values for the date-time parameter.+newDateTimeParameter ::+  -- | 'name'+  Prelude.Text ->+  DateTimeParameter+newDateTimeParameter pName_ =+  DateTimeParameter'+    { name = pName_,+      values = Prelude.mempty+    }++-- | A display name for the date-time parameter.+dateTimeParameter_name :: Lens.Lens' DateTimeParameter Prelude.Text+dateTimeParameter_name = Lens.lens (\DateTimeParameter' {name} -> name) (\s@DateTimeParameter' {} a -> s {name = a} :: DateTimeParameter)++-- | The values for the date-time parameter.+dateTimeParameter_values :: Lens.Lens' DateTimeParameter [Prelude.UTCTime]+dateTimeParameter_values = Lens.lens (\DateTimeParameter' {values} -> values) (\s@DateTimeParameter' {} a -> s {values = a} :: DateTimeParameter) Prelude.. Lens.coerced++instance Prelude.Hashable DateTimeParameter where+  hashWithSalt _salt DateTimeParameter' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` values++instance Prelude.NFData DateTimeParameter where+  rnf DateTimeParameter' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf values++instance Data.ToJSON DateTimeParameter where+  toJSON DateTimeParameter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Values" Data..= values)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DateTimeParameterDeclaration.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.QuickSight.Types.DateTimeParameterDeclaration+-- 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.QuickSight.Types.DateTimeParameterDeclaration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DateTimeDefaultValues+import Amazonka.QuickSight.Types.DateTimeValueWhenUnsetConfiguration+import Amazonka.QuickSight.Types.TimeGranularity++-- | A parameter declaration for the @DateTime@ data type.+--+-- /See:/ 'newDateTimeParameterDeclaration' smart constructor.+data DateTimeParameterDeclaration = DateTimeParameterDeclaration'+  { -- | The default values of a parameter. If the parameter is a single-value+    -- parameter, a maximum of one default value can be provided.+    defaultValues :: Prelude.Maybe DateTimeDefaultValues,+    -- | The level of time precision that is used to aggregate @DateTime@ values.+    timeGranularity :: Prelude.Maybe TimeGranularity,+    -- | The configuration that defines the default value of a @DateTime@+    -- parameter when a value has not been set.+    valueWhenUnset :: Prelude.Maybe DateTimeValueWhenUnsetConfiguration,+    -- | The name of the parameter that is being declared.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DateTimeParameterDeclaration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'defaultValues', 'dateTimeParameterDeclaration_defaultValues' - The default values of a parameter. If the parameter is a single-value+-- parameter, a maximum of one default value can be provided.+--+-- 'timeGranularity', 'dateTimeParameterDeclaration_timeGranularity' - The level of time precision that is used to aggregate @DateTime@ values.+--+-- 'valueWhenUnset', 'dateTimeParameterDeclaration_valueWhenUnset' - The configuration that defines the default value of a @DateTime@+-- parameter when a value has not been set.+--+-- 'name', 'dateTimeParameterDeclaration_name' - The name of the parameter that is being declared.+newDateTimeParameterDeclaration ::+  -- | 'name'+  Prelude.Text ->+  DateTimeParameterDeclaration+newDateTimeParameterDeclaration pName_ =+  DateTimeParameterDeclaration'+    { defaultValues =+        Prelude.Nothing,+      timeGranularity = Prelude.Nothing,+      valueWhenUnset = Prelude.Nothing,+      name = pName_+    }++-- | The default values of a parameter. If the parameter is a single-value+-- parameter, a maximum of one default value can be provided.+dateTimeParameterDeclaration_defaultValues :: Lens.Lens' DateTimeParameterDeclaration (Prelude.Maybe DateTimeDefaultValues)+dateTimeParameterDeclaration_defaultValues = Lens.lens (\DateTimeParameterDeclaration' {defaultValues} -> defaultValues) (\s@DateTimeParameterDeclaration' {} a -> s {defaultValues = a} :: DateTimeParameterDeclaration)++-- | The level of time precision that is used to aggregate @DateTime@ values.+dateTimeParameterDeclaration_timeGranularity :: Lens.Lens' DateTimeParameterDeclaration (Prelude.Maybe TimeGranularity)+dateTimeParameterDeclaration_timeGranularity = Lens.lens (\DateTimeParameterDeclaration' {timeGranularity} -> timeGranularity) (\s@DateTimeParameterDeclaration' {} a -> s {timeGranularity = a} :: DateTimeParameterDeclaration)++-- | The configuration that defines the default value of a @DateTime@+-- parameter when a value has not been set.+dateTimeParameterDeclaration_valueWhenUnset :: Lens.Lens' DateTimeParameterDeclaration (Prelude.Maybe DateTimeValueWhenUnsetConfiguration)+dateTimeParameterDeclaration_valueWhenUnset = Lens.lens (\DateTimeParameterDeclaration' {valueWhenUnset} -> valueWhenUnset) (\s@DateTimeParameterDeclaration' {} a -> s {valueWhenUnset = a} :: DateTimeParameterDeclaration)++-- | The name of the parameter that is being declared.+dateTimeParameterDeclaration_name :: Lens.Lens' DateTimeParameterDeclaration Prelude.Text+dateTimeParameterDeclaration_name = Lens.lens (\DateTimeParameterDeclaration' {name} -> name) (\s@DateTimeParameterDeclaration' {} a -> s {name = a} :: DateTimeParameterDeclaration)++instance Data.FromJSON DateTimeParameterDeclaration where+  parseJSON =+    Data.withObject+      "DateTimeParameterDeclaration"+      ( \x ->+          DateTimeParameterDeclaration'+            Prelude.<$> (x Data..:? "DefaultValues")+            Prelude.<*> (x Data..:? "TimeGranularity")+            Prelude.<*> (x Data..:? "ValueWhenUnset")+            Prelude.<*> (x Data..: "Name")+      )++instance+  Prelude.Hashable+    DateTimeParameterDeclaration+  where+  hashWithSalt _salt DateTimeParameterDeclaration' {..} =+    _salt+      `Prelude.hashWithSalt` defaultValues+      `Prelude.hashWithSalt` timeGranularity+      `Prelude.hashWithSalt` valueWhenUnset+      `Prelude.hashWithSalt` name++instance Prelude.NFData DateTimeParameterDeclaration where+  rnf DateTimeParameterDeclaration' {..} =+    Prelude.rnf defaultValues+      `Prelude.seq` Prelude.rnf timeGranularity+      `Prelude.seq` Prelude.rnf valueWhenUnset+      `Prelude.seq` Prelude.rnf name++instance Data.ToJSON DateTimeParameterDeclaration where+  toJSON DateTimeParameterDeclaration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DefaultValues" Data..=) Prelude.<$> defaultValues,+            ("TimeGranularity" Data..=)+              Prelude.<$> timeGranularity,+            ("ValueWhenUnset" Data..=)+              Prelude.<$> valueWhenUnset,+            Prelude.Just ("Name" Data..= name)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DateTimePickerControlDisplayOptions.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DateTimePickerControlDisplayOptions+-- 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.QuickSight.Types.DateTimePickerControlDisplayOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.LabelOptions++-- | The display options of a control.+--+-- /See:/ 'newDateTimePickerControlDisplayOptions' smart constructor.+data DateTimePickerControlDisplayOptions = DateTimePickerControlDisplayOptions'+  { -- | Customize how dates are formatted in controls.+    dateTimeFormat :: Prelude.Maybe Prelude.Text,+    -- | The options to configure the title visibility, name, and font size.+    titleOptions :: Prelude.Maybe LabelOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DateTimePickerControlDisplayOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dateTimeFormat', 'dateTimePickerControlDisplayOptions_dateTimeFormat' - Customize how dates are formatted in controls.+--+-- 'titleOptions', 'dateTimePickerControlDisplayOptions_titleOptions' - The options to configure the title visibility, name, and font size.+newDateTimePickerControlDisplayOptions ::+  DateTimePickerControlDisplayOptions+newDateTimePickerControlDisplayOptions =+  DateTimePickerControlDisplayOptions'+    { dateTimeFormat =+        Prelude.Nothing,+      titleOptions = Prelude.Nothing+    }++-- | Customize how dates are formatted in controls.+dateTimePickerControlDisplayOptions_dateTimeFormat :: Lens.Lens' DateTimePickerControlDisplayOptions (Prelude.Maybe Prelude.Text)+dateTimePickerControlDisplayOptions_dateTimeFormat = Lens.lens (\DateTimePickerControlDisplayOptions' {dateTimeFormat} -> dateTimeFormat) (\s@DateTimePickerControlDisplayOptions' {} a -> s {dateTimeFormat = a} :: DateTimePickerControlDisplayOptions)++-- | The options to configure the title visibility, name, and font size.+dateTimePickerControlDisplayOptions_titleOptions :: Lens.Lens' DateTimePickerControlDisplayOptions (Prelude.Maybe LabelOptions)+dateTimePickerControlDisplayOptions_titleOptions = Lens.lens (\DateTimePickerControlDisplayOptions' {titleOptions} -> titleOptions) (\s@DateTimePickerControlDisplayOptions' {} a -> s {titleOptions = a} :: DateTimePickerControlDisplayOptions)++instance+  Data.FromJSON+    DateTimePickerControlDisplayOptions+  where+  parseJSON =+    Data.withObject+      "DateTimePickerControlDisplayOptions"+      ( \x ->+          DateTimePickerControlDisplayOptions'+            Prelude.<$> (x Data..:? "DateTimeFormat")+            Prelude.<*> (x Data..:? "TitleOptions")+      )++instance+  Prelude.Hashable+    DateTimePickerControlDisplayOptions+  where+  hashWithSalt+    _salt+    DateTimePickerControlDisplayOptions' {..} =+      _salt+        `Prelude.hashWithSalt` dateTimeFormat+        `Prelude.hashWithSalt` titleOptions++instance+  Prelude.NFData+    DateTimePickerControlDisplayOptions+  where+  rnf DateTimePickerControlDisplayOptions' {..} =+    Prelude.rnf dateTimeFormat+      `Prelude.seq` Prelude.rnf titleOptions++instance+  Data.ToJSON+    DateTimePickerControlDisplayOptions+  where+  toJSON DateTimePickerControlDisplayOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DateTimeFormat" Data..=)+              Prelude.<$> dateTimeFormat,+            ("TitleOptions" Data..=) Prelude.<$> titleOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/DateTimeValueWhenUnsetConfiguration.hs view
@@ -0,0 +1,126 @@+{-# 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.QuickSight.Types.DateTimeValueWhenUnsetConfiguration+-- 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.QuickSight.Types.DateTimeValueWhenUnsetConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ValueWhenUnsetOption++-- | The configuration that defines the default value of a @DateTime@+-- parameter when a value has not been set.+--+-- /See:/ 'newDateTimeValueWhenUnsetConfiguration' smart constructor.+data DateTimeValueWhenUnsetConfiguration = DateTimeValueWhenUnsetConfiguration'+  { -- | A custom value that\'s used when the value of a parameter isn\'t set.+    customValue :: Prelude.Maybe (Data.Sensitive Data.POSIX),+    -- | The built-in options for default values. The value can be one of the+    -- following:+    --+    -- -   @RECOMMENDED@: The recommended value.+    --+    -- -   @NULL@: The @NULL@ value.+    valueWhenUnsetOption :: Prelude.Maybe ValueWhenUnsetOption+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DateTimeValueWhenUnsetConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customValue', 'dateTimeValueWhenUnsetConfiguration_customValue' - A custom value that\'s used when the value of a parameter isn\'t set.+--+-- 'valueWhenUnsetOption', 'dateTimeValueWhenUnsetConfiguration_valueWhenUnsetOption' - The built-in options for default values. The value can be one of the+-- following:+--+-- -   @RECOMMENDED@: The recommended value.+--+-- -   @NULL@: The @NULL@ value.+newDateTimeValueWhenUnsetConfiguration ::+  DateTimeValueWhenUnsetConfiguration+newDateTimeValueWhenUnsetConfiguration =+  DateTimeValueWhenUnsetConfiguration'+    { customValue =+        Prelude.Nothing,+      valueWhenUnsetOption = Prelude.Nothing+    }++-- | A custom value that\'s used when the value of a parameter isn\'t set.+dateTimeValueWhenUnsetConfiguration_customValue :: Lens.Lens' DateTimeValueWhenUnsetConfiguration (Prelude.Maybe Prelude.UTCTime)+dateTimeValueWhenUnsetConfiguration_customValue = Lens.lens (\DateTimeValueWhenUnsetConfiguration' {customValue} -> customValue) (\s@DateTimeValueWhenUnsetConfiguration' {} a -> s {customValue = a} :: DateTimeValueWhenUnsetConfiguration) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Data._Time)++-- | The built-in options for default values. The value can be one of the+-- following:+--+-- -   @RECOMMENDED@: The recommended value.+--+-- -   @NULL@: The @NULL@ value.+dateTimeValueWhenUnsetConfiguration_valueWhenUnsetOption :: Lens.Lens' DateTimeValueWhenUnsetConfiguration (Prelude.Maybe ValueWhenUnsetOption)+dateTimeValueWhenUnsetConfiguration_valueWhenUnsetOption = Lens.lens (\DateTimeValueWhenUnsetConfiguration' {valueWhenUnsetOption} -> valueWhenUnsetOption) (\s@DateTimeValueWhenUnsetConfiguration' {} a -> s {valueWhenUnsetOption = a} :: DateTimeValueWhenUnsetConfiguration)++instance+  Data.FromJSON+    DateTimeValueWhenUnsetConfiguration+  where+  parseJSON =+    Data.withObject+      "DateTimeValueWhenUnsetConfiguration"+      ( \x ->+          DateTimeValueWhenUnsetConfiguration'+            Prelude.<$> (x Data..:? "CustomValue")+            Prelude.<*> (x Data..:? "ValueWhenUnsetOption")+      )++instance+  Prelude.Hashable+    DateTimeValueWhenUnsetConfiguration+  where+  hashWithSalt+    _salt+    DateTimeValueWhenUnsetConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` customValue+        `Prelude.hashWithSalt` valueWhenUnsetOption++instance+  Prelude.NFData+    DateTimeValueWhenUnsetConfiguration+  where+  rnf DateTimeValueWhenUnsetConfiguration' {..} =+    Prelude.rnf customValue+      `Prelude.seq` Prelude.rnf valueWhenUnsetOption++instance+  Data.ToJSON+    DateTimeValueWhenUnsetConfiguration+  where+  toJSON DateTimeValueWhenUnsetConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomValue" Data..=) Prelude.<$> customValue,+            ("ValueWhenUnsetOption" Data..=)+              Prelude.<$> valueWhenUnsetOption+          ]+      )
+ gen/Amazonka/QuickSight/Types/DecimalDefaultValues.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.QuickSight.Types.DecimalDefaultValues+-- 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.QuickSight.Types.DecimalDefaultValues where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DynamicDefaultValue++-- | The default values of the @DecimalParameterDeclaration@.+--+-- /See:/ 'newDecimalDefaultValues' smart constructor.+data DecimalDefaultValues = DecimalDefaultValues'+  { -- | The dynamic value of the @DecimalDefaultValues@. Different defaults are+    -- displayed according to users, groups, and values mapping.+    dynamicValue :: Prelude.Maybe DynamicDefaultValue,+    -- | The static values of the @DecimalDefaultValues@.+    staticValues :: Prelude.Maybe [Data.Sensitive Prelude.Double]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DecimalDefaultValues' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dynamicValue', 'decimalDefaultValues_dynamicValue' - The dynamic value of the @DecimalDefaultValues@. Different defaults are+-- displayed according to users, groups, and values mapping.+--+-- 'staticValues', 'decimalDefaultValues_staticValues' - The static values of the @DecimalDefaultValues@.+newDecimalDefaultValues ::+  DecimalDefaultValues+newDecimalDefaultValues =+  DecimalDefaultValues'+    { dynamicValue =+        Prelude.Nothing,+      staticValues = Prelude.Nothing+    }++-- | The dynamic value of the @DecimalDefaultValues@. Different defaults are+-- displayed according to users, groups, and values mapping.+decimalDefaultValues_dynamicValue :: Lens.Lens' DecimalDefaultValues (Prelude.Maybe DynamicDefaultValue)+decimalDefaultValues_dynamicValue = Lens.lens (\DecimalDefaultValues' {dynamicValue} -> dynamicValue) (\s@DecimalDefaultValues' {} a -> s {dynamicValue = a} :: DecimalDefaultValues)++-- | The static values of the @DecimalDefaultValues@.+decimalDefaultValues_staticValues :: Lens.Lens' DecimalDefaultValues (Prelude.Maybe [Prelude.Double])+decimalDefaultValues_staticValues = Lens.lens (\DecimalDefaultValues' {staticValues} -> staticValues) (\s@DecimalDefaultValues' {} a -> s {staticValues = a} :: DecimalDefaultValues) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON DecimalDefaultValues where+  parseJSON =+    Data.withObject+      "DecimalDefaultValues"+      ( \x ->+          DecimalDefaultValues'+            Prelude.<$> (x Data..:? "DynamicValue")+            Prelude.<*> (x Data..:? "StaticValues" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable DecimalDefaultValues where+  hashWithSalt _salt DecimalDefaultValues' {..} =+    _salt+      `Prelude.hashWithSalt` dynamicValue+      `Prelude.hashWithSalt` staticValues++instance Prelude.NFData DecimalDefaultValues where+  rnf DecimalDefaultValues' {..} =+    Prelude.rnf dynamicValue+      `Prelude.seq` Prelude.rnf staticValues++instance Data.ToJSON DecimalDefaultValues where+  toJSON DecimalDefaultValues' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DynamicValue" Data..=) Prelude.<$> dynamicValue,+            ("StaticValues" Data..=) Prelude.<$> staticValues+          ]+      )
+ gen/Amazonka/QuickSight/Types/DecimalParameter.hs view
@@ -0,0 +1,84 @@+{-# 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.QuickSight.Types.DecimalParameter+-- 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.QuickSight.Types.DecimalParameter 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 decimal parameter.+--+-- /See:/ 'newDecimalParameter' smart constructor.+data DecimalParameter = DecimalParameter'+  { -- | A display name for the decimal parameter.+    name :: Prelude.Text,+    -- | The values for the decimal parameter.+    values :: [Data.Sensitive Prelude.Double]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DecimalParameter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'decimalParameter_name' - A display name for the decimal parameter.+--+-- 'values', 'decimalParameter_values' - The values for the decimal parameter.+newDecimalParameter ::+  -- | 'name'+  Prelude.Text ->+  DecimalParameter+newDecimalParameter pName_ =+  DecimalParameter'+    { name = pName_,+      values = Prelude.mempty+    }++-- | A display name for the decimal parameter.+decimalParameter_name :: Lens.Lens' DecimalParameter Prelude.Text+decimalParameter_name = Lens.lens (\DecimalParameter' {name} -> name) (\s@DecimalParameter' {} a -> s {name = a} :: DecimalParameter)++-- | The values for the decimal parameter.+decimalParameter_values :: Lens.Lens' DecimalParameter [Prelude.Double]+decimalParameter_values = Lens.lens (\DecimalParameter' {values} -> values) (\s@DecimalParameter' {} a -> s {values = a} :: DecimalParameter) Prelude.. Lens.coerced++instance Prelude.Hashable DecimalParameter where+  hashWithSalt _salt DecimalParameter' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` values++instance Prelude.NFData DecimalParameter where+  rnf DecimalParameter' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf values++instance Data.ToJSON DecimalParameter where+  toJSON DecimalParameter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Values" Data..= values)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DecimalParameterDeclaration.hs view
@@ -0,0 +1,140 @@+{-# 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.QuickSight.Types.DecimalParameterDeclaration+-- 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.QuickSight.Types.DecimalParameterDeclaration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DecimalDefaultValues+import Amazonka.QuickSight.Types.DecimalValueWhenUnsetConfiguration+import Amazonka.QuickSight.Types.ParameterValueType++-- | A parameter declaration for the @Decimal@ data type.+--+-- /See:/ 'newDecimalParameterDeclaration' smart constructor.+data DecimalParameterDeclaration = DecimalParameterDeclaration'+  { -- | The default values of a parameter. If the parameter is a single-value+    -- parameter, a maximum of one default value can be provided.+    defaultValues :: Prelude.Maybe DecimalDefaultValues,+    -- | The configuration that defines the default value of a @Decimal@+    -- parameter when a value has not been set.+    valueWhenUnset :: Prelude.Maybe DecimalValueWhenUnsetConfiguration,+    -- | The value type determines whether the parameter is a single-value or+    -- multi-value parameter.+    parameterValueType :: ParameterValueType,+    -- | The name of the parameter that is being declared.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DecimalParameterDeclaration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'defaultValues', 'decimalParameterDeclaration_defaultValues' - The default values of a parameter. If the parameter is a single-value+-- parameter, a maximum of one default value can be provided.+--+-- 'valueWhenUnset', 'decimalParameterDeclaration_valueWhenUnset' - The configuration that defines the default value of a @Decimal@+-- parameter when a value has not been set.+--+-- 'parameterValueType', 'decimalParameterDeclaration_parameterValueType' - The value type determines whether the parameter is a single-value or+-- multi-value parameter.+--+-- 'name', 'decimalParameterDeclaration_name' - The name of the parameter that is being declared.+newDecimalParameterDeclaration ::+  -- | 'parameterValueType'+  ParameterValueType ->+  -- | 'name'+  Prelude.Text ->+  DecimalParameterDeclaration+newDecimalParameterDeclaration+  pParameterValueType_+  pName_ =+    DecimalParameterDeclaration'+      { defaultValues =+          Prelude.Nothing,+        valueWhenUnset = Prelude.Nothing,+        parameterValueType = pParameterValueType_,+        name = pName_+      }++-- | The default values of a parameter. If the parameter is a single-value+-- parameter, a maximum of one default value can be provided.+decimalParameterDeclaration_defaultValues :: Lens.Lens' DecimalParameterDeclaration (Prelude.Maybe DecimalDefaultValues)+decimalParameterDeclaration_defaultValues = Lens.lens (\DecimalParameterDeclaration' {defaultValues} -> defaultValues) (\s@DecimalParameterDeclaration' {} a -> s {defaultValues = a} :: DecimalParameterDeclaration)++-- | The configuration that defines the default value of a @Decimal@+-- parameter when a value has not been set.+decimalParameterDeclaration_valueWhenUnset :: Lens.Lens' DecimalParameterDeclaration (Prelude.Maybe DecimalValueWhenUnsetConfiguration)+decimalParameterDeclaration_valueWhenUnset = Lens.lens (\DecimalParameterDeclaration' {valueWhenUnset} -> valueWhenUnset) (\s@DecimalParameterDeclaration' {} a -> s {valueWhenUnset = a} :: DecimalParameterDeclaration)++-- | The value type determines whether the parameter is a single-value or+-- multi-value parameter.+decimalParameterDeclaration_parameterValueType :: Lens.Lens' DecimalParameterDeclaration ParameterValueType+decimalParameterDeclaration_parameterValueType = Lens.lens (\DecimalParameterDeclaration' {parameterValueType} -> parameterValueType) (\s@DecimalParameterDeclaration' {} a -> s {parameterValueType = a} :: DecimalParameterDeclaration)++-- | The name of the parameter that is being declared.+decimalParameterDeclaration_name :: Lens.Lens' DecimalParameterDeclaration Prelude.Text+decimalParameterDeclaration_name = Lens.lens (\DecimalParameterDeclaration' {name} -> name) (\s@DecimalParameterDeclaration' {} a -> s {name = a} :: DecimalParameterDeclaration)++instance Data.FromJSON DecimalParameterDeclaration where+  parseJSON =+    Data.withObject+      "DecimalParameterDeclaration"+      ( \x ->+          DecimalParameterDeclaration'+            Prelude.<$> (x Data..:? "DefaultValues")+            Prelude.<*> (x Data..:? "ValueWhenUnset")+            Prelude.<*> (x Data..: "ParameterValueType")+            Prelude.<*> (x Data..: "Name")+      )++instance Prelude.Hashable DecimalParameterDeclaration where+  hashWithSalt _salt DecimalParameterDeclaration' {..} =+    _salt+      `Prelude.hashWithSalt` defaultValues+      `Prelude.hashWithSalt` valueWhenUnset+      `Prelude.hashWithSalt` parameterValueType+      `Prelude.hashWithSalt` name++instance Prelude.NFData DecimalParameterDeclaration where+  rnf DecimalParameterDeclaration' {..} =+    Prelude.rnf defaultValues+      `Prelude.seq` Prelude.rnf valueWhenUnset+      `Prelude.seq` Prelude.rnf parameterValueType+      `Prelude.seq` Prelude.rnf name++instance Data.ToJSON DecimalParameterDeclaration where+  toJSON DecimalParameterDeclaration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DefaultValues" Data..=) Prelude.<$> defaultValues,+            ("ValueWhenUnset" Data..=)+              Prelude.<$> valueWhenUnset,+            Prelude.Just+              ("ParameterValueType" Data..= parameterValueType),+            Prelude.Just ("Name" Data..= name)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DecimalPlacesConfiguration.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DecimalPlacesConfiguration+-- 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.QuickSight.Types.DecimalPlacesConfiguration 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 option that determines the decimal places configuration.+--+-- /See:/ 'newDecimalPlacesConfiguration' smart constructor.+data DecimalPlacesConfiguration = DecimalPlacesConfiguration'+  { -- | The values of the decimal places.+    decimalPlaces :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DecimalPlacesConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'decimalPlaces', 'decimalPlacesConfiguration_decimalPlaces' - The values of the decimal places.+newDecimalPlacesConfiguration ::+  -- | 'decimalPlaces'+  Prelude.Natural ->+  DecimalPlacesConfiguration+newDecimalPlacesConfiguration pDecimalPlaces_ =+  DecimalPlacesConfiguration'+    { decimalPlaces =+        pDecimalPlaces_+    }++-- | The values of the decimal places.+decimalPlacesConfiguration_decimalPlaces :: Lens.Lens' DecimalPlacesConfiguration Prelude.Natural+decimalPlacesConfiguration_decimalPlaces = Lens.lens (\DecimalPlacesConfiguration' {decimalPlaces} -> decimalPlaces) (\s@DecimalPlacesConfiguration' {} a -> s {decimalPlaces = a} :: DecimalPlacesConfiguration)++instance Data.FromJSON DecimalPlacesConfiguration where+  parseJSON =+    Data.withObject+      "DecimalPlacesConfiguration"+      ( \x ->+          DecimalPlacesConfiguration'+            Prelude.<$> (x Data..: "DecimalPlaces")+      )++instance Prelude.Hashable DecimalPlacesConfiguration where+  hashWithSalt _salt DecimalPlacesConfiguration' {..} =+    _salt `Prelude.hashWithSalt` decimalPlaces++instance Prelude.NFData DecimalPlacesConfiguration where+  rnf DecimalPlacesConfiguration' {..} =+    Prelude.rnf decimalPlaces++instance Data.ToJSON DecimalPlacesConfiguration where+  toJSON DecimalPlacesConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("DecimalPlaces" Data..= decimalPlaces)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DecimalValueWhenUnsetConfiguration.hs view
@@ -0,0 +1,126 @@+{-# 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.QuickSight.Types.DecimalValueWhenUnsetConfiguration+-- 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.QuickSight.Types.DecimalValueWhenUnsetConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ValueWhenUnsetOption++-- | The configuration that defines the default value of a @Decimal@+-- parameter when a value has not been set.+--+-- /See:/ 'newDecimalValueWhenUnsetConfiguration' smart constructor.+data DecimalValueWhenUnsetConfiguration = DecimalValueWhenUnsetConfiguration'+  { -- | A custom value that\'s used when the value of a parameter isn\'t set.+    customValue :: Prelude.Maybe (Data.Sensitive Prelude.Double),+    -- | The built-in options for default values. The value can be one of the+    -- following:+    --+    -- -   @RECOMMENDED@: The recommended value.+    --+    -- -   @NULL@: The @NULL@ value.+    valueWhenUnsetOption :: Prelude.Maybe ValueWhenUnsetOption+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DecimalValueWhenUnsetConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customValue', 'decimalValueWhenUnsetConfiguration_customValue' - A custom value that\'s used when the value of a parameter isn\'t set.+--+-- 'valueWhenUnsetOption', 'decimalValueWhenUnsetConfiguration_valueWhenUnsetOption' - The built-in options for default values. The value can be one of the+-- following:+--+-- -   @RECOMMENDED@: The recommended value.+--+-- -   @NULL@: The @NULL@ value.+newDecimalValueWhenUnsetConfiguration ::+  DecimalValueWhenUnsetConfiguration+newDecimalValueWhenUnsetConfiguration =+  DecimalValueWhenUnsetConfiguration'+    { customValue =+        Prelude.Nothing,+      valueWhenUnsetOption = Prelude.Nothing+    }++-- | A custom value that\'s used when the value of a parameter isn\'t set.+decimalValueWhenUnsetConfiguration_customValue :: Lens.Lens' DecimalValueWhenUnsetConfiguration (Prelude.Maybe Prelude.Double)+decimalValueWhenUnsetConfiguration_customValue = Lens.lens (\DecimalValueWhenUnsetConfiguration' {customValue} -> customValue) (\s@DecimalValueWhenUnsetConfiguration' {} a -> s {customValue = a} :: DecimalValueWhenUnsetConfiguration) Prelude.. Lens.mapping Data._Sensitive++-- | The built-in options for default values. The value can be one of the+-- following:+--+-- -   @RECOMMENDED@: The recommended value.+--+-- -   @NULL@: The @NULL@ value.+decimalValueWhenUnsetConfiguration_valueWhenUnsetOption :: Lens.Lens' DecimalValueWhenUnsetConfiguration (Prelude.Maybe ValueWhenUnsetOption)+decimalValueWhenUnsetConfiguration_valueWhenUnsetOption = Lens.lens (\DecimalValueWhenUnsetConfiguration' {valueWhenUnsetOption} -> valueWhenUnsetOption) (\s@DecimalValueWhenUnsetConfiguration' {} a -> s {valueWhenUnsetOption = a} :: DecimalValueWhenUnsetConfiguration)++instance+  Data.FromJSON+    DecimalValueWhenUnsetConfiguration+  where+  parseJSON =+    Data.withObject+      "DecimalValueWhenUnsetConfiguration"+      ( \x ->+          DecimalValueWhenUnsetConfiguration'+            Prelude.<$> (x Data..:? "CustomValue")+            Prelude.<*> (x Data..:? "ValueWhenUnsetOption")+      )++instance+  Prelude.Hashable+    DecimalValueWhenUnsetConfiguration+  where+  hashWithSalt+    _salt+    DecimalValueWhenUnsetConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` customValue+        `Prelude.hashWithSalt` valueWhenUnsetOption++instance+  Prelude.NFData+    DecimalValueWhenUnsetConfiguration+  where+  rnf DecimalValueWhenUnsetConfiguration' {..} =+    Prelude.rnf customValue+      `Prelude.seq` Prelude.rnf valueWhenUnsetOption++instance+  Data.ToJSON+    DecimalValueWhenUnsetConfiguration+  where+  toJSON DecimalValueWhenUnsetConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomValue" Data..=) Prelude.<$> customValue,+            ("ValueWhenUnsetOption" Data..=)+              Prelude.<$> valueWhenUnsetOption+          ]+      )
+ gen/Amazonka/QuickSight/Types/DefaultFreeFormLayoutConfiguration.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.QuickSight.Types.DefaultFreeFormLayoutConfiguration+-- 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.QuickSight.Types.DefaultFreeFormLayoutConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FreeFormLayoutCanvasSizeOptions++-- | The options that determine the default settings of a free-form layout+-- configuration.+--+-- /See:/ 'newDefaultFreeFormLayoutConfiguration' smart constructor.+data DefaultFreeFormLayoutConfiguration = DefaultFreeFormLayoutConfiguration'+  { -- | Determines the screen canvas size options for a free-form layout.+    canvasSizeOptions :: FreeFormLayoutCanvasSizeOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DefaultFreeFormLayoutConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'canvasSizeOptions', 'defaultFreeFormLayoutConfiguration_canvasSizeOptions' - Determines the screen canvas size options for a free-form layout.+newDefaultFreeFormLayoutConfiguration ::+  -- | 'canvasSizeOptions'+  FreeFormLayoutCanvasSizeOptions ->+  DefaultFreeFormLayoutConfiguration+newDefaultFreeFormLayoutConfiguration+  pCanvasSizeOptions_ =+    DefaultFreeFormLayoutConfiguration'+      { canvasSizeOptions =+          pCanvasSizeOptions_+      }++-- | Determines the screen canvas size options for a free-form layout.+defaultFreeFormLayoutConfiguration_canvasSizeOptions :: Lens.Lens' DefaultFreeFormLayoutConfiguration FreeFormLayoutCanvasSizeOptions+defaultFreeFormLayoutConfiguration_canvasSizeOptions = Lens.lens (\DefaultFreeFormLayoutConfiguration' {canvasSizeOptions} -> canvasSizeOptions) (\s@DefaultFreeFormLayoutConfiguration' {} a -> s {canvasSizeOptions = a} :: DefaultFreeFormLayoutConfiguration)++instance+  Data.FromJSON+    DefaultFreeFormLayoutConfiguration+  where+  parseJSON =+    Data.withObject+      "DefaultFreeFormLayoutConfiguration"+      ( \x ->+          DefaultFreeFormLayoutConfiguration'+            Prelude.<$> (x Data..: "CanvasSizeOptions")+      )++instance+  Prelude.Hashable+    DefaultFreeFormLayoutConfiguration+  where+  hashWithSalt+    _salt+    DefaultFreeFormLayoutConfiguration' {..} =+      _salt `Prelude.hashWithSalt` canvasSizeOptions++instance+  Prelude.NFData+    DefaultFreeFormLayoutConfiguration+  where+  rnf DefaultFreeFormLayoutConfiguration' {..} =+    Prelude.rnf canvasSizeOptions++instance+  Data.ToJSON+    DefaultFreeFormLayoutConfiguration+  where+  toJSON DefaultFreeFormLayoutConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("CanvasSizeOptions" Data..= canvasSizeOptions)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DefaultGridLayoutConfiguration.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DefaultGridLayoutConfiguration+-- 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.QuickSight.Types.DefaultGridLayoutConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.GridLayoutCanvasSizeOptions++-- | The options that determine the default settings for a grid layout+-- configuration.+--+-- /See:/ 'newDefaultGridLayoutConfiguration' smart constructor.+data DefaultGridLayoutConfiguration = DefaultGridLayoutConfiguration'+  { -- | Determines the screen canvas size options for a grid layout.+    canvasSizeOptions :: GridLayoutCanvasSizeOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DefaultGridLayoutConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'canvasSizeOptions', 'defaultGridLayoutConfiguration_canvasSizeOptions' - Determines the screen canvas size options for a grid layout.+newDefaultGridLayoutConfiguration ::+  -- | 'canvasSizeOptions'+  GridLayoutCanvasSizeOptions ->+  DefaultGridLayoutConfiguration+newDefaultGridLayoutConfiguration pCanvasSizeOptions_ =+  DefaultGridLayoutConfiguration'+    { canvasSizeOptions =+        pCanvasSizeOptions_+    }++-- | Determines the screen canvas size options for a grid layout.+defaultGridLayoutConfiguration_canvasSizeOptions :: Lens.Lens' DefaultGridLayoutConfiguration GridLayoutCanvasSizeOptions+defaultGridLayoutConfiguration_canvasSizeOptions = Lens.lens (\DefaultGridLayoutConfiguration' {canvasSizeOptions} -> canvasSizeOptions) (\s@DefaultGridLayoutConfiguration' {} a -> s {canvasSizeOptions = a} :: DefaultGridLayoutConfiguration)++instance Data.FromJSON DefaultGridLayoutConfiguration where+  parseJSON =+    Data.withObject+      "DefaultGridLayoutConfiguration"+      ( \x ->+          DefaultGridLayoutConfiguration'+            Prelude.<$> (x Data..: "CanvasSizeOptions")+      )++instance+  Prelude.Hashable+    DefaultGridLayoutConfiguration+  where+  hashWithSalt+    _salt+    DefaultGridLayoutConfiguration' {..} =+      _salt `Prelude.hashWithSalt` canvasSizeOptions++instance+  Prelude.NFData+    DefaultGridLayoutConfiguration+  where+  rnf DefaultGridLayoutConfiguration' {..} =+    Prelude.rnf canvasSizeOptions++instance Data.ToJSON DefaultGridLayoutConfiguration where+  toJSON DefaultGridLayoutConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("CanvasSizeOptions" Data..= canvasSizeOptions)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DefaultInteractiveLayoutConfiguration.hs view
@@ -0,0 +1,116 @@+{-# 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.QuickSight.Types.DefaultInteractiveLayoutConfiguration+-- 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.QuickSight.Types.DefaultInteractiveLayoutConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DefaultFreeFormLayoutConfiguration+import Amazonka.QuickSight.Types.DefaultGridLayoutConfiguration++-- | The options that determine the default settings for interactive layout+-- configuration.+--+-- /See:/ 'newDefaultInteractiveLayoutConfiguration' smart constructor.+data DefaultInteractiveLayoutConfiguration = DefaultInteractiveLayoutConfiguration'+  { -- | The options that determine the default settings of a free-form layout+    -- configuration.+    freeForm :: Prelude.Maybe DefaultFreeFormLayoutConfiguration,+    -- | The options that determine the default settings for a grid layout+    -- configuration.+    grid :: Prelude.Maybe DefaultGridLayoutConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DefaultInteractiveLayoutConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'freeForm', 'defaultInteractiveLayoutConfiguration_freeForm' - The options that determine the default settings of a free-form layout+-- configuration.+--+-- 'grid', 'defaultInteractiveLayoutConfiguration_grid' - The options that determine the default settings for a grid layout+-- configuration.+newDefaultInteractiveLayoutConfiguration ::+  DefaultInteractiveLayoutConfiguration+newDefaultInteractiveLayoutConfiguration =+  DefaultInteractiveLayoutConfiguration'+    { freeForm =+        Prelude.Nothing,+      grid = Prelude.Nothing+    }++-- | The options that determine the default settings of a free-form layout+-- configuration.+defaultInteractiveLayoutConfiguration_freeForm :: Lens.Lens' DefaultInteractiveLayoutConfiguration (Prelude.Maybe DefaultFreeFormLayoutConfiguration)+defaultInteractiveLayoutConfiguration_freeForm = Lens.lens (\DefaultInteractiveLayoutConfiguration' {freeForm} -> freeForm) (\s@DefaultInteractiveLayoutConfiguration' {} a -> s {freeForm = a} :: DefaultInteractiveLayoutConfiguration)++-- | The options that determine the default settings for a grid layout+-- configuration.+defaultInteractiveLayoutConfiguration_grid :: Lens.Lens' DefaultInteractiveLayoutConfiguration (Prelude.Maybe DefaultGridLayoutConfiguration)+defaultInteractiveLayoutConfiguration_grid = Lens.lens (\DefaultInteractiveLayoutConfiguration' {grid} -> grid) (\s@DefaultInteractiveLayoutConfiguration' {} a -> s {grid = a} :: DefaultInteractiveLayoutConfiguration)++instance+  Data.FromJSON+    DefaultInteractiveLayoutConfiguration+  where+  parseJSON =+    Data.withObject+      "DefaultInteractiveLayoutConfiguration"+      ( \x ->+          DefaultInteractiveLayoutConfiguration'+            Prelude.<$> (x Data..:? "FreeForm")+            Prelude.<*> (x Data..:? "Grid")+      )++instance+  Prelude.Hashable+    DefaultInteractiveLayoutConfiguration+  where+  hashWithSalt+    _salt+    DefaultInteractiveLayoutConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` freeForm+        `Prelude.hashWithSalt` grid++instance+  Prelude.NFData+    DefaultInteractiveLayoutConfiguration+  where+  rnf DefaultInteractiveLayoutConfiguration' {..} =+    Prelude.rnf freeForm `Prelude.seq` Prelude.rnf grid++instance+  Data.ToJSON+    DefaultInteractiveLayoutConfiguration+  where+  toJSON DefaultInteractiveLayoutConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FreeForm" Data..=) Prelude.<$> freeForm,+            ("Grid" Data..=) Prelude.<$> grid+          ]+      )
+ gen/Amazonka/QuickSight/Types/DefaultNewSheetConfiguration.hs view
@@ -0,0 +1,123 @@+{-# 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.QuickSight.Types.DefaultNewSheetConfiguration+-- 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.QuickSight.Types.DefaultNewSheetConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DefaultInteractiveLayoutConfiguration+import Amazonka.QuickSight.Types.DefaultPaginatedLayoutConfiguration+import Amazonka.QuickSight.Types.SheetContentType++-- | The configuration for default new sheet settings.+--+-- /See:/ 'newDefaultNewSheetConfiguration' smart constructor.+data DefaultNewSheetConfiguration = DefaultNewSheetConfiguration'+  { -- | The options that determine the default settings for interactive layout+    -- configuration.+    interactiveLayoutConfiguration :: Prelude.Maybe DefaultInteractiveLayoutConfiguration,+    -- | The options that determine the default settings for a paginated layout+    -- configuration.+    paginatedLayoutConfiguration :: Prelude.Maybe DefaultPaginatedLayoutConfiguration,+    -- | The option that determines the sheet content type.+    sheetContentType :: Prelude.Maybe SheetContentType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DefaultNewSheetConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'interactiveLayoutConfiguration', 'defaultNewSheetConfiguration_interactiveLayoutConfiguration' - The options that determine the default settings for interactive layout+-- configuration.+--+-- 'paginatedLayoutConfiguration', 'defaultNewSheetConfiguration_paginatedLayoutConfiguration' - The options that determine the default settings for a paginated layout+-- configuration.+--+-- 'sheetContentType', 'defaultNewSheetConfiguration_sheetContentType' - The option that determines the sheet content type.+newDefaultNewSheetConfiguration ::+  DefaultNewSheetConfiguration+newDefaultNewSheetConfiguration =+  DefaultNewSheetConfiguration'+    { interactiveLayoutConfiguration =+        Prelude.Nothing,+      paginatedLayoutConfiguration =+        Prelude.Nothing,+      sheetContentType = Prelude.Nothing+    }++-- | The options that determine the default settings for interactive layout+-- configuration.+defaultNewSheetConfiguration_interactiveLayoutConfiguration :: Lens.Lens' DefaultNewSheetConfiguration (Prelude.Maybe DefaultInteractiveLayoutConfiguration)+defaultNewSheetConfiguration_interactiveLayoutConfiguration = Lens.lens (\DefaultNewSheetConfiguration' {interactiveLayoutConfiguration} -> interactiveLayoutConfiguration) (\s@DefaultNewSheetConfiguration' {} a -> s {interactiveLayoutConfiguration = a} :: DefaultNewSheetConfiguration)++-- | The options that determine the default settings for a paginated layout+-- configuration.+defaultNewSheetConfiguration_paginatedLayoutConfiguration :: Lens.Lens' DefaultNewSheetConfiguration (Prelude.Maybe DefaultPaginatedLayoutConfiguration)+defaultNewSheetConfiguration_paginatedLayoutConfiguration = Lens.lens (\DefaultNewSheetConfiguration' {paginatedLayoutConfiguration} -> paginatedLayoutConfiguration) (\s@DefaultNewSheetConfiguration' {} a -> s {paginatedLayoutConfiguration = a} :: DefaultNewSheetConfiguration)++-- | The option that determines the sheet content type.+defaultNewSheetConfiguration_sheetContentType :: Lens.Lens' DefaultNewSheetConfiguration (Prelude.Maybe SheetContentType)+defaultNewSheetConfiguration_sheetContentType = Lens.lens (\DefaultNewSheetConfiguration' {sheetContentType} -> sheetContentType) (\s@DefaultNewSheetConfiguration' {} a -> s {sheetContentType = a} :: DefaultNewSheetConfiguration)++instance Data.FromJSON DefaultNewSheetConfiguration where+  parseJSON =+    Data.withObject+      "DefaultNewSheetConfiguration"+      ( \x ->+          DefaultNewSheetConfiguration'+            Prelude.<$> (x Data..:? "InteractiveLayoutConfiguration")+            Prelude.<*> (x Data..:? "PaginatedLayoutConfiguration")+            Prelude.<*> (x Data..:? "SheetContentType")+      )++instance+  Prelude.Hashable+    DefaultNewSheetConfiguration+  where+  hashWithSalt _salt DefaultNewSheetConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` interactiveLayoutConfiguration+      `Prelude.hashWithSalt` paginatedLayoutConfiguration+      `Prelude.hashWithSalt` sheetContentType++instance Prelude.NFData DefaultNewSheetConfiguration where+  rnf DefaultNewSheetConfiguration' {..} =+    Prelude.rnf interactiveLayoutConfiguration+      `Prelude.seq` Prelude.rnf paginatedLayoutConfiguration+      `Prelude.seq` Prelude.rnf sheetContentType++instance Data.ToJSON DefaultNewSheetConfiguration where+  toJSON DefaultNewSheetConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("InteractiveLayoutConfiguration" Data..=)+              Prelude.<$> interactiveLayoutConfiguration,+            ("PaginatedLayoutConfiguration" Data..=)+              Prelude.<$> paginatedLayoutConfiguration,+            ("SheetContentType" Data..=)+              Prelude.<$> sheetContentType+          ]+      )
+ gen/Amazonka/QuickSight/Types/DefaultPaginatedLayoutConfiguration.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.QuickSight.Types.DefaultPaginatedLayoutConfiguration+-- 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.QuickSight.Types.DefaultPaginatedLayoutConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DefaultSectionBasedLayoutConfiguration++-- | The options that determine the default settings for a paginated layout+-- configuration.+--+-- /See:/ 'newDefaultPaginatedLayoutConfiguration' smart constructor.+data DefaultPaginatedLayoutConfiguration = DefaultPaginatedLayoutConfiguration'+  { -- | The options that determine the default settings for a section-based+    -- layout configuration.+    sectionBased :: Prelude.Maybe DefaultSectionBasedLayoutConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DefaultPaginatedLayoutConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sectionBased', 'defaultPaginatedLayoutConfiguration_sectionBased' - The options that determine the default settings for a section-based+-- layout configuration.+newDefaultPaginatedLayoutConfiguration ::+  DefaultPaginatedLayoutConfiguration+newDefaultPaginatedLayoutConfiguration =+  DefaultPaginatedLayoutConfiguration'+    { sectionBased =+        Prelude.Nothing+    }++-- | The options that determine the default settings for a section-based+-- layout configuration.+defaultPaginatedLayoutConfiguration_sectionBased :: Lens.Lens' DefaultPaginatedLayoutConfiguration (Prelude.Maybe DefaultSectionBasedLayoutConfiguration)+defaultPaginatedLayoutConfiguration_sectionBased = Lens.lens (\DefaultPaginatedLayoutConfiguration' {sectionBased} -> sectionBased) (\s@DefaultPaginatedLayoutConfiguration' {} a -> s {sectionBased = a} :: DefaultPaginatedLayoutConfiguration)++instance+  Data.FromJSON+    DefaultPaginatedLayoutConfiguration+  where+  parseJSON =+    Data.withObject+      "DefaultPaginatedLayoutConfiguration"+      ( \x ->+          DefaultPaginatedLayoutConfiguration'+            Prelude.<$> (x Data..:? "SectionBased")+      )++instance+  Prelude.Hashable+    DefaultPaginatedLayoutConfiguration+  where+  hashWithSalt+    _salt+    DefaultPaginatedLayoutConfiguration' {..} =+      _salt `Prelude.hashWithSalt` sectionBased++instance+  Prelude.NFData+    DefaultPaginatedLayoutConfiguration+  where+  rnf DefaultPaginatedLayoutConfiguration' {..} =+    Prelude.rnf sectionBased++instance+  Data.ToJSON+    DefaultPaginatedLayoutConfiguration+  where+  toJSON DefaultPaginatedLayoutConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [("SectionBased" Data..=) Prelude.<$> sectionBased]+      )
+ gen/Amazonka/QuickSight/Types/DefaultSectionBasedLayoutConfiguration.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.QuickSight.Types.DefaultSectionBasedLayoutConfiguration+-- 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.QuickSight.Types.DefaultSectionBasedLayoutConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.SectionBasedLayoutCanvasSizeOptions++-- | The options that determine the default settings for a section-based+-- layout configuration.+--+-- /See:/ 'newDefaultSectionBasedLayoutConfiguration' smart constructor.+data DefaultSectionBasedLayoutConfiguration = DefaultSectionBasedLayoutConfiguration'+  { -- | Determines the screen canvas size options for a section-based layout.+    canvasSizeOptions :: SectionBasedLayoutCanvasSizeOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DefaultSectionBasedLayoutConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'canvasSizeOptions', 'defaultSectionBasedLayoutConfiguration_canvasSizeOptions' - Determines the screen canvas size options for a section-based layout.+newDefaultSectionBasedLayoutConfiguration ::+  -- | 'canvasSizeOptions'+  SectionBasedLayoutCanvasSizeOptions ->+  DefaultSectionBasedLayoutConfiguration+newDefaultSectionBasedLayoutConfiguration+  pCanvasSizeOptions_ =+    DefaultSectionBasedLayoutConfiguration'+      { canvasSizeOptions =+          pCanvasSizeOptions_+      }++-- | Determines the screen canvas size options for a section-based layout.+defaultSectionBasedLayoutConfiguration_canvasSizeOptions :: Lens.Lens' DefaultSectionBasedLayoutConfiguration SectionBasedLayoutCanvasSizeOptions+defaultSectionBasedLayoutConfiguration_canvasSizeOptions = Lens.lens (\DefaultSectionBasedLayoutConfiguration' {canvasSizeOptions} -> canvasSizeOptions) (\s@DefaultSectionBasedLayoutConfiguration' {} a -> s {canvasSizeOptions = a} :: DefaultSectionBasedLayoutConfiguration)++instance+  Data.FromJSON+    DefaultSectionBasedLayoutConfiguration+  where+  parseJSON =+    Data.withObject+      "DefaultSectionBasedLayoutConfiguration"+      ( \x ->+          DefaultSectionBasedLayoutConfiguration'+            Prelude.<$> (x Data..: "CanvasSizeOptions")+      )++instance+  Prelude.Hashable+    DefaultSectionBasedLayoutConfiguration+  where+  hashWithSalt+    _salt+    DefaultSectionBasedLayoutConfiguration' {..} =+      _salt `Prelude.hashWithSalt` canvasSizeOptions++instance+  Prelude.NFData+    DefaultSectionBasedLayoutConfiguration+  where+  rnf DefaultSectionBasedLayoutConfiguration' {..} =+    Prelude.rnf canvasSizeOptions++instance+  Data.ToJSON+    DefaultSectionBasedLayoutConfiguration+  where+  toJSON DefaultSectionBasedLayoutConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("CanvasSizeOptions" Data..= canvasSizeOptions)+          ]+      )
+ gen/Amazonka/QuickSight/Types/DestinationParameterValueConfiguration.hs view
@@ -0,0 +1,147 @@+{-# 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.QuickSight.Types.DestinationParameterValueConfiguration+-- 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.QuickSight.Types.DestinationParameterValueConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CustomValuesConfiguration+import Amazonka.QuickSight.Types.SelectAllValueOptions++-- | The configuration of destination parameter values.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newDestinationParameterValueConfiguration' smart constructor.+data DestinationParameterValueConfiguration = DestinationParameterValueConfiguration'+  { -- | The configuration of custom values for destination parameter in+    -- @DestinationParameterValueConfiguration@.+    customValuesConfiguration :: Prelude.Maybe CustomValuesConfiguration,+    -- | The configuration that selects all options.+    selectAllValueOptions :: Prelude.Maybe SelectAllValueOptions,+    -- | The source field ID of the destination parameter.+    sourceField :: Prelude.Maybe Prelude.Text,+    -- | The source parameter name of the destination parameter.+    sourceParameterName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DestinationParameterValueConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customValuesConfiguration', 'destinationParameterValueConfiguration_customValuesConfiguration' - The configuration of custom values for destination parameter in+-- @DestinationParameterValueConfiguration@.+--+-- 'selectAllValueOptions', 'destinationParameterValueConfiguration_selectAllValueOptions' - The configuration that selects all options.+--+-- 'sourceField', 'destinationParameterValueConfiguration_sourceField' - The source field ID of the destination parameter.+--+-- 'sourceParameterName', 'destinationParameterValueConfiguration_sourceParameterName' - The source parameter name of the destination parameter.+newDestinationParameterValueConfiguration ::+  DestinationParameterValueConfiguration+newDestinationParameterValueConfiguration =+  DestinationParameterValueConfiguration'+    { customValuesConfiguration =+        Prelude.Nothing,+      selectAllValueOptions =+        Prelude.Nothing,+      sourceField = Prelude.Nothing,+      sourceParameterName =+        Prelude.Nothing+    }++-- | The configuration of custom values for destination parameter in+-- @DestinationParameterValueConfiguration@.+destinationParameterValueConfiguration_customValuesConfiguration :: Lens.Lens' DestinationParameterValueConfiguration (Prelude.Maybe CustomValuesConfiguration)+destinationParameterValueConfiguration_customValuesConfiguration = Lens.lens (\DestinationParameterValueConfiguration' {customValuesConfiguration} -> customValuesConfiguration) (\s@DestinationParameterValueConfiguration' {} a -> s {customValuesConfiguration = a} :: DestinationParameterValueConfiguration)++-- | The configuration that selects all options.+destinationParameterValueConfiguration_selectAllValueOptions :: Lens.Lens' DestinationParameterValueConfiguration (Prelude.Maybe SelectAllValueOptions)+destinationParameterValueConfiguration_selectAllValueOptions = Lens.lens (\DestinationParameterValueConfiguration' {selectAllValueOptions} -> selectAllValueOptions) (\s@DestinationParameterValueConfiguration' {} a -> s {selectAllValueOptions = a} :: DestinationParameterValueConfiguration)++-- | The source field ID of the destination parameter.+destinationParameterValueConfiguration_sourceField :: Lens.Lens' DestinationParameterValueConfiguration (Prelude.Maybe Prelude.Text)+destinationParameterValueConfiguration_sourceField = Lens.lens (\DestinationParameterValueConfiguration' {sourceField} -> sourceField) (\s@DestinationParameterValueConfiguration' {} a -> s {sourceField = a} :: DestinationParameterValueConfiguration)++-- | The source parameter name of the destination parameter.+destinationParameterValueConfiguration_sourceParameterName :: Lens.Lens' DestinationParameterValueConfiguration (Prelude.Maybe Prelude.Text)+destinationParameterValueConfiguration_sourceParameterName = Lens.lens (\DestinationParameterValueConfiguration' {sourceParameterName} -> sourceParameterName) (\s@DestinationParameterValueConfiguration' {} a -> s {sourceParameterName = a} :: DestinationParameterValueConfiguration)++instance+  Data.FromJSON+    DestinationParameterValueConfiguration+  where+  parseJSON =+    Data.withObject+      "DestinationParameterValueConfiguration"+      ( \x ->+          DestinationParameterValueConfiguration'+            Prelude.<$> (x Data..:? "CustomValuesConfiguration")+            Prelude.<*> (x Data..:? "SelectAllValueOptions")+            Prelude.<*> (x Data..:? "SourceField")+            Prelude.<*> (x Data..:? "SourceParameterName")+      )++instance+  Prelude.Hashable+    DestinationParameterValueConfiguration+  where+  hashWithSalt+    _salt+    DestinationParameterValueConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` customValuesConfiguration+        `Prelude.hashWithSalt` selectAllValueOptions+        `Prelude.hashWithSalt` sourceField+        `Prelude.hashWithSalt` sourceParameterName++instance+  Prelude.NFData+    DestinationParameterValueConfiguration+  where+  rnf DestinationParameterValueConfiguration' {..} =+    Prelude.rnf customValuesConfiguration+      `Prelude.seq` Prelude.rnf selectAllValueOptions+      `Prelude.seq` Prelude.rnf sourceField+      `Prelude.seq` Prelude.rnf sourceParameterName++instance+  Data.ToJSON+    DestinationParameterValueConfiguration+  where+  toJSON DestinationParameterValueConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomValuesConfiguration" Data..=)+              Prelude.<$> customValuesConfiguration,+            ("SelectAllValueOptions" Data..=)+              Prelude.<$> selectAllValueOptions,+            ("SourceField" Data..=) Prelude.<$> sourceField,+            ("SourceParameterName" Data..=)+              Prelude.<$> sourceParameterName+          ]+      )
+ gen/Amazonka/QuickSight/Types/DimensionField.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.QuickSight.Types.DimensionField+-- 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.QuickSight.Types.DimensionField where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CategoricalDimensionField+import Amazonka.QuickSight.Types.DateDimensionField+import Amazonka.QuickSight.Types.NumericalDimensionField++-- | The dimension type field.+--+-- /See:/ 'newDimensionField' smart constructor.+data DimensionField = DimensionField'+  { -- | The dimension type field with categorical type columns.+    categoricalDimensionField :: Prelude.Maybe CategoricalDimensionField,+    -- | The dimension type field with date type columns.+    dateDimensionField :: Prelude.Maybe DateDimensionField,+    -- | The dimension type field with numerical type columns.+    numericalDimensionField :: Prelude.Maybe NumericalDimensionField+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DimensionField' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categoricalDimensionField', 'dimensionField_categoricalDimensionField' - The dimension type field with categorical type columns.+--+-- 'dateDimensionField', 'dimensionField_dateDimensionField' - The dimension type field with date type columns.+--+-- 'numericalDimensionField', 'dimensionField_numericalDimensionField' - The dimension type field with numerical type columns.+newDimensionField ::+  DimensionField+newDimensionField =+  DimensionField'+    { categoricalDimensionField =+        Prelude.Nothing,+      dateDimensionField = Prelude.Nothing,+      numericalDimensionField = Prelude.Nothing+    }++-- | The dimension type field with categorical type columns.+dimensionField_categoricalDimensionField :: Lens.Lens' DimensionField (Prelude.Maybe CategoricalDimensionField)+dimensionField_categoricalDimensionField = Lens.lens (\DimensionField' {categoricalDimensionField} -> categoricalDimensionField) (\s@DimensionField' {} a -> s {categoricalDimensionField = a} :: DimensionField)++-- | The dimension type field with date type columns.+dimensionField_dateDimensionField :: Lens.Lens' DimensionField (Prelude.Maybe DateDimensionField)+dimensionField_dateDimensionField = Lens.lens (\DimensionField' {dateDimensionField} -> dateDimensionField) (\s@DimensionField' {} a -> s {dateDimensionField = a} :: DimensionField)++-- | The dimension type field with numerical type columns.+dimensionField_numericalDimensionField :: Lens.Lens' DimensionField (Prelude.Maybe NumericalDimensionField)+dimensionField_numericalDimensionField = Lens.lens (\DimensionField' {numericalDimensionField} -> numericalDimensionField) (\s@DimensionField' {} a -> s {numericalDimensionField = a} :: DimensionField)++instance Data.FromJSON DimensionField where+  parseJSON =+    Data.withObject+      "DimensionField"+      ( \x ->+          DimensionField'+            Prelude.<$> (x Data..:? "CategoricalDimensionField")+            Prelude.<*> (x Data..:? "DateDimensionField")+            Prelude.<*> (x Data..:? "NumericalDimensionField")+      )++instance Prelude.Hashable DimensionField where+  hashWithSalt _salt DimensionField' {..} =+    _salt+      `Prelude.hashWithSalt` categoricalDimensionField+      `Prelude.hashWithSalt` dateDimensionField+      `Prelude.hashWithSalt` numericalDimensionField++instance Prelude.NFData DimensionField where+  rnf DimensionField' {..} =+    Prelude.rnf categoricalDimensionField+      `Prelude.seq` Prelude.rnf dateDimensionField+      `Prelude.seq` Prelude.rnf numericalDimensionField++instance Data.ToJSON DimensionField where+  toJSON DimensionField' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoricalDimensionField" Data..=)+              Prelude.<$> categoricalDimensionField,+            ("DateDimensionField" Data..=)+              Prelude.<$> dateDimensionField,+            ("NumericalDimensionField" Data..=)+              Prelude.<$> numericalDimensionField+          ]+      )
+ gen/Amazonka/QuickSight/Types/DonutCenterOptions.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.QuickSight.Types.DonutCenterOptions+-- 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.QuickSight.Types.DonutCenterOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The label options of the label that is displayed in the center of a+-- donut chart. This option isn\'t available for pie charts.+--+-- /See:/ 'newDonutCenterOptions' smart constructor.+data DonutCenterOptions = DonutCenterOptions'+  { -- | Determines the visibility of the label in a donut chart. In the Amazon+    -- QuickSight console, this option is called @\'Show total\'@.+    labelVisibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DonutCenterOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'labelVisibility', 'donutCenterOptions_labelVisibility' - Determines the visibility of the label in a donut chart. In the Amazon+-- QuickSight console, this option is called @\'Show total\'@.+newDonutCenterOptions ::+  DonutCenterOptions+newDonutCenterOptions =+  DonutCenterOptions'+    { labelVisibility =+        Prelude.Nothing+    }++-- | Determines the visibility of the label in a donut chart. In the Amazon+-- QuickSight console, this option is called @\'Show total\'@.+donutCenterOptions_labelVisibility :: Lens.Lens' DonutCenterOptions (Prelude.Maybe Visibility)+donutCenterOptions_labelVisibility = Lens.lens (\DonutCenterOptions' {labelVisibility} -> labelVisibility) (\s@DonutCenterOptions' {} a -> s {labelVisibility = a} :: DonutCenterOptions)++instance Data.FromJSON DonutCenterOptions where+  parseJSON =+    Data.withObject+      "DonutCenterOptions"+      ( \x ->+          DonutCenterOptions'+            Prelude.<$> (x Data..:? "LabelVisibility")+      )++instance Prelude.Hashable DonutCenterOptions where+  hashWithSalt _salt DonutCenterOptions' {..} =+    _salt `Prelude.hashWithSalt` labelVisibility++instance Prelude.NFData DonutCenterOptions where+  rnf DonutCenterOptions' {..} =+    Prelude.rnf labelVisibility++instance Data.ToJSON DonutCenterOptions where+  toJSON DonutCenterOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LabelVisibility" Data..=)+              Prelude.<$> labelVisibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/DonutOptions.hs view
@@ -0,0 +1,126 @@+{-# 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.QuickSight.Types.DonutOptions+-- 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.QuickSight.Types.DonutOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ArcOptions+import Amazonka.QuickSight.Types.DonutCenterOptions++-- | The options for configuring a donut chart or pie chart.+--+-- /See:/ 'newDonutOptions' smart constructor.+data DonutOptions = DonutOptions'+  { -- | The option for define the arc of the chart shape. Valid values are as+    -- follows:+    --+    -- -   @WHOLE@ - A pie chart+    --+    -- -   @SMALL@- A small-sized donut chart+    --+    -- -   @MEDIUM@- A medium-sized donut chart+    --+    -- -   @LARGE@- A large-sized donut chart+    arcOptions :: Prelude.Maybe ArcOptions,+    -- | The label options of the label that is displayed in the center of a+    -- donut chart. This option isn\'t available for pie charts.+    donutCenterOptions :: Prelude.Maybe DonutCenterOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DonutOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arcOptions', 'donutOptions_arcOptions' - The option for define the arc of the chart shape. Valid values are as+-- follows:+--+-- -   @WHOLE@ - A pie chart+--+-- -   @SMALL@- A small-sized donut chart+--+-- -   @MEDIUM@- A medium-sized donut chart+--+-- -   @LARGE@- A large-sized donut chart+--+-- 'donutCenterOptions', 'donutOptions_donutCenterOptions' - The label options of the label that is displayed in the center of a+-- donut chart. This option isn\'t available for pie charts.+newDonutOptions ::+  DonutOptions+newDonutOptions =+  DonutOptions'+    { arcOptions = Prelude.Nothing,+      donutCenterOptions = Prelude.Nothing+    }++-- | The option for define the arc of the chart shape. Valid values are as+-- follows:+--+-- -   @WHOLE@ - A pie chart+--+-- -   @SMALL@- A small-sized donut chart+--+-- -   @MEDIUM@- A medium-sized donut chart+--+-- -   @LARGE@- A large-sized donut chart+donutOptions_arcOptions :: Lens.Lens' DonutOptions (Prelude.Maybe ArcOptions)+donutOptions_arcOptions = Lens.lens (\DonutOptions' {arcOptions} -> arcOptions) (\s@DonutOptions' {} a -> s {arcOptions = a} :: DonutOptions)++-- | The label options of the label that is displayed in the center of a+-- donut chart. This option isn\'t available for pie charts.+donutOptions_donutCenterOptions :: Lens.Lens' DonutOptions (Prelude.Maybe DonutCenterOptions)+donutOptions_donutCenterOptions = Lens.lens (\DonutOptions' {donutCenterOptions} -> donutCenterOptions) (\s@DonutOptions' {} a -> s {donutCenterOptions = a} :: DonutOptions)++instance Data.FromJSON DonutOptions where+  parseJSON =+    Data.withObject+      "DonutOptions"+      ( \x ->+          DonutOptions'+            Prelude.<$> (x Data..:? "ArcOptions")+            Prelude.<*> (x Data..:? "DonutCenterOptions")+      )++instance Prelude.Hashable DonutOptions where+  hashWithSalt _salt DonutOptions' {..} =+    _salt+      `Prelude.hashWithSalt` arcOptions+      `Prelude.hashWithSalt` donutCenterOptions++instance Prelude.NFData DonutOptions where+  rnf DonutOptions' {..} =+    Prelude.rnf arcOptions+      `Prelude.seq` Prelude.rnf donutCenterOptions++instance Data.ToJSON DonutOptions where+  toJSON DonutOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ArcOptions" Data..=) Prelude.<$> arcOptions,+            ("DonutCenterOptions" Data..=)+              Prelude.<$> donutCenterOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/DrillDownFilter.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.DrillDownFilter+-- 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.QuickSight.Types.DrillDownFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CategoryDrillDownFilter+import Amazonka.QuickSight.Types.NumericEqualityDrillDownFilter+import Amazonka.QuickSight.Types.TimeRangeDrillDownFilter++-- | The drill down filter for the column hierarchies.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newDrillDownFilter' smart constructor.+data DrillDownFilter = DrillDownFilter'+  { -- | The category type drill down filter. This filter is used for string type+    -- columns.+    categoryFilter :: Prelude.Maybe CategoryDrillDownFilter,+    -- | The numeric equality type drill down filter. This filter is used for+    -- number type columns.+    numericEqualityFilter :: Prelude.Maybe NumericEqualityDrillDownFilter,+    -- | The time range drill down filter. This filter is used for date time+    -- columns.+    timeRangeFilter :: Prelude.Maybe TimeRangeDrillDownFilter+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DrillDownFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categoryFilter', 'drillDownFilter_categoryFilter' - The category type drill down filter. This filter is used for string type+-- columns.+--+-- 'numericEqualityFilter', 'drillDownFilter_numericEqualityFilter' - The numeric equality type drill down filter. This filter is used for+-- number type columns.+--+-- 'timeRangeFilter', 'drillDownFilter_timeRangeFilter' - The time range drill down filter. This filter is used for date time+-- columns.+newDrillDownFilter ::+  DrillDownFilter+newDrillDownFilter =+  DrillDownFilter'+    { categoryFilter = Prelude.Nothing,+      numericEqualityFilter = Prelude.Nothing,+      timeRangeFilter = Prelude.Nothing+    }++-- | The category type drill down filter. This filter is used for string type+-- columns.+drillDownFilter_categoryFilter :: Lens.Lens' DrillDownFilter (Prelude.Maybe CategoryDrillDownFilter)+drillDownFilter_categoryFilter = Lens.lens (\DrillDownFilter' {categoryFilter} -> categoryFilter) (\s@DrillDownFilter' {} a -> s {categoryFilter = a} :: DrillDownFilter)++-- | The numeric equality type drill down filter. This filter is used for+-- number type columns.+drillDownFilter_numericEqualityFilter :: Lens.Lens' DrillDownFilter (Prelude.Maybe NumericEqualityDrillDownFilter)+drillDownFilter_numericEqualityFilter = Lens.lens (\DrillDownFilter' {numericEqualityFilter} -> numericEqualityFilter) (\s@DrillDownFilter' {} a -> s {numericEqualityFilter = a} :: DrillDownFilter)++-- | The time range drill down filter. This filter is used for date time+-- columns.+drillDownFilter_timeRangeFilter :: Lens.Lens' DrillDownFilter (Prelude.Maybe TimeRangeDrillDownFilter)+drillDownFilter_timeRangeFilter = Lens.lens (\DrillDownFilter' {timeRangeFilter} -> timeRangeFilter) (\s@DrillDownFilter' {} a -> s {timeRangeFilter = a} :: DrillDownFilter)++instance Data.FromJSON DrillDownFilter where+  parseJSON =+    Data.withObject+      "DrillDownFilter"+      ( \x ->+          DrillDownFilter'+            Prelude.<$> (x Data..:? "CategoryFilter")+            Prelude.<*> (x Data..:? "NumericEqualityFilter")+            Prelude.<*> (x Data..:? "TimeRangeFilter")+      )++instance Prelude.Hashable DrillDownFilter where+  hashWithSalt _salt DrillDownFilter' {..} =+    _salt+      `Prelude.hashWithSalt` categoryFilter+      `Prelude.hashWithSalt` numericEqualityFilter+      `Prelude.hashWithSalt` timeRangeFilter++instance Prelude.NFData DrillDownFilter where+  rnf DrillDownFilter' {..} =+    Prelude.rnf categoryFilter+      `Prelude.seq` Prelude.rnf numericEqualityFilter+      `Prelude.seq` Prelude.rnf timeRangeFilter++instance Data.ToJSON DrillDownFilter where+  toJSON DrillDownFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoryFilter" Data..=)+              Prelude.<$> categoryFilter,+            ("NumericEqualityFilter" Data..=)+              Prelude.<$> numericEqualityFilter,+            ("TimeRangeFilter" Data..=)+              Prelude.<$> timeRangeFilter+          ]+      )
+ gen/Amazonka/QuickSight/Types/DropDownControlDisplayOptions.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.QuickSight.Types.DropDownControlDisplayOptions+-- 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.QuickSight.Types.DropDownControlDisplayOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.LabelOptions+import Amazonka.QuickSight.Types.ListControlSelectAllOptions++-- | The display options of a control.+--+-- /See:/ 'newDropDownControlDisplayOptions' smart constructor.+data DropDownControlDisplayOptions = DropDownControlDisplayOptions'+  { -- | The configuration of the @Select all@ options in a dropdown control.+    selectAllOptions :: Prelude.Maybe ListControlSelectAllOptions,+    -- | The options to configure the title visibility, name, and font size.+    titleOptions :: Prelude.Maybe LabelOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DropDownControlDisplayOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'selectAllOptions', 'dropDownControlDisplayOptions_selectAllOptions' - The configuration of the @Select all@ options in a dropdown control.+--+-- 'titleOptions', 'dropDownControlDisplayOptions_titleOptions' - The options to configure the title visibility, name, and font size.+newDropDownControlDisplayOptions ::+  DropDownControlDisplayOptions+newDropDownControlDisplayOptions =+  DropDownControlDisplayOptions'+    { selectAllOptions =+        Prelude.Nothing,+      titleOptions = Prelude.Nothing+    }++-- | The configuration of the @Select all@ options in a dropdown control.+dropDownControlDisplayOptions_selectAllOptions :: Lens.Lens' DropDownControlDisplayOptions (Prelude.Maybe ListControlSelectAllOptions)+dropDownControlDisplayOptions_selectAllOptions = Lens.lens (\DropDownControlDisplayOptions' {selectAllOptions} -> selectAllOptions) (\s@DropDownControlDisplayOptions' {} a -> s {selectAllOptions = a} :: DropDownControlDisplayOptions)++-- | The options to configure the title visibility, name, and font size.+dropDownControlDisplayOptions_titleOptions :: Lens.Lens' DropDownControlDisplayOptions (Prelude.Maybe LabelOptions)+dropDownControlDisplayOptions_titleOptions = Lens.lens (\DropDownControlDisplayOptions' {titleOptions} -> titleOptions) (\s@DropDownControlDisplayOptions' {} a -> s {titleOptions = a} :: DropDownControlDisplayOptions)++instance Data.FromJSON DropDownControlDisplayOptions where+  parseJSON =+    Data.withObject+      "DropDownControlDisplayOptions"+      ( \x ->+          DropDownControlDisplayOptions'+            Prelude.<$> (x Data..:? "SelectAllOptions")+            Prelude.<*> (x Data..:? "TitleOptions")+      )++instance+  Prelude.Hashable+    DropDownControlDisplayOptions+  where+  hashWithSalt _salt DropDownControlDisplayOptions' {..} =+    _salt+      `Prelude.hashWithSalt` selectAllOptions+      `Prelude.hashWithSalt` titleOptions++instance Prelude.NFData DropDownControlDisplayOptions where+  rnf DropDownControlDisplayOptions' {..} =+    Prelude.rnf selectAllOptions+      `Prelude.seq` Prelude.rnf titleOptions++instance Data.ToJSON DropDownControlDisplayOptions where+  toJSON DropDownControlDisplayOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SelectAllOptions" Data..=)+              Prelude.<$> selectAllOptions,+            ("TitleOptions" Data..=) Prelude.<$> titleOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/DynamicDefaultValue.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.QuickSight.Types.DynamicDefaultValue+-- 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.QuickSight.Types.DynamicDefaultValue where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnIdentifier++-- | Defines different defaults to the users or groups based on mapping.+--+-- /See:/ 'newDynamicDefaultValue' smart constructor.+data DynamicDefaultValue = DynamicDefaultValue'+  { -- | The column that contains the group name.+    groupNameColumn :: Prelude.Maybe ColumnIdentifier,+    -- | The column that contains the username.+    userNameColumn :: Prelude.Maybe ColumnIdentifier,+    -- | The column that contains the default value of each user or group.+    defaultValueColumn :: ColumnIdentifier+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DynamicDefaultValue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'groupNameColumn', 'dynamicDefaultValue_groupNameColumn' - The column that contains the group name.+--+-- 'userNameColumn', 'dynamicDefaultValue_userNameColumn' - The column that contains the username.+--+-- 'defaultValueColumn', 'dynamicDefaultValue_defaultValueColumn' - The column that contains the default value of each user or group.+newDynamicDefaultValue ::+  -- | 'defaultValueColumn'+  ColumnIdentifier ->+  DynamicDefaultValue+newDynamicDefaultValue pDefaultValueColumn_ =+  DynamicDefaultValue'+    { groupNameColumn =+        Prelude.Nothing,+      userNameColumn = Prelude.Nothing,+      defaultValueColumn = pDefaultValueColumn_+    }++-- | The column that contains the group name.+dynamicDefaultValue_groupNameColumn :: Lens.Lens' DynamicDefaultValue (Prelude.Maybe ColumnIdentifier)+dynamicDefaultValue_groupNameColumn = Lens.lens (\DynamicDefaultValue' {groupNameColumn} -> groupNameColumn) (\s@DynamicDefaultValue' {} a -> s {groupNameColumn = a} :: DynamicDefaultValue)++-- | The column that contains the username.+dynamicDefaultValue_userNameColumn :: Lens.Lens' DynamicDefaultValue (Prelude.Maybe ColumnIdentifier)+dynamicDefaultValue_userNameColumn = Lens.lens (\DynamicDefaultValue' {userNameColumn} -> userNameColumn) (\s@DynamicDefaultValue' {} a -> s {userNameColumn = a} :: DynamicDefaultValue)++-- | The column that contains the default value of each user or group.+dynamicDefaultValue_defaultValueColumn :: Lens.Lens' DynamicDefaultValue ColumnIdentifier+dynamicDefaultValue_defaultValueColumn = Lens.lens (\DynamicDefaultValue' {defaultValueColumn} -> defaultValueColumn) (\s@DynamicDefaultValue' {} a -> s {defaultValueColumn = a} :: DynamicDefaultValue)++instance Data.FromJSON DynamicDefaultValue where+  parseJSON =+    Data.withObject+      "DynamicDefaultValue"+      ( \x ->+          DynamicDefaultValue'+            Prelude.<$> (x Data..:? "GroupNameColumn")+            Prelude.<*> (x Data..:? "UserNameColumn")+            Prelude.<*> (x Data..: "DefaultValueColumn")+      )++instance Prelude.Hashable DynamicDefaultValue where+  hashWithSalt _salt DynamicDefaultValue' {..} =+    _salt+      `Prelude.hashWithSalt` groupNameColumn+      `Prelude.hashWithSalt` userNameColumn+      `Prelude.hashWithSalt` defaultValueColumn++instance Prelude.NFData DynamicDefaultValue where+  rnf DynamicDefaultValue' {..} =+    Prelude.rnf groupNameColumn+      `Prelude.seq` Prelude.rnf userNameColumn+      `Prelude.seq` Prelude.rnf defaultValueColumn++instance Data.ToJSON DynamicDefaultValue where+  toJSON DynamicDefaultValue' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("GroupNameColumn" Data..=)+              Prelude.<$> groupNameColumn,+            ("UserNameColumn" Data..=)+              Prelude.<$> userNameColumn,+            Prelude.Just+              ("DefaultValueColumn" Data..= defaultValueColumn)+          ]+      )
+ gen/Amazonka/QuickSight/Types/Edition.hs view
@@ -0,0 +1,73 @@+{-# 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.QuickSight.Types.Edition+-- 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.QuickSight.Types.Edition+  ( Edition+      ( ..,+        Edition_ENTERPRISE,+        Edition_ENTERPRISE_AND_Q,+        Edition_STANDARD+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Edition = Edition' {fromEdition :: 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 Edition_ENTERPRISE :: Edition+pattern Edition_ENTERPRISE = Edition' "ENTERPRISE"++pattern Edition_ENTERPRISE_AND_Q :: Edition+pattern Edition_ENTERPRISE_AND_Q = Edition' "ENTERPRISE_AND_Q"++pattern Edition_STANDARD :: Edition+pattern Edition_STANDARD = Edition' "STANDARD"++{-# COMPLETE+  Edition_ENTERPRISE,+  Edition_ENTERPRISE_AND_Q,+  Edition_STANDARD,+  Edition'+  #-}
+ gen/Amazonka/QuickSight/Types/EmbeddingIdentityType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.EmbeddingIdentityType+-- 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.QuickSight.Types.EmbeddingIdentityType+  ( EmbeddingIdentityType+      ( ..,+        EmbeddingIdentityType_ANONYMOUS,+        EmbeddingIdentityType_IAM,+        EmbeddingIdentityType_QUICKSIGHT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EmbeddingIdentityType = EmbeddingIdentityType'+  { fromEmbeddingIdentityType ::+      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 EmbeddingIdentityType_ANONYMOUS :: EmbeddingIdentityType+pattern EmbeddingIdentityType_ANONYMOUS = EmbeddingIdentityType' "ANONYMOUS"++pattern EmbeddingIdentityType_IAM :: EmbeddingIdentityType+pattern EmbeddingIdentityType_IAM = EmbeddingIdentityType' "IAM"++pattern EmbeddingIdentityType_QUICKSIGHT :: EmbeddingIdentityType+pattern EmbeddingIdentityType_QUICKSIGHT = EmbeddingIdentityType' "QUICKSIGHT"++{-# COMPLETE+  EmbeddingIdentityType_ANONYMOUS,+  EmbeddingIdentityType_IAM,+  EmbeddingIdentityType_QUICKSIGHT,+  EmbeddingIdentityType'+  #-}
+ gen/Amazonka/QuickSight/Types/EmptyVisual.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.EmptyVisual+-- 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.QuickSight.Types.EmptyVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.VisualCustomAction++-- | An empty visual.+--+-- Empty visuals are used in layouts but have not been configured to show+-- any data. A new visual created in the Amazon QuickSight console is+-- considered an @EmptyVisual@ until a visual type is selected.+--+-- /See:/ 'newEmptyVisual' smart constructor.+data EmptyVisual = EmptyVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers.+    visualId :: Prelude.Text,+    -- | The data set that is used in the empty visual. Every visual requires a+    -- dataset to render.+    dataSetIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EmptyVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'emptyVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'visualId', 'emptyVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+--+-- 'dataSetIdentifier', 'emptyVisual_dataSetIdentifier' - The data set that is used in the empty visual. Every visual requires a+-- dataset to render.+newEmptyVisual ::+  -- | 'visualId'+  Prelude.Text ->+  -- | 'dataSetIdentifier'+  Prelude.Text ->+  EmptyVisual+newEmptyVisual pVisualId_ pDataSetIdentifier_ =+  EmptyVisual'+    { actions = Prelude.Nothing,+      visualId = pVisualId_,+      dataSetIdentifier = pDataSetIdentifier_+    }++-- | The list of custom actions that are configured for a visual.+emptyVisual_actions :: Lens.Lens' EmptyVisual (Prelude.Maybe [VisualCustomAction])+emptyVisual_actions = Lens.lens (\EmptyVisual' {actions} -> actions) (\s@EmptyVisual' {} a -> s {actions = a} :: EmptyVisual) Prelude.. Lens.mapping Lens.coerced++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+emptyVisual_visualId :: Lens.Lens' EmptyVisual Prelude.Text+emptyVisual_visualId = Lens.lens (\EmptyVisual' {visualId} -> visualId) (\s@EmptyVisual' {} a -> s {visualId = a} :: EmptyVisual)++-- | The data set that is used in the empty visual. Every visual requires a+-- dataset to render.+emptyVisual_dataSetIdentifier :: Lens.Lens' EmptyVisual Prelude.Text+emptyVisual_dataSetIdentifier = Lens.lens (\EmptyVisual' {dataSetIdentifier} -> dataSetIdentifier) (\s@EmptyVisual' {} a -> s {dataSetIdentifier = a} :: EmptyVisual)++instance Data.FromJSON EmptyVisual where+  parseJSON =+    Data.withObject+      "EmptyVisual"+      ( \x ->+          EmptyVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "VisualId")+            Prelude.<*> (x Data..: "DataSetIdentifier")+      )++instance Prelude.Hashable EmptyVisual where+  hashWithSalt _salt EmptyVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` visualId+      `Prelude.hashWithSalt` dataSetIdentifier++instance Prelude.NFData EmptyVisual where+  rnf EmptyVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf visualId+      `Prelude.seq` Prelude.rnf dataSetIdentifier++instance Data.ToJSON EmptyVisual where+  toJSON EmptyVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            Prelude.Just ("VisualId" Data..= visualId),+            Prelude.Just+              ("DataSetIdentifier" Data..= dataSetIdentifier)+          ]+      )
+ gen/Amazonka/QuickSight/Types/Entity.hs view
@@ -0,0 +1,68 @@+{-# 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.QuickSight.Types.Entity+-- 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.QuickSight.Types.Entity 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 object, structure, or sub-structure of an analysis, template, or+-- dashboard.+--+-- /See:/ 'newEntity' smart constructor.+data Entity = Entity'+  { -- | The hierarchical path of the entity within the analysis, template, or+    -- dashboard definition tree.+    path :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Entity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'path', 'entity_path' - The hierarchical path of the entity within the analysis, template, or+-- dashboard definition tree.+newEntity ::+  Entity+newEntity = Entity' {path = Prelude.Nothing}++-- | The hierarchical path of the entity within the analysis, template, or+-- dashboard definition tree.+entity_path :: Lens.Lens' Entity (Prelude.Maybe Prelude.Text)+entity_path = Lens.lens (\Entity' {path} -> path) (\s@Entity' {} a -> s {path = a} :: Entity)++instance Data.FromJSON Entity where+  parseJSON =+    Data.withObject+      "Entity"+      (\x -> Entity' Prelude.<$> (x Data..:? "Path"))++instance Prelude.Hashable Entity where+  hashWithSalt _salt Entity' {..} =+    _salt `Prelude.hashWithSalt` path++instance Prelude.NFData Entity where+  rnf Entity' {..} = Prelude.rnf path
+ gen/Amazonka/QuickSight/Types/ErrorInfo.hs view
@@ -0,0 +1,84 @@+{-# 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.QuickSight.Types.ErrorInfo+-- 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.QuickSight.Types.ErrorInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.IngestionErrorType++-- | Error information for the SPICE ingestion of a dataset.+--+-- /See:/ 'newErrorInfo' smart constructor.+data ErrorInfo = ErrorInfo'+  { -- | Error message.+    message :: Prelude.Maybe Prelude.Text,+    -- | Error type.+    type' :: Prelude.Maybe IngestionErrorType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ErrorInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'errorInfo_message' - Error message.+--+-- 'type'', 'errorInfo_type' - Error type.+newErrorInfo ::+  ErrorInfo+newErrorInfo =+  ErrorInfo'+    { message = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | Error message.+errorInfo_message :: Lens.Lens' ErrorInfo (Prelude.Maybe Prelude.Text)+errorInfo_message = Lens.lens (\ErrorInfo' {message} -> message) (\s@ErrorInfo' {} a -> s {message = a} :: ErrorInfo)++-- | Error type.+errorInfo_type :: Lens.Lens' ErrorInfo (Prelude.Maybe IngestionErrorType)+errorInfo_type = Lens.lens (\ErrorInfo' {type'} -> type') (\s@ErrorInfo' {} a -> s {type' = a} :: ErrorInfo)++instance Data.FromJSON ErrorInfo where+  parseJSON =+    Data.withObject+      "ErrorInfo"+      ( \x ->+          ErrorInfo'+            Prelude.<$> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable ErrorInfo where+  hashWithSalt _salt ErrorInfo' {..} =+    _salt+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` type'++instance Prelude.NFData ErrorInfo where+  rnf ErrorInfo' {..} =+    Prelude.rnf message `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/QuickSight/Types/ExasolParameters.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ExasolParameters+-- 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.QuickSight.Types.ExasolParameters 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 required parameters for connecting to an Exasol data source.+--+-- /See:/ 'newExasolParameters' smart constructor.+data ExasolParameters = ExasolParameters'+  { -- | The hostname or IP address of the Exasol data source.+    host :: Prelude.Text,+    -- | The port for the Exasol data source.+    port :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExasolParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'host', 'exasolParameters_host' - The hostname or IP address of the Exasol data source.+--+-- 'port', 'exasolParameters_port' - The port for the Exasol data source.+newExasolParameters ::+  -- | 'host'+  Prelude.Text ->+  -- | 'port'+  Prelude.Natural ->+  ExasolParameters+newExasolParameters pHost_ pPort_ =+  ExasolParameters' {host = pHost_, port = pPort_}++-- | The hostname or IP address of the Exasol data source.+exasolParameters_host :: Lens.Lens' ExasolParameters Prelude.Text+exasolParameters_host = Lens.lens (\ExasolParameters' {host} -> host) (\s@ExasolParameters' {} a -> s {host = a} :: ExasolParameters)++-- | The port for the Exasol data source.+exasolParameters_port :: Lens.Lens' ExasolParameters Prelude.Natural+exasolParameters_port = Lens.lens (\ExasolParameters' {port} -> port) (\s@ExasolParameters' {} a -> s {port = a} :: ExasolParameters)++instance Data.FromJSON ExasolParameters where+  parseJSON =+    Data.withObject+      "ExasolParameters"+      ( \x ->+          ExasolParameters'+            Prelude.<$> (x Data..: "Host")+            Prelude.<*> (x Data..: "Port")+      )++instance Prelude.Hashable ExasolParameters where+  hashWithSalt _salt ExasolParameters' {..} =+    _salt+      `Prelude.hashWithSalt` host+      `Prelude.hashWithSalt` port++instance Prelude.NFData ExasolParameters where+  rnf ExasolParameters' {..} =+    Prelude.rnf host `Prelude.seq` Prelude.rnf port++instance Data.ToJSON ExasolParameters where+  toJSON ExasolParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Host" Data..= host),+            Prelude.Just ("Port" Data..= port)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ExcludePeriodConfiguration.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ExcludePeriodConfiguration+-- 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.QuickSight.Types.ExcludePeriodConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TimeGranularity+import Amazonka.QuickSight.Types.WidgetStatus++-- | The exclude period of @TimeRangeFilter@ or @RelativeDatesFilter@.+--+-- /See:/ 'newExcludePeriodConfiguration' smart constructor.+data ExcludePeriodConfiguration = ExcludePeriodConfiguration'+  { -- | The status of the exclude period. Choose from the following options:+    --+    -- -   @ENABLED@+    --+    -- -   @DISABLED@+    status :: Prelude.Maybe WidgetStatus,+    -- | The amount or number of the exclude period.+    amount :: Prelude.Int,+    -- | The granularity or unit (day, month, year) of the exclude period.+    granularity :: TimeGranularity+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExcludePeriodConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'excludePeriodConfiguration_status' - The status of the exclude period. Choose from the following options:+--+-- -   @ENABLED@+--+-- -   @DISABLED@+--+-- 'amount', 'excludePeriodConfiguration_amount' - The amount or number of the exclude period.+--+-- 'granularity', 'excludePeriodConfiguration_granularity' - The granularity or unit (day, month, year) of the exclude period.+newExcludePeriodConfiguration ::+  -- | 'amount'+  Prelude.Int ->+  -- | 'granularity'+  TimeGranularity ->+  ExcludePeriodConfiguration+newExcludePeriodConfiguration pAmount_ pGranularity_ =+  ExcludePeriodConfiguration'+    { status =+        Prelude.Nothing,+      amount = pAmount_,+      granularity = pGranularity_+    }++-- | The status of the exclude period. Choose from the following options:+--+-- -   @ENABLED@+--+-- -   @DISABLED@+excludePeriodConfiguration_status :: Lens.Lens' ExcludePeriodConfiguration (Prelude.Maybe WidgetStatus)+excludePeriodConfiguration_status = Lens.lens (\ExcludePeriodConfiguration' {status} -> status) (\s@ExcludePeriodConfiguration' {} a -> s {status = a} :: ExcludePeriodConfiguration)++-- | The amount or number of the exclude period.+excludePeriodConfiguration_amount :: Lens.Lens' ExcludePeriodConfiguration Prelude.Int+excludePeriodConfiguration_amount = Lens.lens (\ExcludePeriodConfiguration' {amount} -> amount) (\s@ExcludePeriodConfiguration' {} a -> s {amount = a} :: ExcludePeriodConfiguration)++-- | The granularity or unit (day, month, year) of the exclude period.+excludePeriodConfiguration_granularity :: Lens.Lens' ExcludePeriodConfiguration TimeGranularity+excludePeriodConfiguration_granularity = Lens.lens (\ExcludePeriodConfiguration' {granularity} -> granularity) (\s@ExcludePeriodConfiguration' {} a -> s {granularity = a} :: ExcludePeriodConfiguration)++instance Data.FromJSON ExcludePeriodConfiguration where+  parseJSON =+    Data.withObject+      "ExcludePeriodConfiguration"+      ( \x ->+          ExcludePeriodConfiguration'+            Prelude.<$> (x Data..:? "Status")+            Prelude.<*> (x Data..: "Amount")+            Prelude.<*> (x Data..: "Granularity")+      )++instance Prelude.Hashable ExcludePeriodConfiguration where+  hashWithSalt _salt ExcludePeriodConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` amount+      `Prelude.hashWithSalt` granularity++instance Prelude.NFData ExcludePeriodConfiguration where+  rnf ExcludePeriodConfiguration' {..} =+    Prelude.rnf status+      `Prelude.seq` Prelude.rnf amount+      `Prelude.seq` Prelude.rnf granularity++instance Data.ToJSON ExcludePeriodConfiguration where+  toJSON ExcludePeriodConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Status" Data..=) Prelude.<$> status,+            Prelude.Just ("Amount" Data..= amount),+            Prelude.Just ("Granularity" Data..= granularity)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ExplicitHierarchy.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ExplicitHierarchy+-- 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.QuickSight.Types.ExplicitHierarchy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.DrillDownFilter++-- | The option that determines the hierarchy of the fields that are built+-- within a visual\'s field wells. These fields can\'t be duplicated to+-- other visuals.+--+-- /See:/ 'newExplicitHierarchy' smart constructor.+data ExplicitHierarchy = ExplicitHierarchy'+  { -- | The option that determines the drill down filters for the explicit+    -- hierarchy.+    drillDownFilters :: Prelude.Maybe [DrillDownFilter],+    -- | The hierarchy ID of the explicit hierarchy.+    hierarchyId :: Prelude.Text,+    -- | The list of columns that define the explicit hierarchy.+    columns :: Prelude.NonEmpty ColumnIdentifier+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExplicitHierarchy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'drillDownFilters', 'explicitHierarchy_drillDownFilters' - The option that determines the drill down filters for the explicit+-- hierarchy.+--+-- 'hierarchyId', 'explicitHierarchy_hierarchyId' - The hierarchy ID of the explicit hierarchy.+--+-- 'columns', 'explicitHierarchy_columns' - The list of columns that define the explicit hierarchy.+newExplicitHierarchy ::+  -- | 'hierarchyId'+  Prelude.Text ->+  -- | 'columns'+  Prelude.NonEmpty ColumnIdentifier ->+  ExplicitHierarchy+newExplicitHierarchy pHierarchyId_ pColumns_ =+  ExplicitHierarchy'+    { drillDownFilters =+        Prelude.Nothing,+      hierarchyId = pHierarchyId_,+      columns = Lens.coerced Lens.# pColumns_+    }++-- | The option that determines the drill down filters for the explicit+-- hierarchy.+explicitHierarchy_drillDownFilters :: Lens.Lens' ExplicitHierarchy (Prelude.Maybe [DrillDownFilter])+explicitHierarchy_drillDownFilters = Lens.lens (\ExplicitHierarchy' {drillDownFilters} -> drillDownFilters) (\s@ExplicitHierarchy' {} a -> s {drillDownFilters = a} :: ExplicitHierarchy) Prelude.. Lens.mapping Lens.coerced++-- | The hierarchy ID of the explicit hierarchy.+explicitHierarchy_hierarchyId :: Lens.Lens' ExplicitHierarchy Prelude.Text+explicitHierarchy_hierarchyId = Lens.lens (\ExplicitHierarchy' {hierarchyId} -> hierarchyId) (\s@ExplicitHierarchy' {} a -> s {hierarchyId = a} :: ExplicitHierarchy)++-- | The list of columns that define the explicit hierarchy.+explicitHierarchy_columns :: Lens.Lens' ExplicitHierarchy (Prelude.NonEmpty ColumnIdentifier)+explicitHierarchy_columns = Lens.lens (\ExplicitHierarchy' {columns} -> columns) (\s@ExplicitHierarchy' {} a -> s {columns = a} :: ExplicitHierarchy) Prelude.. Lens.coerced++instance Data.FromJSON ExplicitHierarchy where+  parseJSON =+    Data.withObject+      "ExplicitHierarchy"+      ( \x ->+          ExplicitHierarchy'+            Prelude.<$> ( x+                            Data..:? "DrillDownFilters"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "HierarchyId")+            Prelude.<*> (x Data..: "Columns")+      )++instance Prelude.Hashable ExplicitHierarchy where+  hashWithSalt _salt ExplicitHierarchy' {..} =+    _salt+      `Prelude.hashWithSalt` drillDownFilters+      `Prelude.hashWithSalt` hierarchyId+      `Prelude.hashWithSalt` columns++instance Prelude.NFData ExplicitHierarchy where+  rnf ExplicitHierarchy' {..} =+    Prelude.rnf drillDownFilters+      `Prelude.seq` Prelude.rnf hierarchyId+      `Prelude.seq` Prelude.rnf columns++instance Data.ToJSON ExplicitHierarchy where+  toJSON ExplicitHierarchy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DrillDownFilters" Data..=)+              Prelude.<$> drillDownFilters,+            Prelude.Just ("HierarchyId" Data..= hierarchyId),+            Prelude.Just ("Columns" Data..= columns)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ExportHiddenFieldsOption.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ExportHiddenFieldsOption+-- 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.QuickSight.Types.ExportHiddenFieldsOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DashboardBehavior++-- |+--+-- /See:/ 'newExportHiddenFieldsOption' smart constructor.+data ExportHiddenFieldsOption = ExportHiddenFieldsOption'+  { availabilityStatus :: Prelude.Maybe DashboardBehavior+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExportHiddenFieldsOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availabilityStatus', 'exportHiddenFieldsOption_availabilityStatus' -+newExportHiddenFieldsOption ::+  ExportHiddenFieldsOption+newExportHiddenFieldsOption =+  ExportHiddenFieldsOption'+    { availabilityStatus =+        Prelude.Nothing+    }++exportHiddenFieldsOption_availabilityStatus :: Lens.Lens' ExportHiddenFieldsOption (Prelude.Maybe DashboardBehavior)+exportHiddenFieldsOption_availabilityStatus = Lens.lens (\ExportHiddenFieldsOption' {availabilityStatus} -> availabilityStatus) (\s@ExportHiddenFieldsOption' {} a -> s {availabilityStatus = a} :: ExportHiddenFieldsOption)++instance Prelude.Hashable ExportHiddenFieldsOption where+  hashWithSalt _salt ExportHiddenFieldsOption' {..} =+    _salt `Prelude.hashWithSalt` availabilityStatus++instance Prelude.NFData ExportHiddenFieldsOption where+  rnf ExportHiddenFieldsOption' {..} =+    Prelude.rnf availabilityStatus++instance Data.ToJSON ExportHiddenFieldsOption where+  toJSON ExportHiddenFieldsOption' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AvailabilityStatus" Data..=)+              Prelude.<$> availabilityStatus+          ]+      )
+ gen/Amazonka/QuickSight/Types/ExportToCSVOption.hs view
@@ -0,0 +1,73 @@+{-# 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.QuickSight.Types.ExportToCSVOption+-- 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.QuickSight.Types.ExportToCSVOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DashboardBehavior++-- | Export to .csv option.+--+-- /See:/ 'newExportToCSVOption' smart constructor.+data ExportToCSVOption = ExportToCSVOption'+  { -- | Availability status.+    availabilityStatus :: Prelude.Maybe DashboardBehavior+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExportToCSVOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availabilityStatus', 'exportToCSVOption_availabilityStatus' - Availability status.+newExportToCSVOption ::+  ExportToCSVOption+newExportToCSVOption =+  ExportToCSVOption'+    { availabilityStatus =+        Prelude.Nothing+    }++-- | Availability status.+exportToCSVOption_availabilityStatus :: Lens.Lens' ExportToCSVOption (Prelude.Maybe DashboardBehavior)+exportToCSVOption_availabilityStatus = Lens.lens (\ExportToCSVOption' {availabilityStatus} -> availabilityStatus) (\s@ExportToCSVOption' {} a -> s {availabilityStatus = a} :: ExportToCSVOption)++instance Prelude.Hashable ExportToCSVOption where+  hashWithSalt _salt ExportToCSVOption' {..} =+    _salt `Prelude.hashWithSalt` availabilityStatus++instance Prelude.NFData ExportToCSVOption where+  rnf ExportToCSVOption' {..} =+    Prelude.rnf availabilityStatus++instance Data.ToJSON ExportToCSVOption where+  toJSON ExportToCSVOption' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AvailabilityStatus" Data..=)+              Prelude.<$> availabilityStatus+          ]+      )
+ gen/Amazonka/QuickSight/Types/FieldBasedTooltip.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.FieldBasedTooltip+-- 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.QuickSight.Types.FieldBasedTooltip where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TooltipItem+import Amazonka.QuickSight.Types.TooltipTitleType+import Amazonka.QuickSight.Types.Visibility++-- | The setup for the detailed tooltip.+--+-- /See:/ 'newFieldBasedTooltip' smart constructor.+data FieldBasedTooltip = FieldBasedTooltip'+  { -- | The visibility of @Show aggregations@.+    aggregationVisibility :: Prelude.Maybe Visibility,+    -- | The fields configuration in the tooltip.+    tooltipFields :: Prelude.Maybe [TooltipItem],+    -- | The type for the >tooltip title. Choose one of the following options:+    --+    -- -   @NONE@: Doesn\'t use the primary value as the title.+    --+    -- -   @PRIMARY_VALUE@: Uses primary value as the title.+    tooltipTitleType :: Prelude.Maybe TooltipTitleType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FieldBasedTooltip' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aggregationVisibility', 'fieldBasedTooltip_aggregationVisibility' - The visibility of @Show aggregations@.+--+-- 'tooltipFields', 'fieldBasedTooltip_tooltipFields' - The fields configuration in the tooltip.+--+-- 'tooltipTitleType', 'fieldBasedTooltip_tooltipTitleType' - The type for the >tooltip title. Choose one of the following options:+--+-- -   @NONE@: Doesn\'t use the primary value as the title.+--+-- -   @PRIMARY_VALUE@: Uses primary value as the title.+newFieldBasedTooltip ::+  FieldBasedTooltip+newFieldBasedTooltip =+  FieldBasedTooltip'+    { aggregationVisibility =+        Prelude.Nothing,+      tooltipFields = Prelude.Nothing,+      tooltipTitleType = Prelude.Nothing+    }++-- | The visibility of @Show aggregations@.+fieldBasedTooltip_aggregationVisibility :: Lens.Lens' FieldBasedTooltip (Prelude.Maybe Visibility)+fieldBasedTooltip_aggregationVisibility = Lens.lens (\FieldBasedTooltip' {aggregationVisibility} -> aggregationVisibility) (\s@FieldBasedTooltip' {} a -> s {aggregationVisibility = a} :: FieldBasedTooltip)++-- | The fields configuration in the tooltip.+fieldBasedTooltip_tooltipFields :: Lens.Lens' FieldBasedTooltip (Prelude.Maybe [TooltipItem])+fieldBasedTooltip_tooltipFields = Lens.lens (\FieldBasedTooltip' {tooltipFields} -> tooltipFields) (\s@FieldBasedTooltip' {} a -> s {tooltipFields = a} :: FieldBasedTooltip) Prelude.. Lens.mapping Lens.coerced++-- | The type for the >tooltip title. Choose one of the following options:+--+-- -   @NONE@: Doesn\'t use the primary value as the title.+--+-- -   @PRIMARY_VALUE@: Uses primary value as the title.+fieldBasedTooltip_tooltipTitleType :: Lens.Lens' FieldBasedTooltip (Prelude.Maybe TooltipTitleType)+fieldBasedTooltip_tooltipTitleType = Lens.lens (\FieldBasedTooltip' {tooltipTitleType} -> tooltipTitleType) (\s@FieldBasedTooltip' {} a -> s {tooltipTitleType = a} :: FieldBasedTooltip)++instance Data.FromJSON FieldBasedTooltip where+  parseJSON =+    Data.withObject+      "FieldBasedTooltip"+      ( \x ->+          FieldBasedTooltip'+            Prelude.<$> (x Data..:? "AggregationVisibility")+            Prelude.<*> (x Data..:? "TooltipFields" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "TooltipTitleType")+      )++instance Prelude.Hashable FieldBasedTooltip where+  hashWithSalt _salt FieldBasedTooltip' {..} =+    _salt+      `Prelude.hashWithSalt` aggregationVisibility+      `Prelude.hashWithSalt` tooltipFields+      `Prelude.hashWithSalt` tooltipTitleType++instance Prelude.NFData FieldBasedTooltip where+  rnf FieldBasedTooltip' {..} =+    Prelude.rnf aggregationVisibility+      `Prelude.seq` Prelude.rnf tooltipFields+      `Prelude.seq` Prelude.rnf tooltipTitleType++instance Data.ToJSON FieldBasedTooltip where+  toJSON FieldBasedTooltip' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AggregationVisibility" Data..=)+              Prelude.<$> aggregationVisibility,+            ("TooltipFields" Data..=) Prelude.<$> tooltipFields,+            ("TooltipTitleType" Data..=)+              Prelude.<$> tooltipTitleType+          ]+      )
+ gen/Amazonka/QuickSight/Types/FieldFolder.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.FieldFolder+-- 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.QuickSight.Types.FieldFolder 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 FieldFolder element is a folder that contains fields and nested+-- subfolders.+--+-- /See:/ 'newFieldFolder' smart constructor.+data FieldFolder = FieldFolder'+  { -- | A folder has a list of columns. A column can only be in one folder.+    columns :: Prelude.Maybe [Prelude.Text],+    -- | The description for a field folder.+    description :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FieldFolder' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columns', 'fieldFolder_columns' - A folder has a list of columns. A column can only be in one folder.+--+-- 'description', 'fieldFolder_description' - The description for a field folder.+newFieldFolder ::+  FieldFolder+newFieldFolder =+  FieldFolder'+    { columns = Prelude.Nothing,+      description = Prelude.Nothing+    }++-- | A folder has a list of columns. A column can only be in one folder.+fieldFolder_columns :: Lens.Lens' FieldFolder (Prelude.Maybe [Prelude.Text])+fieldFolder_columns = Lens.lens (\FieldFolder' {columns} -> columns) (\s@FieldFolder' {} a -> s {columns = a} :: FieldFolder) Prelude.. Lens.mapping Lens.coerced++-- | The description for a field folder.+fieldFolder_description :: Lens.Lens' FieldFolder (Prelude.Maybe Prelude.Text)+fieldFolder_description = Lens.lens (\FieldFolder' {description} -> description) (\s@FieldFolder' {} a -> s {description = a} :: FieldFolder)++instance Data.FromJSON FieldFolder where+  parseJSON =+    Data.withObject+      "FieldFolder"+      ( \x ->+          FieldFolder'+            Prelude.<$> (x Data..:? "columns" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "description")+      )++instance Prelude.Hashable FieldFolder where+  hashWithSalt _salt FieldFolder' {..} =+    _salt+      `Prelude.hashWithSalt` columns+      `Prelude.hashWithSalt` description++instance Prelude.NFData FieldFolder where+  rnf FieldFolder' {..} =+    Prelude.rnf columns+      `Prelude.seq` Prelude.rnf description++instance Data.ToJSON FieldFolder where+  toJSON FieldFolder' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("columns" Data..=) Prelude.<$> columns,+            ("description" Data..=) Prelude.<$> description+          ]+      )
+ gen/Amazonka/QuickSight/Types/FieldLabelType.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.FieldLabelType+-- 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.QuickSight.Types.FieldLabelType where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The field label type.+--+-- /See:/ 'newFieldLabelType' smart constructor.+data FieldLabelType = FieldLabelType'+  { -- | Indicates the field that is targeted by the field label.+    fieldId :: Prelude.Maybe Prelude.Text,+    -- | The visibility of the field label.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FieldLabelType' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldId', 'fieldLabelType_fieldId' - Indicates the field that is targeted by the field label.+--+-- 'visibility', 'fieldLabelType_visibility' - The visibility of the field label.+newFieldLabelType ::+  FieldLabelType+newFieldLabelType =+  FieldLabelType'+    { fieldId = Prelude.Nothing,+      visibility = Prelude.Nothing+    }++-- | Indicates the field that is targeted by the field label.+fieldLabelType_fieldId :: Lens.Lens' FieldLabelType (Prelude.Maybe Prelude.Text)+fieldLabelType_fieldId = Lens.lens (\FieldLabelType' {fieldId} -> fieldId) (\s@FieldLabelType' {} a -> s {fieldId = a} :: FieldLabelType)++-- | The visibility of the field label.+fieldLabelType_visibility :: Lens.Lens' FieldLabelType (Prelude.Maybe Visibility)+fieldLabelType_visibility = Lens.lens (\FieldLabelType' {visibility} -> visibility) (\s@FieldLabelType' {} a -> s {visibility = a} :: FieldLabelType)++instance Data.FromJSON FieldLabelType where+  parseJSON =+    Data.withObject+      "FieldLabelType"+      ( \x ->+          FieldLabelType'+            Prelude.<$> (x Data..:? "FieldId")+            Prelude.<*> (x Data..:? "Visibility")+      )++instance Prelude.Hashable FieldLabelType where+  hashWithSalt _salt FieldLabelType' {..} =+    _salt+      `Prelude.hashWithSalt` fieldId+      `Prelude.hashWithSalt` visibility++instance Prelude.NFData FieldLabelType where+  rnf FieldLabelType' {..} =+    Prelude.rnf fieldId+      `Prelude.seq` Prelude.rnf visibility++instance Data.ToJSON FieldLabelType where+  toJSON FieldLabelType' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FieldId" Data..=) Prelude.<$> fieldId,+            ("Visibility" Data..=) Prelude.<$> visibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/FieldSeriesItem.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.FieldSeriesItem+-- 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.QuickSight.Types.FieldSeriesItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AxisBinding+import Amazonka.QuickSight.Types.LineChartSeriesSettings++-- | The field series item configuration of a line chart.+--+-- /See:/ 'newFieldSeriesItem' smart constructor.+data FieldSeriesItem = FieldSeriesItem'+  { -- | The options that determine the presentation of line series associated to+    -- the field.+    settings :: Prelude.Maybe LineChartSeriesSettings,+    -- | The field ID of the field for which you are setting the axis binding.+    fieldId :: Prelude.Text,+    -- | The axis that you are binding the field to.+    axisBinding :: AxisBinding+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FieldSeriesItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'settings', 'fieldSeriesItem_settings' - The options that determine the presentation of line series associated to+-- the field.+--+-- 'fieldId', 'fieldSeriesItem_fieldId' - The field ID of the field for which you are setting the axis binding.+--+-- 'axisBinding', 'fieldSeriesItem_axisBinding' - The axis that you are binding the field to.+newFieldSeriesItem ::+  -- | 'fieldId'+  Prelude.Text ->+  -- | 'axisBinding'+  AxisBinding ->+  FieldSeriesItem+newFieldSeriesItem pFieldId_ pAxisBinding_ =+  FieldSeriesItem'+    { settings = Prelude.Nothing,+      fieldId = pFieldId_,+      axisBinding = pAxisBinding_+    }++-- | The options that determine the presentation of line series associated to+-- the field.+fieldSeriesItem_settings :: Lens.Lens' FieldSeriesItem (Prelude.Maybe LineChartSeriesSettings)+fieldSeriesItem_settings = Lens.lens (\FieldSeriesItem' {settings} -> settings) (\s@FieldSeriesItem' {} a -> s {settings = a} :: FieldSeriesItem)++-- | The field ID of the field for which you are setting the axis binding.+fieldSeriesItem_fieldId :: Lens.Lens' FieldSeriesItem Prelude.Text+fieldSeriesItem_fieldId = Lens.lens (\FieldSeriesItem' {fieldId} -> fieldId) (\s@FieldSeriesItem' {} a -> s {fieldId = a} :: FieldSeriesItem)++-- | The axis that you are binding the field to.+fieldSeriesItem_axisBinding :: Lens.Lens' FieldSeriesItem AxisBinding+fieldSeriesItem_axisBinding = Lens.lens (\FieldSeriesItem' {axisBinding} -> axisBinding) (\s@FieldSeriesItem' {} a -> s {axisBinding = a} :: FieldSeriesItem)++instance Data.FromJSON FieldSeriesItem where+  parseJSON =+    Data.withObject+      "FieldSeriesItem"+      ( \x ->+          FieldSeriesItem'+            Prelude.<$> (x Data..:? "Settings")+            Prelude.<*> (x Data..: "FieldId")+            Prelude.<*> (x Data..: "AxisBinding")+      )++instance Prelude.Hashable FieldSeriesItem where+  hashWithSalt _salt FieldSeriesItem' {..} =+    _salt+      `Prelude.hashWithSalt` settings+      `Prelude.hashWithSalt` fieldId+      `Prelude.hashWithSalt` axisBinding++instance Prelude.NFData FieldSeriesItem where+  rnf FieldSeriesItem' {..} =+    Prelude.rnf settings+      `Prelude.seq` Prelude.rnf fieldId+      `Prelude.seq` Prelude.rnf axisBinding++instance Data.ToJSON FieldSeriesItem where+  toJSON FieldSeriesItem' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Settings" Data..=) Prelude.<$> settings,+            Prelude.Just ("FieldId" Data..= fieldId),+            Prelude.Just ("AxisBinding" Data..= axisBinding)+          ]+      )
+ gen/Amazonka/QuickSight/Types/FieldSort.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.FieldSort+-- 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.QuickSight.Types.FieldSort where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.SortDirection++-- | The sort configuration for a field in a field well.+--+-- /See:/ 'newFieldSort' smart constructor.+data FieldSort = FieldSort'+  { -- | The sort configuration target field.+    fieldId :: Prelude.Text,+    -- | The sort direction. Choose one of the following options:+    --+    -- -   @ASC@: Ascending+    --+    -- -   @DESC@: Descending+    direction :: SortDirection+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FieldSort' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldId', 'fieldSort_fieldId' - The sort configuration target field.+--+-- 'direction', 'fieldSort_direction' - The sort direction. Choose one of the following options:+--+-- -   @ASC@: Ascending+--+-- -   @DESC@: Descending+newFieldSort ::+  -- | 'fieldId'+  Prelude.Text ->+  -- | 'direction'+  SortDirection ->+  FieldSort+newFieldSort pFieldId_ pDirection_ =+  FieldSort'+    { fieldId = pFieldId_,+      direction = pDirection_+    }++-- | The sort configuration target field.+fieldSort_fieldId :: Lens.Lens' FieldSort Prelude.Text+fieldSort_fieldId = Lens.lens (\FieldSort' {fieldId} -> fieldId) (\s@FieldSort' {} a -> s {fieldId = a} :: FieldSort)++-- | The sort direction. Choose one of the following options:+--+-- -   @ASC@: Ascending+--+-- -   @DESC@: Descending+fieldSort_direction :: Lens.Lens' FieldSort SortDirection+fieldSort_direction = Lens.lens (\FieldSort' {direction} -> direction) (\s@FieldSort' {} a -> s {direction = a} :: FieldSort)++instance Data.FromJSON FieldSort where+  parseJSON =+    Data.withObject+      "FieldSort"+      ( \x ->+          FieldSort'+            Prelude.<$> (x Data..: "FieldId")+            Prelude.<*> (x Data..: "Direction")+      )++instance Prelude.Hashable FieldSort where+  hashWithSalt _salt FieldSort' {..} =+    _salt+      `Prelude.hashWithSalt` fieldId+      `Prelude.hashWithSalt` direction++instance Prelude.NFData FieldSort where+  rnf FieldSort' {..} =+    Prelude.rnf fieldId+      `Prelude.seq` Prelude.rnf direction++instance Data.ToJSON FieldSort where+  toJSON FieldSort' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("FieldId" Data..= fieldId),+            Prelude.Just ("Direction" Data..= direction)+          ]+      )
+ gen/Amazonka/QuickSight/Types/FieldSortOptions.hs view
@@ -0,0 +1,95 @@+{-# 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.QuickSight.Types.FieldSortOptions+-- 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.QuickSight.Types.FieldSortOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnSort+import Amazonka.QuickSight.Types.FieldSort++-- | The field sort options in a chart configuration.+--+-- /See:/ 'newFieldSortOptions' smart constructor.+data FieldSortOptions = FieldSortOptions'+  { -- | The sort configuration for a column that is not used in a field well.+    columnSort :: Prelude.Maybe ColumnSort,+    -- | The sort configuration for a field in a field well.+    fieldSort :: Prelude.Maybe FieldSort+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FieldSortOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columnSort', 'fieldSortOptions_columnSort' - The sort configuration for a column that is not used in a field well.+--+-- 'fieldSort', 'fieldSortOptions_fieldSort' - The sort configuration for a field in a field well.+newFieldSortOptions ::+  FieldSortOptions+newFieldSortOptions =+  FieldSortOptions'+    { columnSort = Prelude.Nothing,+      fieldSort = Prelude.Nothing+    }++-- | The sort configuration for a column that is not used in a field well.+fieldSortOptions_columnSort :: Lens.Lens' FieldSortOptions (Prelude.Maybe ColumnSort)+fieldSortOptions_columnSort = Lens.lens (\FieldSortOptions' {columnSort} -> columnSort) (\s@FieldSortOptions' {} a -> s {columnSort = a} :: FieldSortOptions)++-- | The sort configuration for a field in a field well.+fieldSortOptions_fieldSort :: Lens.Lens' FieldSortOptions (Prelude.Maybe FieldSort)+fieldSortOptions_fieldSort = Lens.lens (\FieldSortOptions' {fieldSort} -> fieldSort) (\s@FieldSortOptions' {} a -> s {fieldSort = a} :: FieldSortOptions)++instance Data.FromJSON FieldSortOptions where+  parseJSON =+    Data.withObject+      "FieldSortOptions"+      ( \x ->+          FieldSortOptions'+            Prelude.<$> (x Data..:? "ColumnSort")+            Prelude.<*> (x Data..:? "FieldSort")+      )++instance Prelude.Hashable FieldSortOptions where+  hashWithSalt _salt FieldSortOptions' {..} =+    _salt+      `Prelude.hashWithSalt` columnSort+      `Prelude.hashWithSalt` fieldSort++instance Prelude.NFData FieldSortOptions where+  rnf FieldSortOptions' {..} =+    Prelude.rnf columnSort+      `Prelude.seq` Prelude.rnf fieldSort++instance Data.ToJSON FieldSortOptions where+  toJSON FieldSortOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ColumnSort" Data..=) Prelude.<$> columnSort,+            ("FieldSort" Data..=) Prelude.<$> fieldSort+          ]+      )
+ gen/Amazonka/QuickSight/Types/FieldTooltipItem.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.QuickSight.Types.FieldTooltipItem+-- 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.QuickSight.Types.FieldTooltipItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The tooltip item for the fields.+--+-- /See:/ 'newFieldTooltipItem' smart constructor.+data FieldTooltipItem = FieldTooltipItem'+  { -- | The label of the tooltip item.+    label :: Prelude.Maybe Prelude.Text,+    -- | The visibility of the tooltip item.+    visibility :: Prelude.Maybe Visibility,+    -- | The unique ID of the field that is targeted by the tooltip.+    fieldId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FieldTooltipItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'label', 'fieldTooltipItem_label' - The label of the tooltip item.+--+-- 'visibility', 'fieldTooltipItem_visibility' - The visibility of the tooltip item.+--+-- 'fieldId', 'fieldTooltipItem_fieldId' - The unique ID of the field that is targeted by the tooltip.+newFieldTooltipItem ::+  -- | 'fieldId'+  Prelude.Text ->+  FieldTooltipItem+newFieldTooltipItem pFieldId_ =+  FieldTooltipItem'+    { label = Prelude.Nothing,+      visibility = Prelude.Nothing,+      fieldId = pFieldId_+    }++-- | The label of the tooltip item.+fieldTooltipItem_label :: Lens.Lens' FieldTooltipItem (Prelude.Maybe Prelude.Text)+fieldTooltipItem_label = Lens.lens (\FieldTooltipItem' {label} -> label) (\s@FieldTooltipItem' {} a -> s {label = a} :: FieldTooltipItem)++-- | The visibility of the tooltip item.+fieldTooltipItem_visibility :: Lens.Lens' FieldTooltipItem (Prelude.Maybe Visibility)+fieldTooltipItem_visibility = Lens.lens (\FieldTooltipItem' {visibility} -> visibility) (\s@FieldTooltipItem' {} a -> s {visibility = a} :: FieldTooltipItem)++-- | The unique ID of the field that is targeted by the tooltip.+fieldTooltipItem_fieldId :: Lens.Lens' FieldTooltipItem Prelude.Text+fieldTooltipItem_fieldId = Lens.lens (\FieldTooltipItem' {fieldId} -> fieldId) (\s@FieldTooltipItem' {} a -> s {fieldId = a} :: FieldTooltipItem)++instance Data.FromJSON FieldTooltipItem where+  parseJSON =+    Data.withObject+      "FieldTooltipItem"+      ( \x ->+          FieldTooltipItem'+            Prelude.<$> (x Data..:? "Label")+            Prelude.<*> (x Data..:? "Visibility")+            Prelude.<*> (x Data..: "FieldId")+      )++instance Prelude.Hashable FieldTooltipItem where+  hashWithSalt _salt FieldTooltipItem' {..} =+    _salt+      `Prelude.hashWithSalt` label+      `Prelude.hashWithSalt` visibility+      `Prelude.hashWithSalt` fieldId++instance Prelude.NFData FieldTooltipItem where+  rnf FieldTooltipItem' {..} =+    Prelude.rnf label+      `Prelude.seq` Prelude.rnf visibility+      `Prelude.seq` Prelude.rnf fieldId++instance Data.ToJSON FieldTooltipItem where+  toJSON FieldTooltipItem' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Label" Data..=) Prelude.<$> label,+            ("Visibility" Data..=) Prelude.<$> visibility,+            Prelude.Just ("FieldId" Data..= fieldId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/FileFormat.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.QuickSight.Types.FileFormat+-- 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.QuickSight.Types.FileFormat+  ( FileFormat+      ( ..,+        FileFormat_CLF,+        FileFormat_CSV,+        FileFormat_ELF,+        FileFormat_JSON,+        FileFormat_TSV,+        FileFormat_XLSX+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FileFormat = FileFormat'+  { fromFileFormat ::+      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 FileFormat_CLF :: FileFormat+pattern FileFormat_CLF = FileFormat' "CLF"++pattern FileFormat_CSV :: FileFormat+pattern FileFormat_CSV = FileFormat' "CSV"++pattern FileFormat_ELF :: FileFormat+pattern FileFormat_ELF = FileFormat' "ELF"++pattern FileFormat_JSON :: FileFormat+pattern FileFormat_JSON = FileFormat' "JSON"++pattern FileFormat_TSV :: FileFormat+pattern FileFormat_TSV = FileFormat' "TSV"++pattern FileFormat_XLSX :: FileFormat+pattern FileFormat_XLSX = FileFormat' "XLSX"++{-# COMPLETE+  FileFormat_CLF,+  FileFormat_CSV,+  FileFormat_ELF,+  FileFormat_JSON,+  FileFormat_TSV,+  FileFormat_XLSX,+  FileFormat'+  #-}
+ gen/Amazonka/QuickSight/Types/FilledMapAggregatedFieldWells.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.QuickSight.Types.FilledMapAggregatedFieldWells+-- 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.QuickSight.Types.FilledMapAggregatedFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The aggregated field well of the filled map.+--+-- /See:/ 'newFilledMapAggregatedFieldWells' smart constructor.+data FilledMapAggregatedFieldWells = FilledMapAggregatedFieldWells'+  { -- | The aggregated location field well of the filled map. Values are grouped+    -- by location fields.+    geospatial :: Prelude.Maybe [DimensionField],+    -- | The aggregated color field well of a filled map. Values are aggregated+    -- based on location fields.+    values :: Prelude.Maybe [MeasureField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilledMapAggregatedFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'geospatial', 'filledMapAggregatedFieldWells_geospatial' - The aggregated location field well of the filled map. Values are grouped+-- by location fields.+--+-- 'values', 'filledMapAggregatedFieldWells_values' - The aggregated color field well of a filled map. Values are aggregated+-- based on location fields.+newFilledMapAggregatedFieldWells ::+  FilledMapAggregatedFieldWells+newFilledMapAggregatedFieldWells =+  FilledMapAggregatedFieldWells'+    { geospatial =+        Prelude.Nothing,+      values = Prelude.Nothing+    }++-- | The aggregated location field well of the filled map. Values are grouped+-- by location fields.+filledMapAggregatedFieldWells_geospatial :: Lens.Lens' FilledMapAggregatedFieldWells (Prelude.Maybe [DimensionField])+filledMapAggregatedFieldWells_geospatial = Lens.lens (\FilledMapAggregatedFieldWells' {geospatial} -> geospatial) (\s@FilledMapAggregatedFieldWells' {} a -> s {geospatial = a} :: FilledMapAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The aggregated color field well of a filled map. Values are aggregated+-- based on location fields.+filledMapAggregatedFieldWells_values :: Lens.Lens' FilledMapAggregatedFieldWells (Prelude.Maybe [MeasureField])+filledMapAggregatedFieldWells_values = Lens.lens (\FilledMapAggregatedFieldWells' {values} -> values) (\s@FilledMapAggregatedFieldWells' {} a -> s {values = a} :: FilledMapAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON FilledMapAggregatedFieldWells where+  parseJSON =+    Data.withObject+      "FilledMapAggregatedFieldWells"+      ( \x ->+          FilledMapAggregatedFieldWells'+            Prelude.<$> (x Data..:? "Geospatial" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Values" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    FilledMapAggregatedFieldWells+  where+  hashWithSalt _salt FilledMapAggregatedFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` geospatial+      `Prelude.hashWithSalt` values++instance Prelude.NFData FilledMapAggregatedFieldWells where+  rnf FilledMapAggregatedFieldWells' {..} =+    Prelude.rnf geospatial+      `Prelude.seq` Prelude.rnf values++instance Data.ToJSON FilledMapAggregatedFieldWells where+  toJSON FilledMapAggregatedFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Geospatial" Data..=) Prelude.<$> geospatial,+            ("Values" Data..=) Prelude.<$> values+          ]+      )
+ gen/Amazonka/QuickSight/Types/FilledMapConditionalFormatting.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.QuickSight.Types.FilledMapConditionalFormatting+-- 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.QuickSight.Types.FilledMapConditionalFormatting where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FilledMapConditionalFormattingOption++-- | The conditional formatting of a @FilledMapVisual@.+--+-- /See:/ 'newFilledMapConditionalFormatting' smart constructor.+data FilledMapConditionalFormatting = FilledMapConditionalFormatting'+  { -- | Conditional formatting options of a @FilledMapVisual@.+    conditionalFormattingOptions :: [FilledMapConditionalFormattingOption]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilledMapConditionalFormatting' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'conditionalFormattingOptions', 'filledMapConditionalFormatting_conditionalFormattingOptions' - Conditional formatting options of a @FilledMapVisual@.+newFilledMapConditionalFormatting ::+  FilledMapConditionalFormatting+newFilledMapConditionalFormatting =+  FilledMapConditionalFormatting'+    { conditionalFormattingOptions =+        Prelude.mempty+    }++-- | Conditional formatting options of a @FilledMapVisual@.+filledMapConditionalFormatting_conditionalFormattingOptions :: Lens.Lens' FilledMapConditionalFormatting [FilledMapConditionalFormattingOption]+filledMapConditionalFormatting_conditionalFormattingOptions = Lens.lens (\FilledMapConditionalFormatting' {conditionalFormattingOptions} -> conditionalFormattingOptions) (\s@FilledMapConditionalFormatting' {} a -> s {conditionalFormattingOptions = a} :: FilledMapConditionalFormatting) Prelude.. Lens.coerced++instance Data.FromJSON FilledMapConditionalFormatting where+  parseJSON =+    Data.withObject+      "FilledMapConditionalFormatting"+      ( \x ->+          FilledMapConditionalFormatting'+            Prelude.<$> ( x+                            Data..:? "ConditionalFormattingOptions"+                            Data..!= Prelude.mempty+                        )+      )++instance+  Prelude.Hashable+    FilledMapConditionalFormatting+  where+  hashWithSalt+    _salt+    FilledMapConditionalFormatting' {..} =+      _salt+        `Prelude.hashWithSalt` conditionalFormattingOptions++instance+  Prelude.NFData+    FilledMapConditionalFormatting+  where+  rnf FilledMapConditionalFormatting' {..} =+    Prelude.rnf conditionalFormattingOptions++instance Data.ToJSON FilledMapConditionalFormatting where+  toJSON FilledMapConditionalFormatting' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "ConditionalFormattingOptions"+                  Data..= conditionalFormattingOptions+              )+          ]+      )
+ gen/Amazonka/QuickSight/Types/FilledMapConditionalFormattingOption.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.QuickSight.Types.FilledMapConditionalFormattingOption+-- 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.QuickSight.Types.FilledMapConditionalFormattingOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FilledMapShapeConditionalFormatting++-- | Conditional formatting options of a @FilledMapVisual@.+--+-- /See:/ 'newFilledMapConditionalFormattingOption' smart constructor.+data FilledMapConditionalFormattingOption = FilledMapConditionalFormattingOption'+  { -- | The conditional formatting that determines the shape of the filled map.+    shape :: FilledMapShapeConditionalFormatting+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilledMapConditionalFormattingOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'shape', 'filledMapConditionalFormattingOption_shape' - The conditional formatting that determines the shape of the filled map.+newFilledMapConditionalFormattingOption ::+  -- | 'shape'+  FilledMapShapeConditionalFormatting ->+  FilledMapConditionalFormattingOption+newFilledMapConditionalFormattingOption pShape_ =+  FilledMapConditionalFormattingOption'+    { shape =+        pShape_+    }++-- | The conditional formatting that determines the shape of the filled map.+filledMapConditionalFormattingOption_shape :: Lens.Lens' FilledMapConditionalFormattingOption FilledMapShapeConditionalFormatting+filledMapConditionalFormattingOption_shape = Lens.lens (\FilledMapConditionalFormattingOption' {shape} -> shape) (\s@FilledMapConditionalFormattingOption' {} a -> s {shape = a} :: FilledMapConditionalFormattingOption)++instance+  Data.FromJSON+    FilledMapConditionalFormattingOption+  where+  parseJSON =+    Data.withObject+      "FilledMapConditionalFormattingOption"+      ( \x ->+          FilledMapConditionalFormattingOption'+            Prelude.<$> (x Data..: "Shape")+      )++instance+  Prelude.Hashable+    FilledMapConditionalFormattingOption+  where+  hashWithSalt+    _salt+    FilledMapConditionalFormattingOption' {..} =+      _salt `Prelude.hashWithSalt` shape++instance+  Prelude.NFData+    FilledMapConditionalFormattingOption+  where+  rnf FilledMapConditionalFormattingOption' {..} =+    Prelude.rnf shape++instance+  Data.ToJSON+    FilledMapConditionalFormattingOption+  where+  toJSON FilledMapConditionalFormattingOption' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Shape" Data..= shape)]+      )
+ gen/Amazonka/QuickSight/Types/FilledMapConfiguration.hs view
@@ -0,0 +1,154 @@+{-# 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.QuickSight.Types.FilledMapConfiguration+-- 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.QuickSight.Types.FilledMapConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FilledMapFieldWells+import Amazonka.QuickSight.Types.FilledMapSortConfiguration+import Amazonka.QuickSight.Types.GeospatialMapStyleOptions+import Amazonka.QuickSight.Types.GeospatialWindowOptions+import Amazonka.QuickSight.Types.LegendOptions+import Amazonka.QuickSight.Types.TooltipOptions++-- | The configuration for a @FilledMapVisual@.+--+-- /See:/ 'newFilledMapConfiguration' smart constructor.+data FilledMapConfiguration = FilledMapConfiguration'+  { -- | The field wells of the visual.+    fieldWells :: Prelude.Maybe FilledMapFieldWells,+    -- | The legend display setup of the visual.+    legend :: Prelude.Maybe LegendOptions,+    -- | The map style options of the filled map visual.+    mapStyleOptions :: Prelude.Maybe GeospatialMapStyleOptions,+    -- | The sort configuration of a @FilledMapVisual@.+    sortConfiguration :: Prelude.Maybe FilledMapSortConfiguration,+    -- | The tooltip display setup of the visual.+    tooltip :: Prelude.Maybe TooltipOptions,+    -- | The window options of the filled map visual.+    windowOptions :: Prelude.Maybe GeospatialWindowOptions+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilledMapConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldWells', 'filledMapConfiguration_fieldWells' - The field wells of the visual.+--+-- 'legend', 'filledMapConfiguration_legend' - The legend display setup of the visual.+--+-- 'mapStyleOptions', 'filledMapConfiguration_mapStyleOptions' - The map style options of the filled map visual.+--+-- 'sortConfiguration', 'filledMapConfiguration_sortConfiguration' - The sort configuration of a @FilledMapVisual@.+--+-- 'tooltip', 'filledMapConfiguration_tooltip' - The tooltip display setup of the visual.+--+-- 'windowOptions', 'filledMapConfiguration_windowOptions' - The window options of the filled map visual.+newFilledMapConfiguration ::+  FilledMapConfiguration+newFilledMapConfiguration =+  FilledMapConfiguration'+    { fieldWells =+        Prelude.Nothing,+      legend = Prelude.Nothing,+      mapStyleOptions = Prelude.Nothing,+      sortConfiguration = Prelude.Nothing,+      tooltip = Prelude.Nothing,+      windowOptions = Prelude.Nothing+    }++-- | The field wells of the visual.+filledMapConfiguration_fieldWells :: Lens.Lens' FilledMapConfiguration (Prelude.Maybe FilledMapFieldWells)+filledMapConfiguration_fieldWells = Lens.lens (\FilledMapConfiguration' {fieldWells} -> fieldWells) (\s@FilledMapConfiguration' {} a -> s {fieldWells = a} :: FilledMapConfiguration)++-- | The legend display setup of the visual.+filledMapConfiguration_legend :: Lens.Lens' FilledMapConfiguration (Prelude.Maybe LegendOptions)+filledMapConfiguration_legend = Lens.lens (\FilledMapConfiguration' {legend} -> legend) (\s@FilledMapConfiguration' {} a -> s {legend = a} :: FilledMapConfiguration)++-- | The map style options of the filled map visual.+filledMapConfiguration_mapStyleOptions :: Lens.Lens' FilledMapConfiguration (Prelude.Maybe GeospatialMapStyleOptions)+filledMapConfiguration_mapStyleOptions = Lens.lens (\FilledMapConfiguration' {mapStyleOptions} -> mapStyleOptions) (\s@FilledMapConfiguration' {} a -> s {mapStyleOptions = a} :: FilledMapConfiguration)++-- | The sort configuration of a @FilledMapVisual@.+filledMapConfiguration_sortConfiguration :: Lens.Lens' FilledMapConfiguration (Prelude.Maybe FilledMapSortConfiguration)+filledMapConfiguration_sortConfiguration = Lens.lens (\FilledMapConfiguration' {sortConfiguration} -> sortConfiguration) (\s@FilledMapConfiguration' {} a -> s {sortConfiguration = a} :: FilledMapConfiguration)++-- | The tooltip display setup of the visual.+filledMapConfiguration_tooltip :: Lens.Lens' FilledMapConfiguration (Prelude.Maybe TooltipOptions)+filledMapConfiguration_tooltip = Lens.lens (\FilledMapConfiguration' {tooltip} -> tooltip) (\s@FilledMapConfiguration' {} a -> s {tooltip = a} :: FilledMapConfiguration)++-- | The window options of the filled map visual.+filledMapConfiguration_windowOptions :: Lens.Lens' FilledMapConfiguration (Prelude.Maybe GeospatialWindowOptions)+filledMapConfiguration_windowOptions = Lens.lens (\FilledMapConfiguration' {windowOptions} -> windowOptions) (\s@FilledMapConfiguration' {} a -> s {windowOptions = a} :: FilledMapConfiguration)++instance Data.FromJSON FilledMapConfiguration where+  parseJSON =+    Data.withObject+      "FilledMapConfiguration"+      ( \x ->+          FilledMapConfiguration'+            Prelude.<$> (x Data..:? "FieldWells")+            Prelude.<*> (x Data..:? "Legend")+            Prelude.<*> (x Data..:? "MapStyleOptions")+            Prelude.<*> (x Data..:? "SortConfiguration")+            Prelude.<*> (x Data..:? "Tooltip")+            Prelude.<*> (x Data..:? "WindowOptions")+      )++instance Prelude.Hashable FilledMapConfiguration where+  hashWithSalt _salt FilledMapConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` fieldWells+      `Prelude.hashWithSalt` legend+      `Prelude.hashWithSalt` mapStyleOptions+      `Prelude.hashWithSalt` sortConfiguration+      `Prelude.hashWithSalt` tooltip+      `Prelude.hashWithSalt` windowOptions++instance Prelude.NFData FilledMapConfiguration where+  rnf FilledMapConfiguration' {..} =+    Prelude.rnf fieldWells+      `Prelude.seq` Prelude.rnf legend+      `Prelude.seq` Prelude.rnf mapStyleOptions+      `Prelude.seq` Prelude.rnf sortConfiguration+      `Prelude.seq` Prelude.rnf tooltip+      `Prelude.seq` Prelude.rnf windowOptions++instance Data.ToJSON FilledMapConfiguration where+  toJSON FilledMapConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FieldWells" Data..=) Prelude.<$> fieldWells,+            ("Legend" Data..=) Prelude.<$> legend,+            ("MapStyleOptions" Data..=)+              Prelude.<$> mapStyleOptions,+            ("SortConfiguration" Data..=)+              Prelude.<$> sortConfiguration,+            ("Tooltip" Data..=) Prelude.<$> tooltip,+            ("WindowOptions" Data..=) Prelude.<$> windowOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/FilledMapFieldWells.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.QuickSight.Types.FilledMapFieldWells+-- 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.QuickSight.Types.FilledMapFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FilledMapAggregatedFieldWells++-- | The field wells of a @FilledMapVisual@.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newFilledMapFieldWells' smart constructor.+data FilledMapFieldWells = FilledMapFieldWells'+  { -- | The aggregated field well of the filled map.+    filledMapAggregatedFieldWells :: Prelude.Maybe FilledMapAggregatedFieldWells+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilledMapFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filledMapAggregatedFieldWells', 'filledMapFieldWells_filledMapAggregatedFieldWells' - The aggregated field well of the filled map.+newFilledMapFieldWells ::+  FilledMapFieldWells+newFilledMapFieldWells =+  FilledMapFieldWells'+    { filledMapAggregatedFieldWells =+        Prelude.Nothing+    }++-- | The aggregated field well of the filled map.+filledMapFieldWells_filledMapAggregatedFieldWells :: Lens.Lens' FilledMapFieldWells (Prelude.Maybe FilledMapAggregatedFieldWells)+filledMapFieldWells_filledMapAggregatedFieldWells = Lens.lens (\FilledMapFieldWells' {filledMapAggregatedFieldWells} -> filledMapAggregatedFieldWells) (\s@FilledMapFieldWells' {} a -> s {filledMapAggregatedFieldWells = a} :: FilledMapFieldWells)++instance Data.FromJSON FilledMapFieldWells where+  parseJSON =+    Data.withObject+      "FilledMapFieldWells"+      ( \x ->+          FilledMapFieldWells'+            Prelude.<$> (x Data..:? "FilledMapAggregatedFieldWells")+      )++instance Prelude.Hashable FilledMapFieldWells where+  hashWithSalt _salt FilledMapFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` filledMapAggregatedFieldWells++instance Prelude.NFData FilledMapFieldWells where+  rnf FilledMapFieldWells' {..} =+    Prelude.rnf filledMapAggregatedFieldWells++instance Data.ToJSON FilledMapFieldWells where+  toJSON FilledMapFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FilledMapAggregatedFieldWells" Data..=)+              Prelude.<$> filledMapAggregatedFieldWells+          ]+      )
+ gen/Amazonka/QuickSight/Types/FilledMapShapeConditionalFormatting.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.QuickSight.Types.FilledMapShapeConditionalFormatting+-- 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.QuickSight.Types.FilledMapShapeConditionalFormatting where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ShapeConditionalFormat++-- | The conditional formatting that determines the shape of the filled map.+--+-- /See:/ 'newFilledMapShapeConditionalFormatting' smart constructor.+data FilledMapShapeConditionalFormatting = FilledMapShapeConditionalFormatting'+  { -- | The conditional formatting that determines the background color of a+    -- filled map\'s shape.+    format :: Prelude.Maybe ShapeConditionalFormat,+    -- | The field ID of the filled map shape.+    fieldId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilledMapShapeConditionalFormatting' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'format', 'filledMapShapeConditionalFormatting_format' - The conditional formatting that determines the background color of a+-- filled map\'s shape.+--+-- 'fieldId', 'filledMapShapeConditionalFormatting_fieldId' - The field ID of the filled map shape.+newFilledMapShapeConditionalFormatting ::+  -- | 'fieldId'+  Prelude.Text ->+  FilledMapShapeConditionalFormatting+newFilledMapShapeConditionalFormatting pFieldId_ =+  FilledMapShapeConditionalFormatting'+    { format =+        Prelude.Nothing,+      fieldId = pFieldId_+    }++-- | The conditional formatting that determines the background color of a+-- filled map\'s shape.+filledMapShapeConditionalFormatting_format :: Lens.Lens' FilledMapShapeConditionalFormatting (Prelude.Maybe ShapeConditionalFormat)+filledMapShapeConditionalFormatting_format = Lens.lens (\FilledMapShapeConditionalFormatting' {format} -> format) (\s@FilledMapShapeConditionalFormatting' {} a -> s {format = a} :: FilledMapShapeConditionalFormatting)++-- | The field ID of the filled map shape.+filledMapShapeConditionalFormatting_fieldId :: Lens.Lens' FilledMapShapeConditionalFormatting Prelude.Text+filledMapShapeConditionalFormatting_fieldId = Lens.lens (\FilledMapShapeConditionalFormatting' {fieldId} -> fieldId) (\s@FilledMapShapeConditionalFormatting' {} a -> s {fieldId = a} :: FilledMapShapeConditionalFormatting)++instance+  Data.FromJSON+    FilledMapShapeConditionalFormatting+  where+  parseJSON =+    Data.withObject+      "FilledMapShapeConditionalFormatting"+      ( \x ->+          FilledMapShapeConditionalFormatting'+            Prelude.<$> (x Data..:? "Format")+            Prelude.<*> (x Data..: "FieldId")+      )++instance+  Prelude.Hashable+    FilledMapShapeConditionalFormatting+  where+  hashWithSalt+    _salt+    FilledMapShapeConditionalFormatting' {..} =+      _salt+        `Prelude.hashWithSalt` format+        `Prelude.hashWithSalt` fieldId++instance+  Prelude.NFData+    FilledMapShapeConditionalFormatting+  where+  rnf FilledMapShapeConditionalFormatting' {..} =+    Prelude.rnf format+      `Prelude.seq` Prelude.rnf fieldId++instance+  Data.ToJSON+    FilledMapShapeConditionalFormatting+  where+  toJSON FilledMapShapeConditionalFormatting' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Format" Data..=) Prelude.<$> format,+            Prelude.Just ("FieldId" Data..= fieldId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/FilledMapSortConfiguration.hs view
@@ -0,0 +1,80 @@+{-# 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.QuickSight.Types.FilledMapSortConfiguration+-- 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.QuickSight.Types.FilledMapSortConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FieldSortOptions++-- | The sort configuration of a @FilledMapVisual@.+--+-- /See:/ 'newFilledMapSortConfiguration' smart constructor.+data FilledMapSortConfiguration = FilledMapSortConfiguration'+  { -- | The sort configuration of the location fields.+    categorySort :: Prelude.Maybe [FieldSortOptions]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilledMapSortConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categorySort', 'filledMapSortConfiguration_categorySort' - The sort configuration of the location fields.+newFilledMapSortConfiguration ::+  FilledMapSortConfiguration+newFilledMapSortConfiguration =+  FilledMapSortConfiguration'+    { categorySort =+        Prelude.Nothing+    }++-- | The sort configuration of the location fields.+filledMapSortConfiguration_categorySort :: Lens.Lens' FilledMapSortConfiguration (Prelude.Maybe [FieldSortOptions])+filledMapSortConfiguration_categorySort = Lens.lens (\FilledMapSortConfiguration' {categorySort} -> categorySort) (\s@FilledMapSortConfiguration' {} a -> s {categorySort = a} :: FilledMapSortConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON FilledMapSortConfiguration where+  parseJSON =+    Data.withObject+      "FilledMapSortConfiguration"+      ( \x ->+          FilledMapSortConfiguration'+            Prelude.<$> (x Data..:? "CategorySort" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable FilledMapSortConfiguration where+  hashWithSalt _salt FilledMapSortConfiguration' {..} =+    _salt `Prelude.hashWithSalt` categorySort++instance Prelude.NFData FilledMapSortConfiguration where+  rnf FilledMapSortConfiguration' {..} =+    Prelude.rnf categorySort++instance Data.ToJSON FilledMapSortConfiguration where+  toJSON FilledMapSortConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [("CategorySort" Data..=) Prelude.<$> categorySort]+      )
+ gen/Amazonka/QuickSight/Types/FilledMapVisual.hs view
@@ -0,0 +1,182 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.FilledMapVisual+-- 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.QuickSight.Types.FilledMapVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnHierarchy+import Amazonka.QuickSight.Types.FilledMapConditionalFormatting+import Amazonka.QuickSight.Types.FilledMapConfiguration+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions++-- | A filled map.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/filled-maps.html Creating filled maps>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newFilledMapVisual' smart constructor.+data FilledMapVisual = FilledMapVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration settings of the visual.+    chartConfiguration :: Prelude.Maybe FilledMapConfiguration,+    -- | The column hierarchy that is used during drill-downs and drill-ups.+    columnHierarchies :: Prelude.Maybe [ColumnHierarchy],+    -- | The conditional formatting of a @FilledMapVisual@.+    conditionalFormatting :: Prelude.Maybe FilledMapConditionalFormatting,+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers..+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilledMapVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'filledMapVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'filledMapVisual_chartConfiguration' - The configuration settings of the visual.+--+-- 'columnHierarchies', 'filledMapVisual_columnHierarchies' - The column hierarchy that is used during drill-downs and drill-ups.+--+-- 'conditionalFormatting', 'filledMapVisual_conditionalFormatting' - The conditional formatting of a @FilledMapVisual@.+--+-- 'subtitle', 'filledMapVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'filledMapVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'filledMapVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers..+newFilledMapVisual ::+  -- | 'visualId'+  Prelude.Text ->+  FilledMapVisual+newFilledMapVisual pVisualId_ =+  FilledMapVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      columnHierarchies = Prelude.Nothing,+      conditionalFormatting = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_+    }++-- | The list of custom actions that are configured for a visual.+filledMapVisual_actions :: Lens.Lens' FilledMapVisual (Prelude.Maybe [VisualCustomAction])+filledMapVisual_actions = Lens.lens (\FilledMapVisual' {actions} -> actions) (\s@FilledMapVisual' {} a -> s {actions = a} :: FilledMapVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration settings of the visual.+filledMapVisual_chartConfiguration :: Lens.Lens' FilledMapVisual (Prelude.Maybe FilledMapConfiguration)+filledMapVisual_chartConfiguration = Lens.lens (\FilledMapVisual' {chartConfiguration} -> chartConfiguration) (\s@FilledMapVisual' {} a -> s {chartConfiguration = a} :: FilledMapVisual)++-- | The column hierarchy that is used during drill-downs and drill-ups.+filledMapVisual_columnHierarchies :: Lens.Lens' FilledMapVisual (Prelude.Maybe [ColumnHierarchy])+filledMapVisual_columnHierarchies = Lens.lens (\FilledMapVisual' {columnHierarchies} -> columnHierarchies) (\s@FilledMapVisual' {} a -> s {columnHierarchies = a} :: FilledMapVisual) Prelude.. Lens.mapping Lens.coerced++-- | The conditional formatting of a @FilledMapVisual@.+filledMapVisual_conditionalFormatting :: Lens.Lens' FilledMapVisual (Prelude.Maybe FilledMapConditionalFormatting)+filledMapVisual_conditionalFormatting = Lens.lens (\FilledMapVisual' {conditionalFormatting} -> conditionalFormatting) (\s@FilledMapVisual' {} a -> s {conditionalFormatting = a} :: FilledMapVisual)++-- | The subtitle that is displayed on the visual.+filledMapVisual_subtitle :: Lens.Lens' FilledMapVisual (Prelude.Maybe VisualSubtitleLabelOptions)+filledMapVisual_subtitle = Lens.lens (\FilledMapVisual' {subtitle} -> subtitle) (\s@FilledMapVisual' {} a -> s {subtitle = a} :: FilledMapVisual)++-- | The title that is displayed on the visual.+filledMapVisual_title :: Lens.Lens' FilledMapVisual (Prelude.Maybe VisualTitleLabelOptions)+filledMapVisual_title = Lens.lens (\FilledMapVisual' {title} -> title) (\s@FilledMapVisual' {} a -> s {title = a} :: FilledMapVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers..+filledMapVisual_visualId :: Lens.Lens' FilledMapVisual Prelude.Text+filledMapVisual_visualId = Lens.lens (\FilledMapVisual' {visualId} -> visualId) (\s@FilledMapVisual' {} a -> s {visualId = a} :: FilledMapVisual)++instance Data.FromJSON FilledMapVisual where+  parseJSON =+    Data.withObject+      "FilledMapVisual"+      ( \x ->+          FilledMapVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> ( x+                            Data..:? "ColumnHierarchies"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "ConditionalFormatting")+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+      )++instance Prelude.Hashable FilledMapVisual where+  hashWithSalt _salt FilledMapVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` columnHierarchies+      `Prelude.hashWithSalt` conditionalFormatting+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData FilledMapVisual where+  rnf FilledMapVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf columnHierarchies+      `Prelude.seq` Prelude.rnf conditionalFormatting+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON FilledMapVisual where+  toJSON FilledMapVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("ColumnHierarchies" Data..=)+              Prelude.<$> columnHierarchies,+            ("ConditionalFormatting" Data..=)+              Prelude.<$> conditionalFormatting,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/Filter.hs view
@@ -0,0 +1,206 @@+{-# 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.QuickSight.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.QuickSight.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+import Amazonka.QuickSight.Types.CategoryFilter+import Amazonka.QuickSight.Types.NumericEqualityFilter+import Amazonka.QuickSight.Types.NumericRangeFilter+import Amazonka.QuickSight.Types.RelativeDatesFilter+import Amazonka.QuickSight.Types.TimeEqualityFilter+import Amazonka.QuickSight.Types.TimeRangeFilter+import Amazonka.QuickSight.Types.TopBottomFilter++-- | With a @Filter@, you can remove portions of data from a particular+-- visual or view.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newFilter' smart constructor.+data Filter = Filter'+  { -- | A @CategoryFilter@ filters text values.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/add-a-text-filter-data-prep.html Adding text filters>+    -- in the /Amazon QuickSight User Guide/.+    categoryFilter :: Prelude.Maybe CategoryFilter,+    -- | A @NumericEqualityFilter@ filters numeric values that equal or do not+    -- equal a given numeric value.+    numericEqualityFilter :: Prelude.Maybe NumericEqualityFilter,+    -- | A @NumericRangeFilter@ filters numeric values that are either inside or+    -- outside a given numeric range.+    numericRangeFilter :: Prelude.Maybe NumericRangeFilter,+    -- | A @RelativeDatesFilter@ filters date values that are relative to a given+    -- date.+    relativeDatesFilter :: Prelude.Maybe RelativeDatesFilter,+    -- | A @TimeEqualityFilter@ filters date-time values that equal or do not+    -- equal a given date\/time value.+    timeEqualityFilter :: Prelude.Maybe TimeEqualityFilter,+    -- | A @TimeRangeFilter@ filters date-time values that are either inside or+    -- outside a given date\/time range.+    timeRangeFilter :: Prelude.Maybe TimeRangeFilter,+    -- | A @TopBottomFilter@ filters data to the top or bottom values for a given+    -- column.+    topBottomFilter :: Prelude.Maybe TopBottomFilter+  }+  deriving (Prelude.Eq, 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:+--+-- 'categoryFilter', 'filter_categoryFilter' - A @CategoryFilter@ filters text values.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/add-a-text-filter-data-prep.html Adding text filters>+-- in the /Amazon QuickSight User Guide/.+--+-- 'numericEqualityFilter', 'filter_numericEqualityFilter' - A @NumericEqualityFilter@ filters numeric values that equal or do not+-- equal a given numeric value.+--+-- 'numericRangeFilter', 'filter_numericRangeFilter' - A @NumericRangeFilter@ filters numeric values that are either inside or+-- outside a given numeric range.+--+-- 'relativeDatesFilter', 'filter_relativeDatesFilter' - A @RelativeDatesFilter@ filters date values that are relative to a given+-- date.+--+-- 'timeEqualityFilter', 'filter_timeEqualityFilter' - A @TimeEqualityFilter@ filters date-time values that equal or do not+-- equal a given date\/time value.+--+-- 'timeRangeFilter', 'filter_timeRangeFilter' - A @TimeRangeFilter@ filters date-time values that are either inside or+-- outside a given date\/time range.+--+-- 'topBottomFilter', 'filter_topBottomFilter' - A @TopBottomFilter@ filters data to the top or bottom values for a given+-- column.+newFilter ::+  Filter+newFilter =+  Filter'+    { categoryFilter = Prelude.Nothing,+      numericEqualityFilter = Prelude.Nothing,+      numericRangeFilter = Prelude.Nothing,+      relativeDatesFilter = Prelude.Nothing,+      timeEqualityFilter = Prelude.Nothing,+      timeRangeFilter = Prelude.Nothing,+      topBottomFilter = Prelude.Nothing+    }++-- | A @CategoryFilter@ filters text values.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/add-a-text-filter-data-prep.html Adding text filters>+-- in the /Amazon QuickSight User Guide/.+filter_categoryFilter :: Lens.Lens' Filter (Prelude.Maybe CategoryFilter)+filter_categoryFilter = Lens.lens (\Filter' {categoryFilter} -> categoryFilter) (\s@Filter' {} a -> s {categoryFilter = a} :: Filter)++-- | A @NumericEqualityFilter@ filters numeric values that equal or do not+-- equal a given numeric value.+filter_numericEqualityFilter :: Lens.Lens' Filter (Prelude.Maybe NumericEqualityFilter)+filter_numericEqualityFilter = Lens.lens (\Filter' {numericEqualityFilter} -> numericEqualityFilter) (\s@Filter' {} a -> s {numericEqualityFilter = a} :: Filter)++-- | A @NumericRangeFilter@ filters numeric values that are either inside or+-- outside a given numeric range.+filter_numericRangeFilter :: Lens.Lens' Filter (Prelude.Maybe NumericRangeFilter)+filter_numericRangeFilter = Lens.lens (\Filter' {numericRangeFilter} -> numericRangeFilter) (\s@Filter' {} a -> s {numericRangeFilter = a} :: Filter)++-- | A @RelativeDatesFilter@ filters date values that are relative to a given+-- date.+filter_relativeDatesFilter :: Lens.Lens' Filter (Prelude.Maybe RelativeDatesFilter)+filter_relativeDatesFilter = Lens.lens (\Filter' {relativeDatesFilter} -> relativeDatesFilter) (\s@Filter' {} a -> s {relativeDatesFilter = a} :: Filter)++-- | A @TimeEqualityFilter@ filters date-time values that equal or do not+-- equal a given date\/time value.+filter_timeEqualityFilter :: Lens.Lens' Filter (Prelude.Maybe TimeEqualityFilter)+filter_timeEqualityFilter = Lens.lens (\Filter' {timeEqualityFilter} -> timeEqualityFilter) (\s@Filter' {} a -> s {timeEqualityFilter = a} :: Filter)++-- | A @TimeRangeFilter@ filters date-time values that are either inside or+-- outside a given date\/time range.+filter_timeRangeFilter :: Lens.Lens' Filter (Prelude.Maybe TimeRangeFilter)+filter_timeRangeFilter = Lens.lens (\Filter' {timeRangeFilter} -> timeRangeFilter) (\s@Filter' {} a -> s {timeRangeFilter = a} :: Filter)++-- | A @TopBottomFilter@ filters data to the top or bottom values for a given+-- column.+filter_topBottomFilter :: Lens.Lens' Filter (Prelude.Maybe TopBottomFilter)+filter_topBottomFilter = Lens.lens (\Filter' {topBottomFilter} -> topBottomFilter) (\s@Filter' {} a -> s {topBottomFilter = a} :: Filter)++instance Data.FromJSON Filter where+  parseJSON =+    Data.withObject+      "Filter"+      ( \x ->+          Filter'+            Prelude.<$> (x Data..:? "CategoryFilter")+            Prelude.<*> (x Data..:? "NumericEqualityFilter")+            Prelude.<*> (x Data..:? "NumericRangeFilter")+            Prelude.<*> (x Data..:? "RelativeDatesFilter")+            Prelude.<*> (x Data..:? "TimeEqualityFilter")+            Prelude.<*> (x Data..:? "TimeRangeFilter")+            Prelude.<*> (x Data..:? "TopBottomFilter")+      )++instance Prelude.Hashable Filter where+  hashWithSalt _salt Filter' {..} =+    _salt+      `Prelude.hashWithSalt` categoryFilter+      `Prelude.hashWithSalt` numericEqualityFilter+      `Prelude.hashWithSalt` numericRangeFilter+      `Prelude.hashWithSalt` relativeDatesFilter+      `Prelude.hashWithSalt` timeEqualityFilter+      `Prelude.hashWithSalt` timeRangeFilter+      `Prelude.hashWithSalt` topBottomFilter++instance Prelude.NFData Filter where+  rnf Filter' {..} =+    Prelude.rnf categoryFilter+      `Prelude.seq` Prelude.rnf numericEqualityFilter+      `Prelude.seq` Prelude.rnf numericRangeFilter+      `Prelude.seq` Prelude.rnf relativeDatesFilter+      `Prelude.seq` Prelude.rnf timeEqualityFilter+      `Prelude.seq` Prelude.rnf timeRangeFilter+      `Prelude.seq` Prelude.rnf topBottomFilter++instance Data.ToJSON Filter where+  toJSON Filter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoryFilter" Data..=)+              Prelude.<$> categoryFilter,+            ("NumericEqualityFilter" Data..=)+              Prelude.<$> numericEqualityFilter,+            ("NumericRangeFilter" Data..=)+              Prelude.<$> numericRangeFilter,+            ("RelativeDatesFilter" Data..=)+              Prelude.<$> relativeDatesFilter,+            ("TimeEqualityFilter" Data..=)+              Prelude.<$> timeEqualityFilter,+            ("TimeRangeFilter" Data..=)+              Prelude.<$> timeRangeFilter,+            ("TopBottomFilter" Data..=)+              Prelude.<$> topBottomFilter+          ]+      )
+ gen/Amazonka/QuickSight/Types/FilterControl.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.FilterControl+-- 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.QuickSight.Types.FilterControl where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FilterDateTimePickerControl+import Amazonka.QuickSight.Types.FilterDropDownControl+import Amazonka.QuickSight.Types.FilterListControl+import Amazonka.QuickSight.Types.FilterRelativeDateTimeControl+import Amazonka.QuickSight.Types.FilterSliderControl+import Amazonka.QuickSight.Types.FilterTextAreaControl+import Amazonka.QuickSight.Types.FilterTextFieldControl++-- | The control of a filter that is used to interact with a dashboard or an+-- analysis.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newFilterControl' smart constructor.+data FilterControl = FilterControl'+  { -- | A control from a date filter that is used to specify date and time.+    dateTimePicker :: Prelude.Maybe FilterDateTimePickerControl,+    -- | A control to display a dropdown list with buttons that are used to+    -- select a single value.+    dropdown :: Prelude.Maybe FilterDropDownControl,+    -- | A control to display a list of buttons or boxes. This is used to select+    -- either a single value or multiple values.+    list :: Prelude.Maybe FilterListControl,+    -- | A control from a date filter that is used to specify the relative date.+    relativeDateTime :: Prelude.Maybe FilterRelativeDateTimeControl,+    -- | A control to display a horizontal toggle bar. This is used to change a+    -- value by sliding the toggle.+    slider :: Prelude.Maybe FilterSliderControl,+    -- | A control to display a text box that is used to enter multiple entries.+    textArea :: Prelude.Maybe FilterTextAreaControl,+    -- | A control to display a text box that is used to enter a single entry.+    textField :: Prelude.Maybe FilterTextFieldControl+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilterControl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dateTimePicker', 'filterControl_dateTimePicker' - A control from a date filter that is used to specify date and time.+--+-- 'dropdown', 'filterControl_dropdown' - A control to display a dropdown list with buttons that are used to+-- select a single value.+--+-- 'list', 'filterControl_list' - A control to display a list of buttons or boxes. This is used to select+-- either a single value or multiple values.+--+-- 'relativeDateTime', 'filterControl_relativeDateTime' - A control from a date filter that is used to specify the relative date.+--+-- 'slider', 'filterControl_slider' - A control to display a horizontal toggle bar. This is used to change a+-- value by sliding the toggle.+--+-- 'textArea', 'filterControl_textArea' - A control to display a text box that is used to enter multiple entries.+--+-- 'textField', 'filterControl_textField' - A control to display a text box that is used to enter a single entry.+newFilterControl ::+  FilterControl+newFilterControl =+  FilterControl'+    { dateTimePicker = Prelude.Nothing,+      dropdown = Prelude.Nothing,+      list = Prelude.Nothing,+      relativeDateTime = Prelude.Nothing,+      slider = Prelude.Nothing,+      textArea = Prelude.Nothing,+      textField = Prelude.Nothing+    }++-- | A control from a date filter that is used to specify date and time.+filterControl_dateTimePicker :: Lens.Lens' FilterControl (Prelude.Maybe FilterDateTimePickerControl)+filterControl_dateTimePicker = Lens.lens (\FilterControl' {dateTimePicker} -> dateTimePicker) (\s@FilterControl' {} a -> s {dateTimePicker = a} :: FilterControl)++-- | A control to display a dropdown list with buttons that are used to+-- select a single value.+filterControl_dropdown :: Lens.Lens' FilterControl (Prelude.Maybe FilterDropDownControl)+filterControl_dropdown = Lens.lens (\FilterControl' {dropdown} -> dropdown) (\s@FilterControl' {} a -> s {dropdown = a} :: FilterControl)++-- | A control to display a list of buttons or boxes. This is used to select+-- either a single value or multiple values.+filterControl_list :: Lens.Lens' FilterControl (Prelude.Maybe FilterListControl)+filterControl_list = Lens.lens (\FilterControl' {list} -> list) (\s@FilterControl' {} a -> s {list = a} :: FilterControl)++-- | A control from a date filter that is used to specify the relative date.+filterControl_relativeDateTime :: Lens.Lens' FilterControl (Prelude.Maybe FilterRelativeDateTimeControl)+filterControl_relativeDateTime = Lens.lens (\FilterControl' {relativeDateTime} -> relativeDateTime) (\s@FilterControl' {} a -> s {relativeDateTime = a} :: FilterControl)++-- | A control to display a horizontal toggle bar. This is used to change a+-- value by sliding the toggle.+filterControl_slider :: Lens.Lens' FilterControl (Prelude.Maybe FilterSliderControl)+filterControl_slider = Lens.lens (\FilterControl' {slider} -> slider) (\s@FilterControl' {} a -> s {slider = a} :: FilterControl)++-- | A control to display a text box that is used to enter multiple entries.+filterControl_textArea :: Lens.Lens' FilterControl (Prelude.Maybe FilterTextAreaControl)+filterControl_textArea = Lens.lens (\FilterControl' {textArea} -> textArea) (\s@FilterControl' {} a -> s {textArea = a} :: FilterControl)++-- | A control to display a text box that is used to enter a single entry.+filterControl_textField :: Lens.Lens' FilterControl (Prelude.Maybe FilterTextFieldControl)+filterControl_textField = Lens.lens (\FilterControl' {textField} -> textField) (\s@FilterControl' {} a -> s {textField = a} :: FilterControl)++instance Data.FromJSON FilterControl where+  parseJSON =+    Data.withObject+      "FilterControl"+      ( \x ->+          FilterControl'+            Prelude.<$> (x Data..:? "DateTimePicker")+            Prelude.<*> (x Data..:? "Dropdown")+            Prelude.<*> (x Data..:? "List")+            Prelude.<*> (x Data..:? "RelativeDateTime")+            Prelude.<*> (x Data..:? "Slider")+            Prelude.<*> (x Data..:? "TextArea")+            Prelude.<*> (x Data..:? "TextField")+      )++instance Prelude.Hashable FilterControl where+  hashWithSalt _salt FilterControl' {..} =+    _salt+      `Prelude.hashWithSalt` dateTimePicker+      `Prelude.hashWithSalt` dropdown+      `Prelude.hashWithSalt` list+      `Prelude.hashWithSalt` relativeDateTime+      `Prelude.hashWithSalt` slider+      `Prelude.hashWithSalt` textArea+      `Prelude.hashWithSalt` textField++instance Prelude.NFData FilterControl where+  rnf FilterControl' {..} =+    Prelude.rnf dateTimePicker+      `Prelude.seq` Prelude.rnf dropdown+      `Prelude.seq` Prelude.rnf list+      `Prelude.seq` Prelude.rnf relativeDateTime+      `Prelude.seq` Prelude.rnf slider+      `Prelude.seq` Prelude.rnf textArea+      `Prelude.seq` Prelude.rnf textField++instance Data.ToJSON FilterControl where+  toJSON FilterControl' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DateTimePicker" Data..=)+              Prelude.<$> dateTimePicker,+            ("Dropdown" Data..=) Prelude.<$> dropdown,+            ("List" Data..=) Prelude.<$> list,+            ("RelativeDateTime" Data..=)+              Prelude.<$> relativeDateTime,+            ("Slider" Data..=) Prelude.<$> slider,+            ("TextArea" Data..=) Prelude.<$> textArea,+            ("TextField" Data..=) Prelude.<$> textField+          ]+      )
+ gen/Amazonka/QuickSight/Types/FilterDateTimePickerControl.hs view
@@ -0,0 +1,162 @@+{-# 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.QuickSight.Types.FilterDateTimePickerControl+-- 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.QuickSight.Types.FilterDateTimePickerControl where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DateTimePickerControlDisplayOptions+import Amazonka.QuickSight.Types.SheetControlDateTimePickerType++-- | A control from a date filter that is used to specify date and time.+--+-- /See:/ 'newFilterDateTimePickerControl' smart constructor.+data FilterDateTimePickerControl = FilterDateTimePickerControl'+  { -- | The display options of a control.+    displayOptions :: Prelude.Maybe DateTimePickerControlDisplayOptions,+    -- | The date time picker type of a @FilterDateTimePickerControl@. Choose one+    -- of the following options:+    --+    -- -   @SINGLE_VALUED@: The filter condition is a fixed date.+    --+    -- -   @DATE_RANGE@: The filter condition is a date time range.+    type' :: Prelude.Maybe SheetControlDateTimePickerType,+    -- | The ID of the @FilterDateTimePickerControl@.+    filterControlId :: Prelude.Text,+    -- | The title of the @FilterDateTimePickerControl@.+    title :: Prelude.Text,+    -- | The source filter ID of the @FilterDateTimePickerControl@.+    sourceFilterId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilterDateTimePickerControl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'displayOptions', 'filterDateTimePickerControl_displayOptions' - The display options of a control.+--+-- 'type'', 'filterDateTimePickerControl_type' - The date time picker type of a @FilterDateTimePickerControl@. Choose one+-- of the following options:+--+-- -   @SINGLE_VALUED@: The filter condition is a fixed date.+--+-- -   @DATE_RANGE@: The filter condition is a date time range.+--+-- 'filterControlId', 'filterDateTimePickerControl_filterControlId' - The ID of the @FilterDateTimePickerControl@.+--+-- 'title', 'filterDateTimePickerControl_title' - The title of the @FilterDateTimePickerControl@.+--+-- 'sourceFilterId', 'filterDateTimePickerControl_sourceFilterId' - The source filter ID of the @FilterDateTimePickerControl@.+newFilterDateTimePickerControl ::+  -- | 'filterControlId'+  Prelude.Text ->+  -- | 'title'+  Prelude.Text ->+  -- | 'sourceFilterId'+  Prelude.Text ->+  FilterDateTimePickerControl+newFilterDateTimePickerControl+  pFilterControlId_+  pTitle_+  pSourceFilterId_ =+    FilterDateTimePickerControl'+      { displayOptions =+          Prelude.Nothing,+        type' = Prelude.Nothing,+        filterControlId = pFilterControlId_,+        title = pTitle_,+        sourceFilterId = pSourceFilterId_+      }++-- | The display options of a control.+filterDateTimePickerControl_displayOptions :: Lens.Lens' FilterDateTimePickerControl (Prelude.Maybe DateTimePickerControlDisplayOptions)+filterDateTimePickerControl_displayOptions = Lens.lens (\FilterDateTimePickerControl' {displayOptions} -> displayOptions) (\s@FilterDateTimePickerControl' {} a -> s {displayOptions = a} :: FilterDateTimePickerControl)++-- | The date time picker type of a @FilterDateTimePickerControl@. Choose one+-- of the following options:+--+-- -   @SINGLE_VALUED@: The filter condition is a fixed date.+--+-- -   @DATE_RANGE@: The filter condition is a date time range.+filterDateTimePickerControl_type :: Lens.Lens' FilterDateTimePickerControl (Prelude.Maybe SheetControlDateTimePickerType)+filterDateTimePickerControl_type = Lens.lens (\FilterDateTimePickerControl' {type'} -> type') (\s@FilterDateTimePickerControl' {} a -> s {type' = a} :: FilterDateTimePickerControl)++-- | The ID of the @FilterDateTimePickerControl@.+filterDateTimePickerControl_filterControlId :: Lens.Lens' FilterDateTimePickerControl Prelude.Text+filterDateTimePickerControl_filterControlId = Lens.lens (\FilterDateTimePickerControl' {filterControlId} -> filterControlId) (\s@FilterDateTimePickerControl' {} a -> s {filterControlId = a} :: FilterDateTimePickerControl)++-- | The title of the @FilterDateTimePickerControl@.+filterDateTimePickerControl_title :: Lens.Lens' FilterDateTimePickerControl Prelude.Text+filterDateTimePickerControl_title = Lens.lens (\FilterDateTimePickerControl' {title} -> title) (\s@FilterDateTimePickerControl' {} a -> s {title = a} :: FilterDateTimePickerControl)++-- | The source filter ID of the @FilterDateTimePickerControl@.+filterDateTimePickerControl_sourceFilterId :: Lens.Lens' FilterDateTimePickerControl Prelude.Text+filterDateTimePickerControl_sourceFilterId = Lens.lens (\FilterDateTimePickerControl' {sourceFilterId} -> sourceFilterId) (\s@FilterDateTimePickerControl' {} a -> s {sourceFilterId = a} :: FilterDateTimePickerControl)++instance Data.FromJSON FilterDateTimePickerControl where+  parseJSON =+    Data.withObject+      "FilterDateTimePickerControl"+      ( \x ->+          FilterDateTimePickerControl'+            Prelude.<$> (x Data..:? "DisplayOptions")+            Prelude.<*> (x Data..:? "Type")+            Prelude.<*> (x Data..: "FilterControlId")+            Prelude.<*> (x Data..: "Title")+            Prelude.<*> (x Data..: "SourceFilterId")+      )++instance Prelude.Hashable FilterDateTimePickerControl where+  hashWithSalt _salt FilterDateTimePickerControl' {..} =+    _salt+      `Prelude.hashWithSalt` displayOptions+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` filterControlId+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` sourceFilterId++instance Prelude.NFData FilterDateTimePickerControl where+  rnf FilterDateTimePickerControl' {..} =+    Prelude.rnf displayOptions+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf filterControlId+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf sourceFilterId++instance Data.ToJSON FilterDateTimePickerControl where+  toJSON FilterDateTimePickerControl' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DisplayOptions" Data..=)+              Prelude.<$> displayOptions,+            ("Type" Data..=) Prelude.<$> type',+            Prelude.Just+              ("FilterControlId" Data..= filterControlId),+            Prelude.Just ("Title" Data..= title),+            Prelude.Just+              ("SourceFilterId" Data..= sourceFilterId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/FilterDropDownControl.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.FilterDropDownControl+-- 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.QuickSight.Types.FilterDropDownControl where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CascadingControlConfiguration+import Amazonka.QuickSight.Types.DropDownControlDisplayOptions+import Amazonka.QuickSight.Types.FilterSelectableValues+import Amazonka.QuickSight.Types.SheetControlListType++-- | A control to display a dropdown list with buttons that are used to+-- select a single value.+--+-- /See:/ 'newFilterDropDownControl' smart constructor.+data FilterDropDownControl = FilterDropDownControl'+  { -- | The values that are displayed in a control can be configured to only+    -- show values that are valid based on what\'s selected in other controls.+    cascadingControlConfiguration :: Prelude.Maybe CascadingControlConfiguration,+    -- | The display options of the @FilterDropDownControl@.+    displayOptions :: Prelude.Maybe DropDownControlDisplayOptions,+    -- | A list of selectable values that are used in a control.+    selectableValues :: Prelude.Maybe FilterSelectableValues,+    -- | The type of the @FilterDropDownControl@. Choose one of the following+    -- options:+    --+    -- -   @MULTI_SELECT@: The user can select multiple entries from a dropdown+    --     menu.+    --+    -- -   @SINGLE_SELECT@: The user can select a single entry from a dropdown+    --     menu.+    type' :: Prelude.Maybe SheetControlListType,+    -- | The ID of the @FilterDropDownControl@.+    filterControlId :: Prelude.Text,+    -- | The title of the @FilterDropDownControl@.+    title :: Prelude.Text,+    -- | The source filter ID of the @FilterDropDownControl@.+    sourceFilterId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilterDropDownControl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cascadingControlConfiguration', 'filterDropDownControl_cascadingControlConfiguration' - The values that are displayed in a control can be configured to only+-- show values that are valid based on what\'s selected in other controls.+--+-- 'displayOptions', 'filterDropDownControl_displayOptions' - The display options of the @FilterDropDownControl@.+--+-- 'selectableValues', 'filterDropDownControl_selectableValues' - A list of selectable values that are used in a control.+--+-- 'type'', 'filterDropDownControl_type' - The type of the @FilterDropDownControl@. Choose one of the following+-- options:+--+-- -   @MULTI_SELECT@: The user can select multiple entries from a dropdown+--     menu.+--+-- -   @SINGLE_SELECT@: The user can select a single entry from a dropdown+--     menu.+--+-- 'filterControlId', 'filterDropDownControl_filterControlId' - The ID of the @FilterDropDownControl@.+--+-- 'title', 'filterDropDownControl_title' - The title of the @FilterDropDownControl@.+--+-- 'sourceFilterId', 'filterDropDownControl_sourceFilterId' - The source filter ID of the @FilterDropDownControl@.+newFilterDropDownControl ::+  -- | 'filterControlId'+  Prelude.Text ->+  -- | 'title'+  Prelude.Text ->+  -- | 'sourceFilterId'+  Prelude.Text ->+  FilterDropDownControl+newFilterDropDownControl+  pFilterControlId_+  pTitle_+  pSourceFilterId_ =+    FilterDropDownControl'+      { cascadingControlConfiguration =+          Prelude.Nothing,+        displayOptions = Prelude.Nothing,+        selectableValues = Prelude.Nothing,+        type' = Prelude.Nothing,+        filterControlId = pFilterControlId_,+        title = pTitle_,+        sourceFilterId = pSourceFilterId_+      }++-- | The values that are displayed in a control can be configured to only+-- show values that are valid based on what\'s selected in other controls.+filterDropDownControl_cascadingControlConfiguration :: Lens.Lens' FilterDropDownControl (Prelude.Maybe CascadingControlConfiguration)+filterDropDownControl_cascadingControlConfiguration = Lens.lens (\FilterDropDownControl' {cascadingControlConfiguration} -> cascadingControlConfiguration) (\s@FilterDropDownControl' {} a -> s {cascadingControlConfiguration = a} :: FilterDropDownControl)++-- | The display options of the @FilterDropDownControl@.+filterDropDownControl_displayOptions :: Lens.Lens' FilterDropDownControl (Prelude.Maybe DropDownControlDisplayOptions)+filterDropDownControl_displayOptions = Lens.lens (\FilterDropDownControl' {displayOptions} -> displayOptions) (\s@FilterDropDownControl' {} a -> s {displayOptions = a} :: FilterDropDownControl)++-- | A list of selectable values that are used in a control.+filterDropDownControl_selectableValues :: Lens.Lens' FilterDropDownControl (Prelude.Maybe FilterSelectableValues)+filterDropDownControl_selectableValues = Lens.lens (\FilterDropDownControl' {selectableValues} -> selectableValues) (\s@FilterDropDownControl' {} a -> s {selectableValues = a} :: FilterDropDownControl)++-- | The type of the @FilterDropDownControl@. Choose one of the following+-- options:+--+-- -   @MULTI_SELECT@: The user can select multiple entries from a dropdown+--     menu.+--+-- -   @SINGLE_SELECT@: The user can select a single entry from a dropdown+--     menu.+filterDropDownControl_type :: Lens.Lens' FilterDropDownControl (Prelude.Maybe SheetControlListType)+filterDropDownControl_type = Lens.lens (\FilterDropDownControl' {type'} -> type') (\s@FilterDropDownControl' {} a -> s {type' = a} :: FilterDropDownControl)++-- | The ID of the @FilterDropDownControl@.+filterDropDownControl_filterControlId :: Lens.Lens' FilterDropDownControl Prelude.Text+filterDropDownControl_filterControlId = Lens.lens (\FilterDropDownControl' {filterControlId} -> filterControlId) (\s@FilterDropDownControl' {} a -> s {filterControlId = a} :: FilterDropDownControl)++-- | The title of the @FilterDropDownControl@.+filterDropDownControl_title :: Lens.Lens' FilterDropDownControl Prelude.Text+filterDropDownControl_title = Lens.lens (\FilterDropDownControl' {title} -> title) (\s@FilterDropDownControl' {} a -> s {title = a} :: FilterDropDownControl)++-- | The source filter ID of the @FilterDropDownControl@.+filterDropDownControl_sourceFilterId :: Lens.Lens' FilterDropDownControl Prelude.Text+filterDropDownControl_sourceFilterId = Lens.lens (\FilterDropDownControl' {sourceFilterId} -> sourceFilterId) (\s@FilterDropDownControl' {} a -> s {sourceFilterId = a} :: FilterDropDownControl)++instance Data.FromJSON FilterDropDownControl where+  parseJSON =+    Data.withObject+      "FilterDropDownControl"+      ( \x ->+          FilterDropDownControl'+            Prelude.<$> (x Data..:? "CascadingControlConfiguration")+            Prelude.<*> (x Data..:? "DisplayOptions")+            Prelude.<*> (x Data..:? "SelectableValues")+            Prelude.<*> (x Data..:? "Type")+            Prelude.<*> (x Data..: "FilterControlId")+            Prelude.<*> (x Data..: "Title")+            Prelude.<*> (x Data..: "SourceFilterId")+      )++instance Prelude.Hashable FilterDropDownControl where+  hashWithSalt _salt FilterDropDownControl' {..} =+    _salt+      `Prelude.hashWithSalt` cascadingControlConfiguration+      `Prelude.hashWithSalt` displayOptions+      `Prelude.hashWithSalt` selectableValues+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` filterControlId+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` sourceFilterId++instance Prelude.NFData FilterDropDownControl where+  rnf FilterDropDownControl' {..} =+    Prelude.rnf cascadingControlConfiguration+      `Prelude.seq` Prelude.rnf displayOptions+      `Prelude.seq` Prelude.rnf selectableValues+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf filterControlId+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf sourceFilterId++instance Data.ToJSON FilterDropDownControl where+  toJSON FilterDropDownControl' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CascadingControlConfiguration" Data..=)+              Prelude.<$> cascadingControlConfiguration,+            ("DisplayOptions" Data..=)+              Prelude.<$> displayOptions,+            ("SelectableValues" Data..=)+              Prelude.<$> selectableValues,+            ("Type" Data..=) Prelude.<$> type',+            Prelude.Just+              ("FilterControlId" Data..= filterControlId),+            Prelude.Just ("Title" Data..= title),+            Prelude.Just+              ("SourceFilterId" Data..= sourceFilterId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/FilterGroup.hs view
@@ -0,0 +1,178 @@+{-# 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.QuickSight.Types.FilterGroup+-- 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.QuickSight.Types.FilterGroup where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CrossDatasetTypes+import Amazonka.QuickSight.Types.Filter+import Amazonka.QuickSight.Types.FilterScopeConfiguration+import Amazonka.QuickSight.Types.WidgetStatus++-- | A grouping of individual filters. Filter groups are applied to the same+-- group of visuals.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/add-a-compound-filter.html Adding filter conditions (group filters) with AND and OR operators>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newFilterGroup' smart constructor.+data FilterGroup = FilterGroup'+  { -- | The status of the @FilterGroup@.+    status :: Prelude.Maybe WidgetStatus,+    -- | The value that uniquely identifies a @FilterGroup@ within a dashboard,+    -- template, or analysis.+    filterGroupId :: Prelude.Text,+    -- | The list of filters that are present in a @FilterGroup@.+    filters :: [Filter],+    -- | The configuration that specifies what scope to apply to a @FilterGroup@.+    --+    -- This is a union type structure. For this structure to be valid, only one+    -- of the attributes can be defined.+    scopeConfiguration :: FilterScopeConfiguration,+    -- | The filter new feature which can apply filter group to all data sets.+    -- Choose one of the following options:+    --+    -- -   @ALL_DATASETS@+    --+    -- -   @SINGLE_DATASET@+    crossDataset :: CrossDatasetTypes+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilterGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'filterGroup_status' - The status of the @FilterGroup@.+--+-- 'filterGroupId', 'filterGroup_filterGroupId' - The value that uniquely identifies a @FilterGroup@ within a dashboard,+-- template, or analysis.+--+-- 'filters', 'filterGroup_filters' - The list of filters that are present in a @FilterGroup@.+--+-- 'scopeConfiguration', 'filterGroup_scopeConfiguration' - The configuration that specifies what scope to apply to a @FilterGroup@.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- 'crossDataset', 'filterGroup_crossDataset' - The filter new feature which can apply filter group to all data sets.+-- Choose one of the following options:+--+-- -   @ALL_DATASETS@+--+-- -   @SINGLE_DATASET@+newFilterGroup ::+  -- | 'filterGroupId'+  Prelude.Text ->+  -- | 'scopeConfiguration'+  FilterScopeConfiguration ->+  -- | 'crossDataset'+  CrossDatasetTypes ->+  FilterGroup+newFilterGroup+  pFilterGroupId_+  pScopeConfiguration_+  pCrossDataset_ =+    FilterGroup'+      { status = Prelude.Nothing,+        filterGroupId = pFilterGroupId_,+        filters = Prelude.mempty,+        scopeConfiguration = pScopeConfiguration_,+        crossDataset = pCrossDataset_+      }++-- | The status of the @FilterGroup@.+filterGroup_status :: Lens.Lens' FilterGroup (Prelude.Maybe WidgetStatus)+filterGroup_status = Lens.lens (\FilterGroup' {status} -> status) (\s@FilterGroup' {} a -> s {status = a} :: FilterGroup)++-- | The value that uniquely identifies a @FilterGroup@ within a dashboard,+-- template, or analysis.+filterGroup_filterGroupId :: Lens.Lens' FilterGroup Prelude.Text+filterGroup_filterGroupId = Lens.lens (\FilterGroup' {filterGroupId} -> filterGroupId) (\s@FilterGroup' {} a -> s {filterGroupId = a} :: FilterGroup)++-- | The list of filters that are present in a @FilterGroup@.+filterGroup_filters :: Lens.Lens' FilterGroup [Filter]+filterGroup_filters = Lens.lens (\FilterGroup' {filters} -> filters) (\s@FilterGroup' {} a -> s {filters = a} :: FilterGroup) Prelude.. Lens.coerced++-- | The configuration that specifies what scope to apply to a @FilterGroup@.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+filterGroup_scopeConfiguration :: Lens.Lens' FilterGroup FilterScopeConfiguration+filterGroup_scopeConfiguration = Lens.lens (\FilterGroup' {scopeConfiguration} -> scopeConfiguration) (\s@FilterGroup' {} a -> s {scopeConfiguration = a} :: FilterGroup)++-- | The filter new feature which can apply filter group to all data sets.+-- Choose one of the following options:+--+-- -   @ALL_DATASETS@+--+-- -   @SINGLE_DATASET@+filterGroup_crossDataset :: Lens.Lens' FilterGroup CrossDatasetTypes+filterGroup_crossDataset = Lens.lens (\FilterGroup' {crossDataset} -> crossDataset) (\s@FilterGroup' {} a -> s {crossDataset = a} :: FilterGroup)++instance Data.FromJSON FilterGroup where+  parseJSON =+    Data.withObject+      "FilterGroup"+      ( \x ->+          FilterGroup'+            Prelude.<$> (x Data..:? "Status")+            Prelude.<*> (x Data..: "FilterGroupId")+            Prelude.<*> (x Data..:? "Filters" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "ScopeConfiguration")+            Prelude.<*> (x Data..: "CrossDataset")+      )++instance Prelude.Hashable FilterGroup where+  hashWithSalt _salt FilterGroup' {..} =+    _salt+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` filterGroupId+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` scopeConfiguration+      `Prelude.hashWithSalt` crossDataset++instance Prelude.NFData FilterGroup where+  rnf FilterGroup' {..} =+    Prelude.rnf status+      `Prelude.seq` Prelude.rnf filterGroupId+      `Prelude.seq` Prelude.rnf filters+      `Prelude.seq` Prelude.rnf scopeConfiguration+      `Prelude.seq` Prelude.rnf crossDataset++instance Data.ToJSON FilterGroup where+  toJSON FilterGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Status" Data..=) Prelude.<$> status,+            Prelude.Just ("FilterGroupId" Data..= filterGroupId),+            Prelude.Just ("Filters" Data..= filters),+            Prelude.Just+              ("ScopeConfiguration" Data..= scopeConfiguration),+            Prelude.Just ("CrossDataset" Data..= crossDataset)+          ]+      )
+ gen/Amazonka/QuickSight/Types/FilterListConfiguration.hs view
@@ -0,0 +1,123 @@+{-# 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.QuickSight.Types.FilterListConfiguration+-- 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.QuickSight.Types.FilterListConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CategoryFilterMatchOperator+import Amazonka.QuickSight.Types.CategoryFilterSelectAllOptions++-- | A list of filter configurations.+--+-- /See:/ 'newFilterListConfiguration' smart constructor.+data FilterListConfiguration = FilterListConfiguration'+  { -- | The list of category values for the filter.+    categoryValues :: Prelude.Maybe [Prelude.Text],+    -- | Select all of the values. Null is not the assigned value of select all.+    --+    -- -   @FILTER_ALL_VALUES@+    selectAllOptions :: Prelude.Maybe CategoryFilterSelectAllOptions,+    -- | The match operator that is used to determine if a filter should be+    -- applied.+    matchOperator :: CategoryFilterMatchOperator+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilterListConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categoryValues', 'filterListConfiguration_categoryValues' - The list of category values for the filter.+--+-- 'selectAllOptions', 'filterListConfiguration_selectAllOptions' - Select all of the values. Null is not the assigned value of select all.+--+-- -   @FILTER_ALL_VALUES@+--+-- 'matchOperator', 'filterListConfiguration_matchOperator' - The match operator that is used to determine if a filter should be+-- applied.+newFilterListConfiguration ::+  -- | 'matchOperator'+  CategoryFilterMatchOperator ->+  FilterListConfiguration+newFilterListConfiguration pMatchOperator_ =+  FilterListConfiguration'+    { categoryValues =+        Prelude.Nothing,+      selectAllOptions = Prelude.Nothing,+      matchOperator = pMatchOperator_+    }++-- | The list of category values for the filter.+filterListConfiguration_categoryValues :: Lens.Lens' FilterListConfiguration (Prelude.Maybe [Prelude.Text])+filterListConfiguration_categoryValues = Lens.lens (\FilterListConfiguration' {categoryValues} -> categoryValues) (\s@FilterListConfiguration' {} a -> s {categoryValues = a} :: FilterListConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Select all of the values. Null is not the assigned value of select all.+--+-- -   @FILTER_ALL_VALUES@+filterListConfiguration_selectAllOptions :: Lens.Lens' FilterListConfiguration (Prelude.Maybe CategoryFilterSelectAllOptions)+filterListConfiguration_selectAllOptions = Lens.lens (\FilterListConfiguration' {selectAllOptions} -> selectAllOptions) (\s@FilterListConfiguration' {} a -> s {selectAllOptions = a} :: FilterListConfiguration)++-- | The match operator that is used to determine if a filter should be+-- applied.+filterListConfiguration_matchOperator :: Lens.Lens' FilterListConfiguration CategoryFilterMatchOperator+filterListConfiguration_matchOperator = Lens.lens (\FilterListConfiguration' {matchOperator} -> matchOperator) (\s@FilterListConfiguration' {} a -> s {matchOperator = a} :: FilterListConfiguration)++instance Data.FromJSON FilterListConfiguration where+  parseJSON =+    Data.withObject+      "FilterListConfiguration"+      ( \x ->+          FilterListConfiguration'+            Prelude.<$> (x Data..:? "CategoryValues" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "SelectAllOptions")+            Prelude.<*> (x Data..: "MatchOperator")+      )++instance Prelude.Hashable FilterListConfiguration where+  hashWithSalt _salt FilterListConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` categoryValues+      `Prelude.hashWithSalt` selectAllOptions+      `Prelude.hashWithSalt` matchOperator++instance Prelude.NFData FilterListConfiguration where+  rnf FilterListConfiguration' {..} =+    Prelude.rnf categoryValues+      `Prelude.seq` Prelude.rnf selectAllOptions+      `Prelude.seq` Prelude.rnf matchOperator++instance Data.ToJSON FilterListConfiguration where+  toJSON FilterListConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoryValues" Data..=)+              Prelude.<$> categoryValues,+            ("SelectAllOptions" Data..=)+              Prelude.<$> selectAllOptions,+            Prelude.Just+              ("MatchOperator" Data..= matchOperator)+          ]+      )
+ gen/Amazonka/QuickSight/Types/FilterListControl.hs view
@@ -0,0 +1,193 @@+{-# 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.QuickSight.Types.FilterListControl+-- 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.QuickSight.Types.FilterListControl where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CascadingControlConfiguration+import Amazonka.QuickSight.Types.FilterSelectableValues+import Amazonka.QuickSight.Types.ListControlDisplayOptions+import Amazonka.QuickSight.Types.SheetControlListType++-- | A control to display a list of buttons or boxes. This is used to select+-- either a single value or multiple values.+--+-- /See:/ 'newFilterListControl' smart constructor.+data FilterListControl = FilterListControl'+  { -- | The values that are displayed in a control can be configured to only+    -- show values that are valid based on what\'s selected in other controls.+    cascadingControlConfiguration :: Prelude.Maybe CascadingControlConfiguration,+    -- | The display options of a control.+    displayOptions :: Prelude.Maybe ListControlDisplayOptions,+    -- | A list of selectable values that are used in a control.+    selectableValues :: Prelude.Maybe FilterSelectableValues,+    -- | The type of @FilterListControl@. Choose one of the following options:+    --+    -- -   @MULTI_SELECT@: The user can select multiple entries from the list.+    --+    -- -   @SINGLE_SELECT@: The user can select a single entry from the list.+    type' :: Prelude.Maybe SheetControlListType,+    -- | The ID of the @FilterListControl@.+    filterControlId :: Prelude.Text,+    -- | The title of the @FilterListControl@.+    title :: Prelude.Text,+    -- | The source filter ID of the @FilterListControl@.+    sourceFilterId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilterListControl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cascadingControlConfiguration', 'filterListControl_cascadingControlConfiguration' - The values that are displayed in a control can be configured to only+-- show values that are valid based on what\'s selected in other controls.+--+-- 'displayOptions', 'filterListControl_displayOptions' - The display options of a control.+--+-- 'selectableValues', 'filterListControl_selectableValues' - A list of selectable values that are used in a control.+--+-- 'type'', 'filterListControl_type' - The type of @FilterListControl@. Choose one of the following options:+--+-- -   @MULTI_SELECT@: The user can select multiple entries from the list.+--+-- -   @SINGLE_SELECT@: The user can select a single entry from the list.+--+-- 'filterControlId', 'filterListControl_filterControlId' - The ID of the @FilterListControl@.+--+-- 'title', 'filterListControl_title' - The title of the @FilterListControl@.+--+-- 'sourceFilterId', 'filterListControl_sourceFilterId' - The source filter ID of the @FilterListControl@.+newFilterListControl ::+  -- | 'filterControlId'+  Prelude.Text ->+  -- | 'title'+  Prelude.Text ->+  -- | 'sourceFilterId'+  Prelude.Text ->+  FilterListControl+newFilterListControl+  pFilterControlId_+  pTitle_+  pSourceFilterId_ =+    FilterListControl'+      { cascadingControlConfiguration =+          Prelude.Nothing,+        displayOptions = Prelude.Nothing,+        selectableValues = Prelude.Nothing,+        type' = Prelude.Nothing,+        filterControlId = pFilterControlId_,+        title = pTitle_,+        sourceFilterId = pSourceFilterId_+      }++-- | The values that are displayed in a control can be configured to only+-- show values that are valid based on what\'s selected in other controls.+filterListControl_cascadingControlConfiguration :: Lens.Lens' FilterListControl (Prelude.Maybe CascadingControlConfiguration)+filterListControl_cascadingControlConfiguration = Lens.lens (\FilterListControl' {cascadingControlConfiguration} -> cascadingControlConfiguration) (\s@FilterListControl' {} a -> s {cascadingControlConfiguration = a} :: FilterListControl)++-- | The display options of a control.+filterListControl_displayOptions :: Lens.Lens' FilterListControl (Prelude.Maybe ListControlDisplayOptions)+filterListControl_displayOptions = Lens.lens (\FilterListControl' {displayOptions} -> displayOptions) (\s@FilterListControl' {} a -> s {displayOptions = a} :: FilterListControl)++-- | A list of selectable values that are used in a control.+filterListControl_selectableValues :: Lens.Lens' FilterListControl (Prelude.Maybe FilterSelectableValues)+filterListControl_selectableValues = Lens.lens (\FilterListControl' {selectableValues} -> selectableValues) (\s@FilterListControl' {} a -> s {selectableValues = a} :: FilterListControl)++-- | The type of @FilterListControl@. Choose one of the following options:+--+-- -   @MULTI_SELECT@: The user can select multiple entries from the list.+--+-- -   @SINGLE_SELECT@: The user can select a single entry from the list.+filterListControl_type :: Lens.Lens' FilterListControl (Prelude.Maybe SheetControlListType)+filterListControl_type = Lens.lens (\FilterListControl' {type'} -> type') (\s@FilterListControl' {} a -> s {type' = a} :: FilterListControl)++-- | The ID of the @FilterListControl@.+filterListControl_filterControlId :: Lens.Lens' FilterListControl Prelude.Text+filterListControl_filterControlId = Lens.lens (\FilterListControl' {filterControlId} -> filterControlId) (\s@FilterListControl' {} a -> s {filterControlId = a} :: FilterListControl)++-- | The title of the @FilterListControl@.+filterListControl_title :: Lens.Lens' FilterListControl Prelude.Text+filterListControl_title = Lens.lens (\FilterListControl' {title} -> title) (\s@FilterListControl' {} a -> s {title = a} :: FilterListControl)++-- | The source filter ID of the @FilterListControl@.+filterListControl_sourceFilterId :: Lens.Lens' FilterListControl Prelude.Text+filterListControl_sourceFilterId = Lens.lens (\FilterListControl' {sourceFilterId} -> sourceFilterId) (\s@FilterListControl' {} a -> s {sourceFilterId = a} :: FilterListControl)++instance Data.FromJSON FilterListControl where+  parseJSON =+    Data.withObject+      "FilterListControl"+      ( \x ->+          FilterListControl'+            Prelude.<$> (x Data..:? "CascadingControlConfiguration")+            Prelude.<*> (x Data..:? "DisplayOptions")+            Prelude.<*> (x Data..:? "SelectableValues")+            Prelude.<*> (x Data..:? "Type")+            Prelude.<*> (x Data..: "FilterControlId")+            Prelude.<*> (x Data..: "Title")+            Prelude.<*> (x Data..: "SourceFilterId")+      )++instance Prelude.Hashable FilterListControl where+  hashWithSalt _salt FilterListControl' {..} =+    _salt+      `Prelude.hashWithSalt` cascadingControlConfiguration+      `Prelude.hashWithSalt` displayOptions+      `Prelude.hashWithSalt` selectableValues+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` filterControlId+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` sourceFilterId++instance Prelude.NFData FilterListControl where+  rnf FilterListControl' {..} =+    Prelude.rnf cascadingControlConfiguration+      `Prelude.seq` Prelude.rnf displayOptions+      `Prelude.seq` Prelude.rnf selectableValues+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf filterControlId+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf sourceFilterId++instance Data.ToJSON FilterListControl where+  toJSON FilterListControl' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CascadingControlConfiguration" Data..=)+              Prelude.<$> cascadingControlConfiguration,+            ("DisplayOptions" Data..=)+              Prelude.<$> displayOptions,+            ("SelectableValues" Data..=)+              Prelude.<$> selectableValues,+            ("Type" Data..=) Prelude.<$> type',+            Prelude.Just+              ("FilterControlId" Data..= filterControlId),+            Prelude.Just ("Title" Data..= title),+            Prelude.Just+              ("SourceFilterId" Data..= sourceFilterId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/FilterNullOption.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.FilterNullOption+-- 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.QuickSight.Types.FilterNullOption+  ( FilterNullOption+      ( ..,+        FilterNullOption_ALL_VALUES,+        FilterNullOption_NON_NULLS_ONLY,+        FilterNullOption_NULLS_ONLY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FilterNullOption = FilterNullOption'+  { fromFilterNullOption ::+      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 FilterNullOption_ALL_VALUES :: FilterNullOption+pattern FilterNullOption_ALL_VALUES = FilterNullOption' "ALL_VALUES"++pattern FilterNullOption_NON_NULLS_ONLY :: FilterNullOption+pattern FilterNullOption_NON_NULLS_ONLY = FilterNullOption' "NON_NULLS_ONLY"++pattern FilterNullOption_NULLS_ONLY :: FilterNullOption+pattern FilterNullOption_NULLS_ONLY = FilterNullOption' "NULLS_ONLY"++{-# COMPLETE+  FilterNullOption_ALL_VALUES,+  FilterNullOption_NON_NULLS_ONLY,+  FilterNullOption_NULLS_ONLY,+  FilterNullOption'+  #-}
+ gen/Amazonka/QuickSight/Types/FilterOperation.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.QuickSight.Types.FilterOperation+-- 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.QuickSight.Types.FilterOperation 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 transform operation that filters rows based on a condition.+--+-- /See:/ 'newFilterOperation' smart constructor.+data FilterOperation = FilterOperation'+  { -- | An expression that must evaluate to a Boolean value. Rows for which the+    -- expression evaluates to true are kept in the dataset.+    conditionExpression :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilterOperation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'conditionExpression', 'filterOperation_conditionExpression' - An expression that must evaluate to a Boolean value. Rows for which the+-- expression evaluates to true are kept in the dataset.+newFilterOperation ::+  -- | 'conditionExpression'+  Prelude.Text ->+  FilterOperation+newFilterOperation pConditionExpression_ =+  FilterOperation'+    { conditionExpression =+        Data._Sensitive Lens.# pConditionExpression_+    }++-- | An expression that must evaluate to a Boolean value. Rows for which the+-- expression evaluates to true are kept in the dataset.+filterOperation_conditionExpression :: Lens.Lens' FilterOperation Prelude.Text+filterOperation_conditionExpression = Lens.lens (\FilterOperation' {conditionExpression} -> conditionExpression) (\s@FilterOperation' {} a -> s {conditionExpression = a} :: FilterOperation) Prelude.. Data._Sensitive++instance Data.FromJSON FilterOperation where+  parseJSON =+    Data.withObject+      "FilterOperation"+      ( \x ->+          FilterOperation'+            Prelude.<$> (x Data..: "ConditionExpression")+      )++instance Prelude.Hashable FilterOperation where+  hashWithSalt _salt FilterOperation' {..} =+    _salt `Prelude.hashWithSalt` conditionExpression++instance Prelude.NFData FilterOperation where+  rnf FilterOperation' {..} =+    Prelude.rnf conditionExpression++instance Data.ToJSON FilterOperation where+  toJSON FilterOperation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ConditionExpression" Data..= conditionExpression)+          ]+      )
+ gen/Amazonka/QuickSight/Types/FilterOperationSelectedFieldsConfiguration.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.FilterOperationSelectedFieldsConfiguration+-- 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.QuickSight.Types.FilterOperationSelectedFieldsConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.SelectedFieldOptions++-- | The configuration of selected fields in+-- the@CustomActionFilterOperation@.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newFilterOperationSelectedFieldsConfiguration' smart constructor.+data FilterOperationSelectedFieldsConfiguration = FilterOperationSelectedFieldsConfiguration'+  { -- | A structure that contains the options that choose which fields are+    -- filtered in the @CustomActionFilterOperation@.+    --+    -- Valid values are defined as follows:+    --+    -- -   @ALL_FIELDS@: Applies the filter operation to all fields.+    selectedFieldOptions :: Prelude.Maybe SelectedFieldOptions,+    -- | Chooses the fields that are filtered in @CustomActionFilterOperation@.+    selectedFields :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilterOperationSelectedFieldsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'selectedFieldOptions', 'filterOperationSelectedFieldsConfiguration_selectedFieldOptions' - A structure that contains the options that choose which fields are+-- filtered in the @CustomActionFilterOperation@.+--+-- Valid values are defined as follows:+--+-- -   @ALL_FIELDS@: Applies the filter operation to all fields.+--+-- 'selectedFields', 'filterOperationSelectedFieldsConfiguration_selectedFields' - Chooses the fields that are filtered in @CustomActionFilterOperation@.+newFilterOperationSelectedFieldsConfiguration ::+  FilterOperationSelectedFieldsConfiguration+newFilterOperationSelectedFieldsConfiguration =+  FilterOperationSelectedFieldsConfiguration'+    { selectedFieldOptions =+        Prelude.Nothing,+      selectedFields =+        Prelude.Nothing+    }++-- | A structure that contains the options that choose which fields are+-- filtered in the @CustomActionFilterOperation@.+--+-- Valid values are defined as follows:+--+-- -   @ALL_FIELDS@: Applies the filter operation to all fields.+filterOperationSelectedFieldsConfiguration_selectedFieldOptions :: Lens.Lens' FilterOperationSelectedFieldsConfiguration (Prelude.Maybe SelectedFieldOptions)+filterOperationSelectedFieldsConfiguration_selectedFieldOptions = Lens.lens (\FilterOperationSelectedFieldsConfiguration' {selectedFieldOptions} -> selectedFieldOptions) (\s@FilterOperationSelectedFieldsConfiguration' {} a -> s {selectedFieldOptions = a} :: FilterOperationSelectedFieldsConfiguration)++-- | Chooses the fields that are filtered in @CustomActionFilterOperation@.+filterOperationSelectedFieldsConfiguration_selectedFields :: Lens.Lens' FilterOperationSelectedFieldsConfiguration (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+filterOperationSelectedFieldsConfiguration_selectedFields = Lens.lens (\FilterOperationSelectedFieldsConfiguration' {selectedFields} -> selectedFields) (\s@FilterOperationSelectedFieldsConfiguration' {} a -> s {selectedFields = a} :: FilterOperationSelectedFieldsConfiguration) Prelude.. Lens.mapping Lens.coerced++instance+  Data.FromJSON+    FilterOperationSelectedFieldsConfiguration+  where+  parseJSON =+    Data.withObject+      "FilterOperationSelectedFieldsConfiguration"+      ( \x ->+          FilterOperationSelectedFieldsConfiguration'+            Prelude.<$> (x Data..:? "SelectedFieldOptions")+            Prelude.<*> (x Data..:? "SelectedFields")+      )++instance+  Prelude.Hashable+    FilterOperationSelectedFieldsConfiguration+  where+  hashWithSalt+    _salt+    FilterOperationSelectedFieldsConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` selectedFieldOptions+        `Prelude.hashWithSalt` selectedFields++instance+  Prelude.NFData+    FilterOperationSelectedFieldsConfiguration+  where+  rnf FilterOperationSelectedFieldsConfiguration' {..} =+    Prelude.rnf selectedFieldOptions+      `Prelude.seq` Prelude.rnf selectedFields++instance+  Data.ToJSON+    FilterOperationSelectedFieldsConfiguration+  where+  toJSON+    FilterOperationSelectedFieldsConfiguration' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("SelectedFieldOptions" Data..=)+                Prelude.<$> selectedFieldOptions,+              ("SelectedFields" Data..=)+                Prelude.<$> selectedFields+            ]+        )
+ gen/Amazonka/QuickSight/Types/FilterOperationTargetVisualsConfiguration.hs view
@@ -0,0 +1,103 @@+{-# 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.QuickSight.Types.FilterOperationTargetVisualsConfiguration+-- 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.QuickSight.Types.FilterOperationTargetVisualsConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.SameSheetTargetVisualConfiguration++-- | The configuration of target visuals that you want to be filtered.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newFilterOperationTargetVisualsConfiguration' smart constructor.+data FilterOperationTargetVisualsConfiguration = FilterOperationTargetVisualsConfiguration'+  { -- | The configuration of the same-sheet target visuals that you want to be+    -- filtered.+    sameSheetTargetVisualConfiguration :: Prelude.Maybe SameSheetTargetVisualConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilterOperationTargetVisualsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sameSheetTargetVisualConfiguration', 'filterOperationTargetVisualsConfiguration_sameSheetTargetVisualConfiguration' - The configuration of the same-sheet target visuals that you want to be+-- filtered.+newFilterOperationTargetVisualsConfiguration ::+  FilterOperationTargetVisualsConfiguration+newFilterOperationTargetVisualsConfiguration =+  FilterOperationTargetVisualsConfiguration'+    { sameSheetTargetVisualConfiguration =+        Prelude.Nothing+    }++-- | The configuration of the same-sheet target visuals that you want to be+-- filtered.+filterOperationTargetVisualsConfiguration_sameSheetTargetVisualConfiguration :: Lens.Lens' FilterOperationTargetVisualsConfiguration (Prelude.Maybe SameSheetTargetVisualConfiguration)+filterOperationTargetVisualsConfiguration_sameSheetTargetVisualConfiguration = Lens.lens (\FilterOperationTargetVisualsConfiguration' {sameSheetTargetVisualConfiguration} -> sameSheetTargetVisualConfiguration) (\s@FilterOperationTargetVisualsConfiguration' {} a -> s {sameSheetTargetVisualConfiguration = a} :: FilterOperationTargetVisualsConfiguration)++instance+  Data.FromJSON+    FilterOperationTargetVisualsConfiguration+  where+  parseJSON =+    Data.withObject+      "FilterOperationTargetVisualsConfiguration"+      ( \x ->+          FilterOperationTargetVisualsConfiguration'+            Prelude.<$> (x Data..:? "SameSheetTargetVisualConfiguration")+      )++instance+  Prelude.Hashable+    FilterOperationTargetVisualsConfiguration+  where+  hashWithSalt+    _salt+    FilterOperationTargetVisualsConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` sameSheetTargetVisualConfiguration++instance+  Prelude.NFData+    FilterOperationTargetVisualsConfiguration+  where+  rnf FilterOperationTargetVisualsConfiguration' {..} =+    Prelude.rnf sameSheetTargetVisualConfiguration++instance+  Data.ToJSON+    FilterOperationTargetVisualsConfiguration+  where+  toJSON FilterOperationTargetVisualsConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SameSheetTargetVisualConfiguration" Data..=)+              Prelude.<$> sameSheetTargetVisualConfiguration+          ]+      )
+ gen/Amazonka/QuickSight/Types/FilterOperator.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.QuickSight.Types.FilterOperator+-- 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.QuickSight.Types.FilterOperator+  ( FilterOperator+      ( ..,+        FilterOperator_StringEquals,+        FilterOperator_StringLike+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FilterOperator = FilterOperator'+  { fromFilterOperator ::+      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 FilterOperator_StringEquals :: FilterOperator+pattern FilterOperator_StringEquals = FilterOperator' "StringEquals"++pattern FilterOperator_StringLike :: FilterOperator+pattern FilterOperator_StringLike = FilterOperator' "StringLike"++{-# COMPLETE+  FilterOperator_StringEquals,+  FilterOperator_StringLike,+  FilterOperator'+  #-}
+ gen/Amazonka/QuickSight/Types/FilterRelativeDateTimeControl.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.QuickSight.Types.FilterRelativeDateTimeControl+-- 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.QuickSight.Types.FilterRelativeDateTimeControl where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.RelativeDateTimeControlDisplayOptions++-- | A control from a date filter that is used to specify the relative date.+--+-- /See:/ 'newFilterRelativeDateTimeControl' smart constructor.+data FilterRelativeDateTimeControl = FilterRelativeDateTimeControl'+  { -- | The display options of a control.+    displayOptions :: Prelude.Maybe RelativeDateTimeControlDisplayOptions,+    -- | The ID of the @FilterTextAreaControl@.+    filterControlId :: Prelude.Text,+    -- | The title of the @FilterTextAreaControl@.+    title :: Prelude.Text,+    -- | The source filter ID of the @FilterTextAreaControl@.+    sourceFilterId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilterRelativeDateTimeControl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'displayOptions', 'filterRelativeDateTimeControl_displayOptions' - The display options of a control.+--+-- 'filterControlId', 'filterRelativeDateTimeControl_filterControlId' - The ID of the @FilterTextAreaControl@.+--+-- 'title', 'filterRelativeDateTimeControl_title' - The title of the @FilterTextAreaControl@.+--+-- 'sourceFilterId', 'filterRelativeDateTimeControl_sourceFilterId' - The source filter ID of the @FilterTextAreaControl@.+newFilterRelativeDateTimeControl ::+  -- | 'filterControlId'+  Prelude.Text ->+  -- | 'title'+  Prelude.Text ->+  -- | 'sourceFilterId'+  Prelude.Text ->+  FilterRelativeDateTimeControl+newFilterRelativeDateTimeControl+  pFilterControlId_+  pTitle_+  pSourceFilterId_ =+    FilterRelativeDateTimeControl'+      { displayOptions =+          Prelude.Nothing,+        filterControlId = pFilterControlId_,+        title = pTitle_,+        sourceFilterId = pSourceFilterId_+      }++-- | The display options of a control.+filterRelativeDateTimeControl_displayOptions :: Lens.Lens' FilterRelativeDateTimeControl (Prelude.Maybe RelativeDateTimeControlDisplayOptions)+filterRelativeDateTimeControl_displayOptions = Lens.lens (\FilterRelativeDateTimeControl' {displayOptions} -> displayOptions) (\s@FilterRelativeDateTimeControl' {} a -> s {displayOptions = a} :: FilterRelativeDateTimeControl)++-- | The ID of the @FilterTextAreaControl@.+filterRelativeDateTimeControl_filterControlId :: Lens.Lens' FilterRelativeDateTimeControl Prelude.Text+filterRelativeDateTimeControl_filterControlId = Lens.lens (\FilterRelativeDateTimeControl' {filterControlId} -> filterControlId) (\s@FilterRelativeDateTimeControl' {} a -> s {filterControlId = a} :: FilterRelativeDateTimeControl)++-- | The title of the @FilterTextAreaControl@.+filterRelativeDateTimeControl_title :: Lens.Lens' FilterRelativeDateTimeControl Prelude.Text+filterRelativeDateTimeControl_title = Lens.lens (\FilterRelativeDateTimeControl' {title} -> title) (\s@FilterRelativeDateTimeControl' {} a -> s {title = a} :: FilterRelativeDateTimeControl)++-- | The source filter ID of the @FilterTextAreaControl@.+filterRelativeDateTimeControl_sourceFilterId :: Lens.Lens' FilterRelativeDateTimeControl Prelude.Text+filterRelativeDateTimeControl_sourceFilterId = Lens.lens (\FilterRelativeDateTimeControl' {sourceFilterId} -> sourceFilterId) (\s@FilterRelativeDateTimeControl' {} a -> s {sourceFilterId = a} :: FilterRelativeDateTimeControl)++instance Data.FromJSON FilterRelativeDateTimeControl where+  parseJSON =+    Data.withObject+      "FilterRelativeDateTimeControl"+      ( \x ->+          FilterRelativeDateTimeControl'+            Prelude.<$> (x Data..:? "DisplayOptions")+            Prelude.<*> (x Data..: "FilterControlId")+            Prelude.<*> (x Data..: "Title")+            Prelude.<*> (x Data..: "SourceFilterId")+      )++instance+  Prelude.Hashable+    FilterRelativeDateTimeControl+  where+  hashWithSalt _salt FilterRelativeDateTimeControl' {..} =+    _salt+      `Prelude.hashWithSalt` displayOptions+      `Prelude.hashWithSalt` filterControlId+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` sourceFilterId++instance Prelude.NFData FilterRelativeDateTimeControl where+  rnf FilterRelativeDateTimeControl' {..} =+    Prelude.rnf displayOptions+      `Prelude.seq` Prelude.rnf filterControlId+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf sourceFilterId++instance Data.ToJSON FilterRelativeDateTimeControl where+  toJSON FilterRelativeDateTimeControl' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DisplayOptions" Data..=)+              Prelude.<$> displayOptions,+            Prelude.Just+              ("FilterControlId" Data..= filterControlId),+            Prelude.Just ("Title" Data..= title),+            Prelude.Just+              ("SourceFilterId" Data..= sourceFilterId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/FilterScopeConfiguration.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.FilterScopeConfiguration+-- 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.QuickSight.Types.FilterScopeConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.SelectedSheetsFilterScopeConfiguration++-- | The scope configuration for a @FilterGroup@.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newFilterScopeConfiguration' smart constructor.+data FilterScopeConfiguration = FilterScopeConfiguration'+  { -- | The configuration for applying a filter to specific sheets.+    selectedSheets :: Prelude.Maybe SelectedSheetsFilterScopeConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilterScopeConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'selectedSheets', 'filterScopeConfiguration_selectedSheets' - The configuration for applying a filter to specific sheets.+newFilterScopeConfiguration ::+  FilterScopeConfiguration+newFilterScopeConfiguration =+  FilterScopeConfiguration'+    { selectedSheets =+        Prelude.Nothing+    }++-- | The configuration for applying a filter to specific sheets.+filterScopeConfiguration_selectedSheets :: Lens.Lens' FilterScopeConfiguration (Prelude.Maybe SelectedSheetsFilterScopeConfiguration)+filterScopeConfiguration_selectedSheets = Lens.lens (\FilterScopeConfiguration' {selectedSheets} -> selectedSheets) (\s@FilterScopeConfiguration' {} a -> s {selectedSheets = a} :: FilterScopeConfiguration)++instance Data.FromJSON FilterScopeConfiguration where+  parseJSON =+    Data.withObject+      "FilterScopeConfiguration"+      ( \x ->+          FilterScopeConfiguration'+            Prelude.<$> (x Data..:? "SelectedSheets")+      )++instance Prelude.Hashable FilterScopeConfiguration where+  hashWithSalt _salt FilterScopeConfiguration' {..} =+    _salt `Prelude.hashWithSalt` selectedSheets++instance Prelude.NFData FilterScopeConfiguration where+  rnf FilterScopeConfiguration' {..} =+    Prelude.rnf selectedSheets++instance Data.ToJSON FilterScopeConfiguration where+  toJSON FilterScopeConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SelectedSheets" Data..=)+              Prelude.<$> selectedSheets+          ]+      )
+ gen/Amazonka/QuickSight/Types/FilterSelectableValues.hs view
@@ -0,0 +1,75 @@+{-# 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.QuickSight.Types.FilterSelectableValues+-- 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.QuickSight.Types.FilterSelectableValues 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 selectable values that are used in a control.+--+-- /See:/ 'newFilterSelectableValues' smart constructor.+data FilterSelectableValues = FilterSelectableValues'+  { -- | The values that are used in the @FilterSelectableValues@.+    values :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilterSelectableValues' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'values', 'filterSelectableValues_values' - The values that are used in the @FilterSelectableValues@.+newFilterSelectableValues ::+  FilterSelectableValues+newFilterSelectableValues =+  FilterSelectableValues' {values = Prelude.Nothing}++-- | The values that are used in the @FilterSelectableValues@.+filterSelectableValues_values :: Lens.Lens' FilterSelectableValues (Prelude.Maybe [Prelude.Text])+filterSelectableValues_values = Lens.lens (\FilterSelectableValues' {values} -> values) (\s@FilterSelectableValues' {} a -> s {values = a} :: FilterSelectableValues) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON FilterSelectableValues where+  parseJSON =+    Data.withObject+      "FilterSelectableValues"+      ( \x ->+          FilterSelectableValues'+            Prelude.<$> (x Data..:? "Values" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable FilterSelectableValues where+  hashWithSalt _salt FilterSelectableValues' {..} =+    _salt `Prelude.hashWithSalt` values++instance Prelude.NFData FilterSelectableValues where+  rnf FilterSelectableValues' {..} = Prelude.rnf values++instance Data.ToJSON FilterSelectableValues where+  toJSON FilterSelectableValues' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Values" Data..=) Prelude.<$> values]+      )
+ gen/Amazonka/QuickSight/Types/FilterSliderControl.hs view
@@ -0,0 +1,208 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.FilterSliderControl+-- 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.QuickSight.Types.FilterSliderControl where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.SheetControlSliderType+import Amazonka.QuickSight.Types.SliderControlDisplayOptions++-- | A control to display a horizontal toggle bar. This is used to change a+-- value by sliding the toggle.+--+-- /See:/ 'newFilterSliderControl' smart constructor.+data FilterSliderControl = FilterSliderControl'+  { -- | The display options of a control.+    displayOptions :: Prelude.Maybe SliderControlDisplayOptions,+    -- | The type of @FilterSliderControl@. Choose one of the following options:+    --+    -- -   @SINGLE_POINT@: Filter against(equals) a single data point.+    --+    -- -   @RANGE@: Filter data that is in a specified range.+    type' :: Prelude.Maybe SheetControlSliderType,+    -- | The ID of the @FilterSliderControl@.+    filterControlId :: Prelude.Text,+    -- | The title of the @FilterSliderControl@.+    title :: Prelude.Text,+    -- | The source filter ID of the @FilterSliderControl@.+    sourceFilterId :: Prelude.Text,+    -- | The smaller value that is displayed at the left of the slider.+    maximumValue :: Prelude.Double,+    -- | The larger value that is displayed at the right of the slider.+    minimumValue :: Prelude.Double,+    -- | The number of increments that the slider bar is divided into.+    stepSize :: Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilterSliderControl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'displayOptions', 'filterSliderControl_displayOptions' - The display options of a control.+--+-- 'type'', 'filterSliderControl_type' - The type of @FilterSliderControl@. Choose one of the following options:+--+-- -   @SINGLE_POINT@: Filter against(equals) a single data point.+--+-- -   @RANGE@: Filter data that is in a specified range.+--+-- 'filterControlId', 'filterSliderControl_filterControlId' - The ID of the @FilterSliderControl@.+--+-- 'title', 'filterSliderControl_title' - The title of the @FilterSliderControl@.+--+-- 'sourceFilterId', 'filterSliderControl_sourceFilterId' - The source filter ID of the @FilterSliderControl@.+--+-- 'maximumValue', 'filterSliderControl_maximumValue' - The smaller value that is displayed at the left of the slider.+--+-- 'minimumValue', 'filterSliderControl_minimumValue' - The larger value that is displayed at the right of the slider.+--+-- 'stepSize', 'filterSliderControl_stepSize' - The number of increments that the slider bar is divided into.+newFilterSliderControl ::+  -- | 'filterControlId'+  Prelude.Text ->+  -- | 'title'+  Prelude.Text ->+  -- | 'sourceFilterId'+  Prelude.Text ->+  -- | 'maximumValue'+  Prelude.Double ->+  -- | 'minimumValue'+  Prelude.Double ->+  -- | 'stepSize'+  Prelude.Double ->+  FilterSliderControl+newFilterSliderControl+  pFilterControlId_+  pTitle_+  pSourceFilterId_+  pMaximumValue_+  pMinimumValue_+  pStepSize_ =+    FilterSliderControl'+      { displayOptions =+          Prelude.Nothing,+        type' = Prelude.Nothing,+        filterControlId = pFilterControlId_,+        title = pTitle_,+        sourceFilterId = pSourceFilterId_,+        maximumValue = pMaximumValue_,+        minimumValue = pMinimumValue_,+        stepSize = pStepSize_+      }++-- | The display options of a control.+filterSliderControl_displayOptions :: Lens.Lens' FilterSliderControl (Prelude.Maybe SliderControlDisplayOptions)+filterSliderControl_displayOptions = Lens.lens (\FilterSliderControl' {displayOptions} -> displayOptions) (\s@FilterSliderControl' {} a -> s {displayOptions = a} :: FilterSliderControl)++-- | The type of @FilterSliderControl@. Choose one of the following options:+--+-- -   @SINGLE_POINT@: Filter against(equals) a single data point.+--+-- -   @RANGE@: Filter data that is in a specified range.+filterSliderControl_type :: Lens.Lens' FilterSliderControl (Prelude.Maybe SheetControlSliderType)+filterSliderControl_type = Lens.lens (\FilterSliderControl' {type'} -> type') (\s@FilterSliderControl' {} a -> s {type' = a} :: FilterSliderControl)++-- | The ID of the @FilterSliderControl@.+filterSliderControl_filterControlId :: Lens.Lens' FilterSliderControl Prelude.Text+filterSliderControl_filterControlId = Lens.lens (\FilterSliderControl' {filterControlId} -> filterControlId) (\s@FilterSliderControl' {} a -> s {filterControlId = a} :: FilterSliderControl)++-- | The title of the @FilterSliderControl@.+filterSliderControl_title :: Lens.Lens' FilterSliderControl Prelude.Text+filterSliderControl_title = Lens.lens (\FilterSliderControl' {title} -> title) (\s@FilterSliderControl' {} a -> s {title = a} :: FilterSliderControl)++-- | The source filter ID of the @FilterSliderControl@.+filterSliderControl_sourceFilterId :: Lens.Lens' FilterSliderControl Prelude.Text+filterSliderControl_sourceFilterId = Lens.lens (\FilterSliderControl' {sourceFilterId} -> sourceFilterId) (\s@FilterSliderControl' {} a -> s {sourceFilterId = a} :: FilterSliderControl)++-- | The smaller value that is displayed at the left of the slider.+filterSliderControl_maximumValue :: Lens.Lens' FilterSliderControl Prelude.Double+filterSliderControl_maximumValue = Lens.lens (\FilterSliderControl' {maximumValue} -> maximumValue) (\s@FilterSliderControl' {} a -> s {maximumValue = a} :: FilterSliderControl)++-- | The larger value that is displayed at the right of the slider.+filterSliderControl_minimumValue :: Lens.Lens' FilterSliderControl Prelude.Double+filterSliderControl_minimumValue = Lens.lens (\FilterSliderControl' {minimumValue} -> minimumValue) (\s@FilterSliderControl' {} a -> s {minimumValue = a} :: FilterSliderControl)++-- | The number of increments that the slider bar is divided into.+filterSliderControl_stepSize :: Lens.Lens' FilterSliderControl Prelude.Double+filterSliderControl_stepSize = Lens.lens (\FilterSliderControl' {stepSize} -> stepSize) (\s@FilterSliderControl' {} a -> s {stepSize = a} :: FilterSliderControl)++instance Data.FromJSON FilterSliderControl where+  parseJSON =+    Data.withObject+      "FilterSliderControl"+      ( \x ->+          FilterSliderControl'+            Prelude.<$> (x Data..:? "DisplayOptions")+            Prelude.<*> (x Data..:? "Type")+            Prelude.<*> (x Data..: "FilterControlId")+            Prelude.<*> (x Data..: "Title")+            Prelude.<*> (x Data..: "SourceFilterId")+            Prelude.<*> (x Data..: "MaximumValue")+            Prelude.<*> (x Data..: "MinimumValue")+            Prelude.<*> (x Data..: "StepSize")+      )++instance Prelude.Hashable FilterSliderControl where+  hashWithSalt _salt FilterSliderControl' {..} =+    _salt+      `Prelude.hashWithSalt` displayOptions+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` filterControlId+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` sourceFilterId+      `Prelude.hashWithSalt` maximumValue+      `Prelude.hashWithSalt` minimumValue+      `Prelude.hashWithSalt` stepSize++instance Prelude.NFData FilterSliderControl where+  rnf FilterSliderControl' {..} =+    Prelude.rnf displayOptions+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf filterControlId+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf sourceFilterId+      `Prelude.seq` Prelude.rnf maximumValue+      `Prelude.seq` Prelude.rnf minimumValue+      `Prelude.seq` Prelude.rnf stepSize++instance Data.ToJSON FilterSliderControl where+  toJSON FilterSliderControl' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DisplayOptions" Data..=)+              Prelude.<$> displayOptions,+            ("Type" Data..=) Prelude.<$> type',+            Prelude.Just+              ("FilterControlId" Data..= filterControlId),+            Prelude.Just ("Title" Data..= title),+            Prelude.Just+              ("SourceFilterId" Data..= sourceFilterId),+            Prelude.Just ("MaximumValue" Data..= maximumValue),+            Prelude.Just ("MinimumValue" Data..= minimumValue),+            Prelude.Just ("StepSize" Data..= stepSize)+          ]+      )
+ gen/Amazonka/QuickSight/Types/FilterTextAreaControl.hs view
@@ -0,0 +1,145 @@+{-# 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.QuickSight.Types.FilterTextAreaControl+-- 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.QuickSight.Types.FilterTextAreaControl where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TextAreaControlDisplayOptions++-- | A control to display a text box that is used to enter multiple entries.+--+-- /See:/ 'newFilterTextAreaControl' smart constructor.+data FilterTextAreaControl = FilterTextAreaControl'+  { -- | The delimiter that is used to separate the lines in text.+    delimiter :: Prelude.Maybe Prelude.Text,+    -- | The display options of a control.+    displayOptions :: Prelude.Maybe TextAreaControlDisplayOptions,+    -- | The ID of the @FilterTextAreaControl@.+    filterControlId :: Prelude.Text,+    -- | The title of the @FilterTextAreaControl@.+    title :: Prelude.Text,+    -- | The source filter ID of the @FilterTextAreaControl@.+    sourceFilterId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilterTextAreaControl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'delimiter', 'filterTextAreaControl_delimiter' - The delimiter that is used to separate the lines in text.+--+-- 'displayOptions', 'filterTextAreaControl_displayOptions' - The display options of a control.+--+-- 'filterControlId', 'filterTextAreaControl_filterControlId' - The ID of the @FilterTextAreaControl@.+--+-- 'title', 'filterTextAreaControl_title' - The title of the @FilterTextAreaControl@.+--+-- 'sourceFilterId', 'filterTextAreaControl_sourceFilterId' - The source filter ID of the @FilterTextAreaControl@.+newFilterTextAreaControl ::+  -- | 'filterControlId'+  Prelude.Text ->+  -- | 'title'+  Prelude.Text ->+  -- | 'sourceFilterId'+  Prelude.Text ->+  FilterTextAreaControl+newFilterTextAreaControl+  pFilterControlId_+  pTitle_+  pSourceFilterId_ =+    FilterTextAreaControl'+      { delimiter = Prelude.Nothing,+        displayOptions = Prelude.Nothing,+        filterControlId = pFilterControlId_,+        title = pTitle_,+        sourceFilterId = pSourceFilterId_+      }++-- | The delimiter that is used to separate the lines in text.+filterTextAreaControl_delimiter :: Lens.Lens' FilterTextAreaControl (Prelude.Maybe Prelude.Text)+filterTextAreaControl_delimiter = Lens.lens (\FilterTextAreaControl' {delimiter} -> delimiter) (\s@FilterTextAreaControl' {} a -> s {delimiter = a} :: FilterTextAreaControl)++-- | The display options of a control.+filterTextAreaControl_displayOptions :: Lens.Lens' FilterTextAreaControl (Prelude.Maybe TextAreaControlDisplayOptions)+filterTextAreaControl_displayOptions = Lens.lens (\FilterTextAreaControl' {displayOptions} -> displayOptions) (\s@FilterTextAreaControl' {} a -> s {displayOptions = a} :: FilterTextAreaControl)++-- | The ID of the @FilterTextAreaControl@.+filterTextAreaControl_filterControlId :: Lens.Lens' FilterTextAreaControl Prelude.Text+filterTextAreaControl_filterControlId = Lens.lens (\FilterTextAreaControl' {filterControlId} -> filterControlId) (\s@FilterTextAreaControl' {} a -> s {filterControlId = a} :: FilterTextAreaControl)++-- | The title of the @FilterTextAreaControl@.+filterTextAreaControl_title :: Lens.Lens' FilterTextAreaControl Prelude.Text+filterTextAreaControl_title = Lens.lens (\FilterTextAreaControl' {title} -> title) (\s@FilterTextAreaControl' {} a -> s {title = a} :: FilterTextAreaControl)++-- | The source filter ID of the @FilterTextAreaControl@.+filterTextAreaControl_sourceFilterId :: Lens.Lens' FilterTextAreaControl Prelude.Text+filterTextAreaControl_sourceFilterId = Lens.lens (\FilterTextAreaControl' {sourceFilterId} -> sourceFilterId) (\s@FilterTextAreaControl' {} a -> s {sourceFilterId = a} :: FilterTextAreaControl)++instance Data.FromJSON FilterTextAreaControl where+  parseJSON =+    Data.withObject+      "FilterTextAreaControl"+      ( \x ->+          FilterTextAreaControl'+            Prelude.<$> (x Data..:? "Delimiter")+            Prelude.<*> (x Data..:? "DisplayOptions")+            Prelude.<*> (x Data..: "FilterControlId")+            Prelude.<*> (x Data..: "Title")+            Prelude.<*> (x Data..: "SourceFilterId")+      )++instance Prelude.Hashable FilterTextAreaControl where+  hashWithSalt _salt FilterTextAreaControl' {..} =+    _salt+      `Prelude.hashWithSalt` delimiter+      `Prelude.hashWithSalt` displayOptions+      `Prelude.hashWithSalt` filterControlId+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` sourceFilterId++instance Prelude.NFData FilterTextAreaControl where+  rnf FilterTextAreaControl' {..} =+    Prelude.rnf delimiter+      `Prelude.seq` Prelude.rnf displayOptions+      `Prelude.seq` Prelude.rnf filterControlId+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf sourceFilterId++instance Data.ToJSON FilterTextAreaControl where+  toJSON FilterTextAreaControl' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Delimiter" Data..=) Prelude.<$> delimiter,+            ("DisplayOptions" Data..=)+              Prelude.<$> displayOptions,+            Prelude.Just+              ("FilterControlId" Data..= filterControlId),+            Prelude.Just ("Title" Data..= title),+            Prelude.Just+              ("SourceFilterId" Data..= sourceFilterId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/FilterTextFieldControl.hs view
@@ -0,0 +1,133 @@+{-# 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.QuickSight.Types.FilterTextFieldControl+-- 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.QuickSight.Types.FilterTextFieldControl where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TextFieldControlDisplayOptions++-- | A control to display a text box that is used to enter a single entry.+--+-- /See:/ 'newFilterTextFieldControl' smart constructor.+data FilterTextFieldControl = FilterTextFieldControl'+  { -- | The display options of a control.+    displayOptions :: Prelude.Maybe TextFieldControlDisplayOptions,+    -- | The ID of the @FilterTextFieldControl@.+    filterControlId :: Prelude.Text,+    -- | The title of the @FilterTextFieldControl@.+    title :: Prelude.Text,+    -- | The source filter ID of the @FilterTextFieldControl@.+    sourceFilterId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilterTextFieldControl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'displayOptions', 'filterTextFieldControl_displayOptions' - The display options of a control.+--+-- 'filterControlId', 'filterTextFieldControl_filterControlId' - The ID of the @FilterTextFieldControl@.+--+-- 'title', 'filterTextFieldControl_title' - The title of the @FilterTextFieldControl@.+--+-- 'sourceFilterId', 'filterTextFieldControl_sourceFilterId' - The source filter ID of the @FilterTextFieldControl@.+newFilterTextFieldControl ::+  -- | 'filterControlId'+  Prelude.Text ->+  -- | 'title'+  Prelude.Text ->+  -- | 'sourceFilterId'+  Prelude.Text ->+  FilterTextFieldControl+newFilterTextFieldControl+  pFilterControlId_+  pTitle_+  pSourceFilterId_ =+    FilterTextFieldControl'+      { displayOptions =+          Prelude.Nothing,+        filterControlId = pFilterControlId_,+        title = pTitle_,+        sourceFilterId = pSourceFilterId_+      }++-- | The display options of a control.+filterTextFieldControl_displayOptions :: Lens.Lens' FilterTextFieldControl (Prelude.Maybe TextFieldControlDisplayOptions)+filterTextFieldControl_displayOptions = Lens.lens (\FilterTextFieldControl' {displayOptions} -> displayOptions) (\s@FilterTextFieldControl' {} a -> s {displayOptions = a} :: FilterTextFieldControl)++-- | The ID of the @FilterTextFieldControl@.+filterTextFieldControl_filterControlId :: Lens.Lens' FilterTextFieldControl Prelude.Text+filterTextFieldControl_filterControlId = Lens.lens (\FilterTextFieldControl' {filterControlId} -> filterControlId) (\s@FilterTextFieldControl' {} a -> s {filterControlId = a} :: FilterTextFieldControl)++-- | The title of the @FilterTextFieldControl@.+filterTextFieldControl_title :: Lens.Lens' FilterTextFieldControl Prelude.Text+filterTextFieldControl_title = Lens.lens (\FilterTextFieldControl' {title} -> title) (\s@FilterTextFieldControl' {} a -> s {title = a} :: FilterTextFieldControl)++-- | The source filter ID of the @FilterTextFieldControl@.+filterTextFieldControl_sourceFilterId :: Lens.Lens' FilterTextFieldControl Prelude.Text+filterTextFieldControl_sourceFilterId = Lens.lens (\FilterTextFieldControl' {sourceFilterId} -> sourceFilterId) (\s@FilterTextFieldControl' {} a -> s {sourceFilterId = a} :: FilterTextFieldControl)++instance Data.FromJSON FilterTextFieldControl where+  parseJSON =+    Data.withObject+      "FilterTextFieldControl"+      ( \x ->+          FilterTextFieldControl'+            Prelude.<$> (x Data..:? "DisplayOptions")+            Prelude.<*> (x Data..: "FilterControlId")+            Prelude.<*> (x Data..: "Title")+            Prelude.<*> (x Data..: "SourceFilterId")+      )++instance Prelude.Hashable FilterTextFieldControl where+  hashWithSalt _salt FilterTextFieldControl' {..} =+    _salt+      `Prelude.hashWithSalt` displayOptions+      `Prelude.hashWithSalt` filterControlId+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` sourceFilterId++instance Prelude.NFData FilterTextFieldControl where+  rnf FilterTextFieldControl' {..} =+    Prelude.rnf displayOptions+      `Prelude.seq` Prelude.rnf filterControlId+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf sourceFilterId++instance Data.ToJSON FilterTextFieldControl where+  toJSON FilterTextFieldControl' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DisplayOptions" Data..=)+              Prelude.<$> displayOptions,+            Prelude.Just+              ("FilterControlId" Data..= filterControlId),+            Prelude.Just ("Title" Data..= title),+            Prelude.Just+              ("SourceFilterId" Data..= sourceFilterId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/FilterVisualScope.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.QuickSight.Types.FilterVisualScope+-- 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.QuickSight.Types.FilterVisualScope+  ( FilterVisualScope+      ( ..,+        FilterVisualScope_ALL_VISUALS,+        FilterVisualScope_SELECTED_VISUALS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FilterVisualScope = FilterVisualScope'+  { fromFilterVisualScope ::+      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 FilterVisualScope_ALL_VISUALS :: FilterVisualScope+pattern FilterVisualScope_ALL_VISUALS = FilterVisualScope' "ALL_VISUALS"++pattern FilterVisualScope_SELECTED_VISUALS :: FilterVisualScope+pattern FilterVisualScope_SELECTED_VISUALS = FilterVisualScope' "SELECTED_VISUALS"++{-# COMPLETE+  FilterVisualScope_ALL_VISUALS,+  FilterVisualScope_SELECTED_VISUALS,+  FilterVisualScope'+  #-}
+ gen/Amazonka/QuickSight/Types/Folder.hs view
@@ -0,0 +1,145 @@+{-# 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.QuickSight.Types.Folder+-- 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.QuickSight.Types.Folder where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FolderType++-- | A folder in Amazon QuickSight.+--+-- /See:/ 'newFolder' smart constructor.+data Folder = Folder'+  { -- | The Amazon Resource Name (ARN) for the folder.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time that the folder was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The ID of the folder.+    folderId :: Prelude.Maybe Prelude.Text,+    -- | An array of ancestor ARN strings for the folder.+    folderPath :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | The type of folder it is.+    folderType :: Prelude.Maybe FolderType,+    -- | The time that the folder was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | A display name for the folder.+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Folder' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'folder_arn' - The Amazon Resource Name (ARN) for the folder.+--+-- 'createdTime', 'folder_createdTime' - The time that the folder was created.+--+-- 'folderId', 'folder_folderId' - The ID of the folder.+--+-- 'folderPath', 'folder_folderPath' - An array of ancestor ARN strings for the folder.+--+-- 'folderType', 'folder_folderType' - The type of folder it is.+--+-- 'lastUpdatedTime', 'folder_lastUpdatedTime' - The time that the folder was last updated.+--+-- 'name', 'folder_name' - A display name for the folder.+newFolder ::+  Folder+newFolder =+  Folder'+    { arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      folderId = Prelude.Nothing,+      folderPath = Prelude.Nothing,+      folderType = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) for the folder.+folder_arn :: Lens.Lens' Folder (Prelude.Maybe Prelude.Text)+folder_arn = Lens.lens (\Folder' {arn} -> arn) (\s@Folder' {} a -> s {arn = a} :: Folder)++-- | The time that the folder was created.+folder_createdTime :: Lens.Lens' Folder (Prelude.Maybe Prelude.UTCTime)+folder_createdTime = Lens.lens (\Folder' {createdTime} -> createdTime) (\s@Folder' {} a -> s {createdTime = a} :: Folder) Prelude.. Lens.mapping Data._Time++-- | The ID of the folder.+folder_folderId :: Lens.Lens' Folder (Prelude.Maybe Prelude.Text)+folder_folderId = Lens.lens (\Folder' {folderId} -> folderId) (\s@Folder' {} a -> s {folderId = a} :: Folder)++-- | An array of ancestor ARN strings for the folder.+folder_folderPath :: Lens.Lens' Folder (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+folder_folderPath = Lens.lens (\Folder' {folderPath} -> folderPath) (\s@Folder' {} a -> s {folderPath = a} :: Folder) Prelude.. Lens.mapping Lens.coerced++-- | The type of folder it is.+folder_folderType :: Lens.Lens' Folder (Prelude.Maybe FolderType)+folder_folderType = Lens.lens (\Folder' {folderType} -> folderType) (\s@Folder' {} a -> s {folderType = a} :: Folder)++-- | The time that the folder was last updated.+folder_lastUpdatedTime :: Lens.Lens' Folder (Prelude.Maybe Prelude.UTCTime)+folder_lastUpdatedTime = Lens.lens (\Folder' {lastUpdatedTime} -> lastUpdatedTime) (\s@Folder' {} a -> s {lastUpdatedTime = a} :: Folder) Prelude.. Lens.mapping Data._Time++-- | A display name for the folder.+folder_name :: Lens.Lens' Folder (Prelude.Maybe Prelude.Text)+folder_name = Lens.lens (\Folder' {name} -> name) (\s@Folder' {} a -> s {name = a} :: Folder)++instance Data.FromJSON Folder where+  parseJSON =+    Data.withObject+      "Folder"+      ( \x ->+          Folder'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "FolderId")+            Prelude.<*> (x Data..:? "FolderPath")+            Prelude.<*> (x Data..:? "FolderType")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable Folder where+  hashWithSalt _salt Folder' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` folderId+      `Prelude.hashWithSalt` folderPath+      `Prelude.hashWithSalt` folderType+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` name++instance Prelude.NFData Folder where+  rnf Folder' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf folderId+      `Prelude.seq` Prelude.rnf folderPath+      `Prelude.seq` Prelude.rnf folderType+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/QuickSight/Types/FolderFilterAttribute.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.FolderFilterAttribute+-- 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.QuickSight.Types.FolderFilterAttribute+  ( FolderFilterAttribute+      ( ..,+        FolderFilterAttribute_DIRECT_QUICKSIGHT_OWNER,+        FolderFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER,+        FolderFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER,+        FolderFilterAttribute_FOLDER_NAME,+        FolderFilterAttribute_PARENT_FOLDER_ARN,+        FolderFilterAttribute_QUICKSIGHT_OWNER,+        FolderFilterAttribute_QUICKSIGHT_VIEWER_OR_OWNER+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FolderFilterAttribute = FolderFilterAttribute'+  { fromFolderFilterAttribute ::+      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 FolderFilterAttribute_DIRECT_QUICKSIGHT_OWNER :: FolderFilterAttribute+pattern FolderFilterAttribute_DIRECT_QUICKSIGHT_OWNER = FolderFilterAttribute' "DIRECT_QUICKSIGHT_OWNER"++pattern FolderFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER :: FolderFilterAttribute+pattern FolderFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER = FolderFilterAttribute' "DIRECT_QUICKSIGHT_SOLE_OWNER"++pattern FolderFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER :: FolderFilterAttribute+pattern FolderFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER = FolderFilterAttribute' "DIRECT_QUICKSIGHT_VIEWER_OR_OWNER"++pattern FolderFilterAttribute_FOLDER_NAME :: FolderFilterAttribute+pattern FolderFilterAttribute_FOLDER_NAME = FolderFilterAttribute' "FOLDER_NAME"++pattern FolderFilterAttribute_PARENT_FOLDER_ARN :: FolderFilterAttribute+pattern FolderFilterAttribute_PARENT_FOLDER_ARN = FolderFilterAttribute' "PARENT_FOLDER_ARN"++pattern FolderFilterAttribute_QUICKSIGHT_OWNER :: FolderFilterAttribute+pattern FolderFilterAttribute_QUICKSIGHT_OWNER = FolderFilterAttribute' "QUICKSIGHT_OWNER"++pattern FolderFilterAttribute_QUICKSIGHT_VIEWER_OR_OWNER :: FolderFilterAttribute+pattern FolderFilterAttribute_QUICKSIGHT_VIEWER_OR_OWNER = FolderFilterAttribute' "QUICKSIGHT_VIEWER_OR_OWNER"++{-# COMPLETE+  FolderFilterAttribute_DIRECT_QUICKSIGHT_OWNER,+  FolderFilterAttribute_DIRECT_QUICKSIGHT_SOLE_OWNER,+  FolderFilterAttribute_DIRECT_QUICKSIGHT_VIEWER_OR_OWNER,+  FolderFilterAttribute_FOLDER_NAME,+  FolderFilterAttribute_PARENT_FOLDER_ARN,+  FolderFilterAttribute_QUICKSIGHT_OWNER,+  FolderFilterAttribute_QUICKSIGHT_VIEWER_OR_OWNER,+  FolderFilterAttribute'+  #-}
+ gen/Amazonka/QuickSight/Types/FolderMember.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.QuickSight.Types.FolderMember+-- 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.QuickSight.Types.FolderMember where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.MemberType++-- | An asset in a Amazon QuickSight folder, such as a dashboard, analysis,+-- or dataset.+--+-- /See:/ 'newFolderMember' smart constructor.+data FolderMember = FolderMember'+  { -- | The ID of an asset in the folder.+    memberId :: Prelude.Maybe Prelude.Text,+    -- | The type of asset that it is.+    memberType :: Prelude.Maybe MemberType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FolderMember' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'memberId', 'folderMember_memberId' - The ID of an asset in the folder.+--+-- 'memberType', 'folderMember_memberType' - The type of asset that it is.+newFolderMember ::+  FolderMember+newFolderMember =+  FolderMember'+    { memberId = Prelude.Nothing,+      memberType = Prelude.Nothing+    }++-- | The ID of an asset in the folder.+folderMember_memberId :: Lens.Lens' FolderMember (Prelude.Maybe Prelude.Text)+folderMember_memberId = Lens.lens (\FolderMember' {memberId} -> memberId) (\s@FolderMember' {} a -> s {memberId = a} :: FolderMember)++-- | The type of asset that it is.+folderMember_memberType :: Lens.Lens' FolderMember (Prelude.Maybe MemberType)+folderMember_memberType = Lens.lens (\FolderMember' {memberType} -> memberType) (\s@FolderMember' {} a -> s {memberType = a} :: FolderMember)++instance Data.FromJSON FolderMember where+  parseJSON =+    Data.withObject+      "FolderMember"+      ( \x ->+          FolderMember'+            Prelude.<$> (x Data..:? "MemberId")+            Prelude.<*> (x Data..:? "MemberType")+      )++instance Prelude.Hashable FolderMember where+  hashWithSalt _salt FolderMember' {..} =+    _salt+      `Prelude.hashWithSalt` memberId+      `Prelude.hashWithSalt` memberType++instance Prelude.NFData FolderMember where+  rnf FolderMember' {..} =+    Prelude.rnf memberId+      `Prelude.seq` Prelude.rnf memberType
+ gen/Amazonka/QuickSight/Types/FolderSearchFilter.hs view
@@ -0,0 +1,253 @@+{-# 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.QuickSight.Types.FolderSearchFilter+-- 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.QuickSight.Types.FolderSearchFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FilterOperator+import Amazonka.QuickSight.Types.FolderFilterAttribute++-- | A filter to use to search an Amazon QuickSight folder.+--+-- /See:/ 'newFolderSearchFilter' smart constructor.+data FolderSearchFilter = FolderSearchFilter'+  { -- | The name of a value that you want to use in the filter. For example,+    -- @\"Name\": \"QUICKSIGHT_OWNER\"@.+    --+    -- Valid values are defined as follows:+    --+    -- -   @QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or group, and+    --     any folders with that ARN listed as one of the folder\'s owners or+    --     viewers are returned. Implicit permissions from folders or groups+    --     are considered.+    --+    -- -   @QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and any+    --     folders with that ARN listed as one of the owners of the folders are+    --     returned. Implicit permissions from folders or groups are+    --     considered.+    --+    -- -   @DIRECT_QUICKSIGHT_SOLE_OWNER@: Provide an ARN of a user or group,+    --     and any folders with that ARN listed as the only owner of the folder+    --     are returned. Implicit permissions from folders or groups are not+    --     considered.+    --+    -- -   @DIRECT_QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and+    --     any folders with that ARN listed as one of the owners of the folders+    --     are returned. Implicit permissions from folders or groups are not+    --     considered.+    --+    -- -   @DIRECT_QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or+    --     group, and any folders with that ARN listed as one of the owners or+    --     viewers of the folders are returned. Implicit permissions from+    --     folders or groups are not considered.+    --+    -- -   @FOLDER_NAME@: Any folders whose names have a substring match to+    --     this value will be returned.+    --+    -- -   @PARENT_FOLDER_ARN@: Provide an ARN of a folder, and any folders+    --     that are directly under that parent folder are returned. If you+    --     choose to use this option and leave the value blank, all root-level+    --     folders in the account are returned.+    name :: Prelude.Maybe FolderFilterAttribute,+    -- | The comparison operator that you want to use as a filter, for example+    -- @\"Operator\": \"StringEquals\"@. Valid values are @\"StringEquals\"@+    -- and @\"StringLike\"@.+    --+    -- If you set the operator value to @\"StringEquals\"@, you need to provide+    -- an ownership related filter in the @\"NAME\"@ field and the arn of the+    -- user or group whose folders you want to search in the @\"Value\"@ field.+    -- For example,+    -- @\"Name\":\"DIRECT_QUICKSIGHT_OWNER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+    --+    -- If you set the value to @\"StringLike\"@, you need to provide the name+    -- of the folders you are searching for. For example,+    -- @\"Name\":\"FOLDER_NAME\", \"Operator\": \"StringLike\", \"Value\": \"Test\"@.+    -- The @\"StringLike\"@ operator only supports the @NAME@ value+    -- @FOLDER_NAME@.+    operator :: Prelude.Maybe FilterOperator,+    -- | The value of the named item (in this example, @PARENT_FOLDER_ARN@), that+    -- you want to use as a filter. For example,+    -- @\"Value\": \"arn:aws:quicksight:us-east-1:1:folder\/folderId\"@.+    value :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FolderSearchFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'folderSearchFilter_name' - The name of a value that you want to use in the filter. For example,+-- @\"Name\": \"QUICKSIGHT_OWNER\"@.+--+-- Valid values are defined as follows:+--+-- -   @QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or group, and+--     any folders with that ARN listed as one of the folder\'s owners or+--     viewers are returned. Implicit permissions from folders or groups+--     are considered.+--+-- -   @QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and any+--     folders with that ARN listed as one of the owners of the folders are+--     returned. Implicit permissions from folders or groups are+--     considered.+--+-- -   @DIRECT_QUICKSIGHT_SOLE_OWNER@: Provide an ARN of a user or group,+--     and any folders with that ARN listed as the only owner of the folder+--     are returned. Implicit permissions from folders or groups are not+--     considered.+--+-- -   @DIRECT_QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and+--     any folders with that ARN listed as one of the owners of the folders+--     are returned. Implicit permissions from folders or groups are not+--     considered.+--+-- -   @DIRECT_QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or+--     group, and any folders with that ARN listed as one of the owners or+--     viewers of the folders are returned. Implicit permissions from+--     folders or groups are not considered.+--+-- -   @FOLDER_NAME@: Any folders whose names have a substring match to+--     this value will be returned.+--+-- -   @PARENT_FOLDER_ARN@: Provide an ARN of a folder, and any folders+--     that are directly under that parent folder are returned. If you+--     choose to use this option and leave the value blank, all root-level+--     folders in the account are returned.+--+-- 'operator', 'folderSearchFilter_operator' - The comparison operator that you want to use as a filter, for example+-- @\"Operator\": \"StringEquals\"@. Valid values are @\"StringEquals\"@+-- and @\"StringLike\"@.+--+-- If you set the operator value to @\"StringEquals\"@, you need to provide+-- an ownership related filter in the @\"NAME\"@ field and the arn of the+-- user or group whose folders you want to search in the @\"Value\"@ field.+-- For example,+-- @\"Name\":\"DIRECT_QUICKSIGHT_OWNER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+--+-- If you set the value to @\"StringLike\"@, you need to provide the name+-- of the folders you are searching for. For example,+-- @\"Name\":\"FOLDER_NAME\", \"Operator\": \"StringLike\", \"Value\": \"Test\"@.+-- The @\"StringLike\"@ operator only supports the @NAME@ value+-- @FOLDER_NAME@.+--+-- 'value', 'folderSearchFilter_value' - The value of the named item (in this example, @PARENT_FOLDER_ARN@), that+-- you want to use as a filter. For example,+-- @\"Value\": \"arn:aws:quicksight:us-east-1:1:folder\/folderId\"@.+newFolderSearchFilter ::+  FolderSearchFilter+newFolderSearchFilter =+  FolderSearchFilter'+    { name = Prelude.Nothing,+      operator = Prelude.Nothing,+      value = Prelude.Nothing+    }++-- | The name of a value that you want to use in the filter. For example,+-- @\"Name\": \"QUICKSIGHT_OWNER\"@.+--+-- Valid values are defined as follows:+--+-- -   @QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or group, and+--     any folders with that ARN listed as one of the folder\'s owners or+--     viewers are returned. Implicit permissions from folders or groups+--     are considered.+--+-- -   @QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and any+--     folders with that ARN listed as one of the owners of the folders are+--     returned. Implicit permissions from folders or groups are+--     considered.+--+-- -   @DIRECT_QUICKSIGHT_SOLE_OWNER@: Provide an ARN of a user or group,+--     and any folders with that ARN listed as the only owner of the folder+--     are returned. Implicit permissions from folders or groups are not+--     considered.+--+-- -   @DIRECT_QUICKSIGHT_OWNER@: Provide an ARN of a user or group, and+--     any folders with that ARN listed as one of the owners of the folders+--     are returned. Implicit permissions from folders or groups are not+--     considered.+--+-- -   @DIRECT_QUICKSIGHT_VIEWER_OR_OWNER@: Provide an ARN of a user or+--     group, and any folders with that ARN listed as one of the owners or+--     viewers of the folders are returned. Implicit permissions from+--     folders or groups are not considered.+--+-- -   @FOLDER_NAME@: Any folders whose names have a substring match to+--     this value will be returned.+--+-- -   @PARENT_FOLDER_ARN@: Provide an ARN of a folder, and any folders+--     that are directly under that parent folder are returned. If you+--     choose to use this option and leave the value blank, all root-level+--     folders in the account are returned.+folderSearchFilter_name :: Lens.Lens' FolderSearchFilter (Prelude.Maybe FolderFilterAttribute)+folderSearchFilter_name = Lens.lens (\FolderSearchFilter' {name} -> name) (\s@FolderSearchFilter' {} a -> s {name = a} :: FolderSearchFilter)++-- | The comparison operator that you want to use as a filter, for example+-- @\"Operator\": \"StringEquals\"@. Valid values are @\"StringEquals\"@+-- and @\"StringLike\"@.+--+-- If you set the operator value to @\"StringEquals\"@, you need to provide+-- an ownership related filter in the @\"NAME\"@ field and the arn of the+-- user or group whose folders you want to search in the @\"Value\"@ field.+-- For example,+-- @\"Name\":\"DIRECT_QUICKSIGHT_OWNER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:user\/default\/UserName1\"@.+--+-- If you set the value to @\"StringLike\"@, you need to provide the name+-- of the folders you are searching for. For example,+-- @\"Name\":\"FOLDER_NAME\", \"Operator\": \"StringLike\", \"Value\": \"Test\"@.+-- The @\"StringLike\"@ operator only supports the @NAME@ value+-- @FOLDER_NAME@.+folderSearchFilter_operator :: Lens.Lens' FolderSearchFilter (Prelude.Maybe FilterOperator)+folderSearchFilter_operator = Lens.lens (\FolderSearchFilter' {operator} -> operator) (\s@FolderSearchFilter' {} a -> s {operator = a} :: FolderSearchFilter)++-- | The value of the named item (in this example, @PARENT_FOLDER_ARN@), that+-- you want to use as a filter. For example,+-- @\"Value\": \"arn:aws:quicksight:us-east-1:1:folder\/folderId\"@.+folderSearchFilter_value :: Lens.Lens' FolderSearchFilter (Prelude.Maybe Prelude.Text)+folderSearchFilter_value = Lens.lens (\FolderSearchFilter' {value} -> value) (\s@FolderSearchFilter' {} a -> s {value = a} :: FolderSearchFilter)++instance Prelude.Hashable FolderSearchFilter where+  hashWithSalt _salt FolderSearchFilter' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` operator+      `Prelude.hashWithSalt` value++instance Prelude.NFData FolderSearchFilter where+  rnf FolderSearchFilter' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf operator+      `Prelude.seq` Prelude.rnf value++instance Data.ToJSON FolderSearchFilter where+  toJSON FolderSearchFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Name" Data..=) Prelude.<$> name,+            ("Operator" Data..=) Prelude.<$> operator,+            ("Value" Data..=) Prelude.<$> value+          ]+      )
+ gen/Amazonka/QuickSight/Types/FolderSummary.hs view
@@ -0,0 +1,133 @@+{-# 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.QuickSight.Types.FolderSummary+-- 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.QuickSight.Types.FolderSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FolderType++-- | A summary of information about an existing Amazon QuickSight folder.+--+-- /See:/ 'newFolderSummary' smart constructor.+data FolderSummary = FolderSummary'+  { -- | The Amazon Resource Name (ARN) of the folder.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time that the folder was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The ID of the folder.+    folderId :: Prelude.Maybe Prelude.Text,+    -- | The type of folder.+    folderType :: Prelude.Maybe FolderType,+    -- | The time that the folder was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The display name of the folder.+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FolderSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'folderSummary_arn' - The Amazon Resource Name (ARN) of the folder.+--+-- 'createdTime', 'folderSummary_createdTime' - The time that the folder was created.+--+-- 'folderId', 'folderSummary_folderId' - The ID of the folder.+--+-- 'folderType', 'folderSummary_folderType' - The type of folder.+--+-- 'lastUpdatedTime', 'folderSummary_lastUpdatedTime' - The time that the folder was last updated.+--+-- 'name', 'folderSummary_name' - The display name of the folder.+newFolderSummary ::+  FolderSummary+newFolderSummary =+  FolderSummary'+    { arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      folderId = Prelude.Nothing,+      folderType = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the folder.+folderSummary_arn :: Lens.Lens' FolderSummary (Prelude.Maybe Prelude.Text)+folderSummary_arn = Lens.lens (\FolderSummary' {arn} -> arn) (\s@FolderSummary' {} a -> s {arn = a} :: FolderSummary)++-- | The time that the folder was created.+folderSummary_createdTime :: Lens.Lens' FolderSummary (Prelude.Maybe Prelude.UTCTime)+folderSummary_createdTime = Lens.lens (\FolderSummary' {createdTime} -> createdTime) (\s@FolderSummary' {} a -> s {createdTime = a} :: FolderSummary) Prelude.. Lens.mapping Data._Time++-- | The ID of the folder.+folderSummary_folderId :: Lens.Lens' FolderSummary (Prelude.Maybe Prelude.Text)+folderSummary_folderId = Lens.lens (\FolderSummary' {folderId} -> folderId) (\s@FolderSummary' {} a -> s {folderId = a} :: FolderSummary)++-- | The type of folder.+folderSummary_folderType :: Lens.Lens' FolderSummary (Prelude.Maybe FolderType)+folderSummary_folderType = Lens.lens (\FolderSummary' {folderType} -> folderType) (\s@FolderSummary' {} a -> s {folderType = a} :: FolderSummary)++-- | The time that the folder was last updated.+folderSummary_lastUpdatedTime :: Lens.Lens' FolderSummary (Prelude.Maybe Prelude.UTCTime)+folderSummary_lastUpdatedTime = Lens.lens (\FolderSummary' {lastUpdatedTime} -> lastUpdatedTime) (\s@FolderSummary' {} a -> s {lastUpdatedTime = a} :: FolderSummary) Prelude.. Lens.mapping Data._Time++-- | The display name of the folder.+folderSummary_name :: Lens.Lens' FolderSummary (Prelude.Maybe Prelude.Text)+folderSummary_name = Lens.lens (\FolderSummary' {name} -> name) (\s@FolderSummary' {} a -> s {name = a} :: FolderSummary)++instance Data.FromJSON FolderSummary where+  parseJSON =+    Data.withObject+      "FolderSummary"+      ( \x ->+          FolderSummary'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "FolderId")+            Prelude.<*> (x Data..:? "FolderType")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable FolderSummary where+  hashWithSalt _salt FolderSummary' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` folderId+      `Prelude.hashWithSalt` folderType+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` name++instance Prelude.NFData FolderSummary where+  rnf FolderSummary' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf folderId+      `Prelude.seq` Prelude.rnf folderType+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/QuickSight/Types/FolderType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.FolderType+-- 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.QuickSight.Types.FolderType+  ( FolderType+      ( ..,+        FolderType_SHARED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FolderType = FolderType'+  { fromFolderType ::+      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 FolderType_SHARED :: FolderType+pattern FolderType_SHARED = FolderType' "SHARED"++{-# COMPLETE+  FolderType_SHARED,+  FolderType'+  #-}
+ gen/Amazonka/QuickSight/Types/Font.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.Font+-- 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.QuickSight.Types.Font 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++-- | Determines the font settings.+--+-- /See:/ 'newFont' smart constructor.+data Font = Font'+  { -- | Determines the font family settings.+    fontFamily :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Font' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fontFamily', 'font_fontFamily' - Determines the font family settings.+newFont ::+  Font+newFont = Font' {fontFamily = Prelude.Nothing}++-- | Determines the font family settings.+font_fontFamily :: Lens.Lens' Font (Prelude.Maybe Prelude.Text)+font_fontFamily = Lens.lens (\Font' {fontFamily} -> fontFamily) (\s@Font' {} a -> s {fontFamily = a} :: Font)++instance Data.FromJSON Font where+  parseJSON =+    Data.withObject+      "Font"+      (\x -> Font' Prelude.<$> (x Data..:? "FontFamily"))++instance Prelude.Hashable Font where+  hashWithSalt _salt Font' {..} =+    _salt `Prelude.hashWithSalt` fontFamily++instance Prelude.NFData Font where+  rnf Font' {..} = Prelude.rnf fontFamily++instance Data.ToJSON Font where+  toJSON Font' {..} =+    Data.object+      ( Prelude.catMaybes+          [("FontFamily" Data..=) Prelude.<$> fontFamily]+      )
+ gen/Amazonka/QuickSight/Types/FontConfiguration.hs view
@@ -0,0 +1,140 @@+{-# 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.QuickSight.Types.FontConfiguration+-- 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.QuickSight.Types.FontConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FontDecoration+import Amazonka.QuickSight.Types.FontSize+import Amazonka.QuickSight.Types.FontStyle+import Amazonka.QuickSight.Types.FontWeight++-- | Configures the display properties of the given text.+--+-- /See:/ 'newFontConfiguration' smart constructor.+data FontConfiguration = FontConfiguration'+  { -- | Determines the color of the text.+    fontColor :: Prelude.Maybe Prelude.Text,+    -- | Determines the appearance of decorative lines on the text.+    fontDecoration :: Prelude.Maybe FontDecoration,+    -- | The option that determines the text display size.+    fontSize :: Prelude.Maybe FontSize,+    -- | Determines the text display face that is inherited by the given font+    -- family.+    fontStyle :: Prelude.Maybe FontStyle,+    -- | The option that determines the text display weight, or boldness.+    fontWeight :: Prelude.Maybe FontWeight+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FontConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fontColor', 'fontConfiguration_fontColor' - Determines the color of the text.+--+-- 'fontDecoration', 'fontConfiguration_fontDecoration' - Determines the appearance of decorative lines on the text.+--+-- 'fontSize', 'fontConfiguration_fontSize' - The option that determines the text display size.+--+-- 'fontStyle', 'fontConfiguration_fontStyle' - Determines the text display face that is inherited by the given font+-- family.+--+-- 'fontWeight', 'fontConfiguration_fontWeight' - The option that determines the text display weight, or boldness.+newFontConfiguration ::+  FontConfiguration+newFontConfiguration =+  FontConfiguration'+    { fontColor = Prelude.Nothing,+      fontDecoration = Prelude.Nothing,+      fontSize = Prelude.Nothing,+      fontStyle = Prelude.Nothing,+      fontWeight = Prelude.Nothing+    }++-- | Determines the color of the text.+fontConfiguration_fontColor :: Lens.Lens' FontConfiguration (Prelude.Maybe Prelude.Text)+fontConfiguration_fontColor = Lens.lens (\FontConfiguration' {fontColor} -> fontColor) (\s@FontConfiguration' {} a -> s {fontColor = a} :: FontConfiguration)++-- | Determines the appearance of decorative lines on the text.+fontConfiguration_fontDecoration :: Lens.Lens' FontConfiguration (Prelude.Maybe FontDecoration)+fontConfiguration_fontDecoration = Lens.lens (\FontConfiguration' {fontDecoration} -> fontDecoration) (\s@FontConfiguration' {} a -> s {fontDecoration = a} :: FontConfiguration)++-- | The option that determines the text display size.+fontConfiguration_fontSize :: Lens.Lens' FontConfiguration (Prelude.Maybe FontSize)+fontConfiguration_fontSize = Lens.lens (\FontConfiguration' {fontSize} -> fontSize) (\s@FontConfiguration' {} a -> s {fontSize = a} :: FontConfiguration)++-- | Determines the text display face that is inherited by the given font+-- family.+fontConfiguration_fontStyle :: Lens.Lens' FontConfiguration (Prelude.Maybe FontStyle)+fontConfiguration_fontStyle = Lens.lens (\FontConfiguration' {fontStyle} -> fontStyle) (\s@FontConfiguration' {} a -> s {fontStyle = a} :: FontConfiguration)++-- | The option that determines the text display weight, or boldness.+fontConfiguration_fontWeight :: Lens.Lens' FontConfiguration (Prelude.Maybe FontWeight)+fontConfiguration_fontWeight = Lens.lens (\FontConfiguration' {fontWeight} -> fontWeight) (\s@FontConfiguration' {} a -> s {fontWeight = a} :: FontConfiguration)++instance Data.FromJSON FontConfiguration where+  parseJSON =+    Data.withObject+      "FontConfiguration"+      ( \x ->+          FontConfiguration'+            Prelude.<$> (x Data..:? "FontColor")+            Prelude.<*> (x Data..:? "FontDecoration")+            Prelude.<*> (x Data..:? "FontSize")+            Prelude.<*> (x Data..:? "FontStyle")+            Prelude.<*> (x Data..:? "FontWeight")+      )++instance Prelude.Hashable FontConfiguration where+  hashWithSalt _salt FontConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` fontColor+      `Prelude.hashWithSalt` fontDecoration+      `Prelude.hashWithSalt` fontSize+      `Prelude.hashWithSalt` fontStyle+      `Prelude.hashWithSalt` fontWeight++instance Prelude.NFData FontConfiguration where+  rnf FontConfiguration' {..} =+    Prelude.rnf fontColor+      `Prelude.seq` Prelude.rnf fontDecoration+      `Prelude.seq` Prelude.rnf fontSize+      `Prelude.seq` Prelude.rnf fontStyle+      `Prelude.seq` Prelude.rnf fontWeight++instance Data.ToJSON FontConfiguration where+  toJSON FontConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FontColor" Data..=) Prelude.<$> fontColor,+            ("FontDecoration" Data..=)+              Prelude.<$> fontDecoration,+            ("FontSize" Data..=) Prelude.<$> fontSize,+            ("FontStyle" Data..=) Prelude.<$> fontStyle,+            ("FontWeight" Data..=) Prelude.<$> fontWeight+          ]+      )
+ gen/Amazonka/QuickSight/Types/FontDecoration.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.QuickSight.Types.FontDecoration+-- 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.QuickSight.Types.FontDecoration+  ( FontDecoration+      ( ..,+        FontDecoration_NONE,+        FontDecoration_UNDERLINE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FontDecoration = FontDecoration'+  { fromFontDecoration ::+      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 FontDecoration_NONE :: FontDecoration+pattern FontDecoration_NONE = FontDecoration' "NONE"++pattern FontDecoration_UNDERLINE :: FontDecoration+pattern FontDecoration_UNDERLINE = FontDecoration' "UNDERLINE"++{-# COMPLETE+  FontDecoration_NONE,+  FontDecoration_UNDERLINE,+  FontDecoration'+  #-}
+ gen/Amazonka/QuickSight/Types/FontSize.hs view
@@ -0,0 +1,77 @@+{-# 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.QuickSight.Types.FontSize+-- 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.QuickSight.Types.FontSize where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.RelativeFontSize++-- | The option that determines the text display size.+--+-- /See:/ 'newFontSize' smart constructor.+data FontSize = FontSize'+  { -- | The lexical name for the text size, proportional to its surrounding+    -- context.+    relative :: Prelude.Maybe RelativeFontSize+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FontSize' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'relative', 'fontSize_relative' - The lexical name for the text size, proportional to its surrounding+-- context.+newFontSize ::+  FontSize+newFontSize = FontSize' {relative = Prelude.Nothing}++-- | The lexical name for the text size, proportional to its surrounding+-- context.+fontSize_relative :: Lens.Lens' FontSize (Prelude.Maybe RelativeFontSize)+fontSize_relative = Lens.lens (\FontSize' {relative} -> relative) (\s@FontSize' {} a -> s {relative = a} :: FontSize)++instance Data.FromJSON FontSize where+  parseJSON =+    Data.withObject+      "FontSize"+      ( \x ->+          FontSize' Prelude.<$> (x Data..:? "Relative")+      )++instance Prelude.Hashable FontSize where+  hashWithSalt _salt FontSize' {..} =+    _salt `Prelude.hashWithSalt` relative++instance Prelude.NFData FontSize where+  rnf FontSize' {..} = Prelude.rnf relative++instance Data.ToJSON FontSize where+  toJSON FontSize' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Relative" Data..=) Prelude.<$> relative]+      )
+ gen/Amazonka/QuickSight/Types/FontStyle.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.QuickSight.Types.FontStyle+-- 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.QuickSight.Types.FontStyle+  ( FontStyle+      ( ..,+        FontStyle_ITALIC,+        FontStyle_NORMAL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FontStyle = FontStyle'+  { fromFontStyle ::+      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 FontStyle_ITALIC :: FontStyle+pattern FontStyle_ITALIC = FontStyle' "ITALIC"++pattern FontStyle_NORMAL :: FontStyle+pattern FontStyle_NORMAL = FontStyle' "NORMAL"++{-# COMPLETE+  FontStyle_ITALIC,+  FontStyle_NORMAL,+  FontStyle'+  #-}
+ gen/Amazonka/QuickSight/Types/FontWeight.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.FontWeight+-- 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.QuickSight.Types.FontWeight where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FontWeightName++-- | The option that determines the text display weight, or boldness.+--+-- /See:/ 'newFontWeight' smart constructor.+data FontWeight = FontWeight'+  { -- | The lexical name for the level of boldness of the text display.+    name :: Prelude.Maybe FontWeightName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FontWeight' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'fontWeight_name' - The lexical name for the level of boldness of the text display.+newFontWeight ::+  FontWeight+newFontWeight = FontWeight' {name = Prelude.Nothing}++-- | The lexical name for the level of boldness of the text display.+fontWeight_name :: Lens.Lens' FontWeight (Prelude.Maybe FontWeightName)+fontWeight_name = Lens.lens (\FontWeight' {name} -> name) (\s@FontWeight' {} a -> s {name = a} :: FontWeight)++instance Data.FromJSON FontWeight where+  parseJSON =+    Data.withObject+      "FontWeight"+      (\x -> FontWeight' Prelude.<$> (x Data..:? "Name"))++instance Prelude.Hashable FontWeight where+  hashWithSalt _salt FontWeight' {..} =+    _salt `Prelude.hashWithSalt` name++instance Prelude.NFData FontWeight where+  rnf FontWeight' {..} = Prelude.rnf name++instance Data.ToJSON FontWeight where+  toJSON FontWeight' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Name" Data..=) Prelude.<$> name]+      )
+ gen/Amazonka/QuickSight/Types/FontWeightName.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.QuickSight.Types.FontWeightName+-- 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.QuickSight.Types.FontWeightName+  ( FontWeightName+      ( ..,+        FontWeightName_BOLD,+        FontWeightName_NORMAL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FontWeightName = FontWeightName'+  { fromFontWeightName ::+      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 FontWeightName_BOLD :: FontWeightName+pattern FontWeightName_BOLD = FontWeightName' "BOLD"++pattern FontWeightName_NORMAL :: FontWeightName+pattern FontWeightName_NORMAL = FontWeightName' "NORMAL"++{-# COMPLETE+  FontWeightName_BOLD,+  FontWeightName_NORMAL,+  FontWeightName'+  #-}
+ gen/Amazonka/QuickSight/Types/ForecastComputation.hs view
@@ -0,0 +1,237 @@+{-# 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.QuickSight.Types.ForecastComputation+-- 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.QuickSight.Types.ForecastComputation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.ForecastComputationSeasonality+import Amazonka.QuickSight.Types.MeasureField++-- | The forecast computation configuration.+--+-- /See:/ 'newForecastComputation' smart constructor.+data ForecastComputation = ForecastComputation'+  { -- | The custom seasonality value setup of a forecast computation.+    customSeasonalityValue :: Prelude.Maybe Prelude.Natural,+    -- | The lower boundary setup of a forecast computation.+    lowerBoundary :: Prelude.Maybe Prelude.Double,+    -- | The name of a computation.+    name :: Prelude.Maybe Prelude.Text,+    -- | The periods backward setup of a forecast computation.+    periodsBackward :: Prelude.Maybe Prelude.Natural,+    -- | The periods forward setup of a forecast computation.+    periodsForward :: Prelude.Maybe Prelude.Natural,+    -- | The prediction interval setup of a forecast computation.+    predictionInterval :: Prelude.Maybe Prelude.Natural,+    -- | The seasonality setup of a forecast computation. Choose one of the+    -- following options:+    --+    -- -   @AUTOMATIC@+    --+    -- -   @CUSTOM@: Checks the custom seasonality value.+    seasonality :: Prelude.Maybe ForecastComputationSeasonality,+    -- | The upper boundary setup of a forecast computation.+    upperBoundary :: Prelude.Maybe Prelude.Double,+    -- | The value field that is used in a computation.+    value :: Prelude.Maybe MeasureField,+    -- | The ID for a computation.+    computationId :: Prelude.Text,+    -- | The time field that is used in a computation.+    time :: DimensionField+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ForecastComputation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customSeasonalityValue', 'forecastComputation_customSeasonalityValue' - The custom seasonality value setup of a forecast computation.+--+-- 'lowerBoundary', 'forecastComputation_lowerBoundary' - The lower boundary setup of a forecast computation.+--+-- 'name', 'forecastComputation_name' - The name of a computation.+--+-- 'periodsBackward', 'forecastComputation_periodsBackward' - The periods backward setup of a forecast computation.+--+-- 'periodsForward', 'forecastComputation_periodsForward' - The periods forward setup of a forecast computation.+--+-- 'predictionInterval', 'forecastComputation_predictionInterval' - The prediction interval setup of a forecast computation.+--+-- 'seasonality', 'forecastComputation_seasonality' - The seasonality setup of a forecast computation. Choose one of the+-- following options:+--+-- -   @AUTOMATIC@+--+-- -   @CUSTOM@: Checks the custom seasonality value.+--+-- 'upperBoundary', 'forecastComputation_upperBoundary' - The upper boundary setup of a forecast computation.+--+-- 'value', 'forecastComputation_value' - The value field that is used in a computation.+--+-- 'computationId', 'forecastComputation_computationId' - The ID for a computation.+--+-- 'time', 'forecastComputation_time' - The time field that is used in a computation.+newForecastComputation ::+  -- | 'computationId'+  Prelude.Text ->+  -- | 'time'+  DimensionField ->+  ForecastComputation+newForecastComputation pComputationId_ pTime_ =+  ForecastComputation'+    { customSeasonalityValue =+        Prelude.Nothing,+      lowerBoundary = Prelude.Nothing,+      name = Prelude.Nothing,+      periodsBackward = Prelude.Nothing,+      periodsForward = Prelude.Nothing,+      predictionInterval = Prelude.Nothing,+      seasonality = Prelude.Nothing,+      upperBoundary = Prelude.Nothing,+      value = Prelude.Nothing,+      computationId = pComputationId_,+      time = pTime_+    }++-- | The custom seasonality value setup of a forecast computation.+forecastComputation_customSeasonalityValue :: Lens.Lens' ForecastComputation (Prelude.Maybe Prelude.Natural)+forecastComputation_customSeasonalityValue = Lens.lens (\ForecastComputation' {customSeasonalityValue} -> customSeasonalityValue) (\s@ForecastComputation' {} a -> s {customSeasonalityValue = a} :: ForecastComputation)++-- | The lower boundary setup of a forecast computation.+forecastComputation_lowerBoundary :: Lens.Lens' ForecastComputation (Prelude.Maybe Prelude.Double)+forecastComputation_lowerBoundary = Lens.lens (\ForecastComputation' {lowerBoundary} -> lowerBoundary) (\s@ForecastComputation' {} a -> s {lowerBoundary = a} :: ForecastComputation)++-- | The name of a computation.+forecastComputation_name :: Lens.Lens' ForecastComputation (Prelude.Maybe Prelude.Text)+forecastComputation_name = Lens.lens (\ForecastComputation' {name} -> name) (\s@ForecastComputation' {} a -> s {name = a} :: ForecastComputation)++-- | The periods backward setup of a forecast computation.+forecastComputation_periodsBackward :: Lens.Lens' ForecastComputation (Prelude.Maybe Prelude.Natural)+forecastComputation_periodsBackward = Lens.lens (\ForecastComputation' {periodsBackward} -> periodsBackward) (\s@ForecastComputation' {} a -> s {periodsBackward = a} :: ForecastComputation)++-- | The periods forward setup of a forecast computation.+forecastComputation_periodsForward :: Lens.Lens' ForecastComputation (Prelude.Maybe Prelude.Natural)+forecastComputation_periodsForward = Lens.lens (\ForecastComputation' {periodsForward} -> periodsForward) (\s@ForecastComputation' {} a -> s {periodsForward = a} :: ForecastComputation)++-- | The prediction interval setup of a forecast computation.+forecastComputation_predictionInterval :: Lens.Lens' ForecastComputation (Prelude.Maybe Prelude.Natural)+forecastComputation_predictionInterval = Lens.lens (\ForecastComputation' {predictionInterval} -> predictionInterval) (\s@ForecastComputation' {} a -> s {predictionInterval = a} :: ForecastComputation)++-- | The seasonality setup of a forecast computation. Choose one of the+-- following options:+--+-- -   @AUTOMATIC@+--+-- -   @CUSTOM@: Checks the custom seasonality value.+forecastComputation_seasonality :: Lens.Lens' ForecastComputation (Prelude.Maybe ForecastComputationSeasonality)+forecastComputation_seasonality = Lens.lens (\ForecastComputation' {seasonality} -> seasonality) (\s@ForecastComputation' {} a -> s {seasonality = a} :: ForecastComputation)++-- | The upper boundary setup of a forecast computation.+forecastComputation_upperBoundary :: Lens.Lens' ForecastComputation (Prelude.Maybe Prelude.Double)+forecastComputation_upperBoundary = Lens.lens (\ForecastComputation' {upperBoundary} -> upperBoundary) (\s@ForecastComputation' {} a -> s {upperBoundary = a} :: ForecastComputation)++-- | The value field that is used in a computation.+forecastComputation_value :: Lens.Lens' ForecastComputation (Prelude.Maybe MeasureField)+forecastComputation_value = Lens.lens (\ForecastComputation' {value} -> value) (\s@ForecastComputation' {} a -> s {value = a} :: ForecastComputation)++-- | The ID for a computation.+forecastComputation_computationId :: Lens.Lens' ForecastComputation Prelude.Text+forecastComputation_computationId = Lens.lens (\ForecastComputation' {computationId} -> computationId) (\s@ForecastComputation' {} a -> s {computationId = a} :: ForecastComputation)++-- | The time field that is used in a computation.+forecastComputation_time :: Lens.Lens' ForecastComputation DimensionField+forecastComputation_time = Lens.lens (\ForecastComputation' {time} -> time) (\s@ForecastComputation' {} a -> s {time = a} :: ForecastComputation)++instance Data.FromJSON ForecastComputation where+  parseJSON =+    Data.withObject+      "ForecastComputation"+      ( \x ->+          ForecastComputation'+            Prelude.<$> (x Data..:? "CustomSeasonalityValue")+            Prelude.<*> (x Data..:? "LowerBoundary")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "PeriodsBackward")+            Prelude.<*> (x Data..:? "PeriodsForward")+            Prelude.<*> (x Data..:? "PredictionInterval")+            Prelude.<*> (x Data..:? "Seasonality")+            Prelude.<*> (x Data..:? "UpperBoundary")+            Prelude.<*> (x Data..:? "Value")+            Prelude.<*> (x Data..: "ComputationId")+            Prelude.<*> (x Data..: "Time")+      )++instance Prelude.Hashable ForecastComputation where+  hashWithSalt _salt ForecastComputation' {..} =+    _salt+      `Prelude.hashWithSalt` customSeasonalityValue+      `Prelude.hashWithSalt` lowerBoundary+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` periodsBackward+      `Prelude.hashWithSalt` periodsForward+      `Prelude.hashWithSalt` predictionInterval+      `Prelude.hashWithSalt` seasonality+      `Prelude.hashWithSalt` upperBoundary+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` computationId+      `Prelude.hashWithSalt` time++instance Prelude.NFData ForecastComputation where+  rnf ForecastComputation' {..} =+    Prelude.rnf customSeasonalityValue+      `Prelude.seq` Prelude.rnf lowerBoundary+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf periodsBackward+      `Prelude.seq` Prelude.rnf periodsForward+      `Prelude.seq` Prelude.rnf predictionInterval+      `Prelude.seq` Prelude.rnf seasonality+      `Prelude.seq` Prelude.rnf upperBoundary+      `Prelude.seq` Prelude.rnf value+      `Prelude.seq` Prelude.rnf computationId+      `Prelude.seq` Prelude.rnf time++instance Data.ToJSON ForecastComputation where+  toJSON ForecastComputation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomSeasonalityValue" Data..=)+              Prelude.<$> customSeasonalityValue,+            ("LowerBoundary" Data..=) Prelude.<$> lowerBoundary,+            ("Name" Data..=) Prelude.<$> name,+            ("PeriodsBackward" Data..=)+              Prelude.<$> periodsBackward,+            ("PeriodsForward" Data..=)+              Prelude.<$> periodsForward,+            ("PredictionInterval" Data..=)+              Prelude.<$> predictionInterval,+            ("Seasonality" Data..=) Prelude.<$> seasonality,+            ("UpperBoundary" Data..=) Prelude.<$> upperBoundary,+            ("Value" Data..=) Prelude.<$> value,+            Prelude.Just ("ComputationId" Data..= computationId),+            Prelude.Just ("Time" Data..= time)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ForecastComputationSeasonality.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.QuickSight.Types.ForecastComputationSeasonality+-- 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.QuickSight.Types.ForecastComputationSeasonality+  ( ForecastComputationSeasonality+      ( ..,+        ForecastComputationSeasonality_AUTOMATIC,+        ForecastComputationSeasonality_CUSTOM+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ForecastComputationSeasonality = ForecastComputationSeasonality'+  { fromForecastComputationSeasonality ::+      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 ForecastComputationSeasonality_AUTOMATIC :: ForecastComputationSeasonality+pattern ForecastComputationSeasonality_AUTOMATIC = ForecastComputationSeasonality' "AUTOMATIC"++pattern ForecastComputationSeasonality_CUSTOM :: ForecastComputationSeasonality+pattern ForecastComputationSeasonality_CUSTOM = ForecastComputationSeasonality' "CUSTOM"++{-# COMPLETE+  ForecastComputationSeasonality_AUTOMATIC,+  ForecastComputationSeasonality_CUSTOM,+  ForecastComputationSeasonality'+  #-}
+ gen/Amazonka/QuickSight/Types/ForecastConfiguration.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.QuickSight.Types.ForecastConfiguration+-- 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.QuickSight.Types.ForecastConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ForecastScenario+import Amazonka.QuickSight.Types.TimeBasedForecastProperties++-- | The forecast configuration that is used in a line chart\'s display+-- properties.+--+-- /See:/ 'newForecastConfiguration' smart constructor.+data ForecastConfiguration = ForecastConfiguration'+  { -- | The forecast properties setup of a forecast in the line chart.+    forecastProperties :: Prelude.Maybe TimeBasedForecastProperties,+    -- | The forecast scenario of a forecast in the line chart.+    scenario :: Prelude.Maybe ForecastScenario+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ForecastConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'forecastProperties', 'forecastConfiguration_forecastProperties' - The forecast properties setup of a forecast in the line chart.+--+-- 'scenario', 'forecastConfiguration_scenario' - The forecast scenario of a forecast in the line chart.+newForecastConfiguration ::+  ForecastConfiguration+newForecastConfiguration =+  ForecastConfiguration'+    { forecastProperties =+        Prelude.Nothing,+      scenario = Prelude.Nothing+    }++-- | The forecast properties setup of a forecast in the line chart.+forecastConfiguration_forecastProperties :: Lens.Lens' ForecastConfiguration (Prelude.Maybe TimeBasedForecastProperties)+forecastConfiguration_forecastProperties = Lens.lens (\ForecastConfiguration' {forecastProperties} -> forecastProperties) (\s@ForecastConfiguration' {} a -> s {forecastProperties = a} :: ForecastConfiguration)++-- | The forecast scenario of a forecast in the line chart.+forecastConfiguration_scenario :: Lens.Lens' ForecastConfiguration (Prelude.Maybe ForecastScenario)+forecastConfiguration_scenario = Lens.lens (\ForecastConfiguration' {scenario} -> scenario) (\s@ForecastConfiguration' {} a -> s {scenario = a} :: ForecastConfiguration)++instance Data.FromJSON ForecastConfiguration where+  parseJSON =+    Data.withObject+      "ForecastConfiguration"+      ( \x ->+          ForecastConfiguration'+            Prelude.<$> (x Data..:? "ForecastProperties")+            Prelude.<*> (x Data..:? "Scenario")+      )++instance Prelude.Hashable ForecastConfiguration where+  hashWithSalt _salt ForecastConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` forecastProperties+      `Prelude.hashWithSalt` scenario++instance Prelude.NFData ForecastConfiguration where+  rnf ForecastConfiguration' {..} =+    Prelude.rnf forecastProperties+      `Prelude.seq` Prelude.rnf scenario++instance Data.ToJSON ForecastConfiguration where+  toJSON ForecastConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ForecastProperties" Data..=)+              Prelude.<$> forecastProperties,+            ("Scenario" Data..=) Prelude.<$> scenario+          ]+      )
+ gen/Amazonka/QuickSight/Types/ForecastScenario.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.QuickSight.Types.ForecastScenario+-- 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.QuickSight.Types.ForecastScenario where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.WhatIfPointScenario+import Amazonka.QuickSight.Types.WhatIfRangeScenario++-- | The forecast scenario of a forecast in the line chart.+--+-- /See:/ 'newForecastScenario' smart constructor.+data ForecastScenario = ForecastScenario'+  { -- | The what-if analysis forecast setup with the target date.+    whatIfPointScenario :: Prelude.Maybe WhatIfPointScenario,+    -- | The what-if analysis forecast setup with the date range.+    whatIfRangeScenario :: Prelude.Maybe WhatIfRangeScenario+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ForecastScenario' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'whatIfPointScenario', 'forecastScenario_whatIfPointScenario' - The what-if analysis forecast setup with the target date.+--+-- 'whatIfRangeScenario', 'forecastScenario_whatIfRangeScenario' - The what-if analysis forecast setup with the date range.+newForecastScenario ::+  ForecastScenario+newForecastScenario =+  ForecastScenario'+    { whatIfPointScenario =+        Prelude.Nothing,+      whatIfRangeScenario = Prelude.Nothing+    }++-- | The what-if analysis forecast setup with the target date.+forecastScenario_whatIfPointScenario :: Lens.Lens' ForecastScenario (Prelude.Maybe WhatIfPointScenario)+forecastScenario_whatIfPointScenario = Lens.lens (\ForecastScenario' {whatIfPointScenario} -> whatIfPointScenario) (\s@ForecastScenario' {} a -> s {whatIfPointScenario = a} :: ForecastScenario)++-- | The what-if analysis forecast setup with the date range.+forecastScenario_whatIfRangeScenario :: Lens.Lens' ForecastScenario (Prelude.Maybe WhatIfRangeScenario)+forecastScenario_whatIfRangeScenario = Lens.lens (\ForecastScenario' {whatIfRangeScenario} -> whatIfRangeScenario) (\s@ForecastScenario' {} a -> s {whatIfRangeScenario = a} :: ForecastScenario)++instance Data.FromJSON ForecastScenario where+  parseJSON =+    Data.withObject+      "ForecastScenario"+      ( \x ->+          ForecastScenario'+            Prelude.<$> (x Data..:? "WhatIfPointScenario")+            Prelude.<*> (x Data..:? "WhatIfRangeScenario")+      )++instance Prelude.Hashable ForecastScenario where+  hashWithSalt _salt ForecastScenario' {..} =+    _salt+      `Prelude.hashWithSalt` whatIfPointScenario+      `Prelude.hashWithSalt` whatIfRangeScenario++instance Prelude.NFData ForecastScenario where+  rnf ForecastScenario' {..} =+    Prelude.rnf whatIfPointScenario+      `Prelude.seq` Prelude.rnf whatIfRangeScenario++instance Data.ToJSON ForecastScenario where+  toJSON ForecastScenario' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("WhatIfPointScenario" Data..=)+              Prelude.<$> whatIfPointScenario,+            ("WhatIfRangeScenario" Data..=)+              Prelude.<$> whatIfRangeScenario+          ]+      )
+ gen/Amazonka/QuickSight/Types/FormatConfiguration.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.QuickSight.Types.FormatConfiguration+-- 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.QuickSight.Types.FormatConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DateTimeFormatConfiguration+import Amazonka.QuickSight.Types.NumberFormatConfiguration+import Amazonka.QuickSight.Types.StringFormatConfiguration++-- | The formatting configuration for all types of field.+--+-- /See:/ 'newFormatConfiguration' smart constructor.+data FormatConfiguration = FormatConfiguration'+  { -- | Formatting configuration for @DateTime@ fields.+    dateTimeFormatConfiguration :: Prelude.Maybe DateTimeFormatConfiguration,+    -- | Formatting configuration for number fields.+    numberFormatConfiguration :: Prelude.Maybe NumberFormatConfiguration,+    -- | Formatting configuration for string fields.+    stringFormatConfiguration :: Prelude.Maybe StringFormatConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FormatConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dateTimeFormatConfiguration', 'formatConfiguration_dateTimeFormatConfiguration' - Formatting configuration for @DateTime@ fields.+--+-- 'numberFormatConfiguration', 'formatConfiguration_numberFormatConfiguration' - Formatting configuration for number fields.+--+-- 'stringFormatConfiguration', 'formatConfiguration_stringFormatConfiguration' - Formatting configuration for string fields.+newFormatConfiguration ::+  FormatConfiguration+newFormatConfiguration =+  FormatConfiguration'+    { dateTimeFormatConfiguration =+        Prelude.Nothing,+      numberFormatConfiguration = Prelude.Nothing,+      stringFormatConfiguration = Prelude.Nothing+    }++-- | Formatting configuration for @DateTime@ fields.+formatConfiguration_dateTimeFormatConfiguration :: Lens.Lens' FormatConfiguration (Prelude.Maybe DateTimeFormatConfiguration)+formatConfiguration_dateTimeFormatConfiguration = Lens.lens (\FormatConfiguration' {dateTimeFormatConfiguration} -> dateTimeFormatConfiguration) (\s@FormatConfiguration' {} a -> s {dateTimeFormatConfiguration = a} :: FormatConfiguration)++-- | Formatting configuration for number fields.+formatConfiguration_numberFormatConfiguration :: Lens.Lens' FormatConfiguration (Prelude.Maybe NumberFormatConfiguration)+formatConfiguration_numberFormatConfiguration = Lens.lens (\FormatConfiguration' {numberFormatConfiguration} -> numberFormatConfiguration) (\s@FormatConfiguration' {} a -> s {numberFormatConfiguration = a} :: FormatConfiguration)++-- | Formatting configuration for string fields.+formatConfiguration_stringFormatConfiguration :: Lens.Lens' FormatConfiguration (Prelude.Maybe StringFormatConfiguration)+formatConfiguration_stringFormatConfiguration = Lens.lens (\FormatConfiguration' {stringFormatConfiguration} -> stringFormatConfiguration) (\s@FormatConfiguration' {} a -> s {stringFormatConfiguration = a} :: FormatConfiguration)++instance Data.FromJSON FormatConfiguration where+  parseJSON =+    Data.withObject+      "FormatConfiguration"+      ( \x ->+          FormatConfiguration'+            Prelude.<$> (x Data..:? "DateTimeFormatConfiguration")+            Prelude.<*> (x Data..:? "NumberFormatConfiguration")+            Prelude.<*> (x Data..:? "StringFormatConfiguration")+      )++instance Prelude.Hashable FormatConfiguration where+  hashWithSalt _salt FormatConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` dateTimeFormatConfiguration+      `Prelude.hashWithSalt` numberFormatConfiguration+      `Prelude.hashWithSalt` stringFormatConfiguration++instance Prelude.NFData FormatConfiguration where+  rnf FormatConfiguration' {..} =+    Prelude.rnf dateTimeFormatConfiguration+      `Prelude.seq` Prelude.rnf numberFormatConfiguration+      `Prelude.seq` Prelude.rnf stringFormatConfiguration++instance Data.ToJSON FormatConfiguration where+  toJSON FormatConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DateTimeFormatConfiguration" Data..=)+              Prelude.<$> dateTimeFormatConfiguration,+            ("NumberFormatConfiguration" Data..=)+              Prelude.<$> numberFormatConfiguration,+            ("StringFormatConfiguration" Data..=)+              Prelude.<$> stringFormatConfiguration+          ]+      )
+ gen/Amazonka/QuickSight/Types/FreeFormLayoutCanvasSizeOptions.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.FreeFormLayoutCanvasSizeOptions+-- 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.QuickSight.Types.FreeFormLayoutCanvasSizeOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FreeFormLayoutScreenCanvasSizeOptions++-- | Configuration options for the canvas of a free-form layout.+--+-- /See:/ 'newFreeFormLayoutCanvasSizeOptions' smart constructor.+data FreeFormLayoutCanvasSizeOptions = FreeFormLayoutCanvasSizeOptions'+  { -- | The options that determine the sizing of the canvas used in a free-form+    -- layout.+    screenCanvasSizeOptions :: Prelude.Maybe FreeFormLayoutScreenCanvasSizeOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FreeFormLayoutCanvasSizeOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'screenCanvasSizeOptions', 'freeFormLayoutCanvasSizeOptions_screenCanvasSizeOptions' - The options that determine the sizing of the canvas used in a free-form+-- layout.+newFreeFormLayoutCanvasSizeOptions ::+  FreeFormLayoutCanvasSizeOptions+newFreeFormLayoutCanvasSizeOptions =+  FreeFormLayoutCanvasSizeOptions'+    { screenCanvasSizeOptions =+        Prelude.Nothing+    }++-- | The options that determine the sizing of the canvas used in a free-form+-- layout.+freeFormLayoutCanvasSizeOptions_screenCanvasSizeOptions :: Lens.Lens' FreeFormLayoutCanvasSizeOptions (Prelude.Maybe FreeFormLayoutScreenCanvasSizeOptions)+freeFormLayoutCanvasSizeOptions_screenCanvasSizeOptions = Lens.lens (\FreeFormLayoutCanvasSizeOptions' {screenCanvasSizeOptions} -> screenCanvasSizeOptions) (\s@FreeFormLayoutCanvasSizeOptions' {} a -> s {screenCanvasSizeOptions = a} :: FreeFormLayoutCanvasSizeOptions)++instance+  Data.FromJSON+    FreeFormLayoutCanvasSizeOptions+  where+  parseJSON =+    Data.withObject+      "FreeFormLayoutCanvasSizeOptions"+      ( \x ->+          FreeFormLayoutCanvasSizeOptions'+            Prelude.<$> (x Data..:? "ScreenCanvasSizeOptions")+      )++instance+  Prelude.Hashable+    FreeFormLayoutCanvasSizeOptions+  where+  hashWithSalt+    _salt+    FreeFormLayoutCanvasSizeOptions' {..} =+      _salt+        `Prelude.hashWithSalt` screenCanvasSizeOptions++instance+  Prelude.NFData+    FreeFormLayoutCanvasSizeOptions+  where+  rnf FreeFormLayoutCanvasSizeOptions' {..} =+    Prelude.rnf screenCanvasSizeOptions++instance Data.ToJSON FreeFormLayoutCanvasSizeOptions where+  toJSON FreeFormLayoutCanvasSizeOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ScreenCanvasSizeOptions" Data..=)+              Prelude.<$> screenCanvasSizeOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/FreeFormLayoutConfiguration.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.QuickSight.Types.FreeFormLayoutConfiguration+-- 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.QuickSight.Types.FreeFormLayoutConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FreeFormLayoutCanvasSizeOptions+import Amazonka.QuickSight.Types.FreeFormLayoutElement++-- | The configuration of a free-form layout.+--+-- /See:/ 'newFreeFormLayoutConfiguration' smart constructor.+data FreeFormLayoutConfiguration = FreeFormLayoutConfiguration'+  { canvasSizeOptions :: Prelude.Maybe FreeFormLayoutCanvasSizeOptions,+    -- | The elements that are included in a free-form layout.+    elements :: [FreeFormLayoutElement]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FreeFormLayoutConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'canvasSizeOptions', 'freeFormLayoutConfiguration_canvasSizeOptions' - Undocumented member.+--+-- 'elements', 'freeFormLayoutConfiguration_elements' - The elements that are included in a free-form layout.+newFreeFormLayoutConfiguration ::+  FreeFormLayoutConfiguration+newFreeFormLayoutConfiguration =+  FreeFormLayoutConfiguration'+    { canvasSizeOptions =+        Prelude.Nothing,+      elements = Prelude.mempty+    }++-- | Undocumented member.+freeFormLayoutConfiguration_canvasSizeOptions :: Lens.Lens' FreeFormLayoutConfiguration (Prelude.Maybe FreeFormLayoutCanvasSizeOptions)+freeFormLayoutConfiguration_canvasSizeOptions = Lens.lens (\FreeFormLayoutConfiguration' {canvasSizeOptions} -> canvasSizeOptions) (\s@FreeFormLayoutConfiguration' {} a -> s {canvasSizeOptions = a} :: FreeFormLayoutConfiguration)++-- | The elements that are included in a free-form layout.+freeFormLayoutConfiguration_elements :: Lens.Lens' FreeFormLayoutConfiguration [FreeFormLayoutElement]+freeFormLayoutConfiguration_elements = Lens.lens (\FreeFormLayoutConfiguration' {elements} -> elements) (\s@FreeFormLayoutConfiguration' {} a -> s {elements = a} :: FreeFormLayoutConfiguration) Prelude.. Lens.coerced++instance Data.FromJSON FreeFormLayoutConfiguration where+  parseJSON =+    Data.withObject+      "FreeFormLayoutConfiguration"+      ( \x ->+          FreeFormLayoutConfiguration'+            Prelude.<$> (x Data..:? "CanvasSizeOptions")+            Prelude.<*> (x Data..:? "Elements" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable FreeFormLayoutConfiguration where+  hashWithSalt _salt FreeFormLayoutConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` canvasSizeOptions+      `Prelude.hashWithSalt` elements++instance Prelude.NFData FreeFormLayoutConfiguration where+  rnf FreeFormLayoutConfiguration' {..} =+    Prelude.rnf canvasSizeOptions+      `Prelude.seq` Prelude.rnf elements++instance Data.ToJSON FreeFormLayoutConfiguration where+  toJSON FreeFormLayoutConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CanvasSizeOptions" Data..=)+              Prelude.<$> canvasSizeOptions,+            Prelude.Just ("Elements" Data..= elements)+          ]+      )
+ gen/Amazonka/QuickSight/Types/FreeFormLayoutElement.hs view
@@ -0,0 +1,258 @@+{-# 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.QuickSight.Types.FreeFormLayoutElement+-- 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.QuickSight.Types.FreeFormLayoutElement where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FreeFormLayoutElementBackgroundStyle+import Amazonka.QuickSight.Types.FreeFormLayoutElementBorderStyle+import Amazonka.QuickSight.Types.LayoutElementType+import Amazonka.QuickSight.Types.LoadingAnimation+import Amazonka.QuickSight.Types.SheetElementRenderingRule+import Amazonka.QuickSight.Types.Visibility++-- | An element within a free-form layout.+--+-- /See:/ 'newFreeFormLayoutElement' smart constructor.+data FreeFormLayoutElement = FreeFormLayoutElement'+  { -- | The background style configuration of a free-form layout element.+    backgroundStyle :: Prelude.Maybe FreeFormLayoutElementBackgroundStyle,+    -- | The border style configuration of a free-form layout element.+    borderStyle :: Prelude.Maybe FreeFormLayoutElementBorderStyle,+    -- | The loading animation configuration of a free-form layout element.+    loadingAnimation :: Prelude.Maybe LoadingAnimation,+    -- | The rendering rules that determine when an element should be displayed+    -- within a free-form layout.+    renderingRules :: Prelude.Maybe [SheetElementRenderingRule],+    -- | The border style configuration of a free-form layout element. This+    -- border style is used when the element is selected.+    selectedBorderStyle :: Prelude.Maybe FreeFormLayoutElementBorderStyle,+    -- | The visibility of an element within a free-form layout.+    visibility :: Prelude.Maybe Visibility,+    -- | A unique identifier for an element within a free-form layout.+    elementId :: Prelude.Text,+    -- | The type of element.+    elementType :: LayoutElementType,+    -- | The x-axis coordinate of the element.+    xAxisLocation :: Prelude.Text,+    -- | The y-axis coordinate of the element.+    yAxisLocation :: Prelude.Text,+    -- | The width of an element within a free-form layout.+    width :: Prelude.Text,+    -- | The height of an element within a free-form layout.+    height :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FreeFormLayoutElement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'backgroundStyle', 'freeFormLayoutElement_backgroundStyle' - The background style configuration of a free-form layout element.+--+-- 'borderStyle', 'freeFormLayoutElement_borderStyle' - The border style configuration of a free-form layout element.+--+-- 'loadingAnimation', 'freeFormLayoutElement_loadingAnimation' - The loading animation configuration of a free-form layout element.+--+-- 'renderingRules', 'freeFormLayoutElement_renderingRules' - The rendering rules that determine when an element should be displayed+-- within a free-form layout.+--+-- 'selectedBorderStyle', 'freeFormLayoutElement_selectedBorderStyle' - The border style configuration of a free-form layout element. This+-- border style is used when the element is selected.+--+-- 'visibility', 'freeFormLayoutElement_visibility' - The visibility of an element within a free-form layout.+--+-- 'elementId', 'freeFormLayoutElement_elementId' - A unique identifier for an element within a free-form layout.+--+-- 'elementType', 'freeFormLayoutElement_elementType' - The type of element.+--+-- 'xAxisLocation', 'freeFormLayoutElement_xAxisLocation' - The x-axis coordinate of the element.+--+-- 'yAxisLocation', 'freeFormLayoutElement_yAxisLocation' - The y-axis coordinate of the element.+--+-- 'width', 'freeFormLayoutElement_width' - The width of an element within a free-form layout.+--+-- 'height', 'freeFormLayoutElement_height' - The height of an element within a free-form layout.+newFreeFormLayoutElement ::+  -- | 'elementId'+  Prelude.Text ->+  -- | 'elementType'+  LayoutElementType ->+  -- | 'xAxisLocation'+  Prelude.Text ->+  -- | 'yAxisLocation'+  Prelude.Text ->+  -- | 'width'+  Prelude.Text ->+  -- | 'height'+  Prelude.Text ->+  FreeFormLayoutElement+newFreeFormLayoutElement+  pElementId_+  pElementType_+  pXAxisLocation_+  pYAxisLocation_+  pWidth_+  pHeight_ =+    FreeFormLayoutElement'+      { backgroundStyle =+          Prelude.Nothing,+        borderStyle = Prelude.Nothing,+        loadingAnimation = Prelude.Nothing,+        renderingRules = Prelude.Nothing,+        selectedBorderStyle = Prelude.Nothing,+        visibility = Prelude.Nothing,+        elementId = pElementId_,+        elementType = pElementType_,+        xAxisLocation = pXAxisLocation_,+        yAxisLocation = pYAxisLocation_,+        width = pWidth_,+        height = pHeight_+      }++-- | The background style configuration of a free-form layout element.+freeFormLayoutElement_backgroundStyle :: Lens.Lens' FreeFormLayoutElement (Prelude.Maybe FreeFormLayoutElementBackgroundStyle)+freeFormLayoutElement_backgroundStyle = Lens.lens (\FreeFormLayoutElement' {backgroundStyle} -> backgroundStyle) (\s@FreeFormLayoutElement' {} a -> s {backgroundStyle = a} :: FreeFormLayoutElement)++-- | The border style configuration of a free-form layout element.+freeFormLayoutElement_borderStyle :: Lens.Lens' FreeFormLayoutElement (Prelude.Maybe FreeFormLayoutElementBorderStyle)+freeFormLayoutElement_borderStyle = Lens.lens (\FreeFormLayoutElement' {borderStyle} -> borderStyle) (\s@FreeFormLayoutElement' {} a -> s {borderStyle = a} :: FreeFormLayoutElement)++-- | The loading animation configuration of a free-form layout element.+freeFormLayoutElement_loadingAnimation :: Lens.Lens' FreeFormLayoutElement (Prelude.Maybe LoadingAnimation)+freeFormLayoutElement_loadingAnimation = Lens.lens (\FreeFormLayoutElement' {loadingAnimation} -> loadingAnimation) (\s@FreeFormLayoutElement' {} a -> s {loadingAnimation = a} :: FreeFormLayoutElement)++-- | The rendering rules that determine when an element should be displayed+-- within a free-form layout.+freeFormLayoutElement_renderingRules :: Lens.Lens' FreeFormLayoutElement (Prelude.Maybe [SheetElementRenderingRule])+freeFormLayoutElement_renderingRules = Lens.lens (\FreeFormLayoutElement' {renderingRules} -> renderingRules) (\s@FreeFormLayoutElement' {} a -> s {renderingRules = a} :: FreeFormLayoutElement) Prelude.. Lens.mapping Lens.coerced++-- | The border style configuration of a free-form layout element. This+-- border style is used when the element is selected.+freeFormLayoutElement_selectedBorderStyle :: Lens.Lens' FreeFormLayoutElement (Prelude.Maybe FreeFormLayoutElementBorderStyle)+freeFormLayoutElement_selectedBorderStyle = Lens.lens (\FreeFormLayoutElement' {selectedBorderStyle} -> selectedBorderStyle) (\s@FreeFormLayoutElement' {} a -> s {selectedBorderStyle = a} :: FreeFormLayoutElement)++-- | The visibility of an element within a free-form layout.+freeFormLayoutElement_visibility :: Lens.Lens' FreeFormLayoutElement (Prelude.Maybe Visibility)+freeFormLayoutElement_visibility = Lens.lens (\FreeFormLayoutElement' {visibility} -> visibility) (\s@FreeFormLayoutElement' {} a -> s {visibility = a} :: FreeFormLayoutElement)++-- | A unique identifier for an element within a free-form layout.+freeFormLayoutElement_elementId :: Lens.Lens' FreeFormLayoutElement Prelude.Text+freeFormLayoutElement_elementId = Lens.lens (\FreeFormLayoutElement' {elementId} -> elementId) (\s@FreeFormLayoutElement' {} a -> s {elementId = a} :: FreeFormLayoutElement)++-- | The type of element.+freeFormLayoutElement_elementType :: Lens.Lens' FreeFormLayoutElement LayoutElementType+freeFormLayoutElement_elementType = Lens.lens (\FreeFormLayoutElement' {elementType} -> elementType) (\s@FreeFormLayoutElement' {} a -> s {elementType = a} :: FreeFormLayoutElement)++-- | The x-axis coordinate of the element.+freeFormLayoutElement_xAxisLocation :: Lens.Lens' FreeFormLayoutElement Prelude.Text+freeFormLayoutElement_xAxisLocation = Lens.lens (\FreeFormLayoutElement' {xAxisLocation} -> xAxisLocation) (\s@FreeFormLayoutElement' {} a -> s {xAxisLocation = a} :: FreeFormLayoutElement)++-- | The y-axis coordinate of the element.+freeFormLayoutElement_yAxisLocation :: Lens.Lens' FreeFormLayoutElement Prelude.Text+freeFormLayoutElement_yAxisLocation = Lens.lens (\FreeFormLayoutElement' {yAxisLocation} -> yAxisLocation) (\s@FreeFormLayoutElement' {} a -> s {yAxisLocation = a} :: FreeFormLayoutElement)++-- | The width of an element within a free-form layout.+freeFormLayoutElement_width :: Lens.Lens' FreeFormLayoutElement Prelude.Text+freeFormLayoutElement_width = Lens.lens (\FreeFormLayoutElement' {width} -> width) (\s@FreeFormLayoutElement' {} a -> s {width = a} :: FreeFormLayoutElement)++-- | The height of an element within a free-form layout.+freeFormLayoutElement_height :: Lens.Lens' FreeFormLayoutElement Prelude.Text+freeFormLayoutElement_height = Lens.lens (\FreeFormLayoutElement' {height} -> height) (\s@FreeFormLayoutElement' {} a -> s {height = a} :: FreeFormLayoutElement)++instance Data.FromJSON FreeFormLayoutElement where+  parseJSON =+    Data.withObject+      "FreeFormLayoutElement"+      ( \x ->+          FreeFormLayoutElement'+            Prelude.<$> (x Data..:? "BackgroundStyle")+            Prelude.<*> (x Data..:? "BorderStyle")+            Prelude.<*> (x Data..:? "LoadingAnimation")+            Prelude.<*> (x Data..:? "RenderingRules" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "SelectedBorderStyle")+            Prelude.<*> (x Data..:? "Visibility")+            Prelude.<*> (x Data..: "ElementId")+            Prelude.<*> (x Data..: "ElementType")+            Prelude.<*> (x Data..: "XAxisLocation")+            Prelude.<*> (x Data..: "YAxisLocation")+            Prelude.<*> (x Data..: "Width")+            Prelude.<*> (x Data..: "Height")+      )++instance Prelude.Hashable FreeFormLayoutElement where+  hashWithSalt _salt FreeFormLayoutElement' {..} =+    _salt+      `Prelude.hashWithSalt` backgroundStyle+      `Prelude.hashWithSalt` borderStyle+      `Prelude.hashWithSalt` loadingAnimation+      `Prelude.hashWithSalt` renderingRules+      `Prelude.hashWithSalt` selectedBorderStyle+      `Prelude.hashWithSalt` visibility+      `Prelude.hashWithSalt` elementId+      `Prelude.hashWithSalt` elementType+      `Prelude.hashWithSalt` xAxisLocation+      `Prelude.hashWithSalt` yAxisLocation+      `Prelude.hashWithSalt` width+      `Prelude.hashWithSalt` height++instance Prelude.NFData FreeFormLayoutElement where+  rnf FreeFormLayoutElement' {..} =+    Prelude.rnf backgroundStyle+      `Prelude.seq` Prelude.rnf borderStyle+      `Prelude.seq` Prelude.rnf loadingAnimation+      `Prelude.seq` Prelude.rnf renderingRules+      `Prelude.seq` Prelude.rnf selectedBorderStyle+      `Prelude.seq` Prelude.rnf visibility+      `Prelude.seq` Prelude.rnf elementId+      `Prelude.seq` Prelude.rnf elementType+      `Prelude.seq` Prelude.rnf xAxisLocation+      `Prelude.seq` Prelude.rnf yAxisLocation+      `Prelude.seq` Prelude.rnf width+      `Prelude.seq` Prelude.rnf height++instance Data.ToJSON FreeFormLayoutElement where+  toJSON FreeFormLayoutElement' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BackgroundStyle" Data..=)+              Prelude.<$> backgroundStyle,+            ("BorderStyle" Data..=) Prelude.<$> borderStyle,+            ("LoadingAnimation" Data..=)+              Prelude.<$> loadingAnimation,+            ("RenderingRules" Data..=)+              Prelude.<$> renderingRules,+            ("SelectedBorderStyle" Data..=)+              Prelude.<$> selectedBorderStyle,+            ("Visibility" Data..=) Prelude.<$> visibility,+            Prelude.Just ("ElementId" Data..= elementId),+            Prelude.Just ("ElementType" Data..= elementType),+            Prelude.Just ("XAxisLocation" Data..= xAxisLocation),+            Prelude.Just ("YAxisLocation" Data..= yAxisLocation),+            Prelude.Just ("Width" Data..= width),+            Prelude.Just ("Height" Data..= height)+          ]+      )
+ gen/Amazonka/QuickSight/Types/FreeFormLayoutElementBackgroundStyle.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.QuickSight.Types.FreeFormLayoutElementBackgroundStyle+-- 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.QuickSight.Types.FreeFormLayoutElementBackgroundStyle where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The background style configuration of a free-form layout element.+--+-- /See:/ 'newFreeFormLayoutElementBackgroundStyle' smart constructor.+data FreeFormLayoutElementBackgroundStyle = FreeFormLayoutElementBackgroundStyle'+  { -- | The background color of a free-form layout element.+    color :: Prelude.Maybe Prelude.Text,+    -- | The background visibility of a free-form layout element.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FreeFormLayoutElementBackgroundStyle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'color', 'freeFormLayoutElementBackgroundStyle_color' - The background color of a free-form layout element.+--+-- 'visibility', 'freeFormLayoutElementBackgroundStyle_visibility' - The background visibility of a free-form layout element.+newFreeFormLayoutElementBackgroundStyle ::+  FreeFormLayoutElementBackgroundStyle+newFreeFormLayoutElementBackgroundStyle =+  FreeFormLayoutElementBackgroundStyle'+    { color =+        Prelude.Nothing,+      visibility = Prelude.Nothing+    }++-- | The background color of a free-form layout element.+freeFormLayoutElementBackgroundStyle_color :: Lens.Lens' FreeFormLayoutElementBackgroundStyle (Prelude.Maybe Prelude.Text)+freeFormLayoutElementBackgroundStyle_color = Lens.lens (\FreeFormLayoutElementBackgroundStyle' {color} -> color) (\s@FreeFormLayoutElementBackgroundStyle' {} a -> s {color = a} :: FreeFormLayoutElementBackgroundStyle)++-- | The background visibility of a free-form layout element.+freeFormLayoutElementBackgroundStyle_visibility :: Lens.Lens' FreeFormLayoutElementBackgroundStyle (Prelude.Maybe Visibility)+freeFormLayoutElementBackgroundStyle_visibility = Lens.lens (\FreeFormLayoutElementBackgroundStyle' {visibility} -> visibility) (\s@FreeFormLayoutElementBackgroundStyle' {} a -> s {visibility = a} :: FreeFormLayoutElementBackgroundStyle)++instance+  Data.FromJSON+    FreeFormLayoutElementBackgroundStyle+  where+  parseJSON =+    Data.withObject+      "FreeFormLayoutElementBackgroundStyle"+      ( \x ->+          FreeFormLayoutElementBackgroundStyle'+            Prelude.<$> (x Data..:? "Color")+            Prelude.<*> (x Data..:? "Visibility")+      )++instance+  Prelude.Hashable+    FreeFormLayoutElementBackgroundStyle+  where+  hashWithSalt+    _salt+    FreeFormLayoutElementBackgroundStyle' {..} =+      _salt+        `Prelude.hashWithSalt` color+        `Prelude.hashWithSalt` visibility++instance+  Prelude.NFData+    FreeFormLayoutElementBackgroundStyle+  where+  rnf FreeFormLayoutElementBackgroundStyle' {..} =+    Prelude.rnf color+      `Prelude.seq` Prelude.rnf visibility++instance+  Data.ToJSON+    FreeFormLayoutElementBackgroundStyle+  where+  toJSON FreeFormLayoutElementBackgroundStyle' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Color" Data..=) Prelude.<$> color,+            ("Visibility" Data..=) Prelude.<$> visibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/FreeFormLayoutElementBorderStyle.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.FreeFormLayoutElementBorderStyle+-- 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.QuickSight.Types.FreeFormLayoutElementBorderStyle where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The background style configuration of a free-form layout element.+--+-- /See:/ 'newFreeFormLayoutElementBorderStyle' smart constructor.+data FreeFormLayoutElementBorderStyle = FreeFormLayoutElementBorderStyle'+  { -- | The border color of a free-form layout element.+    color :: Prelude.Maybe Prelude.Text,+    -- | The border visibility of a free-form layout element.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FreeFormLayoutElementBorderStyle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'color', 'freeFormLayoutElementBorderStyle_color' - The border color of a free-form layout element.+--+-- 'visibility', 'freeFormLayoutElementBorderStyle_visibility' - The border visibility of a free-form layout element.+newFreeFormLayoutElementBorderStyle ::+  FreeFormLayoutElementBorderStyle+newFreeFormLayoutElementBorderStyle =+  FreeFormLayoutElementBorderStyle'+    { color =+        Prelude.Nothing,+      visibility = Prelude.Nothing+    }++-- | The border color of a free-form layout element.+freeFormLayoutElementBorderStyle_color :: Lens.Lens' FreeFormLayoutElementBorderStyle (Prelude.Maybe Prelude.Text)+freeFormLayoutElementBorderStyle_color = Lens.lens (\FreeFormLayoutElementBorderStyle' {color} -> color) (\s@FreeFormLayoutElementBorderStyle' {} a -> s {color = a} :: FreeFormLayoutElementBorderStyle)++-- | The border visibility of a free-form layout element.+freeFormLayoutElementBorderStyle_visibility :: Lens.Lens' FreeFormLayoutElementBorderStyle (Prelude.Maybe Visibility)+freeFormLayoutElementBorderStyle_visibility = Lens.lens (\FreeFormLayoutElementBorderStyle' {visibility} -> visibility) (\s@FreeFormLayoutElementBorderStyle' {} a -> s {visibility = a} :: FreeFormLayoutElementBorderStyle)++instance+  Data.FromJSON+    FreeFormLayoutElementBorderStyle+  where+  parseJSON =+    Data.withObject+      "FreeFormLayoutElementBorderStyle"+      ( \x ->+          FreeFormLayoutElementBorderStyle'+            Prelude.<$> (x Data..:? "Color")+            Prelude.<*> (x Data..:? "Visibility")+      )++instance+  Prelude.Hashable+    FreeFormLayoutElementBorderStyle+  where+  hashWithSalt+    _salt+    FreeFormLayoutElementBorderStyle' {..} =+      _salt+        `Prelude.hashWithSalt` color+        `Prelude.hashWithSalt` visibility++instance+  Prelude.NFData+    FreeFormLayoutElementBorderStyle+  where+  rnf FreeFormLayoutElementBorderStyle' {..} =+    Prelude.rnf color+      `Prelude.seq` Prelude.rnf visibility++instance Data.ToJSON FreeFormLayoutElementBorderStyle where+  toJSON FreeFormLayoutElementBorderStyle' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Color" Data..=) Prelude.<$> color,+            ("Visibility" Data..=) Prelude.<$> visibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/FreeFormLayoutScreenCanvasSizeOptions.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.QuickSight.Types.FreeFormLayoutScreenCanvasSizeOptions+-- 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.QuickSight.Types.FreeFormLayoutScreenCanvasSizeOptions 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 options that determine the sizing of the canvas used in a free-form+-- layout.+--+-- /See:/ 'newFreeFormLayoutScreenCanvasSizeOptions' smart constructor.+data FreeFormLayoutScreenCanvasSizeOptions = FreeFormLayoutScreenCanvasSizeOptions'+  { -- | The width that the view port will be optimized for when the layout+    -- renders.+    optimizedViewPortWidth :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FreeFormLayoutScreenCanvasSizeOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'optimizedViewPortWidth', 'freeFormLayoutScreenCanvasSizeOptions_optimizedViewPortWidth' - The width that the view port will be optimized for when the layout+-- renders.+newFreeFormLayoutScreenCanvasSizeOptions ::+  -- | 'optimizedViewPortWidth'+  Prelude.Text ->+  FreeFormLayoutScreenCanvasSizeOptions+newFreeFormLayoutScreenCanvasSizeOptions+  pOptimizedViewPortWidth_ =+    FreeFormLayoutScreenCanvasSizeOptions'+      { optimizedViewPortWidth =+          pOptimizedViewPortWidth_+      }++-- | The width that the view port will be optimized for when the layout+-- renders.+freeFormLayoutScreenCanvasSizeOptions_optimizedViewPortWidth :: Lens.Lens' FreeFormLayoutScreenCanvasSizeOptions Prelude.Text+freeFormLayoutScreenCanvasSizeOptions_optimizedViewPortWidth = Lens.lens (\FreeFormLayoutScreenCanvasSizeOptions' {optimizedViewPortWidth} -> optimizedViewPortWidth) (\s@FreeFormLayoutScreenCanvasSizeOptions' {} a -> s {optimizedViewPortWidth = a} :: FreeFormLayoutScreenCanvasSizeOptions)++instance+  Data.FromJSON+    FreeFormLayoutScreenCanvasSizeOptions+  where+  parseJSON =+    Data.withObject+      "FreeFormLayoutScreenCanvasSizeOptions"+      ( \x ->+          FreeFormLayoutScreenCanvasSizeOptions'+            Prelude.<$> (x Data..: "OptimizedViewPortWidth")+      )++instance+  Prelude.Hashable+    FreeFormLayoutScreenCanvasSizeOptions+  where+  hashWithSalt+    _salt+    FreeFormLayoutScreenCanvasSizeOptions' {..} =+      _salt `Prelude.hashWithSalt` optimizedViewPortWidth++instance+  Prelude.NFData+    FreeFormLayoutScreenCanvasSizeOptions+  where+  rnf FreeFormLayoutScreenCanvasSizeOptions' {..} =+    Prelude.rnf optimizedViewPortWidth++instance+  Data.ToJSON+    FreeFormLayoutScreenCanvasSizeOptions+  where+  toJSON FreeFormLayoutScreenCanvasSizeOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "OptimizedViewPortWidth"+                  Data..= optimizedViewPortWidth+              )+          ]+      )
+ gen/Amazonka/QuickSight/Types/FreeFormSectionLayoutConfiguration.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.FreeFormSectionLayoutConfiguration+-- 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.QuickSight.Types.FreeFormSectionLayoutConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FreeFormLayoutElement++-- | The free-form layout configuration of a section.+--+-- /See:/ 'newFreeFormSectionLayoutConfiguration' smart constructor.+data FreeFormSectionLayoutConfiguration = FreeFormSectionLayoutConfiguration'+  { -- | The elements that are included in the free-form layout.+    elements :: [FreeFormLayoutElement]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FreeFormSectionLayoutConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'elements', 'freeFormSectionLayoutConfiguration_elements' - The elements that are included in the free-form layout.+newFreeFormSectionLayoutConfiguration ::+  FreeFormSectionLayoutConfiguration+newFreeFormSectionLayoutConfiguration =+  FreeFormSectionLayoutConfiguration'+    { elements =+        Prelude.mempty+    }++-- | The elements that are included in the free-form layout.+freeFormSectionLayoutConfiguration_elements :: Lens.Lens' FreeFormSectionLayoutConfiguration [FreeFormLayoutElement]+freeFormSectionLayoutConfiguration_elements = Lens.lens (\FreeFormSectionLayoutConfiguration' {elements} -> elements) (\s@FreeFormSectionLayoutConfiguration' {} a -> s {elements = a} :: FreeFormSectionLayoutConfiguration) Prelude.. Lens.coerced++instance+  Data.FromJSON+    FreeFormSectionLayoutConfiguration+  where+  parseJSON =+    Data.withObject+      "FreeFormSectionLayoutConfiguration"+      ( \x ->+          FreeFormSectionLayoutConfiguration'+            Prelude.<$> (x Data..:? "Elements" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    FreeFormSectionLayoutConfiguration+  where+  hashWithSalt+    _salt+    FreeFormSectionLayoutConfiguration' {..} =+      _salt `Prelude.hashWithSalt` elements++instance+  Prelude.NFData+    FreeFormSectionLayoutConfiguration+  where+  rnf FreeFormSectionLayoutConfiguration' {..} =+    Prelude.rnf elements++instance+  Data.ToJSON+    FreeFormSectionLayoutConfiguration+  where+  toJSON FreeFormSectionLayoutConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Elements" Data..= elements)]+      )
+ gen/Amazonka/QuickSight/Types/FunnelChartAggregatedFieldWells.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.QuickSight.Types.FunnelChartAggregatedFieldWells+-- 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.QuickSight.Types.FunnelChartAggregatedFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The field well configuration of a @FunnelChartVisual@.+--+-- /See:/ 'newFunnelChartAggregatedFieldWells' smart constructor.+data FunnelChartAggregatedFieldWells = FunnelChartAggregatedFieldWells'+  { -- | The category field wells of a funnel chart. Values are grouped by+    -- category fields.+    category :: Prelude.Maybe [DimensionField],+    -- | The value field wells of a funnel chart. Values are aggregated based on+    -- categories.+    values :: Prelude.Maybe [MeasureField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FunnelChartAggregatedFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'category', 'funnelChartAggregatedFieldWells_category' - The category field wells of a funnel chart. Values are grouped by+-- category fields.+--+-- 'values', 'funnelChartAggregatedFieldWells_values' - The value field wells of a funnel chart. Values are aggregated based on+-- categories.+newFunnelChartAggregatedFieldWells ::+  FunnelChartAggregatedFieldWells+newFunnelChartAggregatedFieldWells =+  FunnelChartAggregatedFieldWells'+    { category =+        Prelude.Nothing,+      values = Prelude.Nothing+    }++-- | The category field wells of a funnel chart. Values are grouped by+-- category fields.+funnelChartAggregatedFieldWells_category :: Lens.Lens' FunnelChartAggregatedFieldWells (Prelude.Maybe [DimensionField])+funnelChartAggregatedFieldWells_category = Lens.lens (\FunnelChartAggregatedFieldWells' {category} -> category) (\s@FunnelChartAggregatedFieldWells' {} a -> s {category = a} :: FunnelChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The value field wells of a funnel chart. Values are aggregated based on+-- categories.+funnelChartAggregatedFieldWells_values :: Lens.Lens' FunnelChartAggregatedFieldWells (Prelude.Maybe [MeasureField])+funnelChartAggregatedFieldWells_values = Lens.lens (\FunnelChartAggregatedFieldWells' {values} -> values) (\s@FunnelChartAggregatedFieldWells' {} a -> s {values = a} :: FunnelChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++instance+  Data.FromJSON+    FunnelChartAggregatedFieldWells+  where+  parseJSON =+    Data.withObject+      "FunnelChartAggregatedFieldWells"+      ( \x ->+          FunnelChartAggregatedFieldWells'+            Prelude.<$> (x Data..:? "Category" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Values" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    FunnelChartAggregatedFieldWells+  where+  hashWithSalt+    _salt+    FunnelChartAggregatedFieldWells' {..} =+      _salt+        `Prelude.hashWithSalt` category+        `Prelude.hashWithSalt` values++instance+  Prelude.NFData+    FunnelChartAggregatedFieldWells+  where+  rnf FunnelChartAggregatedFieldWells' {..} =+    Prelude.rnf category+      `Prelude.seq` Prelude.rnf values++instance Data.ToJSON FunnelChartAggregatedFieldWells where+  toJSON FunnelChartAggregatedFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Category" Data..=) Prelude.<$> category,+            ("Values" Data..=) Prelude.<$> values+          ]+      )
+ gen/Amazonka/QuickSight/Types/FunnelChartConfiguration.hs view
@@ -0,0 +1,175 @@+{-# 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.QuickSight.Types.FunnelChartConfiguration+-- 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.QuickSight.Types.FunnelChartConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ChartAxisLabelOptions+import Amazonka.QuickSight.Types.FunnelChartDataLabelOptions+import Amazonka.QuickSight.Types.FunnelChartFieldWells+import Amazonka.QuickSight.Types.FunnelChartSortConfiguration+import Amazonka.QuickSight.Types.TooltipOptions+import Amazonka.QuickSight.Types.VisualPalette++-- | The configuration of a @FunnelChartVisual@.+--+-- /See:/ 'newFunnelChartConfiguration' smart constructor.+data FunnelChartConfiguration = FunnelChartConfiguration'+  { -- | The label options of the categories that are displayed in a+    -- @FunnelChartVisual@.+    categoryLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The options that determine the presentation of the data labels.+    dataLabelOptions :: Prelude.Maybe FunnelChartDataLabelOptions,+    -- | The field well configuration of a @FunnelChartVisual@.+    fieldWells :: Prelude.Maybe FunnelChartFieldWells,+    -- | The sort configuration of a @FunnelChartVisual@.+    sortConfiguration :: Prelude.Maybe FunnelChartSortConfiguration,+    -- | The tooltip configuration of a @FunnelChartVisual@.+    tooltip :: Prelude.Maybe TooltipOptions,+    -- | The label options for the values that are displayed in a+    -- @FunnelChartVisual@.+    valueLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The visual palette configuration of a @FunnelChartVisual@.+    visualPalette :: Prelude.Maybe VisualPalette+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FunnelChartConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categoryLabelOptions', 'funnelChartConfiguration_categoryLabelOptions' - The label options of the categories that are displayed in a+-- @FunnelChartVisual@.+--+-- 'dataLabelOptions', 'funnelChartConfiguration_dataLabelOptions' - The options that determine the presentation of the data labels.+--+-- 'fieldWells', 'funnelChartConfiguration_fieldWells' - The field well configuration of a @FunnelChartVisual@.+--+-- 'sortConfiguration', 'funnelChartConfiguration_sortConfiguration' - The sort configuration of a @FunnelChartVisual@.+--+-- 'tooltip', 'funnelChartConfiguration_tooltip' - The tooltip configuration of a @FunnelChartVisual@.+--+-- 'valueLabelOptions', 'funnelChartConfiguration_valueLabelOptions' - The label options for the values that are displayed in a+-- @FunnelChartVisual@.+--+-- 'visualPalette', 'funnelChartConfiguration_visualPalette' - The visual palette configuration of a @FunnelChartVisual@.+newFunnelChartConfiguration ::+  FunnelChartConfiguration+newFunnelChartConfiguration =+  FunnelChartConfiguration'+    { categoryLabelOptions =+        Prelude.Nothing,+      dataLabelOptions = Prelude.Nothing,+      fieldWells = Prelude.Nothing,+      sortConfiguration = Prelude.Nothing,+      tooltip = Prelude.Nothing,+      valueLabelOptions = Prelude.Nothing,+      visualPalette = Prelude.Nothing+    }++-- | The label options of the categories that are displayed in a+-- @FunnelChartVisual@.+funnelChartConfiguration_categoryLabelOptions :: Lens.Lens' FunnelChartConfiguration (Prelude.Maybe ChartAxisLabelOptions)+funnelChartConfiguration_categoryLabelOptions = Lens.lens (\FunnelChartConfiguration' {categoryLabelOptions} -> categoryLabelOptions) (\s@FunnelChartConfiguration' {} a -> s {categoryLabelOptions = a} :: FunnelChartConfiguration)++-- | The options that determine the presentation of the data labels.+funnelChartConfiguration_dataLabelOptions :: Lens.Lens' FunnelChartConfiguration (Prelude.Maybe FunnelChartDataLabelOptions)+funnelChartConfiguration_dataLabelOptions = Lens.lens (\FunnelChartConfiguration' {dataLabelOptions} -> dataLabelOptions) (\s@FunnelChartConfiguration' {} a -> s {dataLabelOptions = a} :: FunnelChartConfiguration)++-- | The field well configuration of a @FunnelChartVisual@.+funnelChartConfiguration_fieldWells :: Lens.Lens' FunnelChartConfiguration (Prelude.Maybe FunnelChartFieldWells)+funnelChartConfiguration_fieldWells = Lens.lens (\FunnelChartConfiguration' {fieldWells} -> fieldWells) (\s@FunnelChartConfiguration' {} a -> s {fieldWells = a} :: FunnelChartConfiguration)++-- | The sort configuration of a @FunnelChartVisual@.+funnelChartConfiguration_sortConfiguration :: Lens.Lens' FunnelChartConfiguration (Prelude.Maybe FunnelChartSortConfiguration)+funnelChartConfiguration_sortConfiguration = Lens.lens (\FunnelChartConfiguration' {sortConfiguration} -> sortConfiguration) (\s@FunnelChartConfiguration' {} a -> s {sortConfiguration = a} :: FunnelChartConfiguration)++-- | The tooltip configuration of a @FunnelChartVisual@.+funnelChartConfiguration_tooltip :: Lens.Lens' FunnelChartConfiguration (Prelude.Maybe TooltipOptions)+funnelChartConfiguration_tooltip = Lens.lens (\FunnelChartConfiguration' {tooltip} -> tooltip) (\s@FunnelChartConfiguration' {} a -> s {tooltip = a} :: FunnelChartConfiguration)++-- | The label options for the values that are displayed in a+-- @FunnelChartVisual@.+funnelChartConfiguration_valueLabelOptions :: Lens.Lens' FunnelChartConfiguration (Prelude.Maybe ChartAxisLabelOptions)+funnelChartConfiguration_valueLabelOptions = Lens.lens (\FunnelChartConfiguration' {valueLabelOptions} -> valueLabelOptions) (\s@FunnelChartConfiguration' {} a -> s {valueLabelOptions = a} :: FunnelChartConfiguration)++-- | The visual palette configuration of a @FunnelChartVisual@.+funnelChartConfiguration_visualPalette :: Lens.Lens' FunnelChartConfiguration (Prelude.Maybe VisualPalette)+funnelChartConfiguration_visualPalette = Lens.lens (\FunnelChartConfiguration' {visualPalette} -> visualPalette) (\s@FunnelChartConfiguration' {} a -> s {visualPalette = a} :: FunnelChartConfiguration)++instance Data.FromJSON FunnelChartConfiguration where+  parseJSON =+    Data.withObject+      "FunnelChartConfiguration"+      ( \x ->+          FunnelChartConfiguration'+            Prelude.<$> (x Data..:? "CategoryLabelOptions")+            Prelude.<*> (x Data..:? "DataLabelOptions")+            Prelude.<*> (x Data..:? "FieldWells")+            Prelude.<*> (x Data..:? "SortConfiguration")+            Prelude.<*> (x Data..:? "Tooltip")+            Prelude.<*> (x Data..:? "ValueLabelOptions")+            Prelude.<*> (x Data..:? "VisualPalette")+      )++instance Prelude.Hashable FunnelChartConfiguration where+  hashWithSalt _salt FunnelChartConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` categoryLabelOptions+      `Prelude.hashWithSalt` dataLabelOptions+      `Prelude.hashWithSalt` fieldWells+      `Prelude.hashWithSalt` sortConfiguration+      `Prelude.hashWithSalt` tooltip+      `Prelude.hashWithSalt` valueLabelOptions+      `Prelude.hashWithSalt` visualPalette++instance Prelude.NFData FunnelChartConfiguration where+  rnf FunnelChartConfiguration' {..} =+    Prelude.rnf categoryLabelOptions+      `Prelude.seq` Prelude.rnf dataLabelOptions+      `Prelude.seq` Prelude.rnf fieldWells+      `Prelude.seq` Prelude.rnf sortConfiguration+      `Prelude.seq` Prelude.rnf tooltip+      `Prelude.seq` Prelude.rnf valueLabelOptions+      `Prelude.seq` Prelude.rnf visualPalette++instance Data.ToJSON FunnelChartConfiguration where+  toJSON FunnelChartConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoryLabelOptions" Data..=)+              Prelude.<$> categoryLabelOptions,+            ("DataLabelOptions" Data..=)+              Prelude.<$> dataLabelOptions,+            ("FieldWells" Data..=) Prelude.<$> fieldWells,+            ("SortConfiguration" Data..=)+              Prelude.<$> sortConfiguration,+            ("Tooltip" Data..=) Prelude.<$> tooltip,+            ("ValueLabelOptions" Data..=)+              Prelude.<$> valueLabelOptions,+            ("VisualPalette" Data..=) Prelude.<$> visualPalette+          ]+      )
+ gen/Amazonka/QuickSight/Types/FunnelChartDataLabelOptions.hs view
@@ -0,0 +1,179 @@+{-# 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.QuickSight.Types.FunnelChartDataLabelOptions+-- 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.QuickSight.Types.FunnelChartDataLabelOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataLabelPosition+import Amazonka.QuickSight.Types.FontConfiguration+import Amazonka.QuickSight.Types.FunnelChartMeasureDataLabelStyle+import Amazonka.QuickSight.Types.Visibility++-- | The options that determine the presentation of the data labels.+--+-- /See:/ 'newFunnelChartDataLabelOptions' smart constructor.+data FunnelChartDataLabelOptions = FunnelChartDataLabelOptions'+  { -- | The visibility of the category labels within the data labels.+    categoryLabelVisibility :: Prelude.Maybe Visibility,+    -- | The color of the data label text.+    labelColor :: Prelude.Maybe Prelude.Text,+    -- | The font configuration for the data labels.+    --+    -- Only the @FontSize@ attribute of the font configuration is used for data+    -- labels.+    labelFontConfiguration :: Prelude.Maybe FontConfiguration,+    -- | Determines the style of the metric labels.+    measureDataLabelStyle :: Prelude.Maybe FunnelChartMeasureDataLabelStyle,+    -- | The visibility of the measure labels within the data labels.+    measureLabelVisibility :: Prelude.Maybe Visibility,+    -- | Determines the positioning of the data label relative to a section of+    -- the funnel.+    position :: Prelude.Maybe DataLabelPosition,+    -- | The visibility option that determines if data labels are displayed.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FunnelChartDataLabelOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categoryLabelVisibility', 'funnelChartDataLabelOptions_categoryLabelVisibility' - The visibility of the category labels within the data labels.+--+-- 'labelColor', 'funnelChartDataLabelOptions_labelColor' - The color of the data label text.+--+-- 'labelFontConfiguration', 'funnelChartDataLabelOptions_labelFontConfiguration' - The font configuration for the data labels.+--+-- Only the @FontSize@ attribute of the font configuration is used for data+-- labels.+--+-- 'measureDataLabelStyle', 'funnelChartDataLabelOptions_measureDataLabelStyle' - Determines the style of the metric labels.+--+-- 'measureLabelVisibility', 'funnelChartDataLabelOptions_measureLabelVisibility' - The visibility of the measure labels within the data labels.+--+-- 'position', 'funnelChartDataLabelOptions_position' - Determines the positioning of the data label relative to a section of+-- the funnel.+--+-- 'visibility', 'funnelChartDataLabelOptions_visibility' - The visibility option that determines if data labels are displayed.+newFunnelChartDataLabelOptions ::+  FunnelChartDataLabelOptions+newFunnelChartDataLabelOptions =+  FunnelChartDataLabelOptions'+    { categoryLabelVisibility =+        Prelude.Nothing,+      labelColor = Prelude.Nothing,+      labelFontConfiguration = Prelude.Nothing,+      measureDataLabelStyle = Prelude.Nothing,+      measureLabelVisibility = Prelude.Nothing,+      position = Prelude.Nothing,+      visibility = Prelude.Nothing+    }++-- | The visibility of the category labels within the data labels.+funnelChartDataLabelOptions_categoryLabelVisibility :: Lens.Lens' FunnelChartDataLabelOptions (Prelude.Maybe Visibility)+funnelChartDataLabelOptions_categoryLabelVisibility = Lens.lens (\FunnelChartDataLabelOptions' {categoryLabelVisibility} -> categoryLabelVisibility) (\s@FunnelChartDataLabelOptions' {} a -> s {categoryLabelVisibility = a} :: FunnelChartDataLabelOptions)++-- | The color of the data label text.+funnelChartDataLabelOptions_labelColor :: Lens.Lens' FunnelChartDataLabelOptions (Prelude.Maybe Prelude.Text)+funnelChartDataLabelOptions_labelColor = Lens.lens (\FunnelChartDataLabelOptions' {labelColor} -> labelColor) (\s@FunnelChartDataLabelOptions' {} a -> s {labelColor = a} :: FunnelChartDataLabelOptions)++-- | The font configuration for the data labels.+--+-- Only the @FontSize@ attribute of the font configuration is used for data+-- labels.+funnelChartDataLabelOptions_labelFontConfiguration :: Lens.Lens' FunnelChartDataLabelOptions (Prelude.Maybe FontConfiguration)+funnelChartDataLabelOptions_labelFontConfiguration = Lens.lens (\FunnelChartDataLabelOptions' {labelFontConfiguration} -> labelFontConfiguration) (\s@FunnelChartDataLabelOptions' {} a -> s {labelFontConfiguration = a} :: FunnelChartDataLabelOptions)++-- | Determines the style of the metric labels.+funnelChartDataLabelOptions_measureDataLabelStyle :: Lens.Lens' FunnelChartDataLabelOptions (Prelude.Maybe FunnelChartMeasureDataLabelStyle)+funnelChartDataLabelOptions_measureDataLabelStyle = Lens.lens (\FunnelChartDataLabelOptions' {measureDataLabelStyle} -> measureDataLabelStyle) (\s@FunnelChartDataLabelOptions' {} a -> s {measureDataLabelStyle = a} :: FunnelChartDataLabelOptions)++-- | The visibility of the measure labels within the data labels.+funnelChartDataLabelOptions_measureLabelVisibility :: Lens.Lens' FunnelChartDataLabelOptions (Prelude.Maybe Visibility)+funnelChartDataLabelOptions_measureLabelVisibility = Lens.lens (\FunnelChartDataLabelOptions' {measureLabelVisibility} -> measureLabelVisibility) (\s@FunnelChartDataLabelOptions' {} a -> s {measureLabelVisibility = a} :: FunnelChartDataLabelOptions)++-- | Determines the positioning of the data label relative to a section of+-- the funnel.+funnelChartDataLabelOptions_position :: Lens.Lens' FunnelChartDataLabelOptions (Prelude.Maybe DataLabelPosition)+funnelChartDataLabelOptions_position = Lens.lens (\FunnelChartDataLabelOptions' {position} -> position) (\s@FunnelChartDataLabelOptions' {} a -> s {position = a} :: FunnelChartDataLabelOptions)++-- | The visibility option that determines if data labels are displayed.+funnelChartDataLabelOptions_visibility :: Lens.Lens' FunnelChartDataLabelOptions (Prelude.Maybe Visibility)+funnelChartDataLabelOptions_visibility = Lens.lens (\FunnelChartDataLabelOptions' {visibility} -> visibility) (\s@FunnelChartDataLabelOptions' {} a -> s {visibility = a} :: FunnelChartDataLabelOptions)++instance Data.FromJSON FunnelChartDataLabelOptions where+  parseJSON =+    Data.withObject+      "FunnelChartDataLabelOptions"+      ( \x ->+          FunnelChartDataLabelOptions'+            Prelude.<$> (x Data..:? "CategoryLabelVisibility")+            Prelude.<*> (x Data..:? "LabelColor")+            Prelude.<*> (x Data..:? "LabelFontConfiguration")+            Prelude.<*> (x Data..:? "MeasureDataLabelStyle")+            Prelude.<*> (x Data..:? "MeasureLabelVisibility")+            Prelude.<*> (x Data..:? "Position")+            Prelude.<*> (x Data..:? "Visibility")+      )++instance Prelude.Hashable FunnelChartDataLabelOptions where+  hashWithSalt _salt FunnelChartDataLabelOptions' {..} =+    _salt+      `Prelude.hashWithSalt` categoryLabelVisibility+      `Prelude.hashWithSalt` labelColor+      `Prelude.hashWithSalt` labelFontConfiguration+      `Prelude.hashWithSalt` measureDataLabelStyle+      `Prelude.hashWithSalt` measureLabelVisibility+      `Prelude.hashWithSalt` position+      `Prelude.hashWithSalt` visibility++instance Prelude.NFData FunnelChartDataLabelOptions where+  rnf FunnelChartDataLabelOptions' {..} =+    Prelude.rnf categoryLabelVisibility+      `Prelude.seq` Prelude.rnf labelColor+      `Prelude.seq` Prelude.rnf labelFontConfiguration+      `Prelude.seq` Prelude.rnf measureDataLabelStyle+      `Prelude.seq` Prelude.rnf measureLabelVisibility+      `Prelude.seq` Prelude.rnf position+      `Prelude.seq` Prelude.rnf visibility++instance Data.ToJSON FunnelChartDataLabelOptions where+  toJSON FunnelChartDataLabelOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoryLabelVisibility" Data..=)+              Prelude.<$> categoryLabelVisibility,+            ("LabelColor" Data..=) Prelude.<$> labelColor,+            ("LabelFontConfiguration" Data..=)+              Prelude.<$> labelFontConfiguration,+            ("MeasureDataLabelStyle" Data..=)+              Prelude.<$> measureDataLabelStyle,+            ("MeasureLabelVisibility" Data..=)+              Prelude.<$> measureLabelVisibility,+            ("Position" Data..=) Prelude.<$> position,+            ("Visibility" Data..=) Prelude.<$> visibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/FunnelChartFieldWells.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.QuickSight.Types.FunnelChartFieldWells+-- 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.QuickSight.Types.FunnelChartFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FunnelChartAggregatedFieldWells++-- | The field well configuration of a @FunnelChartVisual@.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newFunnelChartFieldWells' smart constructor.+data FunnelChartFieldWells = FunnelChartFieldWells'+  { -- | The field well configuration of a @FunnelChartVisual@.+    funnelChartAggregatedFieldWells :: Prelude.Maybe FunnelChartAggregatedFieldWells+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FunnelChartFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'funnelChartAggregatedFieldWells', 'funnelChartFieldWells_funnelChartAggregatedFieldWells' - The field well configuration of a @FunnelChartVisual@.+newFunnelChartFieldWells ::+  FunnelChartFieldWells+newFunnelChartFieldWells =+  FunnelChartFieldWells'+    { funnelChartAggregatedFieldWells =+        Prelude.Nothing+    }++-- | The field well configuration of a @FunnelChartVisual@.+funnelChartFieldWells_funnelChartAggregatedFieldWells :: Lens.Lens' FunnelChartFieldWells (Prelude.Maybe FunnelChartAggregatedFieldWells)+funnelChartFieldWells_funnelChartAggregatedFieldWells = Lens.lens (\FunnelChartFieldWells' {funnelChartAggregatedFieldWells} -> funnelChartAggregatedFieldWells) (\s@FunnelChartFieldWells' {} a -> s {funnelChartAggregatedFieldWells = a} :: FunnelChartFieldWells)++instance Data.FromJSON FunnelChartFieldWells where+  parseJSON =+    Data.withObject+      "FunnelChartFieldWells"+      ( \x ->+          FunnelChartFieldWells'+            Prelude.<$> (x Data..:? "FunnelChartAggregatedFieldWells")+      )++instance Prelude.Hashable FunnelChartFieldWells where+  hashWithSalt _salt FunnelChartFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` funnelChartAggregatedFieldWells++instance Prelude.NFData FunnelChartFieldWells where+  rnf FunnelChartFieldWells' {..} =+    Prelude.rnf funnelChartAggregatedFieldWells++instance Data.ToJSON FunnelChartFieldWells where+  toJSON FunnelChartFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FunnelChartAggregatedFieldWells" Data..=)+              Prelude.<$> funnelChartAggregatedFieldWells+          ]+      )
+ gen/Amazonka/QuickSight/Types/FunnelChartMeasureDataLabelStyle.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.FunnelChartMeasureDataLabelStyle+-- 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.QuickSight.Types.FunnelChartMeasureDataLabelStyle+  ( FunnelChartMeasureDataLabelStyle+      ( ..,+        FunnelChartMeasureDataLabelStyle_PERCENTAGE_BY_FIRST_STAGE,+        FunnelChartMeasureDataLabelStyle_PERCENTAGE_BY_PREVIOUS_STAGE,+        FunnelChartMeasureDataLabelStyle_VALUE_AND_PERCENTAGE_BY_FIRST_STAGE,+        FunnelChartMeasureDataLabelStyle_VALUE_AND_PERCENTAGE_BY_PREVIOUS_STAGE,+        FunnelChartMeasureDataLabelStyle_VALUE_ONLY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FunnelChartMeasureDataLabelStyle = FunnelChartMeasureDataLabelStyle'+  { fromFunnelChartMeasureDataLabelStyle ::+      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 FunnelChartMeasureDataLabelStyle_PERCENTAGE_BY_FIRST_STAGE :: FunnelChartMeasureDataLabelStyle+pattern FunnelChartMeasureDataLabelStyle_PERCENTAGE_BY_FIRST_STAGE = FunnelChartMeasureDataLabelStyle' "PERCENTAGE_BY_FIRST_STAGE"++pattern FunnelChartMeasureDataLabelStyle_PERCENTAGE_BY_PREVIOUS_STAGE :: FunnelChartMeasureDataLabelStyle+pattern FunnelChartMeasureDataLabelStyle_PERCENTAGE_BY_PREVIOUS_STAGE = FunnelChartMeasureDataLabelStyle' "PERCENTAGE_BY_PREVIOUS_STAGE"++pattern FunnelChartMeasureDataLabelStyle_VALUE_AND_PERCENTAGE_BY_FIRST_STAGE :: FunnelChartMeasureDataLabelStyle+pattern FunnelChartMeasureDataLabelStyle_VALUE_AND_PERCENTAGE_BY_FIRST_STAGE = FunnelChartMeasureDataLabelStyle' "VALUE_AND_PERCENTAGE_BY_FIRST_STAGE"++pattern FunnelChartMeasureDataLabelStyle_VALUE_AND_PERCENTAGE_BY_PREVIOUS_STAGE :: FunnelChartMeasureDataLabelStyle+pattern FunnelChartMeasureDataLabelStyle_VALUE_AND_PERCENTAGE_BY_PREVIOUS_STAGE = FunnelChartMeasureDataLabelStyle' "VALUE_AND_PERCENTAGE_BY_PREVIOUS_STAGE"++pattern FunnelChartMeasureDataLabelStyle_VALUE_ONLY :: FunnelChartMeasureDataLabelStyle+pattern FunnelChartMeasureDataLabelStyle_VALUE_ONLY = FunnelChartMeasureDataLabelStyle' "VALUE_ONLY"++{-# COMPLETE+  FunnelChartMeasureDataLabelStyle_PERCENTAGE_BY_FIRST_STAGE,+  FunnelChartMeasureDataLabelStyle_PERCENTAGE_BY_PREVIOUS_STAGE,+  FunnelChartMeasureDataLabelStyle_VALUE_AND_PERCENTAGE_BY_FIRST_STAGE,+  FunnelChartMeasureDataLabelStyle_VALUE_AND_PERCENTAGE_BY_PREVIOUS_STAGE,+  FunnelChartMeasureDataLabelStyle_VALUE_ONLY,+  FunnelChartMeasureDataLabelStyle'+  #-}
+ gen/Amazonka/QuickSight/Types/FunnelChartSortConfiguration.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.QuickSight.Types.FunnelChartSortConfiguration+-- 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.QuickSight.Types.FunnelChartSortConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FieldSortOptions+import Amazonka.QuickSight.Types.ItemsLimitConfiguration++-- | The sort configuration of a @FunnelChartVisual@.+--+-- /See:/ 'newFunnelChartSortConfiguration' smart constructor.+data FunnelChartSortConfiguration = FunnelChartSortConfiguration'+  { -- | The limit on the number of categories displayed.+    categoryItemsLimit :: Prelude.Maybe ItemsLimitConfiguration,+    -- | The sort configuration of the category fields.+    categorySort :: Prelude.Maybe [FieldSortOptions]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FunnelChartSortConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categoryItemsLimit', 'funnelChartSortConfiguration_categoryItemsLimit' - The limit on the number of categories displayed.+--+-- 'categorySort', 'funnelChartSortConfiguration_categorySort' - The sort configuration of the category fields.+newFunnelChartSortConfiguration ::+  FunnelChartSortConfiguration+newFunnelChartSortConfiguration =+  FunnelChartSortConfiguration'+    { categoryItemsLimit =+        Prelude.Nothing,+      categorySort = Prelude.Nothing+    }++-- | The limit on the number of categories displayed.+funnelChartSortConfiguration_categoryItemsLimit :: Lens.Lens' FunnelChartSortConfiguration (Prelude.Maybe ItemsLimitConfiguration)+funnelChartSortConfiguration_categoryItemsLimit = Lens.lens (\FunnelChartSortConfiguration' {categoryItemsLimit} -> categoryItemsLimit) (\s@FunnelChartSortConfiguration' {} a -> s {categoryItemsLimit = a} :: FunnelChartSortConfiguration)++-- | The sort configuration of the category fields.+funnelChartSortConfiguration_categorySort :: Lens.Lens' FunnelChartSortConfiguration (Prelude.Maybe [FieldSortOptions])+funnelChartSortConfiguration_categorySort = Lens.lens (\FunnelChartSortConfiguration' {categorySort} -> categorySort) (\s@FunnelChartSortConfiguration' {} a -> s {categorySort = a} :: FunnelChartSortConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON FunnelChartSortConfiguration where+  parseJSON =+    Data.withObject+      "FunnelChartSortConfiguration"+      ( \x ->+          FunnelChartSortConfiguration'+            Prelude.<$> (x Data..:? "CategoryItemsLimit")+            Prelude.<*> (x Data..:? "CategorySort" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    FunnelChartSortConfiguration+  where+  hashWithSalt _salt FunnelChartSortConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` categoryItemsLimit+      `Prelude.hashWithSalt` categorySort++instance Prelude.NFData FunnelChartSortConfiguration where+  rnf FunnelChartSortConfiguration' {..} =+    Prelude.rnf categoryItemsLimit+      `Prelude.seq` Prelude.rnf categorySort++instance Data.ToJSON FunnelChartSortConfiguration where+  toJSON FunnelChartSortConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoryItemsLimit" Data..=)+              Prelude.<$> categoryItemsLimit,+            ("CategorySort" Data..=) Prelude.<$> categorySort+          ]+      )
+ gen/Amazonka/QuickSight/Types/FunnelChartVisual.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.QuickSight.Types.FunnelChartVisual+-- 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.QuickSight.Types.FunnelChartVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnHierarchy+import Amazonka.QuickSight.Types.FunnelChartConfiguration+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions++-- | A funnel chart.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/funnel-visual-content.html Using funnel charts>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newFunnelChartVisual' smart constructor.+data FunnelChartVisual = FunnelChartVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration of a @FunnelChartVisual@.+    chartConfiguration :: Prelude.Maybe FunnelChartConfiguration,+    -- | The column hierarchy that is used during drill-downs and drill-ups.+    columnHierarchies :: Prelude.Maybe [ColumnHierarchy],+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers..+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FunnelChartVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'funnelChartVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'funnelChartVisual_chartConfiguration' - The configuration of a @FunnelChartVisual@.+--+-- 'columnHierarchies', 'funnelChartVisual_columnHierarchies' - The column hierarchy that is used during drill-downs and drill-ups.+--+-- 'subtitle', 'funnelChartVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'funnelChartVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'funnelChartVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers..+newFunnelChartVisual ::+  -- | 'visualId'+  Prelude.Text ->+  FunnelChartVisual+newFunnelChartVisual pVisualId_ =+  FunnelChartVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      columnHierarchies = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_+    }++-- | The list of custom actions that are configured for a visual.+funnelChartVisual_actions :: Lens.Lens' FunnelChartVisual (Prelude.Maybe [VisualCustomAction])+funnelChartVisual_actions = Lens.lens (\FunnelChartVisual' {actions} -> actions) (\s@FunnelChartVisual' {} a -> s {actions = a} :: FunnelChartVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration of a @FunnelChartVisual@.+funnelChartVisual_chartConfiguration :: Lens.Lens' FunnelChartVisual (Prelude.Maybe FunnelChartConfiguration)+funnelChartVisual_chartConfiguration = Lens.lens (\FunnelChartVisual' {chartConfiguration} -> chartConfiguration) (\s@FunnelChartVisual' {} a -> s {chartConfiguration = a} :: FunnelChartVisual)++-- | The column hierarchy that is used during drill-downs and drill-ups.+funnelChartVisual_columnHierarchies :: Lens.Lens' FunnelChartVisual (Prelude.Maybe [ColumnHierarchy])+funnelChartVisual_columnHierarchies = Lens.lens (\FunnelChartVisual' {columnHierarchies} -> columnHierarchies) (\s@FunnelChartVisual' {} a -> s {columnHierarchies = a} :: FunnelChartVisual) Prelude.. Lens.mapping Lens.coerced++-- | The subtitle that is displayed on the visual.+funnelChartVisual_subtitle :: Lens.Lens' FunnelChartVisual (Prelude.Maybe VisualSubtitleLabelOptions)+funnelChartVisual_subtitle = Lens.lens (\FunnelChartVisual' {subtitle} -> subtitle) (\s@FunnelChartVisual' {} a -> s {subtitle = a} :: FunnelChartVisual)++-- | The title that is displayed on the visual.+funnelChartVisual_title :: Lens.Lens' FunnelChartVisual (Prelude.Maybe VisualTitleLabelOptions)+funnelChartVisual_title = Lens.lens (\FunnelChartVisual' {title} -> title) (\s@FunnelChartVisual' {} a -> s {title = a} :: FunnelChartVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers..+funnelChartVisual_visualId :: Lens.Lens' FunnelChartVisual Prelude.Text+funnelChartVisual_visualId = Lens.lens (\FunnelChartVisual' {visualId} -> visualId) (\s@FunnelChartVisual' {} a -> s {visualId = a} :: FunnelChartVisual)++instance Data.FromJSON FunnelChartVisual where+  parseJSON =+    Data.withObject+      "FunnelChartVisual"+      ( \x ->+          FunnelChartVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> ( x+                            Data..:? "ColumnHierarchies"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+      )++instance Prelude.Hashable FunnelChartVisual where+  hashWithSalt _salt FunnelChartVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` columnHierarchies+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData FunnelChartVisual where+  rnf FunnelChartVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf columnHierarchies+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON FunnelChartVisual where+  toJSON FunnelChartVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("ColumnHierarchies" Data..=)+              Prelude.<$> columnHierarchies,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/GaugeChartArcConditionalFormatting.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.GaugeChartArcConditionalFormatting+-- 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.QuickSight.Types.GaugeChartArcConditionalFormatting where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ConditionalFormattingColor++-- | The options that determine the presentation of the arc of a+-- @GaugeChartVisual@.+--+-- /See:/ 'newGaugeChartArcConditionalFormatting' smart constructor.+data GaugeChartArcConditionalFormatting = GaugeChartArcConditionalFormatting'+  { -- | The conditional formatting of the arc foreground color.+    foregroundColor :: Prelude.Maybe ConditionalFormattingColor+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GaugeChartArcConditionalFormatting' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'foregroundColor', 'gaugeChartArcConditionalFormatting_foregroundColor' - The conditional formatting of the arc foreground color.+newGaugeChartArcConditionalFormatting ::+  GaugeChartArcConditionalFormatting+newGaugeChartArcConditionalFormatting =+  GaugeChartArcConditionalFormatting'+    { foregroundColor =+        Prelude.Nothing+    }++-- | The conditional formatting of the arc foreground color.+gaugeChartArcConditionalFormatting_foregroundColor :: Lens.Lens' GaugeChartArcConditionalFormatting (Prelude.Maybe ConditionalFormattingColor)+gaugeChartArcConditionalFormatting_foregroundColor = Lens.lens (\GaugeChartArcConditionalFormatting' {foregroundColor} -> foregroundColor) (\s@GaugeChartArcConditionalFormatting' {} a -> s {foregroundColor = a} :: GaugeChartArcConditionalFormatting)++instance+  Data.FromJSON+    GaugeChartArcConditionalFormatting+  where+  parseJSON =+    Data.withObject+      "GaugeChartArcConditionalFormatting"+      ( \x ->+          GaugeChartArcConditionalFormatting'+            Prelude.<$> (x Data..:? "ForegroundColor")+      )++instance+  Prelude.Hashable+    GaugeChartArcConditionalFormatting+  where+  hashWithSalt+    _salt+    GaugeChartArcConditionalFormatting' {..} =+      _salt `Prelude.hashWithSalt` foregroundColor++instance+  Prelude.NFData+    GaugeChartArcConditionalFormatting+  where+  rnf GaugeChartArcConditionalFormatting' {..} =+    Prelude.rnf foregroundColor++instance+  Data.ToJSON+    GaugeChartArcConditionalFormatting+  where+  toJSON GaugeChartArcConditionalFormatting' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ForegroundColor" Data..=)+              Prelude.<$> foregroundColor+          ]+      )
+ gen/Amazonka/QuickSight/Types/GaugeChartConditionalFormatting.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.GaugeChartConditionalFormatting+-- 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.QuickSight.Types.GaugeChartConditionalFormatting where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.GaugeChartConditionalFormattingOption++-- | The conditional formatting of a @GaugeChartVisual@.+--+-- /See:/ 'newGaugeChartConditionalFormatting' smart constructor.+data GaugeChartConditionalFormatting = GaugeChartConditionalFormatting'+  { -- | Conditional formatting options of a @GaugeChartVisual@.+    conditionalFormattingOptions :: Prelude.Maybe [GaugeChartConditionalFormattingOption]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GaugeChartConditionalFormatting' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'conditionalFormattingOptions', 'gaugeChartConditionalFormatting_conditionalFormattingOptions' - Conditional formatting options of a @GaugeChartVisual@.+newGaugeChartConditionalFormatting ::+  GaugeChartConditionalFormatting+newGaugeChartConditionalFormatting =+  GaugeChartConditionalFormatting'+    { conditionalFormattingOptions =+        Prelude.Nothing+    }++-- | Conditional formatting options of a @GaugeChartVisual@.+gaugeChartConditionalFormatting_conditionalFormattingOptions :: Lens.Lens' GaugeChartConditionalFormatting (Prelude.Maybe [GaugeChartConditionalFormattingOption])+gaugeChartConditionalFormatting_conditionalFormattingOptions = Lens.lens (\GaugeChartConditionalFormatting' {conditionalFormattingOptions} -> conditionalFormattingOptions) (\s@GaugeChartConditionalFormatting' {} a -> s {conditionalFormattingOptions = a} :: GaugeChartConditionalFormatting) Prelude.. Lens.mapping Lens.coerced++instance+  Data.FromJSON+    GaugeChartConditionalFormatting+  where+  parseJSON =+    Data.withObject+      "GaugeChartConditionalFormatting"+      ( \x ->+          GaugeChartConditionalFormatting'+            Prelude.<$> ( x+                            Data..:? "ConditionalFormattingOptions"+                            Data..!= Prelude.mempty+                        )+      )++instance+  Prelude.Hashable+    GaugeChartConditionalFormatting+  where+  hashWithSalt+    _salt+    GaugeChartConditionalFormatting' {..} =+      _salt+        `Prelude.hashWithSalt` conditionalFormattingOptions++instance+  Prelude.NFData+    GaugeChartConditionalFormatting+  where+  rnf GaugeChartConditionalFormatting' {..} =+    Prelude.rnf conditionalFormattingOptions++instance Data.ToJSON GaugeChartConditionalFormatting where+  toJSON GaugeChartConditionalFormatting' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ConditionalFormattingOptions" Data..=)+              Prelude.<$> conditionalFormattingOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/GaugeChartConditionalFormattingOption.hs view
@@ -0,0 +1,116 @@+{-# 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.QuickSight.Types.GaugeChartConditionalFormattingOption+-- 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.QuickSight.Types.GaugeChartConditionalFormattingOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.GaugeChartArcConditionalFormatting+import Amazonka.QuickSight.Types.GaugeChartPrimaryValueConditionalFormatting++-- | Conditional formatting options of a @GaugeChartVisual@.+--+-- /See:/ 'newGaugeChartConditionalFormattingOption' smart constructor.+data GaugeChartConditionalFormattingOption = GaugeChartConditionalFormattingOption'+  { -- | The options that determine the presentation of the arc of a+    -- @GaugeChartVisual@.+    arc :: Prelude.Maybe GaugeChartArcConditionalFormatting,+    -- | The conditional formatting for the primary value of a+    -- @GaugeChartVisual@.+    primaryValue :: Prelude.Maybe GaugeChartPrimaryValueConditionalFormatting+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GaugeChartConditionalFormattingOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arc', 'gaugeChartConditionalFormattingOption_arc' - The options that determine the presentation of the arc of a+-- @GaugeChartVisual@.+--+-- 'primaryValue', 'gaugeChartConditionalFormattingOption_primaryValue' - The conditional formatting for the primary value of a+-- @GaugeChartVisual@.+newGaugeChartConditionalFormattingOption ::+  GaugeChartConditionalFormattingOption+newGaugeChartConditionalFormattingOption =+  GaugeChartConditionalFormattingOption'+    { arc =+        Prelude.Nothing,+      primaryValue = Prelude.Nothing+    }++-- | The options that determine the presentation of the arc of a+-- @GaugeChartVisual@.+gaugeChartConditionalFormattingOption_arc :: Lens.Lens' GaugeChartConditionalFormattingOption (Prelude.Maybe GaugeChartArcConditionalFormatting)+gaugeChartConditionalFormattingOption_arc = Lens.lens (\GaugeChartConditionalFormattingOption' {arc} -> arc) (\s@GaugeChartConditionalFormattingOption' {} a -> s {arc = a} :: GaugeChartConditionalFormattingOption)++-- | The conditional formatting for the primary value of a+-- @GaugeChartVisual@.+gaugeChartConditionalFormattingOption_primaryValue :: Lens.Lens' GaugeChartConditionalFormattingOption (Prelude.Maybe GaugeChartPrimaryValueConditionalFormatting)+gaugeChartConditionalFormattingOption_primaryValue = Lens.lens (\GaugeChartConditionalFormattingOption' {primaryValue} -> primaryValue) (\s@GaugeChartConditionalFormattingOption' {} a -> s {primaryValue = a} :: GaugeChartConditionalFormattingOption)++instance+  Data.FromJSON+    GaugeChartConditionalFormattingOption+  where+  parseJSON =+    Data.withObject+      "GaugeChartConditionalFormattingOption"+      ( \x ->+          GaugeChartConditionalFormattingOption'+            Prelude.<$> (x Data..:? "Arc")+            Prelude.<*> (x Data..:? "PrimaryValue")+      )++instance+  Prelude.Hashable+    GaugeChartConditionalFormattingOption+  where+  hashWithSalt+    _salt+    GaugeChartConditionalFormattingOption' {..} =+      _salt+        `Prelude.hashWithSalt` arc+        `Prelude.hashWithSalt` primaryValue++instance+  Prelude.NFData+    GaugeChartConditionalFormattingOption+  where+  rnf GaugeChartConditionalFormattingOption' {..} =+    Prelude.rnf arc+      `Prelude.seq` Prelude.rnf primaryValue++instance+  Data.ToJSON+    GaugeChartConditionalFormattingOption+  where+  toJSON GaugeChartConditionalFormattingOption' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Arc" Data..=) Prelude.<$> arc,+            ("PrimaryValue" Data..=) Prelude.<$> primaryValue+          ]+      )
+ gen/Amazonka/QuickSight/Types/GaugeChartConfiguration.hs view
@@ -0,0 +1,140 @@+{-# 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.QuickSight.Types.GaugeChartConfiguration+-- 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.QuickSight.Types.GaugeChartConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataLabelOptions+import Amazonka.QuickSight.Types.GaugeChartFieldWells+import Amazonka.QuickSight.Types.GaugeChartOptions+import Amazonka.QuickSight.Types.TooltipOptions+import Amazonka.QuickSight.Types.VisualPalette++-- | The configuration of a @GaugeChartVisual@.+--+-- /See:/ 'newGaugeChartConfiguration' smart constructor.+data GaugeChartConfiguration = GaugeChartConfiguration'+  { -- | The data label configuration of a @GaugeChartVisual@.+    dataLabels :: Prelude.Maybe DataLabelOptions,+    -- | The field well configuration of a @GaugeChartVisual@.+    fieldWells :: Prelude.Maybe GaugeChartFieldWells,+    -- | The options that determine the presentation of the @GaugeChartVisual@.+    gaugeChartOptions :: Prelude.Maybe GaugeChartOptions,+    -- | The tooltip configuration of a @GaugeChartVisual@.+    tooltipOptions :: Prelude.Maybe TooltipOptions,+    -- | The visual palette configuration of a @GaugeChartVisual@.+    visualPalette :: Prelude.Maybe VisualPalette+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GaugeChartConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataLabels', 'gaugeChartConfiguration_dataLabels' - The data label configuration of a @GaugeChartVisual@.+--+-- 'fieldWells', 'gaugeChartConfiguration_fieldWells' - The field well configuration of a @GaugeChartVisual@.+--+-- 'gaugeChartOptions', 'gaugeChartConfiguration_gaugeChartOptions' - The options that determine the presentation of the @GaugeChartVisual@.+--+-- 'tooltipOptions', 'gaugeChartConfiguration_tooltipOptions' - The tooltip configuration of a @GaugeChartVisual@.+--+-- 'visualPalette', 'gaugeChartConfiguration_visualPalette' - The visual palette configuration of a @GaugeChartVisual@.+newGaugeChartConfiguration ::+  GaugeChartConfiguration+newGaugeChartConfiguration =+  GaugeChartConfiguration'+    { dataLabels =+        Prelude.Nothing,+      fieldWells = Prelude.Nothing,+      gaugeChartOptions = Prelude.Nothing,+      tooltipOptions = Prelude.Nothing,+      visualPalette = Prelude.Nothing+    }++-- | The data label configuration of a @GaugeChartVisual@.+gaugeChartConfiguration_dataLabels :: Lens.Lens' GaugeChartConfiguration (Prelude.Maybe DataLabelOptions)+gaugeChartConfiguration_dataLabels = Lens.lens (\GaugeChartConfiguration' {dataLabels} -> dataLabels) (\s@GaugeChartConfiguration' {} a -> s {dataLabels = a} :: GaugeChartConfiguration)++-- | The field well configuration of a @GaugeChartVisual@.+gaugeChartConfiguration_fieldWells :: Lens.Lens' GaugeChartConfiguration (Prelude.Maybe GaugeChartFieldWells)+gaugeChartConfiguration_fieldWells = Lens.lens (\GaugeChartConfiguration' {fieldWells} -> fieldWells) (\s@GaugeChartConfiguration' {} a -> s {fieldWells = a} :: GaugeChartConfiguration)++-- | The options that determine the presentation of the @GaugeChartVisual@.+gaugeChartConfiguration_gaugeChartOptions :: Lens.Lens' GaugeChartConfiguration (Prelude.Maybe GaugeChartOptions)+gaugeChartConfiguration_gaugeChartOptions = Lens.lens (\GaugeChartConfiguration' {gaugeChartOptions} -> gaugeChartOptions) (\s@GaugeChartConfiguration' {} a -> s {gaugeChartOptions = a} :: GaugeChartConfiguration)++-- | The tooltip configuration of a @GaugeChartVisual@.+gaugeChartConfiguration_tooltipOptions :: Lens.Lens' GaugeChartConfiguration (Prelude.Maybe TooltipOptions)+gaugeChartConfiguration_tooltipOptions = Lens.lens (\GaugeChartConfiguration' {tooltipOptions} -> tooltipOptions) (\s@GaugeChartConfiguration' {} a -> s {tooltipOptions = a} :: GaugeChartConfiguration)++-- | The visual palette configuration of a @GaugeChartVisual@.+gaugeChartConfiguration_visualPalette :: Lens.Lens' GaugeChartConfiguration (Prelude.Maybe VisualPalette)+gaugeChartConfiguration_visualPalette = Lens.lens (\GaugeChartConfiguration' {visualPalette} -> visualPalette) (\s@GaugeChartConfiguration' {} a -> s {visualPalette = a} :: GaugeChartConfiguration)++instance Data.FromJSON GaugeChartConfiguration where+  parseJSON =+    Data.withObject+      "GaugeChartConfiguration"+      ( \x ->+          GaugeChartConfiguration'+            Prelude.<$> (x Data..:? "DataLabels")+            Prelude.<*> (x Data..:? "FieldWells")+            Prelude.<*> (x Data..:? "GaugeChartOptions")+            Prelude.<*> (x Data..:? "TooltipOptions")+            Prelude.<*> (x Data..:? "VisualPalette")+      )++instance Prelude.Hashable GaugeChartConfiguration where+  hashWithSalt _salt GaugeChartConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` dataLabels+      `Prelude.hashWithSalt` fieldWells+      `Prelude.hashWithSalt` gaugeChartOptions+      `Prelude.hashWithSalt` tooltipOptions+      `Prelude.hashWithSalt` visualPalette++instance Prelude.NFData GaugeChartConfiguration where+  rnf GaugeChartConfiguration' {..} =+    Prelude.rnf dataLabels+      `Prelude.seq` Prelude.rnf fieldWells+      `Prelude.seq` Prelude.rnf gaugeChartOptions+      `Prelude.seq` Prelude.rnf tooltipOptions+      `Prelude.seq` Prelude.rnf visualPalette++instance Data.ToJSON GaugeChartConfiguration where+  toJSON GaugeChartConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DataLabels" Data..=) Prelude.<$> dataLabels,+            ("FieldWells" Data..=) Prelude.<$> fieldWells,+            ("GaugeChartOptions" Data..=)+              Prelude.<$> gaugeChartOptions,+            ("TooltipOptions" Data..=)+              Prelude.<$> tooltipOptions,+            ("VisualPalette" Data..=) Prelude.<$> visualPalette+          ]+      )
+ gen/Amazonka/QuickSight/Types/GaugeChartFieldWells.hs view
@@ -0,0 +1,95 @@+{-# 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.QuickSight.Types.GaugeChartFieldWells+-- 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.QuickSight.Types.GaugeChartFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.MeasureField++-- | The field well configuration of a @GaugeChartVisual@.+--+-- /See:/ 'newGaugeChartFieldWells' smart constructor.+data GaugeChartFieldWells = GaugeChartFieldWells'+  { -- | The target value field wells of a @GaugeChartVisual@.+    targetValues :: Prelude.Maybe [MeasureField],+    -- | The value field wells of a @GaugeChartVisual@.+    values :: Prelude.Maybe [MeasureField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GaugeChartFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'targetValues', 'gaugeChartFieldWells_targetValues' - The target value field wells of a @GaugeChartVisual@.+--+-- 'values', 'gaugeChartFieldWells_values' - The value field wells of a @GaugeChartVisual@.+newGaugeChartFieldWells ::+  GaugeChartFieldWells+newGaugeChartFieldWells =+  GaugeChartFieldWells'+    { targetValues =+        Prelude.Nothing,+      values = Prelude.Nothing+    }++-- | The target value field wells of a @GaugeChartVisual@.+gaugeChartFieldWells_targetValues :: Lens.Lens' GaugeChartFieldWells (Prelude.Maybe [MeasureField])+gaugeChartFieldWells_targetValues = Lens.lens (\GaugeChartFieldWells' {targetValues} -> targetValues) (\s@GaugeChartFieldWells' {} a -> s {targetValues = a} :: GaugeChartFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The value field wells of a @GaugeChartVisual@.+gaugeChartFieldWells_values :: Lens.Lens' GaugeChartFieldWells (Prelude.Maybe [MeasureField])+gaugeChartFieldWells_values = Lens.lens (\GaugeChartFieldWells' {values} -> values) (\s@GaugeChartFieldWells' {} a -> s {values = a} :: GaugeChartFieldWells) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON GaugeChartFieldWells where+  parseJSON =+    Data.withObject+      "GaugeChartFieldWells"+      ( \x ->+          GaugeChartFieldWells'+            Prelude.<$> (x Data..:? "TargetValues" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Values" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable GaugeChartFieldWells where+  hashWithSalt _salt GaugeChartFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` targetValues+      `Prelude.hashWithSalt` values++instance Prelude.NFData GaugeChartFieldWells where+  rnf GaugeChartFieldWells' {..} =+    Prelude.rnf targetValues+      `Prelude.seq` Prelude.rnf values++instance Data.ToJSON GaugeChartFieldWells where+  toJSON GaugeChartFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TargetValues" Data..=) Prelude.<$> targetValues,+            ("Values" Data..=) Prelude.<$> values+          ]+      )
+ gen/Amazonka/QuickSight/Types/GaugeChartOptions.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.GaugeChartOptions+-- 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.QuickSight.Types.GaugeChartOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ArcAxisConfiguration+import Amazonka.QuickSight.Types.ArcConfiguration+import Amazonka.QuickSight.Types.ComparisonConfiguration+import Amazonka.QuickSight.Types.FontConfiguration+import Amazonka.QuickSight.Types.PrimaryValueDisplayType++-- | The options that determine the presentation of the @GaugeChartVisual@.+--+-- /See:/ 'newGaugeChartOptions' smart constructor.+data GaugeChartOptions = GaugeChartOptions'+  { -- | The arc configuration of a @GaugeChartVisual@.+    arc :: Prelude.Maybe ArcConfiguration,+    -- | The arc axis configuration of a @GaugeChartVisual@.+    arcAxis :: Prelude.Maybe ArcAxisConfiguration,+    -- | The comparison configuration of a @GaugeChartVisual@.+    comparison :: Prelude.Maybe ComparisonConfiguration,+    -- | The options that determine the primary value display type.+    primaryValueDisplayType :: Prelude.Maybe PrimaryValueDisplayType,+    -- | The options that determine the primary value font configuration.+    primaryValueFontConfiguration :: Prelude.Maybe FontConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GaugeChartOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arc', 'gaugeChartOptions_arc' - The arc configuration of a @GaugeChartVisual@.+--+-- 'arcAxis', 'gaugeChartOptions_arcAxis' - The arc axis configuration of a @GaugeChartVisual@.+--+-- 'comparison', 'gaugeChartOptions_comparison' - The comparison configuration of a @GaugeChartVisual@.+--+-- 'primaryValueDisplayType', 'gaugeChartOptions_primaryValueDisplayType' - The options that determine the primary value display type.+--+-- 'primaryValueFontConfiguration', 'gaugeChartOptions_primaryValueFontConfiguration' - The options that determine the primary value font configuration.+newGaugeChartOptions ::+  GaugeChartOptions+newGaugeChartOptions =+  GaugeChartOptions'+    { arc = Prelude.Nothing,+      arcAxis = Prelude.Nothing,+      comparison = Prelude.Nothing,+      primaryValueDisplayType = Prelude.Nothing,+      primaryValueFontConfiguration = Prelude.Nothing+    }++-- | The arc configuration of a @GaugeChartVisual@.+gaugeChartOptions_arc :: Lens.Lens' GaugeChartOptions (Prelude.Maybe ArcConfiguration)+gaugeChartOptions_arc = Lens.lens (\GaugeChartOptions' {arc} -> arc) (\s@GaugeChartOptions' {} a -> s {arc = a} :: GaugeChartOptions)++-- | The arc axis configuration of a @GaugeChartVisual@.+gaugeChartOptions_arcAxis :: Lens.Lens' GaugeChartOptions (Prelude.Maybe ArcAxisConfiguration)+gaugeChartOptions_arcAxis = Lens.lens (\GaugeChartOptions' {arcAxis} -> arcAxis) (\s@GaugeChartOptions' {} a -> s {arcAxis = a} :: GaugeChartOptions)++-- | The comparison configuration of a @GaugeChartVisual@.+gaugeChartOptions_comparison :: Lens.Lens' GaugeChartOptions (Prelude.Maybe ComparisonConfiguration)+gaugeChartOptions_comparison = Lens.lens (\GaugeChartOptions' {comparison} -> comparison) (\s@GaugeChartOptions' {} a -> s {comparison = a} :: GaugeChartOptions)++-- | The options that determine the primary value display type.+gaugeChartOptions_primaryValueDisplayType :: Lens.Lens' GaugeChartOptions (Prelude.Maybe PrimaryValueDisplayType)+gaugeChartOptions_primaryValueDisplayType = Lens.lens (\GaugeChartOptions' {primaryValueDisplayType} -> primaryValueDisplayType) (\s@GaugeChartOptions' {} a -> s {primaryValueDisplayType = a} :: GaugeChartOptions)++-- | The options that determine the primary value font configuration.+gaugeChartOptions_primaryValueFontConfiguration :: Lens.Lens' GaugeChartOptions (Prelude.Maybe FontConfiguration)+gaugeChartOptions_primaryValueFontConfiguration = Lens.lens (\GaugeChartOptions' {primaryValueFontConfiguration} -> primaryValueFontConfiguration) (\s@GaugeChartOptions' {} a -> s {primaryValueFontConfiguration = a} :: GaugeChartOptions)++instance Data.FromJSON GaugeChartOptions where+  parseJSON =+    Data.withObject+      "GaugeChartOptions"+      ( \x ->+          GaugeChartOptions'+            Prelude.<$> (x Data..:? "Arc")+            Prelude.<*> (x Data..:? "ArcAxis")+            Prelude.<*> (x Data..:? "Comparison")+            Prelude.<*> (x Data..:? "PrimaryValueDisplayType")+            Prelude.<*> (x Data..:? "PrimaryValueFontConfiguration")+      )++instance Prelude.Hashable GaugeChartOptions where+  hashWithSalt _salt GaugeChartOptions' {..} =+    _salt+      `Prelude.hashWithSalt` arc+      `Prelude.hashWithSalt` arcAxis+      `Prelude.hashWithSalt` comparison+      `Prelude.hashWithSalt` primaryValueDisplayType+      `Prelude.hashWithSalt` primaryValueFontConfiguration++instance Prelude.NFData GaugeChartOptions where+  rnf GaugeChartOptions' {..} =+    Prelude.rnf arc+      `Prelude.seq` Prelude.rnf arcAxis+      `Prelude.seq` Prelude.rnf comparison+      `Prelude.seq` Prelude.rnf primaryValueDisplayType+      `Prelude.seq` Prelude.rnf primaryValueFontConfiguration++instance Data.ToJSON GaugeChartOptions where+  toJSON GaugeChartOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Arc" Data..=) Prelude.<$> arc,+            ("ArcAxis" Data..=) Prelude.<$> arcAxis,+            ("Comparison" Data..=) Prelude.<$> comparison,+            ("PrimaryValueDisplayType" Data..=)+              Prelude.<$> primaryValueDisplayType,+            ("PrimaryValueFontConfiguration" Data..=)+              Prelude.<$> primaryValueFontConfiguration+          ]+      )
+ gen/Amazonka/QuickSight/Types/GaugeChartPrimaryValueConditionalFormatting.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.GaugeChartPrimaryValueConditionalFormatting+-- 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.QuickSight.Types.GaugeChartPrimaryValueConditionalFormatting where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ConditionalFormattingColor+import Amazonka.QuickSight.Types.ConditionalFormattingIcon++-- | The conditional formatting for the primary value of a+-- @GaugeChartVisual@.+--+-- /See:/ 'newGaugeChartPrimaryValueConditionalFormatting' smart constructor.+data GaugeChartPrimaryValueConditionalFormatting = GaugeChartPrimaryValueConditionalFormatting'+  { -- | The conditional formatting of the primary value icon.+    icon :: Prelude.Maybe ConditionalFormattingIcon,+    -- | The conditional formatting of the primary value text color.+    textColor :: Prelude.Maybe ConditionalFormattingColor+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GaugeChartPrimaryValueConditionalFormatting' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'icon', 'gaugeChartPrimaryValueConditionalFormatting_icon' - The conditional formatting of the primary value icon.+--+-- 'textColor', 'gaugeChartPrimaryValueConditionalFormatting_textColor' - The conditional formatting of the primary value text color.+newGaugeChartPrimaryValueConditionalFormatting ::+  GaugeChartPrimaryValueConditionalFormatting+newGaugeChartPrimaryValueConditionalFormatting =+  GaugeChartPrimaryValueConditionalFormatting'+    { icon =+        Prelude.Nothing,+      textColor = Prelude.Nothing+    }++-- | The conditional formatting of the primary value icon.+gaugeChartPrimaryValueConditionalFormatting_icon :: Lens.Lens' GaugeChartPrimaryValueConditionalFormatting (Prelude.Maybe ConditionalFormattingIcon)+gaugeChartPrimaryValueConditionalFormatting_icon = Lens.lens (\GaugeChartPrimaryValueConditionalFormatting' {icon} -> icon) (\s@GaugeChartPrimaryValueConditionalFormatting' {} a -> s {icon = a} :: GaugeChartPrimaryValueConditionalFormatting)++-- | The conditional formatting of the primary value text color.+gaugeChartPrimaryValueConditionalFormatting_textColor :: Lens.Lens' GaugeChartPrimaryValueConditionalFormatting (Prelude.Maybe ConditionalFormattingColor)+gaugeChartPrimaryValueConditionalFormatting_textColor = Lens.lens (\GaugeChartPrimaryValueConditionalFormatting' {textColor} -> textColor) (\s@GaugeChartPrimaryValueConditionalFormatting' {} a -> s {textColor = a} :: GaugeChartPrimaryValueConditionalFormatting)++instance+  Data.FromJSON+    GaugeChartPrimaryValueConditionalFormatting+  where+  parseJSON =+    Data.withObject+      "GaugeChartPrimaryValueConditionalFormatting"+      ( \x ->+          GaugeChartPrimaryValueConditionalFormatting'+            Prelude.<$> (x Data..:? "Icon")+            Prelude.<*> (x Data..:? "TextColor")+      )++instance+  Prelude.Hashable+    GaugeChartPrimaryValueConditionalFormatting+  where+  hashWithSalt+    _salt+    GaugeChartPrimaryValueConditionalFormatting' {..} =+      _salt+        `Prelude.hashWithSalt` icon+        `Prelude.hashWithSalt` textColor++instance+  Prelude.NFData+    GaugeChartPrimaryValueConditionalFormatting+  where+  rnf GaugeChartPrimaryValueConditionalFormatting' {..} =+    Prelude.rnf icon+      `Prelude.seq` Prelude.rnf textColor++instance+  Data.ToJSON+    GaugeChartPrimaryValueConditionalFormatting+  where+  toJSON+    GaugeChartPrimaryValueConditionalFormatting' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("Icon" Data..=) Prelude.<$> icon,+              ("TextColor" Data..=) Prelude.<$> textColor+            ]+        )
+ gen/Amazonka/QuickSight/Types/GaugeChartVisual.hs view
@@ -0,0 +1,164 @@+{-# 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.QuickSight.Types.GaugeChartVisual+-- 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.QuickSight.Types.GaugeChartVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.GaugeChartConditionalFormatting+import Amazonka.QuickSight.Types.GaugeChartConfiguration+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions++-- | A gauge chart.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/gauge-chart.html Using gauge charts>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newGaugeChartVisual' smart constructor.+data GaugeChartVisual = GaugeChartVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration of a @GaugeChartVisual@.+    chartConfiguration :: Prelude.Maybe GaugeChartConfiguration,+    -- | The conditional formatting of a @GaugeChartVisual@.+    conditionalFormatting :: Prelude.Maybe GaugeChartConditionalFormatting,+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers.+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GaugeChartVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'gaugeChartVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'gaugeChartVisual_chartConfiguration' - The configuration of a @GaugeChartVisual@.+--+-- 'conditionalFormatting', 'gaugeChartVisual_conditionalFormatting' - The conditional formatting of a @GaugeChartVisual@.+--+-- 'subtitle', 'gaugeChartVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'gaugeChartVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'gaugeChartVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+newGaugeChartVisual ::+  -- | 'visualId'+  Prelude.Text ->+  GaugeChartVisual+newGaugeChartVisual pVisualId_ =+  GaugeChartVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      conditionalFormatting = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_+    }++-- | The list of custom actions that are configured for a visual.+gaugeChartVisual_actions :: Lens.Lens' GaugeChartVisual (Prelude.Maybe [VisualCustomAction])+gaugeChartVisual_actions = Lens.lens (\GaugeChartVisual' {actions} -> actions) (\s@GaugeChartVisual' {} a -> s {actions = a} :: GaugeChartVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration of a @GaugeChartVisual@.+gaugeChartVisual_chartConfiguration :: Lens.Lens' GaugeChartVisual (Prelude.Maybe GaugeChartConfiguration)+gaugeChartVisual_chartConfiguration = Lens.lens (\GaugeChartVisual' {chartConfiguration} -> chartConfiguration) (\s@GaugeChartVisual' {} a -> s {chartConfiguration = a} :: GaugeChartVisual)++-- | The conditional formatting of a @GaugeChartVisual@.+gaugeChartVisual_conditionalFormatting :: Lens.Lens' GaugeChartVisual (Prelude.Maybe GaugeChartConditionalFormatting)+gaugeChartVisual_conditionalFormatting = Lens.lens (\GaugeChartVisual' {conditionalFormatting} -> conditionalFormatting) (\s@GaugeChartVisual' {} a -> s {conditionalFormatting = a} :: GaugeChartVisual)++-- | The subtitle that is displayed on the visual.+gaugeChartVisual_subtitle :: Lens.Lens' GaugeChartVisual (Prelude.Maybe VisualSubtitleLabelOptions)+gaugeChartVisual_subtitle = Lens.lens (\GaugeChartVisual' {subtitle} -> subtitle) (\s@GaugeChartVisual' {} a -> s {subtitle = a} :: GaugeChartVisual)++-- | The title that is displayed on the visual.+gaugeChartVisual_title :: Lens.Lens' GaugeChartVisual (Prelude.Maybe VisualTitleLabelOptions)+gaugeChartVisual_title = Lens.lens (\GaugeChartVisual' {title} -> title) (\s@GaugeChartVisual' {} a -> s {title = a} :: GaugeChartVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+gaugeChartVisual_visualId :: Lens.Lens' GaugeChartVisual Prelude.Text+gaugeChartVisual_visualId = Lens.lens (\GaugeChartVisual' {visualId} -> visualId) (\s@GaugeChartVisual' {} a -> s {visualId = a} :: GaugeChartVisual)++instance Data.FromJSON GaugeChartVisual where+  parseJSON =+    Data.withObject+      "GaugeChartVisual"+      ( \x ->+          GaugeChartVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> (x Data..:? "ConditionalFormatting")+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+      )++instance Prelude.Hashable GaugeChartVisual where+  hashWithSalt _salt GaugeChartVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` conditionalFormatting+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData GaugeChartVisual where+  rnf GaugeChartVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf conditionalFormatting+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON GaugeChartVisual where+  toJSON GaugeChartVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("ConditionalFormatting" Data..=)+              Prelude.<$> conditionalFormatting,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/GeoSpatialColumnGroup.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.GeoSpatialColumnGroup+-- 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.QuickSight.Types.GeoSpatialColumnGroup where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.GeoSpatialCountryCode++-- | Geospatial column group that denotes a hierarchy.+--+-- /See:/ 'newGeoSpatialColumnGroup' smart constructor.+data GeoSpatialColumnGroup = GeoSpatialColumnGroup'+  { -- | Country code.+    countryCode :: Prelude.Maybe GeoSpatialCountryCode,+    -- | A display name for the hierarchy.+    name :: Prelude.Text,+    -- | Columns in this hierarchy.+    columns :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GeoSpatialColumnGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'countryCode', 'geoSpatialColumnGroup_countryCode' - Country code.+--+-- 'name', 'geoSpatialColumnGroup_name' - A display name for the hierarchy.+--+-- 'columns', 'geoSpatialColumnGroup_columns' - Columns in this hierarchy.+newGeoSpatialColumnGroup ::+  -- | 'name'+  Prelude.Text ->+  -- | 'columns'+  Prelude.NonEmpty Prelude.Text ->+  GeoSpatialColumnGroup+newGeoSpatialColumnGroup pName_ pColumns_ =+  GeoSpatialColumnGroup'+    { countryCode =+        Prelude.Nothing,+      name = pName_,+      columns = Lens.coerced Lens.# pColumns_+    }++-- | Country code.+geoSpatialColumnGroup_countryCode :: Lens.Lens' GeoSpatialColumnGroup (Prelude.Maybe GeoSpatialCountryCode)+geoSpatialColumnGroup_countryCode = Lens.lens (\GeoSpatialColumnGroup' {countryCode} -> countryCode) (\s@GeoSpatialColumnGroup' {} a -> s {countryCode = a} :: GeoSpatialColumnGroup)++-- | A display name for the hierarchy.+geoSpatialColumnGroup_name :: Lens.Lens' GeoSpatialColumnGroup Prelude.Text+geoSpatialColumnGroup_name = Lens.lens (\GeoSpatialColumnGroup' {name} -> name) (\s@GeoSpatialColumnGroup' {} a -> s {name = a} :: GeoSpatialColumnGroup)++-- | Columns in this hierarchy.+geoSpatialColumnGroup_columns :: Lens.Lens' GeoSpatialColumnGroup (Prelude.NonEmpty Prelude.Text)+geoSpatialColumnGroup_columns = Lens.lens (\GeoSpatialColumnGroup' {columns} -> columns) (\s@GeoSpatialColumnGroup' {} a -> s {columns = a} :: GeoSpatialColumnGroup) Prelude.. Lens.coerced++instance Data.FromJSON GeoSpatialColumnGroup where+  parseJSON =+    Data.withObject+      "GeoSpatialColumnGroup"+      ( \x ->+          GeoSpatialColumnGroup'+            Prelude.<$> (x Data..:? "CountryCode")+            Prelude.<*> (x Data..: "Name")+            Prelude.<*> (x Data..: "Columns")+      )++instance Prelude.Hashable GeoSpatialColumnGroup where+  hashWithSalt _salt GeoSpatialColumnGroup' {..} =+    _salt+      `Prelude.hashWithSalt` countryCode+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` columns++instance Prelude.NFData GeoSpatialColumnGroup where+  rnf GeoSpatialColumnGroup' {..} =+    Prelude.rnf countryCode+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf columns++instance Data.ToJSON GeoSpatialColumnGroup where+  toJSON GeoSpatialColumnGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CountryCode" Data..=) Prelude.<$> countryCode,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Columns" Data..= columns)+          ]+      )
+ gen/Amazonka/QuickSight/Types/GeoSpatialCountryCode.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.GeoSpatialCountryCode+-- 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.QuickSight.Types.GeoSpatialCountryCode+  ( GeoSpatialCountryCode+      ( ..,+        GeoSpatialCountryCode_US+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype GeoSpatialCountryCode = GeoSpatialCountryCode'+  { fromGeoSpatialCountryCode ::+      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 GeoSpatialCountryCode_US :: GeoSpatialCountryCode+pattern GeoSpatialCountryCode_US = GeoSpatialCountryCode' "US"++{-# COMPLETE+  GeoSpatialCountryCode_US,+  GeoSpatialCountryCode'+  #-}
+ gen/Amazonka/QuickSight/Types/GeoSpatialDataRole.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.GeoSpatialDataRole+-- 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.QuickSight.Types.GeoSpatialDataRole+  ( GeoSpatialDataRole+      ( ..,+        GeoSpatialDataRole_CITY,+        GeoSpatialDataRole_COUNTRY,+        GeoSpatialDataRole_COUNTY,+        GeoSpatialDataRole_LATITUDE,+        GeoSpatialDataRole_LONGITUDE,+        GeoSpatialDataRole_POSTCODE,+        GeoSpatialDataRole_STATE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype GeoSpatialDataRole = GeoSpatialDataRole'+  { fromGeoSpatialDataRole ::+      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 GeoSpatialDataRole_CITY :: GeoSpatialDataRole+pattern GeoSpatialDataRole_CITY = GeoSpatialDataRole' "CITY"++pattern GeoSpatialDataRole_COUNTRY :: GeoSpatialDataRole+pattern GeoSpatialDataRole_COUNTRY = GeoSpatialDataRole' "COUNTRY"++pattern GeoSpatialDataRole_COUNTY :: GeoSpatialDataRole+pattern GeoSpatialDataRole_COUNTY = GeoSpatialDataRole' "COUNTY"++pattern GeoSpatialDataRole_LATITUDE :: GeoSpatialDataRole+pattern GeoSpatialDataRole_LATITUDE = GeoSpatialDataRole' "LATITUDE"++pattern GeoSpatialDataRole_LONGITUDE :: GeoSpatialDataRole+pattern GeoSpatialDataRole_LONGITUDE = GeoSpatialDataRole' "LONGITUDE"++pattern GeoSpatialDataRole_POSTCODE :: GeoSpatialDataRole+pattern GeoSpatialDataRole_POSTCODE = GeoSpatialDataRole' "POSTCODE"++pattern GeoSpatialDataRole_STATE :: GeoSpatialDataRole+pattern GeoSpatialDataRole_STATE = GeoSpatialDataRole' "STATE"++{-# COMPLETE+  GeoSpatialDataRole_CITY,+  GeoSpatialDataRole_COUNTRY,+  GeoSpatialDataRole_COUNTY,+  GeoSpatialDataRole_LATITUDE,+  GeoSpatialDataRole_LONGITUDE,+  GeoSpatialDataRole_POSTCODE,+  GeoSpatialDataRole_STATE,+  GeoSpatialDataRole'+  #-}
+ gen/Amazonka/QuickSight/Types/GeospatialCoordinateBounds.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.GeospatialCoordinateBounds+-- 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.QuickSight.Types.GeospatialCoordinateBounds 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 bound options (north, south, west, east) of the geospatial window+-- options.+--+-- /See:/ 'newGeospatialCoordinateBounds' smart constructor.+data GeospatialCoordinateBounds = GeospatialCoordinateBounds'+  { -- | The latitude of the north bound of the geospatial coordinate bounds.+    north :: Prelude.Double,+    -- | The latitude of the south bound of the geospatial coordinate bounds.+    south :: Prelude.Double,+    -- | The longitude of the west bound of the geospatial coordinate bounds.+    west :: Prelude.Double,+    -- | The longitude of the east bound of the geospatial coordinate bounds.+    east :: Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GeospatialCoordinateBounds' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'north', 'geospatialCoordinateBounds_north' - The latitude of the north bound of the geospatial coordinate bounds.+--+-- 'south', 'geospatialCoordinateBounds_south' - The latitude of the south bound of the geospatial coordinate bounds.+--+-- 'west', 'geospatialCoordinateBounds_west' - The longitude of the west bound of the geospatial coordinate bounds.+--+-- 'east', 'geospatialCoordinateBounds_east' - The longitude of the east bound of the geospatial coordinate bounds.+newGeospatialCoordinateBounds ::+  -- | 'north'+  Prelude.Double ->+  -- | 'south'+  Prelude.Double ->+  -- | 'west'+  Prelude.Double ->+  -- | 'east'+  Prelude.Double ->+  GeospatialCoordinateBounds+newGeospatialCoordinateBounds+  pNorth_+  pSouth_+  pWest_+  pEast_ =+    GeospatialCoordinateBounds'+      { north = pNorth_,+        south = pSouth_,+        west = pWest_,+        east = pEast_+      }++-- | The latitude of the north bound of the geospatial coordinate bounds.+geospatialCoordinateBounds_north :: Lens.Lens' GeospatialCoordinateBounds Prelude.Double+geospatialCoordinateBounds_north = Lens.lens (\GeospatialCoordinateBounds' {north} -> north) (\s@GeospatialCoordinateBounds' {} a -> s {north = a} :: GeospatialCoordinateBounds)++-- | The latitude of the south bound of the geospatial coordinate bounds.+geospatialCoordinateBounds_south :: Lens.Lens' GeospatialCoordinateBounds Prelude.Double+geospatialCoordinateBounds_south = Lens.lens (\GeospatialCoordinateBounds' {south} -> south) (\s@GeospatialCoordinateBounds' {} a -> s {south = a} :: GeospatialCoordinateBounds)++-- | The longitude of the west bound of the geospatial coordinate bounds.+geospatialCoordinateBounds_west :: Lens.Lens' GeospatialCoordinateBounds Prelude.Double+geospatialCoordinateBounds_west = Lens.lens (\GeospatialCoordinateBounds' {west} -> west) (\s@GeospatialCoordinateBounds' {} a -> s {west = a} :: GeospatialCoordinateBounds)++-- | The longitude of the east bound of the geospatial coordinate bounds.+geospatialCoordinateBounds_east :: Lens.Lens' GeospatialCoordinateBounds Prelude.Double+geospatialCoordinateBounds_east = Lens.lens (\GeospatialCoordinateBounds' {east} -> east) (\s@GeospatialCoordinateBounds' {} a -> s {east = a} :: GeospatialCoordinateBounds)++instance Data.FromJSON GeospatialCoordinateBounds where+  parseJSON =+    Data.withObject+      "GeospatialCoordinateBounds"+      ( \x ->+          GeospatialCoordinateBounds'+            Prelude.<$> (x Data..: "North")+            Prelude.<*> (x Data..: "South")+            Prelude.<*> (x Data..: "West")+            Prelude.<*> (x Data..: "East")+      )++instance Prelude.Hashable GeospatialCoordinateBounds where+  hashWithSalt _salt GeospatialCoordinateBounds' {..} =+    _salt+      `Prelude.hashWithSalt` north+      `Prelude.hashWithSalt` south+      `Prelude.hashWithSalt` west+      `Prelude.hashWithSalt` east++instance Prelude.NFData GeospatialCoordinateBounds where+  rnf GeospatialCoordinateBounds' {..} =+    Prelude.rnf north+      `Prelude.seq` Prelude.rnf south+      `Prelude.seq` Prelude.rnf west+      `Prelude.seq` Prelude.rnf east++instance Data.ToJSON GeospatialCoordinateBounds where+  toJSON GeospatialCoordinateBounds' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("North" Data..= north),+            Prelude.Just ("South" Data..= south),+            Prelude.Just ("West" Data..= west),+            Prelude.Just ("East" Data..= east)+          ]+      )
+ gen/Amazonka/QuickSight/Types/GeospatialMapAggregatedFieldWells.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.QuickSight.Types.GeospatialMapAggregatedFieldWells+-- 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.QuickSight.Types.GeospatialMapAggregatedFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The aggregated field wells for a geospatial map.+--+-- /See:/ 'newGeospatialMapAggregatedFieldWells' smart constructor.+data GeospatialMapAggregatedFieldWells = GeospatialMapAggregatedFieldWells'+  { -- | The color field wells of a geospatial map.+    colors :: Prelude.Maybe [DimensionField],+    -- | The geospatial field wells of a geospatial map. Values are grouped by+    -- geospatial fields.+    geospatial :: Prelude.Maybe [DimensionField],+    -- | The size field wells of a geospatial map. Values are aggregated based on+    -- geospatial fields.+    values :: Prelude.Maybe [MeasureField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GeospatialMapAggregatedFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'colors', 'geospatialMapAggregatedFieldWells_colors' - The color field wells of a geospatial map.+--+-- 'geospatial', 'geospatialMapAggregatedFieldWells_geospatial' - The geospatial field wells of a geospatial map. Values are grouped by+-- geospatial fields.+--+-- 'values', 'geospatialMapAggregatedFieldWells_values' - The size field wells of a geospatial map. Values are aggregated based on+-- geospatial fields.+newGeospatialMapAggregatedFieldWells ::+  GeospatialMapAggregatedFieldWells+newGeospatialMapAggregatedFieldWells =+  GeospatialMapAggregatedFieldWells'+    { colors =+        Prelude.Nothing,+      geospatial = Prelude.Nothing,+      values = Prelude.Nothing+    }++-- | The color field wells of a geospatial map.+geospatialMapAggregatedFieldWells_colors :: Lens.Lens' GeospatialMapAggregatedFieldWells (Prelude.Maybe [DimensionField])+geospatialMapAggregatedFieldWells_colors = Lens.lens (\GeospatialMapAggregatedFieldWells' {colors} -> colors) (\s@GeospatialMapAggregatedFieldWells' {} a -> s {colors = a} :: GeospatialMapAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The geospatial field wells of a geospatial map. Values are grouped by+-- geospatial fields.+geospatialMapAggregatedFieldWells_geospatial :: Lens.Lens' GeospatialMapAggregatedFieldWells (Prelude.Maybe [DimensionField])+geospatialMapAggregatedFieldWells_geospatial = Lens.lens (\GeospatialMapAggregatedFieldWells' {geospatial} -> geospatial) (\s@GeospatialMapAggregatedFieldWells' {} a -> s {geospatial = a} :: GeospatialMapAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The size field wells of a geospatial map. Values are aggregated based on+-- geospatial fields.+geospatialMapAggregatedFieldWells_values :: Lens.Lens' GeospatialMapAggregatedFieldWells (Prelude.Maybe [MeasureField])+geospatialMapAggregatedFieldWells_values = Lens.lens (\GeospatialMapAggregatedFieldWells' {values} -> values) (\s@GeospatialMapAggregatedFieldWells' {} a -> s {values = a} :: GeospatialMapAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++instance+  Data.FromJSON+    GeospatialMapAggregatedFieldWells+  where+  parseJSON =+    Data.withObject+      "GeospatialMapAggregatedFieldWells"+      ( \x ->+          GeospatialMapAggregatedFieldWells'+            Prelude.<$> (x Data..:? "Colors" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Geospatial" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Values" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    GeospatialMapAggregatedFieldWells+  where+  hashWithSalt+    _salt+    GeospatialMapAggregatedFieldWells' {..} =+      _salt+        `Prelude.hashWithSalt` colors+        `Prelude.hashWithSalt` geospatial+        `Prelude.hashWithSalt` values++instance+  Prelude.NFData+    GeospatialMapAggregatedFieldWells+  where+  rnf GeospatialMapAggregatedFieldWells' {..} =+    Prelude.rnf colors+      `Prelude.seq` Prelude.rnf geospatial+      `Prelude.seq` Prelude.rnf values++instance+  Data.ToJSON+    GeospatialMapAggregatedFieldWells+  where+  toJSON GeospatialMapAggregatedFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Colors" Data..=) Prelude.<$> colors,+            ("Geospatial" Data..=) Prelude.<$> geospatial,+            ("Values" Data..=) Prelude.<$> values+          ]+      )
+ gen/Amazonka/QuickSight/Types/GeospatialMapConfiguration.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.QuickSight.Types.GeospatialMapConfiguration+-- 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.QuickSight.Types.GeospatialMapConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.GeospatialMapFieldWells+import Amazonka.QuickSight.Types.GeospatialMapStyleOptions+import Amazonka.QuickSight.Types.GeospatialPointStyleOptions+import Amazonka.QuickSight.Types.GeospatialWindowOptions+import Amazonka.QuickSight.Types.LegendOptions+import Amazonka.QuickSight.Types.TooltipOptions+import Amazonka.QuickSight.Types.VisualPalette++-- | The configuration of a @GeospatialMapVisual@.+--+-- /See:/ 'newGeospatialMapConfiguration' smart constructor.+data GeospatialMapConfiguration = GeospatialMapConfiguration'+  { -- | The field wells of the visual.+    fieldWells :: Prelude.Maybe GeospatialMapFieldWells,+    -- | The legend display setup of the visual.+    legend :: Prelude.Maybe LegendOptions,+    -- | The map style options of the geospatial map.+    mapStyleOptions :: Prelude.Maybe GeospatialMapStyleOptions,+    -- | The point style options of the geospatial map.+    pointStyleOptions :: Prelude.Maybe GeospatialPointStyleOptions,+    -- | The tooltip display setup of the visual.+    tooltip :: Prelude.Maybe TooltipOptions,+    visualPalette :: Prelude.Maybe VisualPalette,+    -- | The window options of the geospatial map.+    windowOptions :: Prelude.Maybe GeospatialWindowOptions+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GeospatialMapConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldWells', 'geospatialMapConfiguration_fieldWells' - The field wells of the visual.+--+-- 'legend', 'geospatialMapConfiguration_legend' - The legend display setup of the visual.+--+-- 'mapStyleOptions', 'geospatialMapConfiguration_mapStyleOptions' - The map style options of the geospatial map.+--+-- 'pointStyleOptions', 'geospatialMapConfiguration_pointStyleOptions' - The point style options of the geospatial map.+--+-- 'tooltip', 'geospatialMapConfiguration_tooltip' - The tooltip display setup of the visual.+--+-- 'visualPalette', 'geospatialMapConfiguration_visualPalette' - Undocumented member.+--+-- 'windowOptions', 'geospatialMapConfiguration_windowOptions' - The window options of the geospatial map.+newGeospatialMapConfiguration ::+  GeospatialMapConfiguration+newGeospatialMapConfiguration =+  GeospatialMapConfiguration'+    { fieldWells =+        Prelude.Nothing,+      legend = Prelude.Nothing,+      mapStyleOptions = Prelude.Nothing,+      pointStyleOptions = Prelude.Nothing,+      tooltip = Prelude.Nothing,+      visualPalette = Prelude.Nothing,+      windowOptions = Prelude.Nothing+    }++-- | The field wells of the visual.+geospatialMapConfiguration_fieldWells :: Lens.Lens' GeospatialMapConfiguration (Prelude.Maybe GeospatialMapFieldWells)+geospatialMapConfiguration_fieldWells = Lens.lens (\GeospatialMapConfiguration' {fieldWells} -> fieldWells) (\s@GeospatialMapConfiguration' {} a -> s {fieldWells = a} :: GeospatialMapConfiguration)++-- | The legend display setup of the visual.+geospatialMapConfiguration_legend :: Lens.Lens' GeospatialMapConfiguration (Prelude.Maybe LegendOptions)+geospatialMapConfiguration_legend = Lens.lens (\GeospatialMapConfiguration' {legend} -> legend) (\s@GeospatialMapConfiguration' {} a -> s {legend = a} :: GeospatialMapConfiguration)++-- | The map style options of the geospatial map.+geospatialMapConfiguration_mapStyleOptions :: Lens.Lens' GeospatialMapConfiguration (Prelude.Maybe GeospatialMapStyleOptions)+geospatialMapConfiguration_mapStyleOptions = Lens.lens (\GeospatialMapConfiguration' {mapStyleOptions} -> mapStyleOptions) (\s@GeospatialMapConfiguration' {} a -> s {mapStyleOptions = a} :: GeospatialMapConfiguration)++-- | The point style options of the geospatial map.+geospatialMapConfiguration_pointStyleOptions :: Lens.Lens' GeospatialMapConfiguration (Prelude.Maybe GeospatialPointStyleOptions)+geospatialMapConfiguration_pointStyleOptions = Lens.lens (\GeospatialMapConfiguration' {pointStyleOptions} -> pointStyleOptions) (\s@GeospatialMapConfiguration' {} a -> s {pointStyleOptions = a} :: GeospatialMapConfiguration)++-- | The tooltip display setup of the visual.+geospatialMapConfiguration_tooltip :: Lens.Lens' GeospatialMapConfiguration (Prelude.Maybe TooltipOptions)+geospatialMapConfiguration_tooltip = Lens.lens (\GeospatialMapConfiguration' {tooltip} -> tooltip) (\s@GeospatialMapConfiguration' {} a -> s {tooltip = a} :: GeospatialMapConfiguration)++-- | Undocumented member.+geospatialMapConfiguration_visualPalette :: Lens.Lens' GeospatialMapConfiguration (Prelude.Maybe VisualPalette)+geospatialMapConfiguration_visualPalette = Lens.lens (\GeospatialMapConfiguration' {visualPalette} -> visualPalette) (\s@GeospatialMapConfiguration' {} a -> s {visualPalette = a} :: GeospatialMapConfiguration)++-- | The window options of the geospatial map.+geospatialMapConfiguration_windowOptions :: Lens.Lens' GeospatialMapConfiguration (Prelude.Maybe GeospatialWindowOptions)+geospatialMapConfiguration_windowOptions = Lens.lens (\GeospatialMapConfiguration' {windowOptions} -> windowOptions) (\s@GeospatialMapConfiguration' {} a -> s {windowOptions = a} :: GeospatialMapConfiguration)++instance Data.FromJSON GeospatialMapConfiguration where+  parseJSON =+    Data.withObject+      "GeospatialMapConfiguration"+      ( \x ->+          GeospatialMapConfiguration'+            Prelude.<$> (x Data..:? "FieldWells")+            Prelude.<*> (x Data..:? "Legend")+            Prelude.<*> (x Data..:? "MapStyleOptions")+            Prelude.<*> (x Data..:? "PointStyleOptions")+            Prelude.<*> (x Data..:? "Tooltip")+            Prelude.<*> (x Data..:? "VisualPalette")+            Prelude.<*> (x Data..:? "WindowOptions")+      )++instance Prelude.Hashable GeospatialMapConfiguration where+  hashWithSalt _salt GeospatialMapConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` fieldWells+      `Prelude.hashWithSalt` legend+      `Prelude.hashWithSalt` mapStyleOptions+      `Prelude.hashWithSalt` pointStyleOptions+      `Prelude.hashWithSalt` tooltip+      `Prelude.hashWithSalt` visualPalette+      `Prelude.hashWithSalt` windowOptions++instance Prelude.NFData GeospatialMapConfiguration where+  rnf GeospatialMapConfiguration' {..} =+    Prelude.rnf fieldWells+      `Prelude.seq` Prelude.rnf legend+      `Prelude.seq` Prelude.rnf mapStyleOptions+      `Prelude.seq` Prelude.rnf pointStyleOptions+      `Prelude.seq` Prelude.rnf tooltip+      `Prelude.seq` Prelude.rnf visualPalette+      `Prelude.seq` Prelude.rnf windowOptions++instance Data.ToJSON GeospatialMapConfiguration where+  toJSON GeospatialMapConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FieldWells" Data..=) Prelude.<$> fieldWells,+            ("Legend" Data..=) Prelude.<$> legend,+            ("MapStyleOptions" Data..=)+              Prelude.<$> mapStyleOptions,+            ("PointStyleOptions" Data..=)+              Prelude.<$> pointStyleOptions,+            ("Tooltip" Data..=) Prelude.<$> tooltip,+            ("VisualPalette" Data..=) Prelude.<$> visualPalette,+            ("WindowOptions" Data..=) Prelude.<$> windowOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/GeospatialMapFieldWells.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.QuickSight.Types.GeospatialMapFieldWells+-- 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.QuickSight.Types.GeospatialMapFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.GeospatialMapAggregatedFieldWells++-- | The field wells of a @GeospatialMapVisual@.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newGeospatialMapFieldWells' smart constructor.+data GeospatialMapFieldWells = GeospatialMapFieldWells'+  { -- | The aggregated field well for a geospatial map.+    geospatialMapAggregatedFieldWells :: Prelude.Maybe GeospatialMapAggregatedFieldWells+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GeospatialMapFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'geospatialMapAggregatedFieldWells', 'geospatialMapFieldWells_geospatialMapAggregatedFieldWells' - The aggregated field well for a geospatial map.+newGeospatialMapFieldWells ::+  GeospatialMapFieldWells+newGeospatialMapFieldWells =+  GeospatialMapFieldWells'+    { geospatialMapAggregatedFieldWells =+        Prelude.Nothing+    }++-- | The aggregated field well for a geospatial map.+geospatialMapFieldWells_geospatialMapAggregatedFieldWells :: Lens.Lens' GeospatialMapFieldWells (Prelude.Maybe GeospatialMapAggregatedFieldWells)+geospatialMapFieldWells_geospatialMapAggregatedFieldWells = Lens.lens (\GeospatialMapFieldWells' {geospatialMapAggregatedFieldWells} -> geospatialMapAggregatedFieldWells) (\s@GeospatialMapFieldWells' {} a -> s {geospatialMapAggregatedFieldWells = a} :: GeospatialMapFieldWells)++instance Data.FromJSON GeospatialMapFieldWells where+  parseJSON =+    Data.withObject+      "GeospatialMapFieldWells"+      ( \x ->+          GeospatialMapFieldWells'+            Prelude.<$> (x Data..:? "GeospatialMapAggregatedFieldWells")+      )++instance Prelude.Hashable GeospatialMapFieldWells where+  hashWithSalt _salt GeospatialMapFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` geospatialMapAggregatedFieldWells++instance Prelude.NFData GeospatialMapFieldWells where+  rnf GeospatialMapFieldWells' {..} =+    Prelude.rnf geospatialMapAggregatedFieldWells++instance Data.ToJSON GeospatialMapFieldWells where+  toJSON GeospatialMapFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("GeospatialMapAggregatedFieldWells" Data..=)+              Prelude.<$> geospatialMapAggregatedFieldWells+          ]+      )
+ gen/Amazonka/QuickSight/Types/GeospatialMapStyleOptions.hs view
@@ -0,0 +1,80 @@+{-# 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.QuickSight.Types.GeospatialMapStyleOptions+-- 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.QuickSight.Types.GeospatialMapStyleOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.BaseMapStyleType++-- | The map style options of the geospatial map.+--+-- /See:/ 'newGeospatialMapStyleOptions' smart constructor.+data GeospatialMapStyleOptions = GeospatialMapStyleOptions'+  { -- | The base map style of the geospatial map.+    baseMapStyle :: Prelude.Maybe BaseMapStyleType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GeospatialMapStyleOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'baseMapStyle', 'geospatialMapStyleOptions_baseMapStyle' - The base map style of the geospatial map.+newGeospatialMapStyleOptions ::+  GeospatialMapStyleOptions+newGeospatialMapStyleOptions =+  GeospatialMapStyleOptions'+    { baseMapStyle =+        Prelude.Nothing+    }++-- | The base map style of the geospatial map.+geospatialMapStyleOptions_baseMapStyle :: Lens.Lens' GeospatialMapStyleOptions (Prelude.Maybe BaseMapStyleType)+geospatialMapStyleOptions_baseMapStyle = Lens.lens (\GeospatialMapStyleOptions' {baseMapStyle} -> baseMapStyle) (\s@GeospatialMapStyleOptions' {} a -> s {baseMapStyle = a} :: GeospatialMapStyleOptions)++instance Data.FromJSON GeospatialMapStyleOptions where+  parseJSON =+    Data.withObject+      "GeospatialMapStyleOptions"+      ( \x ->+          GeospatialMapStyleOptions'+            Prelude.<$> (x Data..:? "BaseMapStyle")+      )++instance Prelude.Hashable GeospatialMapStyleOptions where+  hashWithSalt _salt GeospatialMapStyleOptions' {..} =+    _salt `Prelude.hashWithSalt` baseMapStyle++instance Prelude.NFData GeospatialMapStyleOptions where+  rnf GeospatialMapStyleOptions' {..} =+    Prelude.rnf baseMapStyle++instance Data.ToJSON GeospatialMapStyleOptions where+  toJSON GeospatialMapStyleOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [("BaseMapStyle" Data..=) Prelude.<$> baseMapStyle]+      )
+ gen/Amazonka/QuickSight/Types/GeospatialMapVisual.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.QuickSight.Types.GeospatialMapVisual+-- 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.QuickSight.Types.GeospatialMapVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnHierarchy+import Amazonka.QuickSight.Types.GeospatialMapConfiguration+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions++-- | A geospatial map or a points on map visual.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/point-maps.html Creating point maps>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newGeospatialMapVisual' smart constructor.+data GeospatialMapVisual = GeospatialMapVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration settings of the visual.+    chartConfiguration :: Prelude.Maybe GeospatialMapConfiguration,+    -- | The column hierarchy that is used during drill-downs and drill-ups.+    columnHierarchies :: Prelude.Maybe [ColumnHierarchy],+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers..+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GeospatialMapVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'geospatialMapVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'geospatialMapVisual_chartConfiguration' - The configuration settings of the visual.+--+-- 'columnHierarchies', 'geospatialMapVisual_columnHierarchies' - The column hierarchy that is used during drill-downs and drill-ups.+--+-- 'subtitle', 'geospatialMapVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'geospatialMapVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'geospatialMapVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers..+newGeospatialMapVisual ::+  -- | 'visualId'+  Prelude.Text ->+  GeospatialMapVisual+newGeospatialMapVisual pVisualId_ =+  GeospatialMapVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      columnHierarchies = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_+    }++-- | The list of custom actions that are configured for a visual.+geospatialMapVisual_actions :: Lens.Lens' GeospatialMapVisual (Prelude.Maybe [VisualCustomAction])+geospatialMapVisual_actions = Lens.lens (\GeospatialMapVisual' {actions} -> actions) (\s@GeospatialMapVisual' {} a -> s {actions = a} :: GeospatialMapVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration settings of the visual.+geospatialMapVisual_chartConfiguration :: Lens.Lens' GeospatialMapVisual (Prelude.Maybe GeospatialMapConfiguration)+geospatialMapVisual_chartConfiguration = Lens.lens (\GeospatialMapVisual' {chartConfiguration} -> chartConfiguration) (\s@GeospatialMapVisual' {} a -> s {chartConfiguration = a} :: GeospatialMapVisual)++-- | The column hierarchy that is used during drill-downs and drill-ups.+geospatialMapVisual_columnHierarchies :: Lens.Lens' GeospatialMapVisual (Prelude.Maybe [ColumnHierarchy])+geospatialMapVisual_columnHierarchies = Lens.lens (\GeospatialMapVisual' {columnHierarchies} -> columnHierarchies) (\s@GeospatialMapVisual' {} a -> s {columnHierarchies = a} :: GeospatialMapVisual) Prelude.. Lens.mapping Lens.coerced++-- | The subtitle that is displayed on the visual.+geospatialMapVisual_subtitle :: Lens.Lens' GeospatialMapVisual (Prelude.Maybe VisualSubtitleLabelOptions)+geospatialMapVisual_subtitle = Lens.lens (\GeospatialMapVisual' {subtitle} -> subtitle) (\s@GeospatialMapVisual' {} a -> s {subtitle = a} :: GeospatialMapVisual)++-- | The title that is displayed on the visual.+geospatialMapVisual_title :: Lens.Lens' GeospatialMapVisual (Prelude.Maybe VisualTitleLabelOptions)+geospatialMapVisual_title = Lens.lens (\GeospatialMapVisual' {title} -> title) (\s@GeospatialMapVisual' {} a -> s {title = a} :: GeospatialMapVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers..+geospatialMapVisual_visualId :: Lens.Lens' GeospatialMapVisual Prelude.Text+geospatialMapVisual_visualId = Lens.lens (\GeospatialMapVisual' {visualId} -> visualId) (\s@GeospatialMapVisual' {} a -> s {visualId = a} :: GeospatialMapVisual)++instance Data.FromJSON GeospatialMapVisual where+  parseJSON =+    Data.withObject+      "GeospatialMapVisual"+      ( \x ->+          GeospatialMapVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> ( x+                            Data..:? "ColumnHierarchies"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+      )++instance Prelude.Hashable GeospatialMapVisual where+  hashWithSalt _salt GeospatialMapVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` columnHierarchies+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData GeospatialMapVisual where+  rnf GeospatialMapVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf columnHierarchies+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON GeospatialMapVisual where+  toJSON GeospatialMapVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("ColumnHierarchies" Data..=)+              Prelude.<$> columnHierarchies,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/GeospatialPointStyleOptions.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.QuickSight.Types.GeospatialPointStyleOptions+-- 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.QuickSight.Types.GeospatialPointStyleOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ClusterMarkerConfiguration+import Amazonka.QuickSight.Types.GeospatialSelectedPointStyle++-- | The point style of the geospatial map.+--+-- /See:/ 'newGeospatialPointStyleOptions' smart constructor.+data GeospatialPointStyleOptions = GeospatialPointStyleOptions'+  { -- | The cluster marker configuration of the geospatial point style.+    clusterMarkerConfiguration :: Prelude.Maybe ClusterMarkerConfiguration,+    -- | The selected point styles (point, cluster) of the geospatial map.+    selectedPointStyle :: Prelude.Maybe GeospatialSelectedPointStyle+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GeospatialPointStyleOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterMarkerConfiguration', 'geospatialPointStyleOptions_clusterMarkerConfiguration' - The cluster marker configuration of the geospatial point style.+--+-- 'selectedPointStyle', 'geospatialPointStyleOptions_selectedPointStyle' - The selected point styles (point, cluster) of the geospatial map.+newGeospatialPointStyleOptions ::+  GeospatialPointStyleOptions+newGeospatialPointStyleOptions =+  GeospatialPointStyleOptions'+    { clusterMarkerConfiguration =+        Prelude.Nothing,+      selectedPointStyle = Prelude.Nothing+    }++-- | The cluster marker configuration of the geospatial point style.+geospatialPointStyleOptions_clusterMarkerConfiguration :: Lens.Lens' GeospatialPointStyleOptions (Prelude.Maybe ClusterMarkerConfiguration)+geospatialPointStyleOptions_clusterMarkerConfiguration = Lens.lens (\GeospatialPointStyleOptions' {clusterMarkerConfiguration} -> clusterMarkerConfiguration) (\s@GeospatialPointStyleOptions' {} a -> s {clusterMarkerConfiguration = a} :: GeospatialPointStyleOptions)++-- | The selected point styles (point, cluster) of the geospatial map.+geospatialPointStyleOptions_selectedPointStyle :: Lens.Lens' GeospatialPointStyleOptions (Prelude.Maybe GeospatialSelectedPointStyle)+geospatialPointStyleOptions_selectedPointStyle = Lens.lens (\GeospatialPointStyleOptions' {selectedPointStyle} -> selectedPointStyle) (\s@GeospatialPointStyleOptions' {} a -> s {selectedPointStyle = a} :: GeospatialPointStyleOptions)++instance Data.FromJSON GeospatialPointStyleOptions where+  parseJSON =+    Data.withObject+      "GeospatialPointStyleOptions"+      ( \x ->+          GeospatialPointStyleOptions'+            Prelude.<$> (x Data..:? "ClusterMarkerConfiguration")+            Prelude.<*> (x Data..:? "SelectedPointStyle")+      )++instance Prelude.Hashable GeospatialPointStyleOptions where+  hashWithSalt _salt GeospatialPointStyleOptions' {..} =+    _salt+      `Prelude.hashWithSalt` clusterMarkerConfiguration+      `Prelude.hashWithSalt` selectedPointStyle++instance Prelude.NFData GeospatialPointStyleOptions where+  rnf GeospatialPointStyleOptions' {..} =+    Prelude.rnf clusterMarkerConfiguration+      `Prelude.seq` Prelude.rnf selectedPointStyle++instance Data.ToJSON GeospatialPointStyleOptions where+  toJSON GeospatialPointStyleOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClusterMarkerConfiguration" Data..=)+              Prelude.<$> clusterMarkerConfiguration,+            ("SelectedPointStyle" Data..=)+              Prelude.<$> selectedPointStyle+          ]+      )
+ gen/Amazonka/QuickSight/Types/GeospatialSelectedPointStyle.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.QuickSight.Types.GeospatialSelectedPointStyle+-- 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.QuickSight.Types.GeospatialSelectedPointStyle+  ( GeospatialSelectedPointStyle+      ( ..,+        GeospatialSelectedPointStyle_CLUSTER,+        GeospatialSelectedPointStyle_POINT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype GeospatialSelectedPointStyle = GeospatialSelectedPointStyle'+  { fromGeospatialSelectedPointStyle ::+      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 GeospatialSelectedPointStyle_CLUSTER :: GeospatialSelectedPointStyle+pattern GeospatialSelectedPointStyle_CLUSTER = GeospatialSelectedPointStyle' "CLUSTER"++pattern GeospatialSelectedPointStyle_POINT :: GeospatialSelectedPointStyle+pattern GeospatialSelectedPointStyle_POINT = GeospatialSelectedPointStyle' "POINT"++{-# COMPLETE+  GeospatialSelectedPointStyle_CLUSTER,+  GeospatialSelectedPointStyle_POINT,+  GeospatialSelectedPointStyle'+  #-}
+ gen/Amazonka/QuickSight/Types/GeospatialWindowOptions.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.QuickSight.Types.GeospatialWindowOptions+-- 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.QuickSight.Types.GeospatialWindowOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.GeospatialCoordinateBounds+import Amazonka.QuickSight.Types.MapZoomMode++-- | The window options of the geospatial map visual.+--+-- /See:/ 'newGeospatialWindowOptions' smart constructor.+data GeospatialWindowOptions = GeospatialWindowOptions'+  { -- | The bounds options (north, south, west, east) of the geospatial window+    -- options.+    bounds :: Prelude.Maybe GeospatialCoordinateBounds,+    -- | The map zoom modes (manual, auto) of the geospatial window options.+    mapZoomMode :: Prelude.Maybe MapZoomMode+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GeospatialWindowOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bounds', 'geospatialWindowOptions_bounds' - The bounds options (north, south, west, east) of the geospatial window+-- options.+--+-- 'mapZoomMode', 'geospatialWindowOptions_mapZoomMode' - The map zoom modes (manual, auto) of the geospatial window options.+newGeospatialWindowOptions ::+  GeospatialWindowOptions+newGeospatialWindowOptions =+  GeospatialWindowOptions'+    { bounds = Prelude.Nothing,+      mapZoomMode = Prelude.Nothing+    }++-- | The bounds options (north, south, west, east) of the geospatial window+-- options.+geospatialWindowOptions_bounds :: Lens.Lens' GeospatialWindowOptions (Prelude.Maybe GeospatialCoordinateBounds)+geospatialWindowOptions_bounds = Lens.lens (\GeospatialWindowOptions' {bounds} -> bounds) (\s@GeospatialWindowOptions' {} a -> s {bounds = a} :: GeospatialWindowOptions)++-- | The map zoom modes (manual, auto) of the geospatial window options.+geospatialWindowOptions_mapZoomMode :: Lens.Lens' GeospatialWindowOptions (Prelude.Maybe MapZoomMode)+geospatialWindowOptions_mapZoomMode = Lens.lens (\GeospatialWindowOptions' {mapZoomMode} -> mapZoomMode) (\s@GeospatialWindowOptions' {} a -> s {mapZoomMode = a} :: GeospatialWindowOptions)++instance Data.FromJSON GeospatialWindowOptions where+  parseJSON =+    Data.withObject+      "GeospatialWindowOptions"+      ( \x ->+          GeospatialWindowOptions'+            Prelude.<$> (x Data..:? "Bounds")+            Prelude.<*> (x Data..:? "MapZoomMode")+      )++instance Prelude.Hashable GeospatialWindowOptions where+  hashWithSalt _salt GeospatialWindowOptions' {..} =+    _salt+      `Prelude.hashWithSalt` bounds+      `Prelude.hashWithSalt` mapZoomMode++instance Prelude.NFData GeospatialWindowOptions where+  rnf GeospatialWindowOptions' {..} =+    Prelude.rnf bounds+      `Prelude.seq` Prelude.rnf mapZoomMode++instance Data.ToJSON GeospatialWindowOptions where+  toJSON GeospatialWindowOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Bounds" Data..=) Prelude.<$> bounds,+            ("MapZoomMode" Data..=) Prelude.<$> mapZoomMode+          ]+      )
+ gen/Amazonka/QuickSight/Types/GlobalTableBorderOptions.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.GlobalTableBorderOptions+-- 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.QuickSight.Types.GlobalTableBorderOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TableBorderOptions+import Amazonka.QuickSight.Types.TableSideBorderOptions++-- | Determines the border options for a table visual.+--+-- /See:/ 'newGlobalTableBorderOptions' smart constructor.+data GlobalTableBorderOptions = GlobalTableBorderOptions'+  { -- | Determines the options for side specific border.+    sideSpecificBorder :: Prelude.Maybe TableSideBorderOptions,+    -- | Determines the options for uniform border.+    uniformBorder :: Prelude.Maybe TableBorderOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GlobalTableBorderOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sideSpecificBorder', 'globalTableBorderOptions_sideSpecificBorder' - Determines the options for side specific border.+--+-- 'uniformBorder', 'globalTableBorderOptions_uniformBorder' - Determines the options for uniform border.+newGlobalTableBorderOptions ::+  GlobalTableBorderOptions+newGlobalTableBorderOptions =+  GlobalTableBorderOptions'+    { sideSpecificBorder =+        Prelude.Nothing,+      uniformBorder = Prelude.Nothing+    }++-- | Determines the options for side specific border.+globalTableBorderOptions_sideSpecificBorder :: Lens.Lens' GlobalTableBorderOptions (Prelude.Maybe TableSideBorderOptions)+globalTableBorderOptions_sideSpecificBorder = Lens.lens (\GlobalTableBorderOptions' {sideSpecificBorder} -> sideSpecificBorder) (\s@GlobalTableBorderOptions' {} a -> s {sideSpecificBorder = a} :: GlobalTableBorderOptions)++-- | Determines the options for uniform border.+globalTableBorderOptions_uniformBorder :: Lens.Lens' GlobalTableBorderOptions (Prelude.Maybe TableBorderOptions)+globalTableBorderOptions_uniformBorder = Lens.lens (\GlobalTableBorderOptions' {uniformBorder} -> uniformBorder) (\s@GlobalTableBorderOptions' {} a -> s {uniformBorder = a} :: GlobalTableBorderOptions)++instance Data.FromJSON GlobalTableBorderOptions where+  parseJSON =+    Data.withObject+      "GlobalTableBorderOptions"+      ( \x ->+          GlobalTableBorderOptions'+            Prelude.<$> (x Data..:? "SideSpecificBorder")+            Prelude.<*> (x Data..:? "UniformBorder")+      )++instance Prelude.Hashable GlobalTableBorderOptions where+  hashWithSalt _salt GlobalTableBorderOptions' {..} =+    _salt+      `Prelude.hashWithSalt` sideSpecificBorder+      `Prelude.hashWithSalt` uniformBorder++instance Prelude.NFData GlobalTableBorderOptions where+  rnf GlobalTableBorderOptions' {..} =+    Prelude.rnf sideSpecificBorder+      `Prelude.seq` Prelude.rnf uniformBorder++instance Data.ToJSON GlobalTableBorderOptions where+  toJSON GlobalTableBorderOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SideSpecificBorder" Data..=)+              Prelude.<$> sideSpecificBorder,+            ("UniformBorder" Data..=) Prelude.<$> uniformBorder+          ]+      )
+ gen/Amazonka/QuickSight/Types/GradientColor.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.GradientColor+-- 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.QuickSight.Types.GradientColor where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.GradientStop++-- | Determines the gradient color settings.+--+-- /See:/ 'newGradientColor' smart constructor.+data GradientColor = GradientColor'+  { -- | The list of gradient color stops.+    stops :: Prelude.Maybe [GradientStop]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GradientColor' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'stops', 'gradientColor_stops' - The list of gradient color stops.+newGradientColor ::+  GradientColor+newGradientColor =+  GradientColor' {stops = Prelude.Nothing}++-- | The list of gradient color stops.+gradientColor_stops :: Lens.Lens' GradientColor (Prelude.Maybe [GradientStop])+gradientColor_stops = Lens.lens (\GradientColor' {stops} -> stops) (\s@GradientColor' {} a -> s {stops = a} :: GradientColor) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON GradientColor where+  parseJSON =+    Data.withObject+      "GradientColor"+      ( \x ->+          GradientColor'+            Prelude.<$> (x Data..:? "Stops" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable GradientColor where+  hashWithSalt _salt GradientColor' {..} =+    _salt `Prelude.hashWithSalt` stops++instance Prelude.NFData GradientColor where+  rnf GradientColor' {..} = Prelude.rnf stops++instance Data.ToJSON GradientColor where+  toJSON GradientColor' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Stops" Data..=) Prelude.<$> stops]+      )
+ gen/Amazonka/QuickSight/Types/GradientStop.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.QuickSight.Types.GradientStop+-- 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.QuickSight.Types.GradientStop 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++-- | Determines the gradient stop configuration.+--+-- /See:/ 'newGradientStop' smart constructor.+data GradientStop = GradientStop'+  { -- | Determines the color.+    color :: Prelude.Maybe Prelude.Text,+    -- | Determines the data value.+    dataValue :: Prelude.Maybe Prelude.Double,+    -- | Determines gradient offset value.+    gradientOffset :: Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GradientStop' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'color', 'gradientStop_color' - Determines the color.+--+-- 'dataValue', 'gradientStop_dataValue' - Determines the data value.+--+-- 'gradientOffset', 'gradientStop_gradientOffset' - Determines gradient offset value.+newGradientStop ::+  -- | 'gradientOffset'+  Prelude.Double ->+  GradientStop+newGradientStop pGradientOffset_ =+  GradientStop'+    { color = Prelude.Nothing,+      dataValue = Prelude.Nothing,+      gradientOffset = pGradientOffset_+    }++-- | Determines the color.+gradientStop_color :: Lens.Lens' GradientStop (Prelude.Maybe Prelude.Text)+gradientStop_color = Lens.lens (\GradientStop' {color} -> color) (\s@GradientStop' {} a -> s {color = a} :: GradientStop)++-- | Determines the data value.+gradientStop_dataValue :: Lens.Lens' GradientStop (Prelude.Maybe Prelude.Double)+gradientStop_dataValue = Lens.lens (\GradientStop' {dataValue} -> dataValue) (\s@GradientStop' {} a -> s {dataValue = a} :: GradientStop)++-- | Determines gradient offset value.+gradientStop_gradientOffset :: Lens.Lens' GradientStop Prelude.Double+gradientStop_gradientOffset = Lens.lens (\GradientStop' {gradientOffset} -> gradientOffset) (\s@GradientStop' {} a -> s {gradientOffset = a} :: GradientStop)++instance Data.FromJSON GradientStop where+  parseJSON =+    Data.withObject+      "GradientStop"+      ( \x ->+          GradientStop'+            Prelude.<$> (x Data..:? "Color")+            Prelude.<*> (x Data..:? "DataValue")+            Prelude.<*> (x Data..: "GradientOffset")+      )++instance Prelude.Hashable GradientStop where+  hashWithSalt _salt GradientStop' {..} =+    _salt+      `Prelude.hashWithSalt` color+      `Prelude.hashWithSalt` dataValue+      `Prelude.hashWithSalt` gradientOffset++instance Prelude.NFData GradientStop where+  rnf GradientStop' {..} =+    Prelude.rnf color+      `Prelude.seq` Prelude.rnf dataValue+      `Prelude.seq` Prelude.rnf gradientOffset++instance Data.ToJSON GradientStop where+  toJSON GradientStop' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Color" Data..=) Prelude.<$> color,+            ("DataValue" Data..=) Prelude.<$> dataValue,+            Prelude.Just+              ("GradientOffset" Data..= gradientOffset)+          ]+      )
+ gen/Amazonka/QuickSight/Types/GridLayoutCanvasSizeOptions.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.QuickSight.Types.GridLayoutCanvasSizeOptions+-- 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.QuickSight.Types.GridLayoutCanvasSizeOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.GridLayoutScreenCanvasSizeOptions++-- | Configuration options for the canvas of a grid layout.+--+-- /See:/ 'newGridLayoutCanvasSizeOptions' smart constructor.+data GridLayoutCanvasSizeOptions = GridLayoutCanvasSizeOptions'+  { -- | The options that determine the sizing of the canvas used in a grid+    -- layout.+    screenCanvasSizeOptions :: Prelude.Maybe GridLayoutScreenCanvasSizeOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GridLayoutCanvasSizeOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'screenCanvasSizeOptions', 'gridLayoutCanvasSizeOptions_screenCanvasSizeOptions' - The options that determine the sizing of the canvas used in a grid+-- layout.+newGridLayoutCanvasSizeOptions ::+  GridLayoutCanvasSizeOptions+newGridLayoutCanvasSizeOptions =+  GridLayoutCanvasSizeOptions'+    { screenCanvasSizeOptions =+        Prelude.Nothing+    }++-- | The options that determine the sizing of the canvas used in a grid+-- layout.+gridLayoutCanvasSizeOptions_screenCanvasSizeOptions :: Lens.Lens' GridLayoutCanvasSizeOptions (Prelude.Maybe GridLayoutScreenCanvasSizeOptions)+gridLayoutCanvasSizeOptions_screenCanvasSizeOptions = Lens.lens (\GridLayoutCanvasSizeOptions' {screenCanvasSizeOptions} -> screenCanvasSizeOptions) (\s@GridLayoutCanvasSizeOptions' {} a -> s {screenCanvasSizeOptions = a} :: GridLayoutCanvasSizeOptions)++instance Data.FromJSON GridLayoutCanvasSizeOptions where+  parseJSON =+    Data.withObject+      "GridLayoutCanvasSizeOptions"+      ( \x ->+          GridLayoutCanvasSizeOptions'+            Prelude.<$> (x Data..:? "ScreenCanvasSizeOptions")+      )++instance Prelude.Hashable GridLayoutCanvasSizeOptions where+  hashWithSalt _salt GridLayoutCanvasSizeOptions' {..} =+    _salt+      `Prelude.hashWithSalt` screenCanvasSizeOptions++instance Prelude.NFData GridLayoutCanvasSizeOptions where+  rnf GridLayoutCanvasSizeOptions' {..} =+    Prelude.rnf screenCanvasSizeOptions++instance Data.ToJSON GridLayoutCanvasSizeOptions where+  toJSON GridLayoutCanvasSizeOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ScreenCanvasSizeOptions" Data..=)+              Prelude.<$> screenCanvasSizeOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/GridLayoutConfiguration.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.QuickSight.Types.GridLayoutConfiguration+-- 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.QuickSight.Types.GridLayoutConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.GridLayoutCanvasSizeOptions+import Amazonka.QuickSight.Types.GridLayoutElement++-- | The configuration for a grid layout. Also called a tiled layout.+--+-- Visuals snap to a grid with standard spacing and alignment. Dashboards+-- are displayed as designed, with options to fit to screen or view at+-- actual size.+--+-- /See:/ 'newGridLayoutConfiguration' smart constructor.+data GridLayoutConfiguration = GridLayoutConfiguration'+  { canvasSizeOptions :: Prelude.Maybe GridLayoutCanvasSizeOptions,+    -- | The elements that are included in a grid layout.+    elements :: [GridLayoutElement]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GridLayoutConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'canvasSizeOptions', 'gridLayoutConfiguration_canvasSizeOptions' - Undocumented member.+--+-- 'elements', 'gridLayoutConfiguration_elements' - The elements that are included in a grid layout.+newGridLayoutConfiguration ::+  GridLayoutConfiguration+newGridLayoutConfiguration =+  GridLayoutConfiguration'+    { canvasSizeOptions =+        Prelude.Nothing,+      elements = Prelude.mempty+    }++-- | Undocumented member.+gridLayoutConfiguration_canvasSizeOptions :: Lens.Lens' GridLayoutConfiguration (Prelude.Maybe GridLayoutCanvasSizeOptions)+gridLayoutConfiguration_canvasSizeOptions = Lens.lens (\GridLayoutConfiguration' {canvasSizeOptions} -> canvasSizeOptions) (\s@GridLayoutConfiguration' {} a -> s {canvasSizeOptions = a} :: GridLayoutConfiguration)++-- | The elements that are included in a grid layout.+gridLayoutConfiguration_elements :: Lens.Lens' GridLayoutConfiguration [GridLayoutElement]+gridLayoutConfiguration_elements = Lens.lens (\GridLayoutConfiguration' {elements} -> elements) (\s@GridLayoutConfiguration' {} a -> s {elements = a} :: GridLayoutConfiguration) Prelude.. Lens.coerced++instance Data.FromJSON GridLayoutConfiguration where+  parseJSON =+    Data.withObject+      "GridLayoutConfiguration"+      ( \x ->+          GridLayoutConfiguration'+            Prelude.<$> (x Data..:? "CanvasSizeOptions")+            Prelude.<*> (x Data..:? "Elements" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable GridLayoutConfiguration where+  hashWithSalt _salt GridLayoutConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` canvasSizeOptions+      `Prelude.hashWithSalt` elements++instance Prelude.NFData GridLayoutConfiguration where+  rnf GridLayoutConfiguration' {..} =+    Prelude.rnf canvasSizeOptions+      `Prelude.seq` Prelude.rnf elements++instance Data.ToJSON GridLayoutConfiguration where+  toJSON GridLayoutConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CanvasSizeOptions" Data..=)+              Prelude.<$> canvasSizeOptions,+            Prelude.Just ("Elements" Data..= elements)+          ]+      )
+ gen/Amazonka/QuickSight/Types/GridLayoutElement.hs view
@@ -0,0 +1,158 @@+{-# 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.QuickSight.Types.GridLayoutElement+-- 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.QuickSight.Types.GridLayoutElement where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.LayoutElementType++-- | An element within a grid layout.+--+-- /See:/ 'newGridLayoutElement' smart constructor.+data GridLayoutElement = GridLayoutElement'+  { -- | The column index for the upper left corner of an element.+    columnIndex :: Prelude.Maybe Prelude.Natural,+    -- | The row index for the upper left corner of an element.+    rowIndex :: Prelude.Maybe Prelude.Natural,+    -- | A unique identifier for an element within a grid layout.+    elementId :: Prelude.Text,+    -- | The type of element.+    elementType :: LayoutElementType,+    -- | The width of a grid element expressed as a number of grid columns.+    columnSpan :: Prelude.Natural,+    -- | The height of a grid element expressed as a number of grid rows.+    rowSpan :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GridLayoutElement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columnIndex', 'gridLayoutElement_columnIndex' - The column index for the upper left corner of an element.+--+-- 'rowIndex', 'gridLayoutElement_rowIndex' - The row index for the upper left corner of an element.+--+-- 'elementId', 'gridLayoutElement_elementId' - A unique identifier for an element within a grid layout.+--+-- 'elementType', 'gridLayoutElement_elementType' - The type of element.+--+-- 'columnSpan', 'gridLayoutElement_columnSpan' - The width of a grid element expressed as a number of grid columns.+--+-- 'rowSpan', 'gridLayoutElement_rowSpan' - The height of a grid element expressed as a number of grid rows.+newGridLayoutElement ::+  -- | 'elementId'+  Prelude.Text ->+  -- | 'elementType'+  LayoutElementType ->+  -- | 'columnSpan'+  Prelude.Natural ->+  -- | 'rowSpan'+  Prelude.Natural ->+  GridLayoutElement+newGridLayoutElement+  pElementId_+  pElementType_+  pColumnSpan_+  pRowSpan_ =+    GridLayoutElement'+      { columnIndex = Prelude.Nothing,+        rowIndex = Prelude.Nothing,+        elementId = pElementId_,+        elementType = pElementType_,+        columnSpan = pColumnSpan_,+        rowSpan = pRowSpan_+      }++-- | The column index for the upper left corner of an element.+gridLayoutElement_columnIndex :: Lens.Lens' GridLayoutElement (Prelude.Maybe Prelude.Natural)+gridLayoutElement_columnIndex = Lens.lens (\GridLayoutElement' {columnIndex} -> columnIndex) (\s@GridLayoutElement' {} a -> s {columnIndex = a} :: GridLayoutElement)++-- | The row index for the upper left corner of an element.+gridLayoutElement_rowIndex :: Lens.Lens' GridLayoutElement (Prelude.Maybe Prelude.Natural)+gridLayoutElement_rowIndex = Lens.lens (\GridLayoutElement' {rowIndex} -> rowIndex) (\s@GridLayoutElement' {} a -> s {rowIndex = a} :: GridLayoutElement)++-- | A unique identifier for an element within a grid layout.+gridLayoutElement_elementId :: Lens.Lens' GridLayoutElement Prelude.Text+gridLayoutElement_elementId = Lens.lens (\GridLayoutElement' {elementId} -> elementId) (\s@GridLayoutElement' {} a -> s {elementId = a} :: GridLayoutElement)++-- | The type of element.+gridLayoutElement_elementType :: Lens.Lens' GridLayoutElement LayoutElementType+gridLayoutElement_elementType = Lens.lens (\GridLayoutElement' {elementType} -> elementType) (\s@GridLayoutElement' {} a -> s {elementType = a} :: GridLayoutElement)++-- | The width of a grid element expressed as a number of grid columns.+gridLayoutElement_columnSpan :: Lens.Lens' GridLayoutElement Prelude.Natural+gridLayoutElement_columnSpan = Lens.lens (\GridLayoutElement' {columnSpan} -> columnSpan) (\s@GridLayoutElement' {} a -> s {columnSpan = a} :: GridLayoutElement)++-- | The height of a grid element expressed as a number of grid rows.+gridLayoutElement_rowSpan :: Lens.Lens' GridLayoutElement Prelude.Natural+gridLayoutElement_rowSpan = Lens.lens (\GridLayoutElement' {rowSpan} -> rowSpan) (\s@GridLayoutElement' {} a -> s {rowSpan = a} :: GridLayoutElement)++instance Data.FromJSON GridLayoutElement where+  parseJSON =+    Data.withObject+      "GridLayoutElement"+      ( \x ->+          GridLayoutElement'+            Prelude.<$> (x Data..:? "ColumnIndex")+            Prelude.<*> (x Data..:? "RowIndex")+            Prelude.<*> (x Data..: "ElementId")+            Prelude.<*> (x Data..: "ElementType")+            Prelude.<*> (x Data..: "ColumnSpan")+            Prelude.<*> (x Data..: "RowSpan")+      )++instance Prelude.Hashable GridLayoutElement where+  hashWithSalt _salt GridLayoutElement' {..} =+    _salt+      `Prelude.hashWithSalt` columnIndex+      `Prelude.hashWithSalt` rowIndex+      `Prelude.hashWithSalt` elementId+      `Prelude.hashWithSalt` elementType+      `Prelude.hashWithSalt` columnSpan+      `Prelude.hashWithSalt` rowSpan++instance Prelude.NFData GridLayoutElement where+  rnf GridLayoutElement' {..} =+    Prelude.rnf columnIndex+      `Prelude.seq` Prelude.rnf rowIndex+      `Prelude.seq` Prelude.rnf elementId+      `Prelude.seq` Prelude.rnf elementType+      `Prelude.seq` Prelude.rnf columnSpan+      `Prelude.seq` Prelude.rnf rowSpan++instance Data.ToJSON GridLayoutElement where+  toJSON GridLayoutElement' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ColumnIndex" Data..=) Prelude.<$> columnIndex,+            ("RowIndex" Data..=) Prelude.<$> rowIndex,+            Prelude.Just ("ElementId" Data..= elementId),+            Prelude.Just ("ElementType" Data..= elementType),+            Prelude.Just ("ColumnSpan" Data..= columnSpan),+            Prelude.Just ("RowSpan" Data..= rowSpan)+          ]+      )
+ gen/Amazonka/QuickSight/Types/GridLayoutScreenCanvasSizeOptions.hs view
@@ -0,0 +1,137 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.GridLayoutScreenCanvasSizeOptions+-- 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.QuickSight.Types.GridLayoutScreenCanvasSizeOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ResizeOption++-- | The options that determine the sizing of the canvas used in a grid+-- layout.+--+-- /See:/ 'newGridLayoutScreenCanvasSizeOptions' smart constructor.+data GridLayoutScreenCanvasSizeOptions = GridLayoutScreenCanvasSizeOptions'+  { -- | The width that the view port will be optimized for when the layout+    -- renders.+    optimizedViewPortWidth :: Prelude.Maybe Prelude.Text,+    -- | This value determines the layout behavior when the viewport is resized.+    --+    -- -   @FIXED@: A fixed width will be used when optimizing the layout. In+    --     the Amazon QuickSight console, this option is called @Classic@.+    --+    -- -   @RESPONSIVE@: The width of the canvas will be responsive and+    --     optimized to the view port. In the Amazon QuickSight console, this+    --     option is called @Tiled@.+    resizeOption :: ResizeOption+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GridLayoutScreenCanvasSizeOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'optimizedViewPortWidth', 'gridLayoutScreenCanvasSizeOptions_optimizedViewPortWidth' - The width that the view port will be optimized for when the layout+-- renders.+--+-- 'resizeOption', 'gridLayoutScreenCanvasSizeOptions_resizeOption' - This value determines the layout behavior when the viewport is resized.+--+-- -   @FIXED@: A fixed width will be used when optimizing the layout. In+--     the Amazon QuickSight console, this option is called @Classic@.+--+-- -   @RESPONSIVE@: The width of the canvas will be responsive and+--     optimized to the view port. In the Amazon QuickSight console, this+--     option is called @Tiled@.+newGridLayoutScreenCanvasSizeOptions ::+  -- | 'resizeOption'+  ResizeOption ->+  GridLayoutScreenCanvasSizeOptions+newGridLayoutScreenCanvasSizeOptions pResizeOption_ =+  GridLayoutScreenCanvasSizeOptions'+    { optimizedViewPortWidth =+        Prelude.Nothing,+      resizeOption = pResizeOption_+    }++-- | The width that the view port will be optimized for when the layout+-- renders.+gridLayoutScreenCanvasSizeOptions_optimizedViewPortWidth :: Lens.Lens' GridLayoutScreenCanvasSizeOptions (Prelude.Maybe Prelude.Text)+gridLayoutScreenCanvasSizeOptions_optimizedViewPortWidth = Lens.lens (\GridLayoutScreenCanvasSizeOptions' {optimizedViewPortWidth} -> optimizedViewPortWidth) (\s@GridLayoutScreenCanvasSizeOptions' {} a -> s {optimizedViewPortWidth = a} :: GridLayoutScreenCanvasSizeOptions)++-- | This value determines the layout behavior when the viewport is resized.+--+-- -   @FIXED@: A fixed width will be used when optimizing the layout. In+--     the Amazon QuickSight console, this option is called @Classic@.+--+-- -   @RESPONSIVE@: The width of the canvas will be responsive and+--     optimized to the view port. In the Amazon QuickSight console, this+--     option is called @Tiled@.+gridLayoutScreenCanvasSizeOptions_resizeOption :: Lens.Lens' GridLayoutScreenCanvasSizeOptions ResizeOption+gridLayoutScreenCanvasSizeOptions_resizeOption = Lens.lens (\GridLayoutScreenCanvasSizeOptions' {resizeOption} -> resizeOption) (\s@GridLayoutScreenCanvasSizeOptions' {} a -> s {resizeOption = a} :: GridLayoutScreenCanvasSizeOptions)++instance+  Data.FromJSON+    GridLayoutScreenCanvasSizeOptions+  where+  parseJSON =+    Data.withObject+      "GridLayoutScreenCanvasSizeOptions"+      ( \x ->+          GridLayoutScreenCanvasSizeOptions'+            Prelude.<$> (x Data..:? "OptimizedViewPortWidth")+            Prelude.<*> (x Data..: "ResizeOption")+      )++instance+  Prelude.Hashable+    GridLayoutScreenCanvasSizeOptions+  where+  hashWithSalt+    _salt+    GridLayoutScreenCanvasSizeOptions' {..} =+      _salt+        `Prelude.hashWithSalt` optimizedViewPortWidth+        `Prelude.hashWithSalt` resizeOption++instance+  Prelude.NFData+    GridLayoutScreenCanvasSizeOptions+  where+  rnf GridLayoutScreenCanvasSizeOptions' {..} =+    Prelude.rnf optimizedViewPortWidth+      `Prelude.seq` Prelude.rnf resizeOption++instance+  Data.ToJSON+    GridLayoutScreenCanvasSizeOptions+  where+  toJSON GridLayoutScreenCanvasSizeOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("OptimizedViewPortWidth" Data..=)+              Prelude.<$> optimizedViewPortWidth,+            Prelude.Just ("ResizeOption" Data..= resizeOption)+          ]+      )
+ gen/Amazonka/QuickSight/Types/Group.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.QuickSight.Types.Group+-- 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.QuickSight.Types.Group 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 /group/ in Amazon QuickSight consists of a set of users. You can use+-- groups to make it easier to manage access and security.+--+-- /See:/ 'newGroup' smart constructor.+data Group = Group'+  { -- | The Amazon Resource Name (ARN) for the group.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The group description.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the group.+    groupName :: Prelude.Maybe Prelude.Text,+    -- | The principal ID of the group.+    principalId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Group' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'group_arn' - The Amazon Resource Name (ARN) for the group.+--+-- 'description', 'group_description' - The group description.+--+-- 'groupName', 'group_groupName' - The name of the group.+--+-- 'principalId', 'group_principalId' - The principal ID of the group.+newGroup ::+  Group+newGroup =+  Group'+    { arn = Prelude.Nothing,+      description = Prelude.Nothing,+      groupName = Prelude.Nothing,+      principalId = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) for the group.+group_arn :: Lens.Lens' Group (Prelude.Maybe Prelude.Text)+group_arn = Lens.lens (\Group' {arn} -> arn) (\s@Group' {} a -> s {arn = a} :: Group)++-- | The group description.+group_description :: Lens.Lens' Group (Prelude.Maybe Prelude.Text)+group_description = Lens.lens (\Group' {description} -> description) (\s@Group' {} a -> s {description = a} :: Group)++-- | The name of the group.+group_groupName :: Lens.Lens' Group (Prelude.Maybe Prelude.Text)+group_groupName = Lens.lens (\Group' {groupName} -> groupName) (\s@Group' {} a -> s {groupName = a} :: Group)++-- | The principal ID of the group.+group_principalId :: Lens.Lens' Group (Prelude.Maybe Prelude.Text)+group_principalId = Lens.lens (\Group' {principalId} -> principalId) (\s@Group' {} a -> s {principalId = a} :: Group)++instance Data.FromJSON Group where+  parseJSON =+    Data.withObject+      "Group"+      ( \x ->+          Group'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "GroupName")+            Prelude.<*> (x Data..:? "PrincipalId")+      )++instance Prelude.Hashable Group where+  hashWithSalt _salt Group' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` groupName+      `Prelude.hashWithSalt` principalId++instance Prelude.NFData Group where+  rnf Group' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf groupName+      `Prelude.seq` Prelude.rnf principalId
+ gen/Amazonka/QuickSight/Types/GroupFilterAttribute.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.GroupFilterAttribute+-- 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.QuickSight.Types.GroupFilterAttribute+  ( GroupFilterAttribute+      ( ..,+        GroupFilterAttribute_GROUP_NAME+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype GroupFilterAttribute = GroupFilterAttribute'+  { fromGroupFilterAttribute ::+      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 GroupFilterAttribute_GROUP_NAME :: GroupFilterAttribute+pattern GroupFilterAttribute_GROUP_NAME = GroupFilterAttribute' "GROUP_NAME"++{-# COMPLETE+  GroupFilterAttribute_GROUP_NAME,+  GroupFilterAttribute'+  #-}
+ gen/Amazonka/QuickSight/Types/GroupFilterOperator.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.GroupFilterOperator+-- 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.QuickSight.Types.GroupFilterOperator+  ( GroupFilterOperator+      ( ..,+        GroupFilterOperator_StartsWith+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype GroupFilterOperator = GroupFilterOperator'+  { fromGroupFilterOperator ::+      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 GroupFilterOperator_StartsWith :: GroupFilterOperator+pattern GroupFilterOperator_StartsWith = GroupFilterOperator' "StartsWith"++{-# COMPLETE+  GroupFilterOperator_StartsWith,+  GroupFilterOperator'+  #-}
+ gen/Amazonka/QuickSight/Types/GroupMember.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.GroupMember+-- 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.QuickSight.Types.GroupMember 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 member of an Amazon QuickSight group. Currently, group members must be+-- users. Groups can\'t be members of another group. .+--+-- /See:/ 'newGroupMember' smart constructor.+data GroupMember = GroupMember'+  { -- | The Amazon Resource Name (ARN) for the group member (user).+    arn :: Prelude.Maybe Prelude.Text,+    -- | The name of the group member (user).+    memberName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GroupMember' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'groupMember_arn' - The Amazon Resource Name (ARN) for the group member (user).+--+-- 'memberName', 'groupMember_memberName' - The name of the group member (user).+newGroupMember ::+  GroupMember+newGroupMember =+  GroupMember'+    { arn = Prelude.Nothing,+      memberName = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) for the group member (user).+groupMember_arn :: Lens.Lens' GroupMember (Prelude.Maybe Prelude.Text)+groupMember_arn = Lens.lens (\GroupMember' {arn} -> arn) (\s@GroupMember' {} a -> s {arn = a} :: GroupMember)++-- | The name of the group member (user).+groupMember_memberName :: Lens.Lens' GroupMember (Prelude.Maybe Prelude.Text)+groupMember_memberName = Lens.lens (\GroupMember' {memberName} -> memberName) (\s@GroupMember' {} a -> s {memberName = a} :: GroupMember)++instance Data.FromJSON GroupMember where+  parseJSON =+    Data.withObject+      "GroupMember"+      ( \x ->+          GroupMember'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "MemberName")+      )++instance Prelude.Hashable GroupMember where+  hashWithSalt _salt GroupMember' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` memberName++instance Prelude.NFData GroupMember where+  rnf GroupMember' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf memberName
+ gen/Amazonka/QuickSight/Types/GroupSearchFilter.hs view
@@ -0,0 +1,118 @@+{-# 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.QuickSight.Types.GroupSearchFilter+-- 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.QuickSight.Types.GroupSearchFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.GroupFilterAttribute+import Amazonka.QuickSight.Types.GroupFilterOperator++-- | A @GroupSearchFilter@ object that you want to apply to your search.+--+-- /See:/ 'newGroupSearchFilter' smart constructor.+data GroupSearchFilter = GroupSearchFilter'+  { -- | The comparison operator that you want to use as a filter, for example+    -- @\"Operator\": \"StartsWith\"@. Currently, the only supported operator+    -- is @StartsWith@.+    operator :: GroupFilterOperator,+    -- | The name of the value that you want to use as a filter, for example+    -- @\"Name\": \"GROUP_NAME\"@. Currently, the only supported name is+    -- @GROUP_NAME@.+    name :: GroupFilterAttribute,+    -- | The value of the named item, in this case @GROUP_NAME@, that you want to+    -- use as a filter.+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GroupSearchFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'operator', 'groupSearchFilter_operator' - The comparison operator that you want to use as a filter, for example+-- @\"Operator\": \"StartsWith\"@. Currently, the only supported operator+-- is @StartsWith@.+--+-- 'name', 'groupSearchFilter_name' - The name of the value that you want to use as a filter, for example+-- @\"Name\": \"GROUP_NAME\"@. Currently, the only supported name is+-- @GROUP_NAME@.+--+-- 'value', 'groupSearchFilter_value' - The value of the named item, in this case @GROUP_NAME@, that you want to+-- use as a filter.+newGroupSearchFilter ::+  -- | 'operator'+  GroupFilterOperator ->+  -- | 'name'+  GroupFilterAttribute ->+  -- | 'value'+  Prelude.Text ->+  GroupSearchFilter+newGroupSearchFilter pOperator_ pName_ pValue_ =+  GroupSearchFilter'+    { operator = pOperator_,+      name = pName_,+      value = pValue_+    }++-- | The comparison operator that you want to use as a filter, for example+-- @\"Operator\": \"StartsWith\"@. Currently, the only supported operator+-- is @StartsWith@.+groupSearchFilter_operator :: Lens.Lens' GroupSearchFilter GroupFilterOperator+groupSearchFilter_operator = Lens.lens (\GroupSearchFilter' {operator} -> operator) (\s@GroupSearchFilter' {} a -> s {operator = a} :: GroupSearchFilter)++-- | The name of the value that you want to use as a filter, for example+-- @\"Name\": \"GROUP_NAME\"@. Currently, the only supported name is+-- @GROUP_NAME@.+groupSearchFilter_name :: Lens.Lens' GroupSearchFilter GroupFilterAttribute+groupSearchFilter_name = Lens.lens (\GroupSearchFilter' {name} -> name) (\s@GroupSearchFilter' {} a -> s {name = a} :: GroupSearchFilter)++-- | The value of the named item, in this case @GROUP_NAME@, that you want to+-- use as a filter.+groupSearchFilter_value :: Lens.Lens' GroupSearchFilter Prelude.Text+groupSearchFilter_value = Lens.lens (\GroupSearchFilter' {value} -> value) (\s@GroupSearchFilter' {} a -> s {value = a} :: GroupSearchFilter)++instance Prelude.Hashable GroupSearchFilter where+  hashWithSalt _salt GroupSearchFilter' {..} =+    _salt+      `Prelude.hashWithSalt` operator+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` value++instance Prelude.NFData GroupSearchFilter where+  rnf GroupSearchFilter' {..} =+    Prelude.rnf operator+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf value++instance Data.ToJSON GroupSearchFilter where+  toJSON GroupSearchFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Operator" Data..= operator),+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/QuickSight/Types/GrowthRateComputation.hs view
@@ -0,0 +1,138 @@+{-# 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.QuickSight.Types.GrowthRateComputation+-- 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.QuickSight.Types.GrowthRateComputation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The growth rate computation configuration.+--+-- /See:/ 'newGrowthRateComputation' smart constructor.+data GrowthRateComputation = GrowthRateComputation'+  { -- | The name of a computation.+    name :: Prelude.Maybe Prelude.Text,+    -- | The period size setup of a growth rate computation.+    periodSize :: Prelude.Maybe Prelude.Natural,+    -- | The value field that is used in a computation.+    value :: Prelude.Maybe MeasureField,+    -- | The ID for a computation.+    computationId :: Prelude.Text,+    -- | The time field that is used in a computation.+    time :: DimensionField+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GrowthRateComputation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'growthRateComputation_name' - The name of a computation.+--+-- 'periodSize', 'growthRateComputation_periodSize' - The period size setup of a growth rate computation.+--+-- 'value', 'growthRateComputation_value' - The value field that is used in a computation.+--+-- 'computationId', 'growthRateComputation_computationId' - The ID for a computation.+--+-- 'time', 'growthRateComputation_time' - The time field that is used in a computation.+newGrowthRateComputation ::+  -- | 'computationId'+  Prelude.Text ->+  -- | 'time'+  DimensionField ->+  GrowthRateComputation+newGrowthRateComputation pComputationId_ pTime_ =+  GrowthRateComputation'+    { name = Prelude.Nothing,+      periodSize = Prelude.Nothing,+      value = Prelude.Nothing,+      computationId = pComputationId_,+      time = pTime_+    }++-- | The name of a computation.+growthRateComputation_name :: Lens.Lens' GrowthRateComputation (Prelude.Maybe Prelude.Text)+growthRateComputation_name = Lens.lens (\GrowthRateComputation' {name} -> name) (\s@GrowthRateComputation' {} a -> s {name = a} :: GrowthRateComputation)++-- | The period size setup of a growth rate computation.+growthRateComputation_periodSize :: Lens.Lens' GrowthRateComputation (Prelude.Maybe Prelude.Natural)+growthRateComputation_periodSize = Lens.lens (\GrowthRateComputation' {periodSize} -> periodSize) (\s@GrowthRateComputation' {} a -> s {periodSize = a} :: GrowthRateComputation)++-- | The value field that is used in a computation.+growthRateComputation_value :: Lens.Lens' GrowthRateComputation (Prelude.Maybe MeasureField)+growthRateComputation_value = Lens.lens (\GrowthRateComputation' {value} -> value) (\s@GrowthRateComputation' {} a -> s {value = a} :: GrowthRateComputation)++-- | The ID for a computation.+growthRateComputation_computationId :: Lens.Lens' GrowthRateComputation Prelude.Text+growthRateComputation_computationId = Lens.lens (\GrowthRateComputation' {computationId} -> computationId) (\s@GrowthRateComputation' {} a -> s {computationId = a} :: GrowthRateComputation)++-- | The time field that is used in a computation.+growthRateComputation_time :: Lens.Lens' GrowthRateComputation DimensionField+growthRateComputation_time = Lens.lens (\GrowthRateComputation' {time} -> time) (\s@GrowthRateComputation' {} a -> s {time = a} :: GrowthRateComputation)++instance Data.FromJSON GrowthRateComputation where+  parseJSON =+    Data.withObject+      "GrowthRateComputation"+      ( \x ->+          GrowthRateComputation'+            Prelude.<$> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "PeriodSize")+            Prelude.<*> (x Data..:? "Value")+            Prelude.<*> (x Data..: "ComputationId")+            Prelude.<*> (x Data..: "Time")+      )++instance Prelude.Hashable GrowthRateComputation where+  hashWithSalt _salt GrowthRateComputation' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` periodSize+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` computationId+      `Prelude.hashWithSalt` time++instance Prelude.NFData GrowthRateComputation where+  rnf GrowthRateComputation' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf periodSize+      `Prelude.seq` Prelude.rnf value+      `Prelude.seq` Prelude.rnf computationId+      `Prelude.seq` Prelude.rnf time++instance Data.ToJSON GrowthRateComputation where+  toJSON GrowthRateComputation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Name" Data..=) Prelude.<$> name,+            ("PeriodSize" Data..=) Prelude.<$> periodSize,+            ("Value" Data..=) Prelude.<$> value,+            Prelude.Just ("ComputationId" Data..= computationId),+            Prelude.Just ("Time" Data..= time)+          ]+      )
+ gen/Amazonka/QuickSight/Types/GutterStyle.hs view
@@ -0,0 +1,74 @@+{-# 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.QuickSight.Types.GutterStyle+-- 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.QuickSight.Types.GutterStyle 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 display options for gutter spacing between tiles on a sheet.+--+-- /See:/ 'newGutterStyle' smart constructor.+data GutterStyle = GutterStyle'+  { -- | This Boolean value controls whether to display a gutter space between+    -- sheet tiles.+    show :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GutterStyle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'show', 'gutterStyle_show' - This Boolean value controls whether to display a gutter space between+-- sheet tiles.+newGutterStyle ::+  GutterStyle+newGutterStyle = GutterStyle' {show = Prelude.Nothing}++-- | This Boolean value controls whether to display a gutter space between+-- sheet tiles.+gutterStyle_show :: Lens.Lens' GutterStyle (Prelude.Maybe Prelude.Bool)+gutterStyle_show = Lens.lens (\GutterStyle' {show} -> show) (\s@GutterStyle' {} a -> s {show = a} :: GutterStyle)++instance Data.FromJSON GutterStyle where+  parseJSON =+    Data.withObject+      "GutterStyle"+      (\x -> GutterStyle' Prelude.<$> (x Data..:? "Show"))++instance Prelude.Hashable GutterStyle where+  hashWithSalt _salt GutterStyle' {..} =+    _salt `Prelude.hashWithSalt` show++instance Prelude.NFData GutterStyle where+  rnf GutterStyle' {..} = Prelude.rnf show++instance Data.ToJSON GutterStyle where+  toJSON GutterStyle' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Show" Data..=) Prelude.<$> show]+      )
+ gen/Amazonka/QuickSight/Types/HeaderFooterSectionConfiguration.hs view
@@ -0,0 +1,126 @@+{-# 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.QuickSight.Types.HeaderFooterSectionConfiguration+-- 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.QuickSight.Types.HeaderFooterSectionConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.SectionLayoutConfiguration+import Amazonka.QuickSight.Types.SectionStyle++-- | The configuration of a header or footer section.+--+-- /See:/ 'newHeaderFooterSectionConfiguration' smart constructor.+data HeaderFooterSectionConfiguration = HeaderFooterSectionConfiguration'+  { -- | The style options of a header or footer section.+    style :: Prelude.Maybe SectionStyle,+    -- | The unique identifier of the header or footer section.+    sectionId :: Prelude.Text,+    -- | The layout configuration of the header or footer section.+    layout :: SectionLayoutConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HeaderFooterSectionConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'style', 'headerFooterSectionConfiguration_style' - The style options of a header or footer section.+--+-- 'sectionId', 'headerFooterSectionConfiguration_sectionId' - The unique identifier of the header or footer section.+--+-- 'layout', 'headerFooterSectionConfiguration_layout' - The layout configuration of the header or footer section.+newHeaderFooterSectionConfiguration ::+  -- | 'sectionId'+  Prelude.Text ->+  -- | 'layout'+  SectionLayoutConfiguration ->+  HeaderFooterSectionConfiguration+newHeaderFooterSectionConfiguration+  pSectionId_+  pLayout_ =+    HeaderFooterSectionConfiguration'+      { style =+          Prelude.Nothing,+        sectionId = pSectionId_,+        layout = pLayout_+      }++-- | The style options of a header or footer section.+headerFooterSectionConfiguration_style :: Lens.Lens' HeaderFooterSectionConfiguration (Prelude.Maybe SectionStyle)+headerFooterSectionConfiguration_style = Lens.lens (\HeaderFooterSectionConfiguration' {style} -> style) (\s@HeaderFooterSectionConfiguration' {} a -> s {style = a} :: HeaderFooterSectionConfiguration)++-- | The unique identifier of the header or footer section.+headerFooterSectionConfiguration_sectionId :: Lens.Lens' HeaderFooterSectionConfiguration Prelude.Text+headerFooterSectionConfiguration_sectionId = Lens.lens (\HeaderFooterSectionConfiguration' {sectionId} -> sectionId) (\s@HeaderFooterSectionConfiguration' {} a -> s {sectionId = a} :: HeaderFooterSectionConfiguration)++-- | The layout configuration of the header or footer section.+headerFooterSectionConfiguration_layout :: Lens.Lens' HeaderFooterSectionConfiguration SectionLayoutConfiguration+headerFooterSectionConfiguration_layout = Lens.lens (\HeaderFooterSectionConfiguration' {layout} -> layout) (\s@HeaderFooterSectionConfiguration' {} a -> s {layout = a} :: HeaderFooterSectionConfiguration)++instance+  Data.FromJSON+    HeaderFooterSectionConfiguration+  where+  parseJSON =+    Data.withObject+      "HeaderFooterSectionConfiguration"+      ( \x ->+          HeaderFooterSectionConfiguration'+            Prelude.<$> (x Data..:? "Style")+            Prelude.<*> (x Data..: "SectionId")+            Prelude.<*> (x Data..: "Layout")+      )++instance+  Prelude.Hashable+    HeaderFooterSectionConfiguration+  where+  hashWithSalt+    _salt+    HeaderFooterSectionConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` style+        `Prelude.hashWithSalt` sectionId+        `Prelude.hashWithSalt` layout++instance+  Prelude.NFData+    HeaderFooterSectionConfiguration+  where+  rnf HeaderFooterSectionConfiguration' {..} =+    Prelude.rnf style+      `Prelude.seq` Prelude.rnf sectionId+      `Prelude.seq` Prelude.rnf layout++instance Data.ToJSON HeaderFooterSectionConfiguration where+  toJSON HeaderFooterSectionConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Style" Data..=) Prelude.<$> style,+            Prelude.Just ("SectionId" Data..= sectionId),+            Prelude.Just ("Layout" Data..= layout)+          ]+      )
+ gen/Amazonka/QuickSight/Types/HeatMapAggregatedFieldWells.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.QuickSight.Types.HeatMapAggregatedFieldWells+-- 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.QuickSight.Types.HeatMapAggregatedFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The aggregated field wells of a heat map.+--+-- /See:/ 'newHeatMapAggregatedFieldWells' smart constructor.+data HeatMapAggregatedFieldWells = HeatMapAggregatedFieldWells'+  { -- | The columns field well of a heat map.+    columns :: Prelude.Maybe [DimensionField],+    -- | The rows field well of a heat map.+    rows :: Prelude.Maybe [DimensionField],+    -- | The values field well of a heat map.+    values :: Prelude.Maybe [MeasureField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HeatMapAggregatedFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columns', 'heatMapAggregatedFieldWells_columns' - The columns field well of a heat map.+--+-- 'rows', 'heatMapAggregatedFieldWells_rows' - The rows field well of a heat map.+--+-- 'values', 'heatMapAggregatedFieldWells_values' - The values field well of a heat map.+newHeatMapAggregatedFieldWells ::+  HeatMapAggregatedFieldWells+newHeatMapAggregatedFieldWells =+  HeatMapAggregatedFieldWells'+    { columns =+        Prelude.Nothing,+      rows = Prelude.Nothing,+      values = Prelude.Nothing+    }++-- | The columns field well of a heat map.+heatMapAggregatedFieldWells_columns :: Lens.Lens' HeatMapAggregatedFieldWells (Prelude.Maybe [DimensionField])+heatMapAggregatedFieldWells_columns = Lens.lens (\HeatMapAggregatedFieldWells' {columns} -> columns) (\s@HeatMapAggregatedFieldWells' {} a -> s {columns = a} :: HeatMapAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The rows field well of a heat map.+heatMapAggregatedFieldWells_rows :: Lens.Lens' HeatMapAggregatedFieldWells (Prelude.Maybe [DimensionField])+heatMapAggregatedFieldWells_rows = Lens.lens (\HeatMapAggregatedFieldWells' {rows} -> rows) (\s@HeatMapAggregatedFieldWells' {} a -> s {rows = a} :: HeatMapAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The values field well of a heat map.+heatMapAggregatedFieldWells_values :: Lens.Lens' HeatMapAggregatedFieldWells (Prelude.Maybe [MeasureField])+heatMapAggregatedFieldWells_values = Lens.lens (\HeatMapAggregatedFieldWells' {values} -> values) (\s@HeatMapAggregatedFieldWells' {} a -> s {values = a} :: HeatMapAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON HeatMapAggregatedFieldWells where+  parseJSON =+    Data.withObject+      "HeatMapAggregatedFieldWells"+      ( \x ->+          HeatMapAggregatedFieldWells'+            Prelude.<$> (x Data..:? "Columns" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Rows" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Values" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable HeatMapAggregatedFieldWells where+  hashWithSalt _salt HeatMapAggregatedFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` columns+      `Prelude.hashWithSalt` rows+      `Prelude.hashWithSalt` values++instance Prelude.NFData HeatMapAggregatedFieldWells where+  rnf HeatMapAggregatedFieldWells' {..} =+    Prelude.rnf columns+      `Prelude.seq` Prelude.rnf rows+      `Prelude.seq` Prelude.rnf values++instance Data.ToJSON HeatMapAggregatedFieldWells where+  toJSON HeatMapAggregatedFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Columns" Data..=) Prelude.<$> columns,+            ("Rows" Data..=) Prelude.<$> rows,+            ("Values" Data..=) Prelude.<$> values+          ]+      )
+ gen/Amazonka/QuickSight/Types/HeatMapConfiguration.hs view
@@ -0,0 +1,181 @@+{-# 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.QuickSight.Types.HeatMapConfiguration+-- 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.QuickSight.Types.HeatMapConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ChartAxisLabelOptions+import Amazonka.QuickSight.Types.ColorScale+import Amazonka.QuickSight.Types.DataLabelOptions+import Amazonka.QuickSight.Types.HeatMapFieldWells+import Amazonka.QuickSight.Types.HeatMapSortConfiguration+import Amazonka.QuickSight.Types.LegendOptions+import Amazonka.QuickSight.Types.TooltipOptions++-- | The configuration of a heat map.+--+-- /See:/ 'newHeatMapConfiguration' smart constructor.+data HeatMapConfiguration = HeatMapConfiguration'+  { -- | The color options (gradient color, point of divergence) in a heat map.+    colorScale :: Prelude.Maybe ColorScale,+    -- | The label options of the column that is displayed in a heat map.+    columnLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The options that determine if visual data labels are displayed.+    dataLabels :: Prelude.Maybe DataLabelOptions,+    -- | The field wells of the visual.+    fieldWells :: Prelude.Maybe HeatMapFieldWells,+    -- | The legend display setup of the visual.+    legend :: Prelude.Maybe LegendOptions,+    -- | The label options of the row that is displayed in a @heat map@.+    rowLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The sort configuration of a heat map.+    sortConfiguration :: Prelude.Maybe HeatMapSortConfiguration,+    -- | The tooltip display setup of the visual.+    tooltip :: Prelude.Maybe TooltipOptions+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HeatMapConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'colorScale', 'heatMapConfiguration_colorScale' - The color options (gradient color, point of divergence) in a heat map.+--+-- 'columnLabelOptions', 'heatMapConfiguration_columnLabelOptions' - The label options of the column that is displayed in a heat map.+--+-- 'dataLabels', 'heatMapConfiguration_dataLabels' - The options that determine if visual data labels are displayed.+--+-- 'fieldWells', 'heatMapConfiguration_fieldWells' - The field wells of the visual.+--+-- 'legend', 'heatMapConfiguration_legend' - The legend display setup of the visual.+--+-- 'rowLabelOptions', 'heatMapConfiguration_rowLabelOptions' - The label options of the row that is displayed in a @heat map@.+--+-- 'sortConfiguration', 'heatMapConfiguration_sortConfiguration' - The sort configuration of a heat map.+--+-- 'tooltip', 'heatMapConfiguration_tooltip' - The tooltip display setup of the visual.+newHeatMapConfiguration ::+  HeatMapConfiguration+newHeatMapConfiguration =+  HeatMapConfiguration'+    { colorScale = Prelude.Nothing,+      columnLabelOptions = Prelude.Nothing,+      dataLabels = Prelude.Nothing,+      fieldWells = Prelude.Nothing,+      legend = Prelude.Nothing,+      rowLabelOptions = Prelude.Nothing,+      sortConfiguration = Prelude.Nothing,+      tooltip = Prelude.Nothing+    }++-- | The color options (gradient color, point of divergence) in a heat map.+heatMapConfiguration_colorScale :: Lens.Lens' HeatMapConfiguration (Prelude.Maybe ColorScale)+heatMapConfiguration_colorScale = Lens.lens (\HeatMapConfiguration' {colorScale} -> colorScale) (\s@HeatMapConfiguration' {} a -> s {colorScale = a} :: HeatMapConfiguration)++-- | The label options of the column that is displayed in a heat map.+heatMapConfiguration_columnLabelOptions :: Lens.Lens' HeatMapConfiguration (Prelude.Maybe ChartAxisLabelOptions)+heatMapConfiguration_columnLabelOptions = Lens.lens (\HeatMapConfiguration' {columnLabelOptions} -> columnLabelOptions) (\s@HeatMapConfiguration' {} a -> s {columnLabelOptions = a} :: HeatMapConfiguration)++-- | The options that determine if visual data labels are displayed.+heatMapConfiguration_dataLabels :: Lens.Lens' HeatMapConfiguration (Prelude.Maybe DataLabelOptions)+heatMapConfiguration_dataLabels = Lens.lens (\HeatMapConfiguration' {dataLabels} -> dataLabels) (\s@HeatMapConfiguration' {} a -> s {dataLabels = a} :: HeatMapConfiguration)++-- | The field wells of the visual.+heatMapConfiguration_fieldWells :: Lens.Lens' HeatMapConfiguration (Prelude.Maybe HeatMapFieldWells)+heatMapConfiguration_fieldWells = Lens.lens (\HeatMapConfiguration' {fieldWells} -> fieldWells) (\s@HeatMapConfiguration' {} a -> s {fieldWells = a} :: HeatMapConfiguration)++-- | The legend display setup of the visual.+heatMapConfiguration_legend :: Lens.Lens' HeatMapConfiguration (Prelude.Maybe LegendOptions)+heatMapConfiguration_legend = Lens.lens (\HeatMapConfiguration' {legend} -> legend) (\s@HeatMapConfiguration' {} a -> s {legend = a} :: HeatMapConfiguration)++-- | The label options of the row that is displayed in a @heat map@.+heatMapConfiguration_rowLabelOptions :: Lens.Lens' HeatMapConfiguration (Prelude.Maybe ChartAxisLabelOptions)+heatMapConfiguration_rowLabelOptions = Lens.lens (\HeatMapConfiguration' {rowLabelOptions} -> rowLabelOptions) (\s@HeatMapConfiguration' {} a -> s {rowLabelOptions = a} :: HeatMapConfiguration)++-- | The sort configuration of a heat map.+heatMapConfiguration_sortConfiguration :: Lens.Lens' HeatMapConfiguration (Prelude.Maybe HeatMapSortConfiguration)+heatMapConfiguration_sortConfiguration = Lens.lens (\HeatMapConfiguration' {sortConfiguration} -> sortConfiguration) (\s@HeatMapConfiguration' {} a -> s {sortConfiguration = a} :: HeatMapConfiguration)++-- | The tooltip display setup of the visual.+heatMapConfiguration_tooltip :: Lens.Lens' HeatMapConfiguration (Prelude.Maybe TooltipOptions)+heatMapConfiguration_tooltip = Lens.lens (\HeatMapConfiguration' {tooltip} -> tooltip) (\s@HeatMapConfiguration' {} a -> s {tooltip = a} :: HeatMapConfiguration)++instance Data.FromJSON HeatMapConfiguration where+  parseJSON =+    Data.withObject+      "HeatMapConfiguration"+      ( \x ->+          HeatMapConfiguration'+            Prelude.<$> (x Data..:? "ColorScale")+            Prelude.<*> (x Data..:? "ColumnLabelOptions")+            Prelude.<*> (x Data..:? "DataLabels")+            Prelude.<*> (x Data..:? "FieldWells")+            Prelude.<*> (x Data..:? "Legend")+            Prelude.<*> (x Data..:? "RowLabelOptions")+            Prelude.<*> (x Data..:? "SortConfiguration")+            Prelude.<*> (x Data..:? "Tooltip")+      )++instance Prelude.Hashable HeatMapConfiguration where+  hashWithSalt _salt HeatMapConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` colorScale+      `Prelude.hashWithSalt` columnLabelOptions+      `Prelude.hashWithSalt` dataLabels+      `Prelude.hashWithSalt` fieldWells+      `Prelude.hashWithSalt` legend+      `Prelude.hashWithSalt` rowLabelOptions+      `Prelude.hashWithSalt` sortConfiguration+      `Prelude.hashWithSalt` tooltip++instance Prelude.NFData HeatMapConfiguration where+  rnf HeatMapConfiguration' {..} =+    Prelude.rnf colorScale+      `Prelude.seq` Prelude.rnf columnLabelOptions+      `Prelude.seq` Prelude.rnf dataLabels+      `Prelude.seq` Prelude.rnf fieldWells+      `Prelude.seq` Prelude.rnf legend+      `Prelude.seq` Prelude.rnf rowLabelOptions+      `Prelude.seq` Prelude.rnf sortConfiguration+      `Prelude.seq` Prelude.rnf tooltip++instance Data.ToJSON HeatMapConfiguration where+  toJSON HeatMapConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ColorScale" Data..=) Prelude.<$> colorScale,+            ("ColumnLabelOptions" Data..=)+              Prelude.<$> columnLabelOptions,+            ("DataLabels" Data..=) Prelude.<$> dataLabels,+            ("FieldWells" Data..=) Prelude.<$> fieldWells,+            ("Legend" Data..=) Prelude.<$> legend,+            ("RowLabelOptions" Data..=)+              Prelude.<$> rowLabelOptions,+            ("SortConfiguration" Data..=)+              Prelude.<$> sortConfiguration,+            ("Tooltip" Data..=) Prelude.<$> tooltip+          ]+      )
+ gen/Amazonka/QuickSight/Types/HeatMapFieldWells.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.QuickSight.Types.HeatMapFieldWells+-- 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.QuickSight.Types.HeatMapFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.HeatMapAggregatedFieldWells++-- | The field well configuration of a heat map.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newHeatMapFieldWells' smart constructor.+data HeatMapFieldWells = HeatMapFieldWells'+  { -- | The aggregated field wells of a heat map.+    heatMapAggregatedFieldWells :: Prelude.Maybe HeatMapAggregatedFieldWells+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HeatMapFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'heatMapAggregatedFieldWells', 'heatMapFieldWells_heatMapAggregatedFieldWells' - The aggregated field wells of a heat map.+newHeatMapFieldWells ::+  HeatMapFieldWells+newHeatMapFieldWells =+  HeatMapFieldWells'+    { heatMapAggregatedFieldWells =+        Prelude.Nothing+    }++-- | The aggregated field wells of a heat map.+heatMapFieldWells_heatMapAggregatedFieldWells :: Lens.Lens' HeatMapFieldWells (Prelude.Maybe HeatMapAggregatedFieldWells)+heatMapFieldWells_heatMapAggregatedFieldWells = Lens.lens (\HeatMapFieldWells' {heatMapAggregatedFieldWells} -> heatMapAggregatedFieldWells) (\s@HeatMapFieldWells' {} a -> s {heatMapAggregatedFieldWells = a} :: HeatMapFieldWells)++instance Data.FromJSON HeatMapFieldWells where+  parseJSON =+    Data.withObject+      "HeatMapFieldWells"+      ( \x ->+          HeatMapFieldWells'+            Prelude.<$> (x Data..:? "HeatMapAggregatedFieldWells")+      )++instance Prelude.Hashable HeatMapFieldWells where+  hashWithSalt _salt HeatMapFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` heatMapAggregatedFieldWells++instance Prelude.NFData HeatMapFieldWells where+  rnf HeatMapFieldWells' {..} =+    Prelude.rnf heatMapAggregatedFieldWells++instance Data.ToJSON HeatMapFieldWells where+  toJSON HeatMapFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("HeatMapAggregatedFieldWells" Data..=)+              Prelude.<$> heatMapAggregatedFieldWells+          ]+      )
+ gen/Amazonka/QuickSight/Types/HeatMapSortConfiguration.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.QuickSight.Types.HeatMapSortConfiguration+-- 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.QuickSight.Types.HeatMapSortConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FieldSortOptions+import Amazonka.QuickSight.Types.ItemsLimitConfiguration++-- | The sort configuration of a heat map.+--+-- /See:/ 'newHeatMapSortConfiguration' smart constructor.+data HeatMapSortConfiguration = HeatMapSortConfiguration'+  { -- | The limit on the number of columns that are displayed in a heat map.+    heatMapColumnItemsLimitConfiguration :: Prelude.Maybe ItemsLimitConfiguration,+    -- | The column sort configuration for heat map for columns that aren\'t a+    -- part of a field well.+    heatMapColumnSort :: Prelude.Maybe [FieldSortOptions],+    -- | The limit on the number of rows that are displayed in a heat map.+    heatMapRowItemsLimitConfiguration :: Prelude.Maybe ItemsLimitConfiguration,+    -- | The field sort configuration of the rows fields.+    heatMapRowSort :: Prelude.Maybe [FieldSortOptions]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HeatMapSortConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'heatMapColumnItemsLimitConfiguration', 'heatMapSortConfiguration_heatMapColumnItemsLimitConfiguration' - The limit on the number of columns that are displayed in a heat map.+--+-- 'heatMapColumnSort', 'heatMapSortConfiguration_heatMapColumnSort' - The column sort configuration for heat map for columns that aren\'t a+-- part of a field well.+--+-- 'heatMapRowItemsLimitConfiguration', 'heatMapSortConfiguration_heatMapRowItemsLimitConfiguration' - The limit on the number of rows that are displayed in a heat map.+--+-- 'heatMapRowSort', 'heatMapSortConfiguration_heatMapRowSort' - The field sort configuration of the rows fields.+newHeatMapSortConfiguration ::+  HeatMapSortConfiguration+newHeatMapSortConfiguration =+  HeatMapSortConfiguration'+    { heatMapColumnItemsLimitConfiguration =+        Prelude.Nothing,+      heatMapColumnSort = Prelude.Nothing,+      heatMapRowItemsLimitConfiguration =+        Prelude.Nothing,+      heatMapRowSort = Prelude.Nothing+    }++-- | The limit on the number of columns that are displayed in a heat map.+heatMapSortConfiguration_heatMapColumnItemsLimitConfiguration :: Lens.Lens' HeatMapSortConfiguration (Prelude.Maybe ItemsLimitConfiguration)+heatMapSortConfiguration_heatMapColumnItemsLimitConfiguration = Lens.lens (\HeatMapSortConfiguration' {heatMapColumnItemsLimitConfiguration} -> heatMapColumnItemsLimitConfiguration) (\s@HeatMapSortConfiguration' {} a -> s {heatMapColumnItemsLimitConfiguration = a} :: HeatMapSortConfiguration)++-- | The column sort configuration for heat map for columns that aren\'t a+-- part of a field well.+heatMapSortConfiguration_heatMapColumnSort :: Lens.Lens' HeatMapSortConfiguration (Prelude.Maybe [FieldSortOptions])+heatMapSortConfiguration_heatMapColumnSort = Lens.lens (\HeatMapSortConfiguration' {heatMapColumnSort} -> heatMapColumnSort) (\s@HeatMapSortConfiguration' {} a -> s {heatMapColumnSort = a} :: HeatMapSortConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The limit on the number of rows that are displayed in a heat map.+heatMapSortConfiguration_heatMapRowItemsLimitConfiguration :: Lens.Lens' HeatMapSortConfiguration (Prelude.Maybe ItemsLimitConfiguration)+heatMapSortConfiguration_heatMapRowItemsLimitConfiguration = Lens.lens (\HeatMapSortConfiguration' {heatMapRowItemsLimitConfiguration} -> heatMapRowItemsLimitConfiguration) (\s@HeatMapSortConfiguration' {} a -> s {heatMapRowItemsLimitConfiguration = a} :: HeatMapSortConfiguration)++-- | The field sort configuration of the rows fields.+heatMapSortConfiguration_heatMapRowSort :: Lens.Lens' HeatMapSortConfiguration (Prelude.Maybe [FieldSortOptions])+heatMapSortConfiguration_heatMapRowSort = Lens.lens (\HeatMapSortConfiguration' {heatMapRowSort} -> heatMapRowSort) (\s@HeatMapSortConfiguration' {} a -> s {heatMapRowSort = a} :: HeatMapSortConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON HeatMapSortConfiguration where+  parseJSON =+    Data.withObject+      "HeatMapSortConfiguration"+      ( \x ->+          HeatMapSortConfiguration'+            Prelude.<$> (x Data..:? "HeatMapColumnItemsLimitConfiguration")+            Prelude.<*> ( x+                            Data..:? "HeatMapColumnSort"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "HeatMapRowItemsLimitConfiguration")+            Prelude.<*> ( x+                            Data..:? "HeatMapRowSort"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable HeatMapSortConfiguration where+  hashWithSalt _salt HeatMapSortConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` heatMapColumnItemsLimitConfiguration+      `Prelude.hashWithSalt` heatMapColumnSort+      `Prelude.hashWithSalt` heatMapRowItemsLimitConfiguration+      `Prelude.hashWithSalt` heatMapRowSort++instance Prelude.NFData HeatMapSortConfiguration where+  rnf HeatMapSortConfiguration' {..} =+    Prelude.rnf heatMapColumnItemsLimitConfiguration+      `Prelude.seq` Prelude.rnf heatMapColumnSort+      `Prelude.seq` Prelude.rnf heatMapRowItemsLimitConfiguration+      `Prelude.seq` Prelude.rnf heatMapRowSort++instance Data.ToJSON HeatMapSortConfiguration where+  toJSON HeatMapSortConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("HeatMapColumnItemsLimitConfiguration" Data..=)+              Prelude.<$> heatMapColumnItemsLimitConfiguration,+            ("HeatMapColumnSort" Data..=)+              Prelude.<$> heatMapColumnSort,+            ("HeatMapRowItemsLimitConfiguration" Data..=)+              Prelude.<$> heatMapRowItemsLimitConfiguration,+            ("HeatMapRowSort" Data..=)+              Prelude.<$> heatMapRowSort+          ]+      )
+ gen/Amazonka/QuickSight/Types/HeatMapVisual.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.QuickSight.Types.HeatMapVisual+-- 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.QuickSight.Types.HeatMapVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnHierarchy+import Amazonka.QuickSight.Types.HeatMapConfiguration+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions++-- | A heat map.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/heat-map.html Using heat maps>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newHeatMapVisual' smart constructor.+data HeatMapVisual = HeatMapVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration of a heat map.+    chartConfiguration :: Prelude.Maybe HeatMapConfiguration,+    -- | The column hierarchy that is used during drill-downs and drill-ups.+    columnHierarchies :: Prelude.Maybe [ColumnHierarchy],+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers.+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HeatMapVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'heatMapVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'heatMapVisual_chartConfiguration' - The configuration of a heat map.+--+-- 'columnHierarchies', 'heatMapVisual_columnHierarchies' - The column hierarchy that is used during drill-downs and drill-ups.+--+-- 'subtitle', 'heatMapVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'heatMapVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'heatMapVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+newHeatMapVisual ::+  -- | 'visualId'+  Prelude.Text ->+  HeatMapVisual+newHeatMapVisual pVisualId_ =+  HeatMapVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      columnHierarchies = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_+    }++-- | The list of custom actions that are configured for a visual.+heatMapVisual_actions :: Lens.Lens' HeatMapVisual (Prelude.Maybe [VisualCustomAction])+heatMapVisual_actions = Lens.lens (\HeatMapVisual' {actions} -> actions) (\s@HeatMapVisual' {} a -> s {actions = a} :: HeatMapVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration of a heat map.+heatMapVisual_chartConfiguration :: Lens.Lens' HeatMapVisual (Prelude.Maybe HeatMapConfiguration)+heatMapVisual_chartConfiguration = Lens.lens (\HeatMapVisual' {chartConfiguration} -> chartConfiguration) (\s@HeatMapVisual' {} a -> s {chartConfiguration = a} :: HeatMapVisual)++-- | The column hierarchy that is used during drill-downs and drill-ups.+heatMapVisual_columnHierarchies :: Lens.Lens' HeatMapVisual (Prelude.Maybe [ColumnHierarchy])+heatMapVisual_columnHierarchies = Lens.lens (\HeatMapVisual' {columnHierarchies} -> columnHierarchies) (\s@HeatMapVisual' {} a -> s {columnHierarchies = a} :: HeatMapVisual) Prelude.. Lens.mapping Lens.coerced++-- | The subtitle that is displayed on the visual.+heatMapVisual_subtitle :: Lens.Lens' HeatMapVisual (Prelude.Maybe VisualSubtitleLabelOptions)+heatMapVisual_subtitle = Lens.lens (\HeatMapVisual' {subtitle} -> subtitle) (\s@HeatMapVisual' {} a -> s {subtitle = a} :: HeatMapVisual)++-- | The title that is displayed on the visual.+heatMapVisual_title :: Lens.Lens' HeatMapVisual (Prelude.Maybe VisualTitleLabelOptions)+heatMapVisual_title = Lens.lens (\HeatMapVisual' {title} -> title) (\s@HeatMapVisual' {} a -> s {title = a} :: HeatMapVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+heatMapVisual_visualId :: Lens.Lens' HeatMapVisual Prelude.Text+heatMapVisual_visualId = Lens.lens (\HeatMapVisual' {visualId} -> visualId) (\s@HeatMapVisual' {} a -> s {visualId = a} :: HeatMapVisual)++instance Data.FromJSON HeatMapVisual where+  parseJSON =+    Data.withObject+      "HeatMapVisual"+      ( \x ->+          HeatMapVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> ( x+                            Data..:? "ColumnHierarchies"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+      )++instance Prelude.Hashable HeatMapVisual where+  hashWithSalt _salt HeatMapVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` columnHierarchies+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData HeatMapVisual where+  rnf HeatMapVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf columnHierarchies+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON HeatMapVisual where+  toJSON HeatMapVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("ColumnHierarchies" Data..=)+              Prelude.<$> columnHierarchies,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/HistogramAggregatedFieldWells.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.QuickSight.Types.HistogramAggregatedFieldWells+-- 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.QuickSight.Types.HistogramAggregatedFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.MeasureField++-- | The field well configuration of a histogram.+--+-- /See:/ 'newHistogramAggregatedFieldWells' smart constructor.+data HistogramAggregatedFieldWells = HistogramAggregatedFieldWells'+  { -- | The value field wells of a histogram. Values are aggregated by @COUNT@+    -- or @DISTINCT_COUNT@.+    values :: Prelude.Maybe [MeasureField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HistogramAggregatedFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'values', 'histogramAggregatedFieldWells_values' - The value field wells of a histogram. Values are aggregated by @COUNT@+-- or @DISTINCT_COUNT@.+newHistogramAggregatedFieldWells ::+  HistogramAggregatedFieldWells+newHistogramAggregatedFieldWells =+  HistogramAggregatedFieldWells'+    { values =+        Prelude.Nothing+    }++-- | The value field wells of a histogram. Values are aggregated by @COUNT@+-- or @DISTINCT_COUNT@.+histogramAggregatedFieldWells_values :: Lens.Lens' HistogramAggregatedFieldWells (Prelude.Maybe [MeasureField])+histogramAggregatedFieldWells_values = Lens.lens (\HistogramAggregatedFieldWells' {values} -> values) (\s@HistogramAggregatedFieldWells' {} a -> s {values = a} :: HistogramAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON HistogramAggregatedFieldWells where+  parseJSON =+    Data.withObject+      "HistogramAggregatedFieldWells"+      ( \x ->+          HistogramAggregatedFieldWells'+            Prelude.<$> (x Data..:? "Values" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    HistogramAggregatedFieldWells+  where+  hashWithSalt _salt HistogramAggregatedFieldWells' {..} =+    _salt `Prelude.hashWithSalt` values++instance Prelude.NFData HistogramAggregatedFieldWells where+  rnf HistogramAggregatedFieldWells' {..} =+    Prelude.rnf values++instance Data.ToJSON HistogramAggregatedFieldWells where+  toJSON HistogramAggregatedFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Values" Data..=) Prelude.<$> values]+      )
+ gen/Amazonka/QuickSight/Types/HistogramBinOptions.hs view
@@ -0,0 +1,123 @@+{-# 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.QuickSight.Types.HistogramBinOptions+-- 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.QuickSight.Types.HistogramBinOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.BinCountOptions+import Amazonka.QuickSight.Types.BinWidthOptions+import Amazonka.QuickSight.Types.HistogramBinType++-- | The options that determine the presentation of histogram bins.+--+-- /See:/ 'newHistogramBinOptions' smart constructor.+data HistogramBinOptions = HistogramBinOptions'+  { -- | The options that determine the bin count of a histogram.+    binCount :: Prelude.Maybe BinCountOptions,+    -- | The options that determine the bin width of a histogram.+    binWidth :: Prelude.Maybe BinWidthOptions,+    -- | The options that determine the selected bin type.+    selectedBinType :: Prelude.Maybe HistogramBinType,+    -- | The options that determine the bin start value.+    startValue :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HistogramBinOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'binCount', 'histogramBinOptions_binCount' - The options that determine the bin count of a histogram.+--+-- 'binWidth', 'histogramBinOptions_binWidth' - The options that determine the bin width of a histogram.+--+-- 'selectedBinType', 'histogramBinOptions_selectedBinType' - The options that determine the selected bin type.+--+-- 'startValue', 'histogramBinOptions_startValue' - The options that determine the bin start value.+newHistogramBinOptions ::+  HistogramBinOptions+newHistogramBinOptions =+  HistogramBinOptions'+    { binCount = Prelude.Nothing,+      binWidth = Prelude.Nothing,+      selectedBinType = Prelude.Nothing,+      startValue = Prelude.Nothing+    }++-- | The options that determine the bin count of a histogram.+histogramBinOptions_binCount :: Lens.Lens' HistogramBinOptions (Prelude.Maybe BinCountOptions)+histogramBinOptions_binCount = Lens.lens (\HistogramBinOptions' {binCount} -> binCount) (\s@HistogramBinOptions' {} a -> s {binCount = a} :: HistogramBinOptions)++-- | The options that determine the bin width of a histogram.+histogramBinOptions_binWidth :: Lens.Lens' HistogramBinOptions (Prelude.Maybe BinWidthOptions)+histogramBinOptions_binWidth = Lens.lens (\HistogramBinOptions' {binWidth} -> binWidth) (\s@HistogramBinOptions' {} a -> s {binWidth = a} :: HistogramBinOptions)++-- | The options that determine the selected bin type.+histogramBinOptions_selectedBinType :: Lens.Lens' HistogramBinOptions (Prelude.Maybe HistogramBinType)+histogramBinOptions_selectedBinType = Lens.lens (\HistogramBinOptions' {selectedBinType} -> selectedBinType) (\s@HistogramBinOptions' {} a -> s {selectedBinType = a} :: HistogramBinOptions)++-- | The options that determine the bin start value.+histogramBinOptions_startValue :: Lens.Lens' HistogramBinOptions (Prelude.Maybe Prelude.Double)+histogramBinOptions_startValue = Lens.lens (\HistogramBinOptions' {startValue} -> startValue) (\s@HistogramBinOptions' {} a -> s {startValue = a} :: HistogramBinOptions)++instance Data.FromJSON HistogramBinOptions where+  parseJSON =+    Data.withObject+      "HistogramBinOptions"+      ( \x ->+          HistogramBinOptions'+            Prelude.<$> (x Data..:? "BinCount")+            Prelude.<*> (x Data..:? "BinWidth")+            Prelude.<*> (x Data..:? "SelectedBinType")+            Prelude.<*> (x Data..:? "StartValue")+      )++instance Prelude.Hashable HistogramBinOptions where+  hashWithSalt _salt HistogramBinOptions' {..} =+    _salt+      `Prelude.hashWithSalt` binCount+      `Prelude.hashWithSalt` binWidth+      `Prelude.hashWithSalt` selectedBinType+      `Prelude.hashWithSalt` startValue++instance Prelude.NFData HistogramBinOptions where+  rnf HistogramBinOptions' {..} =+    Prelude.rnf binCount+      `Prelude.seq` Prelude.rnf binWidth+      `Prelude.seq` Prelude.rnf selectedBinType+      `Prelude.seq` Prelude.rnf startValue++instance Data.ToJSON HistogramBinOptions where+  toJSON HistogramBinOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BinCount" Data..=) Prelude.<$> binCount,+            ("BinWidth" Data..=) Prelude.<$> binWidth,+            ("SelectedBinType" Data..=)+              Prelude.<$> selectedBinType,+            ("StartValue" Data..=) Prelude.<$> startValue+          ]+      )
+ gen/Amazonka/QuickSight/Types/HistogramBinType.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.QuickSight.Types.HistogramBinType+-- 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.QuickSight.Types.HistogramBinType+  ( HistogramBinType+      ( ..,+        HistogramBinType_BIN_COUNT,+        HistogramBinType_BIN_WIDTH+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype HistogramBinType = HistogramBinType'+  { fromHistogramBinType ::+      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 HistogramBinType_BIN_COUNT :: HistogramBinType+pattern HistogramBinType_BIN_COUNT = HistogramBinType' "BIN_COUNT"++pattern HistogramBinType_BIN_WIDTH :: HistogramBinType+pattern HistogramBinType_BIN_WIDTH = HistogramBinType' "BIN_WIDTH"++{-# COMPLETE+  HistogramBinType_BIN_COUNT,+  HistogramBinType_BIN_WIDTH,+  HistogramBinType'+  #-}
+ gen/Amazonka/QuickSight/Types/HistogramConfiguration.hs view
@@ -0,0 +1,182 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.HistogramConfiguration+-- 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.QuickSight.Types.HistogramConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AxisDisplayOptions+import Amazonka.QuickSight.Types.ChartAxisLabelOptions+import Amazonka.QuickSight.Types.DataLabelOptions+import Amazonka.QuickSight.Types.HistogramBinOptions+import Amazonka.QuickSight.Types.HistogramFieldWells+import Amazonka.QuickSight.Types.TooltipOptions+import Amazonka.QuickSight.Types.VisualPalette++-- | The configuration for a @HistogramVisual@.+--+-- /See:/ 'newHistogramConfiguration' smart constructor.+data HistogramConfiguration = HistogramConfiguration'+  { -- | The options that determine the presentation of histogram bins.+    binOptions :: Prelude.Maybe HistogramBinOptions,+    -- | The data label configuration of a histogram.+    dataLabels :: Prelude.Maybe DataLabelOptions,+    -- | The field well configuration of a histogram.+    fieldWells :: Prelude.Maybe HistogramFieldWells,+    -- | The tooltip configuration of a histogram.+    tooltip :: Prelude.Maybe TooltipOptions,+    -- | The visual palette configuration of a histogram.+    visualPalette :: Prelude.Maybe VisualPalette,+    -- | The options that determine the presentation of the x-axis.+    xAxisDisplayOptions :: Prelude.Maybe AxisDisplayOptions,+    -- | The options that determine the presentation of the x-axis label.+    xAxisLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The options that determine the presentation of the y-axis.+    yAxisDisplayOptions :: Prelude.Maybe AxisDisplayOptions+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HistogramConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'binOptions', 'histogramConfiguration_binOptions' - The options that determine the presentation of histogram bins.+--+-- 'dataLabels', 'histogramConfiguration_dataLabels' - The data label configuration of a histogram.+--+-- 'fieldWells', 'histogramConfiguration_fieldWells' - The field well configuration of a histogram.+--+-- 'tooltip', 'histogramConfiguration_tooltip' - The tooltip configuration of a histogram.+--+-- 'visualPalette', 'histogramConfiguration_visualPalette' - The visual palette configuration of a histogram.+--+-- 'xAxisDisplayOptions', 'histogramConfiguration_xAxisDisplayOptions' - The options that determine the presentation of the x-axis.+--+-- 'xAxisLabelOptions', 'histogramConfiguration_xAxisLabelOptions' - The options that determine the presentation of the x-axis label.+--+-- 'yAxisDisplayOptions', 'histogramConfiguration_yAxisDisplayOptions' - The options that determine the presentation of the y-axis.+newHistogramConfiguration ::+  HistogramConfiguration+newHistogramConfiguration =+  HistogramConfiguration'+    { binOptions =+        Prelude.Nothing,+      dataLabels = Prelude.Nothing,+      fieldWells = Prelude.Nothing,+      tooltip = Prelude.Nothing,+      visualPalette = Prelude.Nothing,+      xAxisDisplayOptions = Prelude.Nothing,+      xAxisLabelOptions = Prelude.Nothing,+      yAxisDisplayOptions = Prelude.Nothing+    }++-- | The options that determine the presentation of histogram bins.+histogramConfiguration_binOptions :: Lens.Lens' HistogramConfiguration (Prelude.Maybe HistogramBinOptions)+histogramConfiguration_binOptions = Lens.lens (\HistogramConfiguration' {binOptions} -> binOptions) (\s@HistogramConfiguration' {} a -> s {binOptions = a} :: HistogramConfiguration)++-- | The data label configuration of a histogram.+histogramConfiguration_dataLabels :: Lens.Lens' HistogramConfiguration (Prelude.Maybe DataLabelOptions)+histogramConfiguration_dataLabels = Lens.lens (\HistogramConfiguration' {dataLabels} -> dataLabels) (\s@HistogramConfiguration' {} a -> s {dataLabels = a} :: HistogramConfiguration)++-- | The field well configuration of a histogram.+histogramConfiguration_fieldWells :: Lens.Lens' HistogramConfiguration (Prelude.Maybe HistogramFieldWells)+histogramConfiguration_fieldWells = Lens.lens (\HistogramConfiguration' {fieldWells} -> fieldWells) (\s@HistogramConfiguration' {} a -> s {fieldWells = a} :: HistogramConfiguration)++-- | The tooltip configuration of a histogram.+histogramConfiguration_tooltip :: Lens.Lens' HistogramConfiguration (Prelude.Maybe TooltipOptions)+histogramConfiguration_tooltip = Lens.lens (\HistogramConfiguration' {tooltip} -> tooltip) (\s@HistogramConfiguration' {} a -> s {tooltip = a} :: HistogramConfiguration)++-- | The visual palette configuration of a histogram.+histogramConfiguration_visualPalette :: Lens.Lens' HistogramConfiguration (Prelude.Maybe VisualPalette)+histogramConfiguration_visualPalette = Lens.lens (\HistogramConfiguration' {visualPalette} -> visualPalette) (\s@HistogramConfiguration' {} a -> s {visualPalette = a} :: HistogramConfiguration)++-- | The options that determine the presentation of the x-axis.+histogramConfiguration_xAxisDisplayOptions :: Lens.Lens' HistogramConfiguration (Prelude.Maybe AxisDisplayOptions)+histogramConfiguration_xAxisDisplayOptions = Lens.lens (\HistogramConfiguration' {xAxisDisplayOptions} -> xAxisDisplayOptions) (\s@HistogramConfiguration' {} a -> s {xAxisDisplayOptions = a} :: HistogramConfiguration)++-- | The options that determine the presentation of the x-axis label.+histogramConfiguration_xAxisLabelOptions :: Lens.Lens' HistogramConfiguration (Prelude.Maybe ChartAxisLabelOptions)+histogramConfiguration_xAxisLabelOptions = Lens.lens (\HistogramConfiguration' {xAxisLabelOptions} -> xAxisLabelOptions) (\s@HistogramConfiguration' {} a -> s {xAxisLabelOptions = a} :: HistogramConfiguration)++-- | The options that determine the presentation of the y-axis.+histogramConfiguration_yAxisDisplayOptions :: Lens.Lens' HistogramConfiguration (Prelude.Maybe AxisDisplayOptions)+histogramConfiguration_yAxisDisplayOptions = Lens.lens (\HistogramConfiguration' {yAxisDisplayOptions} -> yAxisDisplayOptions) (\s@HistogramConfiguration' {} a -> s {yAxisDisplayOptions = a} :: HistogramConfiguration)++instance Data.FromJSON HistogramConfiguration where+  parseJSON =+    Data.withObject+      "HistogramConfiguration"+      ( \x ->+          HistogramConfiguration'+            Prelude.<$> (x Data..:? "BinOptions")+            Prelude.<*> (x Data..:? "DataLabels")+            Prelude.<*> (x Data..:? "FieldWells")+            Prelude.<*> (x Data..:? "Tooltip")+            Prelude.<*> (x Data..:? "VisualPalette")+            Prelude.<*> (x Data..:? "XAxisDisplayOptions")+            Prelude.<*> (x Data..:? "XAxisLabelOptions")+            Prelude.<*> (x Data..:? "YAxisDisplayOptions")+      )++instance Prelude.Hashable HistogramConfiguration where+  hashWithSalt _salt HistogramConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` binOptions+      `Prelude.hashWithSalt` dataLabels+      `Prelude.hashWithSalt` fieldWells+      `Prelude.hashWithSalt` tooltip+      `Prelude.hashWithSalt` visualPalette+      `Prelude.hashWithSalt` xAxisDisplayOptions+      `Prelude.hashWithSalt` xAxisLabelOptions+      `Prelude.hashWithSalt` yAxisDisplayOptions++instance Prelude.NFData HistogramConfiguration where+  rnf HistogramConfiguration' {..} =+    Prelude.rnf binOptions+      `Prelude.seq` Prelude.rnf dataLabels+      `Prelude.seq` Prelude.rnf fieldWells+      `Prelude.seq` Prelude.rnf tooltip+      `Prelude.seq` Prelude.rnf visualPalette+      `Prelude.seq` Prelude.rnf xAxisDisplayOptions+      `Prelude.seq` Prelude.rnf xAxisLabelOptions+      `Prelude.seq` Prelude.rnf yAxisDisplayOptions++instance Data.ToJSON HistogramConfiguration where+  toJSON HistogramConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BinOptions" Data..=) Prelude.<$> binOptions,+            ("DataLabels" Data..=) Prelude.<$> dataLabels,+            ("FieldWells" Data..=) Prelude.<$> fieldWells,+            ("Tooltip" Data..=) Prelude.<$> tooltip,+            ("VisualPalette" Data..=) Prelude.<$> visualPalette,+            ("XAxisDisplayOptions" Data..=)+              Prelude.<$> xAxisDisplayOptions,+            ("XAxisLabelOptions" Data..=)+              Prelude.<$> xAxisLabelOptions,+            ("YAxisDisplayOptions" Data..=)+              Prelude.<$> yAxisDisplayOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/HistogramFieldWells.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.HistogramFieldWells+-- 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.QuickSight.Types.HistogramFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.HistogramAggregatedFieldWells++-- | The field well configuration of a histogram.+--+-- /See:/ 'newHistogramFieldWells' smart constructor.+data HistogramFieldWells = HistogramFieldWells'+  { -- | The field well configuration of a histogram.+    histogramAggregatedFieldWells :: Prelude.Maybe HistogramAggregatedFieldWells+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HistogramFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'histogramAggregatedFieldWells', 'histogramFieldWells_histogramAggregatedFieldWells' - The field well configuration of a histogram.+newHistogramFieldWells ::+  HistogramFieldWells+newHistogramFieldWells =+  HistogramFieldWells'+    { histogramAggregatedFieldWells =+        Prelude.Nothing+    }++-- | The field well configuration of a histogram.+histogramFieldWells_histogramAggregatedFieldWells :: Lens.Lens' HistogramFieldWells (Prelude.Maybe HistogramAggregatedFieldWells)+histogramFieldWells_histogramAggregatedFieldWells = Lens.lens (\HistogramFieldWells' {histogramAggregatedFieldWells} -> histogramAggregatedFieldWells) (\s@HistogramFieldWells' {} a -> s {histogramAggregatedFieldWells = a} :: HistogramFieldWells)++instance Data.FromJSON HistogramFieldWells where+  parseJSON =+    Data.withObject+      "HistogramFieldWells"+      ( \x ->+          HistogramFieldWells'+            Prelude.<$> (x Data..:? "HistogramAggregatedFieldWells")+      )++instance Prelude.Hashable HistogramFieldWells where+  hashWithSalt _salt HistogramFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` histogramAggregatedFieldWells++instance Prelude.NFData HistogramFieldWells where+  rnf HistogramFieldWells' {..} =+    Prelude.rnf histogramAggregatedFieldWells++instance Data.ToJSON HistogramFieldWells where+  toJSON HistogramFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("HistogramAggregatedFieldWells" Data..=)+              Prelude.<$> histogramAggregatedFieldWells+          ]+      )
+ gen/Amazonka/QuickSight/Types/HistogramVisual.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.HistogramVisual+-- 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.QuickSight.Types.HistogramVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.HistogramConfiguration+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions++-- | A histogram.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/histogram-charts.html Using histograms>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newHistogramVisual' smart constructor.+data HistogramVisual = HistogramVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration for a @HistogramVisual@.+    chartConfiguration :: Prelude.Maybe HistogramConfiguration,+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers.+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HistogramVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'histogramVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'histogramVisual_chartConfiguration' - The configuration for a @HistogramVisual@.+--+-- 'subtitle', 'histogramVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'histogramVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'histogramVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+newHistogramVisual ::+  -- | 'visualId'+  Prelude.Text ->+  HistogramVisual+newHistogramVisual pVisualId_ =+  HistogramVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_+    }++-- | The list of custom actions that are configured for a visual.+histogramVisual_actions :: Lens.Lens' HistogramVisual (Prelude.Maybe [VisualCustomAction])+histogramVisual_actions = Lens.lens (\HistogramVisual' {actions} -> actions) (\s@HistogramVisual' {} a -> s {actions = a} :: HistogramVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration for a @HistogramVisual@.+histogramVisual_chartConfiguration :: Lens.Lens' HistogramVisual (Prelude.Maybe HistogramConfiguration)+histogramVisual_chartConfiguration = Lens.lens (\HistogramVisual' {chartConfiguration} -> chartConfiguration) (\s@HistogramVisual' {} a -> s {chartConfiguration = a} :: HistogramVisual)++-- | The subtitle that is displayed on the visual.+histogramVisual_subtitle :: Lens.Lens' HistogramVisual (Prelude.Maybe VisualSubtitleLabelOptions)+histogramVisual_subtitle = Lens.lens (\HistogramVisual' {subtitle} -> subtitle) (\s@HistogramVisual' {} a -> s {subtitle = a} :: HistogramVisual)++-- | The title that is displayed on the visual.+histogramVisual_title :: Lens.Lens' HistogramVisual (Prelude.Maybe VisualTitleLabelOptions)+histogramVisual_title = Lens.lens (\HistogramVisual' {title} -> title) (\s@HistogramVisual' {} a -> s {title = a} :: HistogramVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+histogramVisual_visualId :: Lens.Lens' HistogramVisual Prelude.Text+histogramVisual_visualId = Lens.lens (\HistogramVisual' {visualId} -> visualId) (\s@HistogramVisual' {} a -> s {visualId = a} :: HistogramVisual)++instance Data.FromJSON HistogramVisual where+  parseJSON =+    Data.withObject+      "HistogramVisual"+      ( \x ->+          HistogramVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+      )++instance Prelude.Hashable HistogramVisual where+  hashWithSalt _salt HistogramVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData HistogramVisual where+  rnf HistogramVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON HistogramVisual where+  toJSON HistogramVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/HorizontalTextAlignment.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.HorizontalTextAlignment+-- 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.QuickSight.Types.HorizontalTextAlignment+  ( HorizontalTextAlignment+      ( ..,+        HorizontalTextAlignment_AUTO,+        HorizontalTextAlignment_CENTER,+        HorizontalTextAlignment_LEFT,+        HorizontalTextAlignment_RIGHT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype HorizontalTextAlignment = HorizontalTextAlignment'+  { fromHorizontalTextAlignment ::+      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 HorizontalTextAlignment_AUTO :: HorizontalTextAlignment+pattern HorizontalTextAlignment_AUTO = HorizontalTextAlignment' "AUTO"++pattern HorizontalTextAlignment_CENTER :: HorizontalTextAlignment+pattern HorizontalTextAlignment_CENTER = HorizontalTextAlignment' "CENTER"++pattern HorizontalTextAlignment_LEFT :: HorizontalTextAlignment+pattern HorizontalTextAlignment_LEFT = HorizontalTextAlignment' "LEFT"++pattern HorizontalTextAlignment_RIGHT :: HorizontalTextAlignment+pattern HorizontalTextAlignment_RIGHT = HorizontalTextAlignment' "RIGHT"++{-# COMPLETE+  HorizontalTextAlignment_AUTO,+  HorizontalTextAlignment_CENTER,+  HorizontalTextAlignment_LEFT,+  HorizontalTextAlignment_RIGHT,+  HorizontalTextAlignment'+  #-}
+ gen/Amazonka/QuickSight/Types/IAMPolicyAssignment.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.QuickSight.Types.IAMPolicyAssignment+-- 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.QuickSight.Types.IAMPolicyAssignment where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AssignmentStatus++-- | An Identity and Access Management (IAM) policy assignment.+--+-- /See:/ 'newIAMPolicyAssignment' smart constructor.+data IAMPolicyAssignment = IAMPolicyAssignment'+  { -- | Assignment ID.+    assignmentId :: Prelude.Maybe Prelude.Text,+    -- | Assignment name.+    assignmentName :: Prelude.Maybe Prelude.Text,+    -- | Assignment status.+    assignmentStatus :: Prelude.Maybe AssignmentStatus,+    -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Maybe Prelude.Text,+    -- | Identities.+    identities :: Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]),+    -- | The Amazon Resource Name (ARN) for the IAM policy.+    policyArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IAMPolicyAssignment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assignmentId', 'iAMPolicyAssignment_assignmentId' - Assignment ID.+--+-- 'assignmentName', 'iAMPolicyAssignment_assignmentName' - Assignment name.+--+-- 'assignmentStatus', 'iAMPolicyAssignment_assignmentStatus' - Assignment status.+--+-- 'awsAccountId', 'iAMPolicyAssignment_awsAccountId' - The Amazon Web Services account ID.+--+-- 'identities', 'iAMPolicyAssignment_identities' - Identities.+--+-- 'policyArn', 'iAMPolicyAssignment_policyArn' - The Amazon Resource Name (ARN) for the IAM policy.+newIAMPolicyAssignment ::+  IAMPolicyAssignment+newIAMPolicyAssignment =+  IAMPolicyAssignment'+    { assignmentId =+        Prelude.Nothing,+      assignmentName = Prelude.Nothing,+      assignmentStatus = Prelude.Nothing,+      awsAccountId = Prelude.Nothing,+      identities = Prelude.Nothing,+      policyArn = Prelude.Nothing+    }++-- | Assignment ID.+iAMPolicyAssignment_assignmentId :: Lens.Lens' IAMPolicyAssignment (Prelude.Maybe Prelude.Text)+iAMPolicyAssignment_assignmentId = Lens.lens (\IAMPolicyAssignment' {assignmentId} -> assignmentId) (\s@IAMPolicyAssignment' {} a -> s {assignmentId = a} :: IAMPolicyAssignment)++-- | Assignment name.+iAMPolicyAssignment_assignmentName :: Lens.Lens' IAMPolicyAssignment (Prelude.Maybe Prelude.Text)+iAMPolicyAssignment_assignmentName = Lens.lens (\IAMPolicyAssignment' {assignmentName} -> assignmentName) (\s@IAMPolicyAssignment' {} a -> s {assignmentName = a} :: IAMPolicyAssignment)++-- | Assignment status.+iAMPolicyAssignment_assignmentStatus :: Lens.Lens' IAMPolicyAssignment (Prelude.Maybe AssignmentStatus)+iAMPolicyAssignment_assignmentStatus = Lens.lens (\IAMPolicyAssignment' {assignmentStatus} -> assignmentStatus) (\s@IAMPolicyAssignment' {} a -> s {assignmentStatus = a} :: IAMPolicyAssignment)++-- | The Amazon Web Services account ID.+iAMPolicyAssignment_awsAccountId :: Lens.Lens' IAMPolicyAssignment (Prelude.Maybe Prelude.Text)+iAMPolicyAssignment_awsAccountId = Lens.lens (\IAMPolicyAssignment' {awsAccountId} -> awsAccountId) (\s@IAMPolicyAssignment' {} a -> s {awsAccountId = a} :: IAMPolicyAssignment)++-- | Identities.+iAMPolicyAssignment_identities :: Lens.Lens' IAMPolicyAssignment (Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]))+iAMPolicyAssignment_identities = Lens.lens (\IAMPolicyAssignment' {identities} -> identities) (\s@IAMPolicyAssignment' {} a -> s {identities = a} :: IAMPolicyAssignment) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) for the IAM policy.+iAMPolicyAssignment_policyArn :: Lens.Lens' IAMPolicyAssignment (Prelude.Maybe Prelude.Text)+iAMPolicyAssignment_policyArn = Lens.lens (\IAMPolicyAssignment' {policyArn} -> policyArn) (\s@IAMPolicyAssignment' {} a -> s {policyArn = a} :: IAMPolicyAssignment)++instance Data.FromJSON IAMPolicyAssignment where+  parseJSON =+    Data.withObject+      "IAMPolicyAssignment"+      ( \x ->+          IAMPolicyAssignment'+            Prelude.<$> (x Data..:? "AssignmentId")+            Prelude.<*> (x Data..:? "AssignmentName")+            Prelude.<*> (x Data..:? "AssignmentStatus")+            Prelude.<*> (x Data..:? "AwsAccountId")+            Prelude.<*> (x Data..:? "Identities" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "PolicyArn")+      )++instance Prelude.Hashable IAMPolicyAssignment where+  hashWithSalt _salt IAMPolicyAssignment' {..} =+    _salt+      `Prelude.hashWithSalt` assignmentId+      `Prelude.hashWithSalt` assignmentName+      `Prelude.hashWithSalt` assignmentStatus+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` identities+      `Prelude.hashWithSalt` policyArn++instance Prelude.NFData IAMPolicyAssignment where+  rnf IAMPolicyAssignment' {..} =+    Prelude.rnf assignmentId+      `Prelude.seq` Prelude.rnf assignmentName+      `Prelude.seq` Prelude.rnf assignmentStatus+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf identities+      `Prelude.seq` Prelude.rnf policyArn
+ gen/Amazonka/QuickSight/Types/IAMPolicyAssignmentSummary.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.QuickSight.Types.IAMPolicyAssignmentSummary+-- 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.QuickSight.Types.IAMPolicyAssignmentSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AssignmentStatus++-- | IAM policy assignment summary.+--+-- /See:/ 'newIAMPolicyAssignmentSummary' smart constructor.+data IAMPolicyAssignmentSummary = IAMPolicyAssignmentSummary'+  { -- | Assignment name.+    assignmentName :: Prelude.Maybe Prelude.Text,+    -- | Assignment status.+    assignmentStatus :: Prelude.Maybe AssignmentStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IAMPolicyAssignmentSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assignmentName', 'iAMPolicyAssignmentSummary_assignmentName' - Assignment name.+--+-- 'assignmentStatus', 'iAMPolicyAssignmentSummary_assignmentStatus' - Assignment status.+newIAMPolicyAssignmentSummary ::+  IAMPolicyAssignmentSummary+newIAMPolicyAssignmentSummary =+  IAMPolicyAssignmentSummary'+    { assignmentName =+        Prelude.Nothing,+      assignmentStatus = Prelude.Nothing+    }++-- | Assignment name.+iAMPolicyAssignmentSummary_assignmentName :: Lens.Lens' IAMPolicyAssignmentSummary (Prelude.Maybe Prelude.Text)+iAMPolicyAssignmentSummary_assignmentName = Lens.lens (\IAMPolicyAssignmentSummary' {assignmentName} -> assignmentName) (\s@IAMPolicyAssignmentSummary' {} a -> s {assignmentName = a} :: IAMPolicyAssignmentSummary)++-- | Assignment status.+iAMPolicyAssignmentSummary_assignmentStatus :: Lens.Lens' IAMPolicyAssignmentSummary (Prelude.Maybe AssignmentStatus)+iAMPolicyAssignmentSummary_assignmentStatus = Lens.lens (\IAMPolicyAssignmentSummary' {assignmentStatus} -> assignmentStatus) (\s@IAMPolicyAssignmentSummary' {} a -> s {assignmentStatus = a} :: IAMPolicyAssignmentSummary)++instance Data.FromJSON IAMPolicyAssignmentSummary where+  parseJSON =+    Data.withObject+      "IAMPolicyAssignmentSummary"+      ( \x ->+          IAMPolicyAssignmentSummary'+            Prelude.<$> (x Data..:? "AssignmentName")+            Prelude.<*> (x Data..:? "AssignmentStatus")+      )++instance Prelude.Hashable IAMPolicyAssignmentSummary where+  hashWithSalt _salt IAMPolicyAssignmentSummary' {..} =+    _salt+      `Prelude.hashWithSalt` assignmentName+      `Prelude.hashWithSalt` assignmentStatus++instance Prelude.NFData IAMPolicyAssignmentSummary where+  rnf IAMPolicyAssignmentSummary' {..} =+    Prelude.rnf assignmentName+      `Prelude.seq` Prelude.rnf assignmentStatus
+ gen/Amazonka/QuickSight/Types/Icon.hs view
@@ -0,0 +1,188 @@+{-# 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.QuickSight.Types.Icon+-- 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.QuickSight.Types.Icon+  ( Icon+      ( ..,+        Icon_ARROW_DOWN,+        Icon_ARROW_DOWN_LEFT,+        Icon_ARROW_DOWN_RIGHT,+        Icon_ARROW_LEFT,+        Icon_ARROW_RIGHT,+        Icon_ARROW_UP,+        Icon_ARROW_UP_LEFT,+        Icon_ARROW_UP_RIGHT,+        Icon_CARET_DOWN,+        Icon_CARET_UP,+        Icon_CHECKMARK,+        Icon_CIRCLE,+        Icon_FACE_DOWN,+        Icon_FACE_FLAT,+        Icon_FACE_UP,+        Icon_FLAG,+        Icon_MINUS,+        Icon_ONE_BAR,+        Icon_PLUS,+        Icon_SQUARE,+        Icon_THREE_BAR,+        Icon_THUMBS_DOWN,+        Icon_THUMBS_UP,+        Icon_TRIANGLE,+        Icon_TWO_BAR,+        Icon_X+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Icon = Icon' {fromIcon :: 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 Icon_ARROW_DOWN :: Icon+pattern Icon_ARROW_DOWN = Icon' "ARROW_DOWN"++pattern Icon_ARROW_DOWN_LEFT :: Icon+pattern Icon_ARROW_DOWN_LEFT = Icon' "ARROW_DOWN_LEFT"++pattern Icon_ARROW_DOWN_RIGHT :: Icon+pattern Icon_ARROW_DOWN_RIGHT = Icon' "ARROW_DOWN_RIGHT"++pattern Icon_ARROW_LEFT :: Icon+pattern Icon_ARROW_LEFT = Icon' "ARROW_LEFT"++pattern Icon_ARROW_RIGHT :: Icon+pattern Icon_ARROW_RIGHT = Icon' "ARROW_RIGHT"++pattern Icon_ARROW_UP :: Icon+pattern Icon_ARROW_UP = Icon' "ARROW_UP"++pattern Icon_ARROW_UP_LEFT :: Icon+pattern Icon_ARROW_UP_LEFT = Icon' "ARROW_UP_LEFT"++pattern Icon_ARROW_UP_RIGHT :: Icon+pattern Icon_ARROW_UP_RIGHT = Icon' "ARROW_UP_RIGHT"++pattern Icon_CARET_DOWN :: Icon+pattern Icon_CARET_DOWN = Icon' "CARET_DOWN"++pattern Icon_CARET_UP :: Icon+pattern Icon_CARET_UP = Icon' "CARET_UP"++pattern Icon_CHECKMARK :: Icon+pattern Icon_CHECKMARK = Icon' "CHECKMARK"++pattern Icon_CIRCLE :: Icon+pattern Icon_CIRCLE = Icon' "CIRCLE"++pattern Icon_FACE_DOWN :: Icon+pattern Icon_FACE_DOWN = Icon' "FACE_DOWN"++pattern Icon_FACE_FLAT :: Icon+pattern Icon_FACE_FLAT = Icon' "FACE_FLAT"++pattern Icon_FACE_UP :: Icon+pattern Icon_FACE_UP = Icon' "FACE_UP"++pattern Icon_FLAG :: Icon+pattern Icon_FLAG = Icon' "FLAG"++pattern Icon_MINUS :: Icon+pattern Icon_MINUS = Icon' "MINUS"++pattern Icon_ONE_BAR :: Icon+pattern Icon_ONE_BAR = Icon' "ONE_BAR"++pattern Icon_PLUS :: Icon+pattern Icon_PLUS = Icon' "PLUS"++pattern Icon_SQUARE :: Icon+pattern Icon_SQUARE = Icon' "SQUARE"++pattern Icon_THREE_BAR :: Icon+pattern Icon_THREE_BAR = Icon' "THREE_BAR"++pattern Icon_THUMBS_DOWN :: Icon+pattern Icon_THUMBS_DOWN = Icon' "THUMBS_DOWN"++pattern Icon_THUMBS_UP :: Icon+pattern Icon_THUMBS_UP = Icon' "THUMBS_UP"++pattern Icon_TRIANGLE :: Icon+pattern Icon_TRIANGLE = Icon' "TRIANGLE"++pattern Icon_TWO_BAR :: Icon+pattern Icon_TWO_BAR = Icon' "TWO_BAR"++pattern Icon_X :: Icon+pattern Icon_X = Icon' "X"++{-# COMPLETE+  Icon_ARROW_DOWN,+  Icon_ARROW_DOWN_LEFT,+  Icon_ARROW_DOWN_RIGHT,+  Icon_ARROW_LEFT,+  Icon_ARROW_RIGHT,+  Icon_ARROW_UP,+  Icon_ARROW_UP_LEFT,+  Icon_ARROW_UP_RIGHT,+  Icon_CARET_DOWN,+  Icon_CARET_UP,+  Icon_CHECKMARK,+  Icon_CIRCLE,+  Icon_FACE_DOWN,+  Icon_FACE_FLAT,+  Icon_FACE_UP,+  Icon_FLAG,+  Icon_MINUS,+  Icon_ONE_BAR,+  Icon_PLUS,+  Icon_SQUARE,+  Icon_THREE_BAR,+  Icon_THUMBS_DOWN,+  Icon_THUMBS_UP,+  Icon_TRIANGLE,+  Icon_TWO_BAR,+  Icon_X,+  Icon'+  #-}
+ gen/Amazonka/QuickSight/Types/IdentityStore.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.IdentityStore+-- 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.QuickSight.Types.IdentityStore+  ( IdentityStore+      ( ..,+        IdentityStore_QUICKSIGHT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype IdentityStore = IdentityStore'+  { fromIdentityStore ::+      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 IdentityStore_QUICKSIGHT :: IdentityStore+pattern IdentityStore_QUICKSIGHT = IdentityStore' "QUICKSIGHT"++{-# COMPLETE+  IdentityStore_QUICKSIGHT,+  IdentityStore'+  #-}
+ gen/Amazonka/QuickSight/Types/IdentityType.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.QuickSight.Types.IdentityType+-- 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.QuickSight.Types.IdentityType+  ( IdentityType+      ( ..,+        IdentityType_IAM,+        IdentityType_QUICKSIGHT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype IdentityType = IdentityType'+  { fromIdentityType ::+      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 IdentityType_IAM :: IdentityType+pattern IdentityType_IAM = IdentityType' "IAM"++pattern IdentityType_QUICKSIGHT :: IdentityType+pattern IdentityType_QUICKSIGHT = IdentityType' "QUICKSIGHT"++{-# COMPLETE+  IdentityType_IAM,+  IdentityType_QUICKSIGHT,+  IdentityType'+  #-}
+ gen/Amazonka/QuickSight/Types/Ingestion.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.Ingestion+-- 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.QuickSight.Types.Ingestion where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ErrorInfo+import Amazonka.QuickSight.Types.IngestionRequestSource+import Amazonka.QuickSight.Types.IngestionRequestType+import Amazonka.QuickSight.Types.IngestionStatus+import Amazonka.QuickSight.Types.QueueInfo+import Amazonka.QuickSight.Types.RowInfo++-- | Information about the SPICE ingestion for a dataset.+--+-- /See:/ 'newIngestion' smart constructor.+data Ingestion = Ingestion'+  { -- | Error information for this ingestion.+    errorInfo :: Prelude.Maybe ErrorInfo,+    -- | Ingestion ID.+    ingestionId :: Prelude.Maybe Prelude.Text,+    -- | The size of the data ingested, in bytes.+    ingestionSizeInBytes :: Prelude.Maybe Prelude.Integer,+    -- | The time that this ingestion took, measured in seconds.+    ingestionTimeInSeconds :: Prelude.Maybe Prelude.Integer,+    queueInfo :: Prelude.Maybe QueueInfo,+    -- | Event source for this ingestion.+    requestSource :: Prelude.Maybe IngestionRequestSource,+    -- | Type of this ingestion.+    requestType :: Prelude.Maybe IngestionRequestType,+    rowInfo :: Prelude.Maybe RowInfo,+    -- | The Amazon Resource Name (ARN) of the resource.+    arn :: Prelude.Text,+    -- | Ingestion status.+    ingestionStatus :: IngestionStatus,+    -- | The time that this ingestion started.+    createdTime :: Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Ingestion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorInfo', 'ingestion_errorInfo' - Error information for this ingestion.+--+-- 'ingestionId', 'ingestion_ingestionId' - Ingestion ID.+--+-- 'ingestionSizeInBytes', 'ingestion_ingestionSizeInBytes' - The size of the data ingested, in bytes.+--+-- 'ingestionTimeInSeconds', 'ingestion_ingestionTimeInSeconds' - The time that this ingestion took, measured in seconds.+--+-- 'queueInfo', 'ingestion_queueInfo' - Undocumented member.+--+-- 'requestSource', 'ingestion_requestSource' - Event source for this ingestion.+--+-- 'requestType', 'ingestion_requestType' - Type of this ingestion.+--+-- 'rowInfo', 'ingestion_rowInfo' - Undocumented member.+--+-- 'arn', 'ingestion_arn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'ingestionStatus', 'ingestion_ingestionStatus' - Ingestion status.+--+-- 'createdTime', 'ingestion_createdTime' - The time that this ingestion started.+newIngestion ::+  -- | 'arn'+  Prelude.Text ->+  -- | 'ingestionStatus'+  IngestionStatus ->+  -- | 'createdTime'+  Prelude.UTCTime ->+  Ingestion+newIngestion pArn_ pIngestionStatus_ pCreatedTime_ =+  Ingestion'+    { errorInfo = Prelude.Nothing,+      ingestionId = Prelude.Nothing,+      ingestionSizeInBytes = Prelude.Nothing,+      ingestionTimeInSeconds = Prelude.Nothing,+      queueInfo = Prelude.Nothing,+      requestSource = Prelude.Nothing,+      requestType = Prelude.Nothing,+      rowInfo = Prelude.Nothing,+      arn = pArn_,+      ingestionStatus = pIngestionStatus_,+      createdTime = Data._Time Lens.# pCreatedTime_+    }++-- | Error information for this ingestion.+ingestion_errorInfo :: Lens.Lens' Ingestion (Prelude.Maybe ErrorInfo)+ingestion_errorInfo = Lens.lens (\Ingestion' {errorInfo} -> errorInfo) (\s@Ingestion' {} a -> s {errorInfo = a} :: Ingestion)++-- | Ingestion ID.+ingestion_ingestionId :: Lens.Lens' Ingestion (Prelude.Maybe Prelude.Text)+ingestion_ingestionId = Lens.lens (\Ingestion' {ingestionId} -> ingestionId) (\s@Ingestion' {} a -> s {ingestionId = a} :: Ingestion)++-- | The size of the data ingested, in bytes.+ingestion_ingestionSizeInBytes :: Lens.Lens' Ingestion (Prelude.Maybe Prelude.Integer)+ingestion_ingestionSizeInBytes = Lens.lens (\Ingestion' {ingestionSizeInBytes} -> ingestionSizeInBytes) (\s@Ingestion' {} a -> s {ingestionSizeInBytes = a} :: Ingestion)++-- | The time that this ingestion took, measured in seconds.+ingestion_ingestionTimeInSeconds :: Lens.Lens' Ingestion (Prelude.Maybe Prelude.Integer)+ingestion_ingestionTimeInSeconds = Lens.lens (\Ingestion' {ingestionTimeInSeconds} -> ingestionTimeInSeconds) (\s@Ingestion' {} a -> s {ingestionTimeInSeconds = a} :: Ingestion)++-- | Undocumented member.+ingestion_queueInfo :: Lens.Lens' Ingestion (Prelude.Maybe QueueInfo)+ingestion_queueInfo = Lens.lens (\Ingestion' {queueInfo} -> queueInfo) (\s@Ingestion' {} a -> s {queueInfo = a} :: Ingestion)++-- | Event source for this ingestion.+ingestion_requestSource :: Lens.Lens' Ingestion (Prelude.Maybe IngestionRequestSource)+ingestion_requestSource = Lens.lens (\Ingestion' {requestSource} -> requestSource) (\s@Ingestion' {} a -> s {requestSource = a} :: Ingestion)++-- | Type of this ingestion.+ingestion_requestType :: Lens.Lens' Ingestion (Prelude.Maybe IngestionRequestType)+ingestion_requestType = Lens.lens (\Ingestion' {requestType} -> requestType) (\s@Ingestion' {} a -> s {requestType = a} :: Ingestion)++-- | Undocumented member.+ingestion_rowInfo :: Lens.Lens' Ingestion (Prelude.Maybe RowInfo)+ingestion_rowInfo = Lens.lens (\Ingestion' {rowInfo} -> rowInfo) (\s@Ingestion' {} a -> s {rowInfo = a} :: Ingestion)++-- | The Amazon Resource Name (ARN) of the resource.+ingestion_arn :: Lens.Lens' Ingestion Prelude.Text+ingestion_arn = Lens.lens (\Ingestion' {arn} -> arn) (\s@Ingestion' {} a -> s {arn = a} :: Ingestion)++-- | Ingestion status.+ingestion_ingestionStatus :: Lens.Lens' Ingestion IngestionStatus+ingestion_ingestionStatus = Lens.lens (\Ingestion' {ingestionStatus} -> ingestionStatus) (\s@Ingestion' {} a -> s {ingestionStatus = a} :: Ingestion)++-- | The time that this ingestion started.+ingestion_createdTime :: Lens.Lens' Ingestion Prelude.UTCTime+ingestion_createdTime = Lens.lens (\Ingestion' {createdTime} -> createdTime) (\s@Ingestion' {} a -> s {createdTime = a} :: Ingestion) Prelude.. Data._Time++instance Data.FromJSON Ingestion where+  parseJSON =+    Data.withObject+      "Ingestion"+      ( \x ->+          Ingestion'+            Prelude.<$> (x Data..:? "ErrorInfo")+            Prelude.<*> (x Data..:? "IngestionId")+            Prelude.<*> (x Data..:? "IngestionSizeInBytes")+            Prelude.<*> (x Data..:? "IngestionTimeInSeconds")+            Prelude.<*> (x Data..:? "QueueInfo")+            Prelude.<*> (x Data..:? "RequestSource")+            Prelude.<*> (x Data..:? "RequestType")+            Prelude.<*> (x Data..:? "RowInfo")+            Prelude.<*> (x Data..: "Arn")+            Prelude.<*> (x Data..: "IngestionStatus")+            Prelude.<*> (x Data..: "CreatedTime")+      )++instance Prelude.Hashable Ingestion where+  hashWithSalt _salt Ingestion' {..} =+    _salt+      `Prelude.hashWithSalt` errorInfo+      `Prelude.hashWithSalt` ingestionId+      `Prelude.hashWithSalt` ingestionSizeInBytes+      `Prelude.hashWithSalt` ingestionTimeInSeconds+      `Prelude.hashWithSalt` queueInfo+      `Prelude.hashWithSalt` requestSource+      `Prelude.hashWithSalt` requestType+      `Prelude.hashWithSalt` rowInfo+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` ingestionStatus+      `Prelude.hashWithSalt` createdTime++instance Prelude.NFData Ingestion where+  rnf Ingestion' {..} =+    Prelude.rnf errorInfo+      `Prelude.seq` Prelude.rnf ingestionId+      `Prelude.seq` Prelude.rnf ingestionSizeInBytes+      `Prelude.seq` Prelude.rnf ingestionTimeInSeconds+      `Prelude.seq` Prelude.rnf queueInfo+      `Prelude.seq` Prelude.rnf requestSource+      `Prelude.seq` Prelude.rnf requestType+      `Prelude.seq` Prelude.rnf rowInfo+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf ingestionStatus+      `Prelude.seq` Prelude.rnf createdTime
+ gen/Amazonka/QuickSight/Types/IngestionErrorType.hs view
@@ -0,0 +1,281 @@+{-# 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.QuickSight.Types.IngestionErrorType+-- 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.QuickSight.Types.IngestionErrorType+  ( IngestionErrorType+      ( ..,+        IngestionErrorType_ACCOUNT_CAPACITY_LIMIT_EXCEEDED,+        IngestionErrorType_CONNECTION_FAILURE,+        IngestionErrorType_CURSOR_NOT_ENABLED,+        IngestionErrorType_CUSTOMER_ERROR,+        IngestionErrorType_DATA_SET_DELETED,+        IngestionErrorType_DATA_SET_NOT_SPICE,+        IngestionErrorType_DATA_SET_SIZE_LIMIT_EXCEEDED,+        IngestionErrorType_DATA_SOURCE_AUTH_FAILED,+        IngestionErrorType_DATA_SOURCE_CONNECTION_FAILED,+        IngestionErrorType_DATA_SOURCE_NOT_FOUND,+        IngestionErrorType_DATA_TOLERANCE_EXCEPTION,+        IngestionErrorType_ELASTICSEARCH_CURSOR_NOT_ENABLED,+        IngestionErrorType_FAILURE_TO_ASSUME_ROLE,+        IngestionErrorType_FAILURE_TO_PROCESS_JSON_FILE,+        IngestionErrorType_IAM_ROLE_NOT_AVAILABLE,+        IngestionErrorType_INGESTION_CANCELED,+        IngestionErrorType_INGESTION_SUPERSEDED,+        IngestionErrorType_INTERNAL_SERVICE_ERROR,+        IngestionErrorType_INVALID_DATAPREP_SYNTAX,+        IngestionErrorType_INVALID_DATA_SOURCE_CONFIG,+        IngestionErrorType_INVALID_DATE_FORMAT,+        IngestionErrorType_IOT_DATA_SET_FILE_EMPTY,+        IngestionErrorType_IOT_FILE_NOT_FOUND,+        IngestionErrorType_OAUTH_TOKEN_FAILURE,+        IngestionErrorType_PASSWORD_AUTHENTICATION_FAILURE,+        IngestionErrorType_PERMISSION_DENIED,+        IngestionErrorType_PERMISSION_NOT_FOUND,+        IngestionErrorType_QUERY_TIMEOUT,+        IngestionErrorType_REFRESH_SUPPRESSED_BY_EDIT,+        IngestionErrorType_ROW_SIZE_LIMIT_EXCEEDED,+        IngestionErrorType_S3_FILE_INACCESSIBLE,+        IngestionErrorType_S3_MANIFEST_ERROR,+        IngestionErrorType_S3_UPLOADED_FILE_DELETED,+        IngestionErrorType_SOURCE_API_LIMIT_EXCEEDED_FAILURE,+        IngestionErrorType_SOURCE_RESOURCE_LIMIT_EXCEEDED,+        IngestionErrorType_SPICE_TABLE_NOT_FOUND,+        IngestionErrorType_SQL_EXCEPTION,+        IngestionErrorType_SQL_INVALID_PARAMETER_VALUE,+        IngestionErrorType_SQL_NUMERIC_OVERFLOW,+        IngestionErrorType_SQL_SCHEMA_MISMATCH_ERROR,+        IngestionErrorType_SQL_TABLE_NOT_FOUND,+        IngestionErrorType_SSL_CERTIFICATE_VALIDATION_FAILURE,+        IngestionErrorType_UNRESOLVABLE_HOST,+        IngestionErrorType_UNROUTABLE_HOST+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype IngestionErrorType = IngestionErrorType'+  { fromIngestionErrorType ::+      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 IngestionErrorType_ACCOUNT_CAPACITY_LIMIT_EXCEEDED :: IngestionErrorType+pattern IngestionErrorType_ACCOUNT_CAPACITY_LIMIT_EXCEEDED = IngestionErrorType' "ACCOUNT_CAPACITY_LIMIT_EXCEEDED"++pattern IngestionErrorType_CONNECTION_FAILURE :: IngestionErrorType+pattern IngestionErrorType_CONNECTION_FAILURE = IngestionErrorType' "CONNECTION_FAILURE"++pattern IngestionErrorType_CURSOR_NOT_ENABLED :: IngestionErrorType+pattern IngestionErrorType_CURSOR_NOT_ENABLED = IngestionErrorType' "CURSOR_NOT_ENABLED"++pattern IngestionErrorType_CUSTOMER_ERROR :: IngestionErrorType+pattern IngestionErrorType_CUSTOMER_ERROR = IngestionErrorType' "CUSTOMER_ERROR"++pattern IngestionErrorType_DATA_SET_DELETED :: IngestionErrorType+pattern IngestionErrorType_DATA_SET_DELETED = IngestionErrorType' "DATA_SET_DELETED"++pattern IngestionErrorType_DATA_SET_NOT_SPICE :: IngestionErrorType+pattern IngestionErrorType_DATA_SET_NOT_SPICE = IngestionErrorType' "DATA_SET_NOT_SPICE"++pattern IngestionErrorType_DATA_SET_SIZE_LIMIT_EXCEEDED :: IngestionErrorType+pattern IngestionErrorType_DATA_SET_SIZE_LIMIT_EXCEEDED = IngestionErrorType' "DATA_SET_SIZE_LIMIT_EXCEEDED"++pattern IngestionErrorType_DATA_SOURCE_AUTH_FAILED :: IngestionErrorType+pattern IngestionErrorType_DATA_SOURCE_AUTH_FAILED = IngestionErrorType' "DATA_SOURCE_AUTH_FAILED"++pattern IngestionErrorType_DATA_SOURCE_CONNECTION_FAILED :: IngestionErrorType+pattern IngestionErrorType_DATA_SOURCE_CONNECTION_FAILED = IngestionErrorType' "DATA_SOURCE_CONNECTION_FAILED"++pattern IngestionErrorType_DATA_SOURCE_NOT_FOUND :: IngestionErrorType+pattern IngestionErrorType_DATA_SOURCE_NOT_FOUND = IngestionErrorType' "DATA_SOURCE_NOT_FOUND"++pattern IngestionErrorType_DATA_TOLERANCE_EXCEPTION :: IngestionErrorType+pattern IngestionErrorType_DATA_TOLERANCE_EXCEPTION = IngestionErrorType' "DATA_TOLERANCE_EXCEPTION"++pattern IngestionErrorType_ELASTICSEARCH_CURSOR_NOT_ENABLED :: IngestionErrorType+pattern IngestionErrorType_ELASTICSEARCH_CURSOR_NOT_ENABLED = IngestionErrorType' "ELASTICSEARCH_CURSOR_NOT_ENABLED"++pattern IngestionErrorType_FAILURE_TO_ASSUME_ROLE :: IngestionErrorType+pattern IngestionErrorType_FAILURE_TO_ASSUME_ROLE = IngestionErrorType' "FAILURE_TO_ASSUME_ROLE"++pattern IngestionErrorType_FAILURE_TO_PROCESS_JSON_FILE :: IngestionErrorType+pattern IngestionErrorType_FAILURE_TO_PROCESS_JSON_FILE = IngestionErrorType' "FAILURE_TO_PROCESS_JSON_FILE"++pattern IngestionErrorType_IAM_ROLE_NOT_AVAILABLE :: IngestionErrorType+pattern IngestionErrorType_IAM_ROLE_NOT_AVAILABLE = IngestionErrorType' "IAM_ROLE_NOT_AVAILABLE"++pattern IngestionErrorType_INGESTION_CANCELED :: IngestionErrorType+pattern IngestionErrorType_INGESTION_CANCELED = IngestionErrorType' "INGESTION_CANCELED"++pattern IngestionErrorType_INGESTION_SUPERSEDED :: IngestionErrorType+pattern IngestionErrorType_INGESTION_SUPERSEDED = IngestionErrorType' "INGESTION_SUPERSEDED"++pattern IngestionErrorType_INTERNAL_SERVICE_ERROR :: IngestionErrorType+pattern IngestionErrorType_INTERNAL_SERVICE_ERROR = IngestionErrorType' "INTERNAL_SERVICE_ERROR"++pattern IngestionErrorType_INVALID_DATAPREP_SYNTAX :: IngestionErrorType+pattern IngestionErrorType_INVALID_DATAPREP_SYNTAX = IngestionErrorType' "INVALID_DATAPREP_SYNTAX"++pattern IngestionErrorType_INVALID_DATA_SOURCE_CONFIG :: IngestionErrorType+pattern IngestionErrorType_INVALID_DATA_SOURCE_CONFIG = IngestionErrorType' "INVALID_DATA_SOURCE_CONFIG"++pattern IngestionErrorType_INVALID_DATE_FORMAT :: IngestionErrorType+pattern IngestionErrorType_INVALID_DATE_FORMAT = IngestionErrorType' "INVALID_DATE_FORMAT"++pattern IngestionErrorType_IOT_DATA_SET_FILE_EMPTY :: IngestionErrorType+pattern IngestionErrorType_IOT_DATA_SET_FILE_EMPTY = IngestionErrorType' "IOT_DATA_SET_FILE_EMPTY"++pattern IngestionErrorType_IOT_FILE_NOT_FOUND :: IngestionErrorType+pattern IngestionErrorType_IOT_FILE_NOT_FOUND = IngestionErrorType' "IOT_FILE_NOT_FOUND"++pattern IngestionErrorType_OAUTH_TOKEN_FAILURE :: IngestionErrorType+pattern IngestionErrorType_OAUTH_TOKEN_FAILURE = IngestionErrorType' "OAUTH_TOKEN_FAILURE"++pattern IngestionErrorType_PASSWORD_AUTHENTICATION_FAILURE :: IngestionErrorType+pattern IngestionErrorType_PASSWORD_AUTHENTICATION_FAILURE = IngestionErrorType' "PASSWORD_AUTHENTICATION_FAILURE"++pattern IngestionErrorType_PERMISSION_DENIED :: IngestionErrorType+pattern IngestionErrorType_PERMISSION_DENIED = IngestionErrorType' "PERMISSION_DENIED"++pattern IngestionErrorType_PERMISSION_NOT_FOUND :: IngestionErrorType+pattern IngestionErrorType_PERMISSION_NOT_FOUND = IngestionErrorType' "PERMISSION_NOT_FOUND"++pattern IngestionErrorType_QUERY_TIMEOUT :: IngestionErrorType+pattern IngestionErrorType_QUERY_TIMEOUT = IngestionErrorType' "QUERY_TIMEOUT"++pattern IngestionErrorType_REFRESH_SUPPRESSED_BY_EDIT :: IngestionErrorType+pattern IngestionErrorType_REFRESH_SUPPRESSED_BY_EDIT = IngestionErrorType' "REFRESH_SUPPRESSED_BY_EDIT"++pattern IngestionErrorType_ROW_SIZE_LIMIT_EXCEEDED :: IngestionErrorType+pattern IngestionErrorType_ROW_SIZE_LIMIT_EXCEEDED = IngestionErrorType' "ROW_SIZE_LIMIT_EXCEEDED"++pattern IngestionErrorType_S3_FILE_INACCESSIBLE :: IngestionErrorType+pattern IngestionErrorType_S3_FILE_INACCESSIBLE = IngestionErrorType' "S3_FILE_INACCESSIBLE"++pattern IngestionErrorType_S3_MANIFEST_ERROR :: IngestionErrorType+pattern IngestionErrorType_S3_MANIFEST_ERROR = IngestionErrorType' "S3_MANIFEST_ERROR"++pattern IngestionErrorType_S3_UPLOADED_FILE_DELETED :: IngestionErrorType+pattern IngestionErrorType_S3_UPLOADED_FILE_DELETED = IngestionErrorType' "S3_UPLOADED_FILE_DELETED"++pattern IngestionErrorType_SOURCE_API_LIMIT_EXCEEDED_FAILURE :: IngestionErrorType+pattern IngestionErrorType_SOURCE_API_LIMIT_EXCEEDED_FAILURE = IngestionErrorType' "SOURCE_API_LIMIT_EXCEEDED_FAILURE"++pattern IngestionErrorType_SOURCE_RESOURCE_LIMIT_EXCEEDED :: IngestionErrorType+pattern IngestionErrorType_SOURCE_RESOURCE_LIMIT_EXCEEDED = IngestionErrorType' "SOURCE_RESOURCE_LIMIT_EXCEEDED"++pattern IngestionErrorType_SPICE_TABLE_NOT_FOUND :: IngestionErrorType+pattern IngestionErrorType_SPICE_TABLE_NOT_FOUND = IngestionErrorType' "SPICE_TABLE_NOT_FOUND"++pattern IngestionErrorType_SQL_EXCEPTION :: IngestionErrorType+pattern IngestionErrorType_SQL_EXCEPTION = IngestionErrorType' "SQL_EXCEPTION"++pattern IngestionErrorType_SQL_INVALID_PARAMETER_VALUE :: IngestionErrorType+pattern IngestionErrorType_SQL_INVALID_PARAMETER_VALUE = IngestionErrorType' "SQL_INVALID_PARAMETER_VALUE"++pattern IngestionErrorType_SQL_NUMERIC_OVERFLOW :: IngestionErrorType+pattern IngestionErrorType_SQL_NUMERIC_OVERFLOW = IngestionErrorType' "SQL_NUMERIC_OVERFLOW"++pattern IngestionErrorType_SQL_SCHEMA_MISMATCH_ERROR :: IngestionErrorType+pattern IngestionErrorType_SQL_SCHEMA_MISMATCH_ERROR = IngestionErrorType' "SQL_SCHEMA_MISMATCH_ERROR"++pattern IngestionErrorType_SQL_TABLE_NOT_FOUND :: IngestionErrorType+pattern IngestionErrorType_SQL_TABLE_NOT_FOUND = IngestionErrorType' "SQL_TABLE_NOT_FOUND"++pattern IngestionErrorType_SSL_CERTIFICATE_VALIDATION_FAILURE :: IngestionErrorType+pattern IngestionErrorType_SSL_CERTIFICATE_VALIDATION_FAILURE = IngestionErrorType' "SSL_CERTIFICATE_VALIDATION_FAILURE"++pattern IngestionErrorType_UNRESOLVABLE_HOST :: IngestionErrorType+pattern IngestionErrorType_UNRESOLVABLE_HOST = IngestionErrorType' "UNRESOLVABLE_HOST"++pattern IngestionErrorType_UNROUTABLE_HOST :: IngestionErrorType+pattern IngestionErrorType_UNROUTABLE_HOST = IngestionErrorType' "UNROUTABLE_HOST"++{-# COMPLETE+  IngestionErrorType_ACCOUNT_CAPACITY_LIMIT_EXCEEDED,+  IngestionErrorType_CONNECTION_FAILURE,+  IngestionErrorType_CURSOR_NOT_ENABLED,+  IngestionErrorType_CUSTOMER_ERROR,+  IngestionErrorType_DATA_SET_DELETED,+  IngestionErrorType_DATA_SET_NOT_SPICE,+  IngestionErrorType_DATA_SET_SIZE_LIMIT_EXCEEDED,+  IngestionErrorType_DATA_SOURCE_AUTH_FAILED,+  IngestionErrorType_DATA_SOURCE_CONNECTION_FAILED,+  IngestionErrorType_DATA_SOURCE_NOT_FOUND,+  IngestionErrorType_DATA_TOLERANCE_EXCEPTION,+  IngestionErrorType_ELASTICSEARCH_CURSOR_NOT_ENABLED,+  IngestionErrorType_FAILURE_TO_ASSUME_ROLE,+  IngestionErrorType_FAILURE_TO_PROCESS_JSON_FILE,+  IngestionErrorType_IAM_ROLE_NOT_AVAILABLE,+  IngestionErrorType_INGESTION_CANCELED,+  IngestionErrorType_INGESTION_SUPERSEDED,+  IngestionErrorType_INTERNAL_SERVICE_ERROR,+  IngestionErrorType_INVALID_DATAPREP_SYNTAX,+  IngestionErrorType_INVALID_DATA_SOURCE_CONFIG,+  IngestionErrorType_INVALID_DATE_FORMAT,+  IngestionErrorType_IOT_DATA_SET_FILE_EMPTY,+  IngestionErrorType_IOT_FILE_NOT_FOUND,+  IngestionErrorType_OAUTH_TOKEN_FAILURE,+  IngestionErrorType_PASSWORD_AUTHENTICATION_FAILURE,+  IngestionErrorType_PERMISSION_DENIED,+  IngestionErrorType_PERMISSION_NOT_FOUND,+  IngestionErrorType_QUERY_TIMEOUT,+  IngestionErrorType_REFRESH_SUPPRESSED_BY_EDIT,+  IngestionErrorType_ROW_SIZE_LIMIT_EXCEEDED,+  IngestionErrorType_S3_FILE_INACCESSIBLE,+  IngestionErrorType_S3_MANIFEST_ERROR,+  IngestionErrorType_S3_UPLOADED_FILE_DELETED,+  IngestionErrorType_SOURCE_API_LIMIT_EXCEEDED_FAILURE,+  IngestionErrorType_SOURCE_RESOURCE_LIMIT_EXCEEDED,+  IngestionErrorType_SPICE_TABLE_NOT_FOUND,+  IngestionErrorType_SQL_EXCEPTION,+  IngestionErrorType_SQL_INVALID_PARAMETER_VALUE,+  IngestionErrorType_SQL_NUMERIC_OVERFLOW,+  IngestionErrorType_SQL_SCHEMA_MISMATCH_ERROR,+  IngestionErrorType_SQL_TABLE_NOT_FOUND,+  IngestionErrorType_SSL_CERTIFICATE_VALIDATION_FAILURE,+  IngestionErrorType_UNRESOLVABLE_HOST,+  IngestionErrorType_UNROUTABLE_HOST,+  IngestionErrorType'+  #-}
+ gen/Amazonka/QuickSight/Types/IngestionRequestSource.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.QuickSight.Types.IngestionRequestSource+-- 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.QuickSight.Types.IngestionRequestSource+  ( IngestionRequestSource+      ( ..,+        IngestionRequestSource_MANUAL,+        IngestionRequestSource_SCHEDULED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype IngestionRequestSource = IngestionRequestSource'+  { fromIngestionRequestSource ::+      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 IngestionRequestSource_MANUAL :: IngestionRequestSource+pattern IngestionRequestSource_MANUAL = IngestionRequestSource' "MANUAL"++pattern IngestionRequestSource_SCHEDULED :: IngestionRequestSource+pattern IngestionRequestSource_SCHEDULED = IngestionRequestSource' "SCHEDULED"++{-# COMPLETE+  IngestionRequestSource_MANUAL,+  IngestionRequestSource_SCHEDULED,+  IngestionRequestSource'+  #-}
+ gen/Amazonka/QuickSight/Types/IngestionRequestType.hs view
@@ -0,0 +1,83 @@+{-# 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.QuickSight.Types.IngestionRequestType+-- 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.QuickSight.Types.IngestionRequestType+  ( IngestionRequestType+      ( ..,+        IngestionRequestType_EDIT,+        IngestionRequestType_FULL_REFRESH,+        IngestionRequestType_INCREMENTAL_REFRESH,+        IngestionRequestType_INITIAL_INGESTION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This defines the type of ingestion request. This is returned as part of+-- create ingestion response.+newtype IngestionRequestType = IngestionRequestType'+  { fromIngestionRequestType ::+      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 IngestionRequestType_EDIT :: IngestionRequestType+pattern IngestionRequestType_EDIT = IngestionRequestType' "EDIT"++pattern IngestionRequestType_FULL_REFRESH :: IngestionRequestType+pattern IngestionRequestType_FULL_REFRESH = IngestionRequestType' "FULL_REFRESH"++pattern IngestionRequestType_INCREMENTAL_REFRESH :: IngestionRequestType+pattern IngestionRequestType_INCREMENTAL_REFRESH = IngestionRequestType' "INCREMENTAL_REFRESH"++pattern IngestionRequestType_INITIAL_INGESTION :: IngestionRequestType+pattern IngestionRequestType_INITIAL_INGESTION = IngestionRequestType' "INITIAL_INGESTION"++{-# COMPLETE+  IngestionRequestType_EDIT,+  IngestionRequestType_FULL_REFRESH,+  IngestionRequestType_INCREMENTAL_REFRESH,+  IngestionRequestType_INITIAL_INGESTION,+  IngestionRequestType'+  #-}
+ gen/Amazonka/QuickSight/Types/IngestionStatus.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.QuickSight.Types.IngestionStatus+-- 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.QuickSight.Types.IngestionStatus+  ( IngestionStatus+      ( ..,+        IngestionStatus_CANCELLED,+        IngestionStatus_COMPLETED,+        IngestionStatus_FAILED,+        IngestionStatus_INITIALIZED,+        IngestionStatus_QUEUED,+        IngestionStatus_RUNNING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype IngestionStatus = IngestionStatus'+  { fromIngestionStatus ::+      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 IngestionStatus_CANCELLED :: IngestionStatus+pattern IngestionStatus_CANCELLED = IngestionStatus' "CANCELLED"++pattern IngestionStatus_COMPLETED :: IngestionStatus+pattern IngestionStatus_COMPLETED = IngestionStatus' "COMPLETED"++pattern IngestionStatus_FAILED :: IngestionStatus+pattern IngestionStatus_FAILED = IngestionStatus' "FAILED"++pattern IngestionStatus_INITIALIZED :: IngestionStatus+pattern IngestionStatus_INITIALIZED = IngestionStatus' "INITIALIZED"++pattern IngestionStatus_QUEUED :: IngestionStatus+pattern IngestionStatus_QUEUED = IngestionStatus' "QUEUED"++pattern IngestionStatus_RUNNING :: IngestionStatus+pattern IngestionStatus_RUNNING = IngestionStatus' "RUNNING"++{-# COMPLETE+  IngestionStatus_CANCELLED,+  IngestionStatus_COMPLETED,+  IngestionStatus_FAILED,+  IngestionStatus_INITIALIZED,+  IngestionStatus_QUEUED,+  IngestionStatus_RUNNING,+  IngestionStatus'+  #-}
+ gen/Amazonka/QuickSight/Types/IngestionType.hs view
@@ -0,0 +1,73 @@+{-# 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.QuickSight.Types.IngestionType+-- 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.QuickSight.Types.IngestionType+  ( IngestionType+      ( ..,+        IngestionType_FULL_REFRESH,+        IngestionType_INCREMENTAL_REFRESH+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | This defines the type of ingestion user wants to trigger. This is part+-- of create ingestion request.+newtype IngestionType = IngestionType'+  { fromIngestionType ::+      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 IngestionType_FULL_REFRESH :: IngestionType+pattern IngestionType_FULL_REFRESH = IngestionType' "FULL_REFRESH"++pattern IngestionType_INCREMENTAL_REFRESH :: IngestionType+pattern IngestionType_INCREMENTAL_REFRESH = IngestionType' "INCREMENTAL_REFRESH"++{-# COMPLETE+  IngestionType_FULL_REFRESH,+  IngestionType_INCREMENTAL_REFRESH,+  IngestionType'+  #-}
+ gen/Amazonka/QuickSight/Types/InputColumn.hs view
@@ -0,0 +1,95 @@+{-# 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.QuickSight.Types.InputColumn+-- 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.QuickSight.Types.InputColumn where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.InputColumnDataType++-- | Metadata for a column that is used as the input of a transform+-- operation.+--+-- /See:/ 'newInputColumn' smart constructor.+data InputColumn = InputColumn'+  { -- | The name of this column in the underlying data source.+    name :: Prelude.Text,+    -- | The data type of the column.+    type' :: InputColumnDataType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InputColumn' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'inputColumn_name' - The name of this column in the underlying data source.+--+-- 'type'', 'inputColumn_type' - The data type of the column.+newInputColumn ::+  -- | 'name'+  Prelude.Text ->+  -- | 'type''+  InputColumnDataType ->+  InputColumn+newInputColumn pName_ pType_ =+  InputColumn' {name = pName_, type' = pType_}++-- | The name of this column in the underlying data source.+inputColumn_name :: Lens.Lens' InputColumn Prelude.Text+inputColumn_name = Lens.lens (\InputColumn' {name} -> name) (\s@InputColumn' {} a -> s {name = a} :: InputColumn)++-- | The data type of the column.+inputColumn_type :: Lens.Lens' InputColumn InputColumnDataType+inputColumn_type = Lens.lens (\InputColumn' {type'} -> type') (\s@InputColumn' {} a -> s {type' = a} :: InputColumn)++instance Data.FromJSON InputColumn where+  parseJSON =+    Data.withObject+      "InputColumn"+      ( \x ->+          InputColumn'+            Prelude.<$> (x Data..: "Name")+            Prelude.<*> (x Data..: "Type")+      )++instance Prelude.Hashable InputColumn where+  hashWithSalt _salt InputColumn' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` type'++instance Prelude.NFData InputColumn where+  rnf InputColumn' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON InputColumn where+  toJSON InputColumn' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Type" Data..= type')+          ]+      )
+ gen/Amazonka/QuickSight/Types/InputColumnDataType.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.InputColumnDataType+-- 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.QuickSight.Types.InputColumnDataType+  ( InputColumnDataType+      ( ..,+        InputColumnDataType_BIT,+        InputColumnDataType_BOOLEAN,+        InputColumnDataType_DATETIME,+        InputColumnDataType_DECIMAL,+        InputColumnDataType_INTEGER,+        InputColumnDataType_JSON,+        InputColumnDataType_STRING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype InputColumnDataType = InputColumnDataType'+  { fromInputColumnDataType ::+      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 InputColumnDataType_BIT :: InputColumnDataType+pattern InputColumnDataType_BIT = InputColumnDataType' "BIT"++pattern InputColumnDataType_BOOLEAN :: InputColumnDataType+pattern InputColumnDataType_BOOLEAN = InputColumnDataType' "BOOLEAN"++pattern InputColumnDataType_DATETIME :: InputColumnDataType+pattern InputColumnDataType_DATETIME = InputColumnDataType' "DATETIME"++pattern InputColumnDataType_DECIMAL :: InputColumnDataType+pattern InputColumnDataType_DECIMAL = InputColumnDataType' "DECIMAL"++pattern InputColumnDataType_INTEGER :: InputColumnDataType+pattern InputColumnDataType_INTEGER = InputColumnDataType' "INTEGER"++pattern InputColumnDataType_JSON :: InputColumnDataType+pattern InputColumnDataType_JSON = InputColumnDataType' "JSON"++pattern InputColumnDataType_STRING :: InputColumnDataType+pattern InputColumnDataType_STRING = InputColumnDataType' "STRING"++{-# COMPLETE+  InputColumnDataType_BIT,+  InputColumnDataType_BOOLEAN,+  InputColumnDataType_DATETIME,+  InputColumnDataType_DECIMAL,+  InputColumnDataType_INTEGER,+  InputColumnDataType_JSON,+  InputColumnDataType_STRING,+  InputColumnDataType'+  #-}
+ gen/Amazonka/QuickSight/Types/InsightConfiguration.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.InsightConfiguration+-- 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.QuickSight.Types.InsightConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Computation+import Amazonka.QuickSight.Types.CustomNarrativeOptions++-- | The configuration of an insight visual.+--+-- /See:/ 'newInsightConfiguration' smart constructor.+data InsightConfiguration = InsightConfiguration'+  { -- | The computations configurations of the insight visual+    computations :: Prelude.Maybe [Computation],+    -- | The custom narrative of the insight visual.+    customNarrative :: Prelude.Maybe CustomNarrativeOptions+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InsightConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'computations', 'insightConfiguration_computations' - The computations configurations of the insight visual+--+-- 'customNarrative', 'insightConfiguration_customNarrative' - The custom narrative of the insight visual.+newInsightConfiguration ::+  InsightConfiguration+newInsightConfiguration =+  InsightConfiguration'+    { computations =+        Prelude.Nothing,+      customNarrative = Prelude.Nothing+    }++-- | The computations configurations of the insight visual+insightConfiguration_computations :: Lens.Lens' InsightConfiguration (Prelude.Maybe [Computation])+insightConfiguration_computations = Lens.lens (\InsightConfiguration' {computations} -> computations) (\s@InsightConfiguration' {} a -> s {computations = a} :: InsightConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The custom narrative of the insight visual.+insightConfiguration_customNarrative :: Lens.Lens' InsightConfiguration (Prelude.Maybe CustomNarrativeOptions)+insightConfiguration_customNarrative = Lens.lens (\InsightConfiguration' {customNarrative} -> customNarrative) (\s@InsightConfiguration' {} a -> s {customNarrative = a} :: InsightConfiguration)++instance Data.FromJSON InsightConfiguration where+  parseJSON =+    Data.withObject+      "InsightConfiguration"+      ( \x ->+          InsightConfiguration'+            Prelude.<$> (x Data..:? "Computations" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "CustomNarrative")+      )++instance Prelude.Hashable InsightConfiguration where+  hashWithSalt _salt InsightConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` computations+      `Prelude.hashWithSalt` customNarrative++instance Prelude.NFData InsightConfiguration where+  rnf InsightConfiguration' {..} =+    Prelude.rnf computations+      `Prelude.seq` Prelude.rnf customNarrative++instance Data.ToJSON InsightConfiguration where+  toJSON InsightConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Computations" Data..=) Prelude.<$> computations,+            ("CustomNarrative" Data..=)+              Prelude.<$> customNarrative+          ]+      )
+ gen/Amazonka/QuickSight/Types/InsightVisual.hs view
@@ -0,0 +1,165 @@+{-# 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.QuickSight.Types.InsightVisual+-- 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.QuickSight.Types.InsightVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.InsightConfiguration+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions++-- | An insight visual.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/computational-insights.html Working with insights>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newInsightVisual' smart constructor.+data InsightVisual = InsightVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration of an insight visual.+    insightConfiguration :: Prelude.Maybe InsightConfiguration,+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers.+    visualId :: Prelude.Text,+    -- | The dataset that is used in the insight visual.+    dataSetIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InsightVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'insightVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'insightConfiguration', 'insightVisual_insightConfiguration' - The configuration of an insight visual.+--+-- 'subtitle', 'insightVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'insightVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'insightVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+--+-- 'dataSetIdentifier', 'insightVisual_dataSetIdentifier' - The dataset that is used in the insight visual.+newInsightVisual ::+  -- | 'visualId'+  Prelude.Text ->+  -- | 'dataSetIdentifier'+  Prelude.Text ->+  InsightVisual+newInsightVisual pVisualId_ pDataSetIdentifier_ =+  InsightVisual'+    { actions = Prelude.Nothing,+      insightConfiguration = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_,+      dataSetIdentifier = pDataSetIdentifier_+    }++-- | The list of custom actions that are configured for a visual.+insightVisual_actions :: Lens.Lens' InsightVisual (Prelude.Maybe [VisualCustomAction])+insightVisual_actions = Lens.lens (\InsightVisual' {actions} -> actions) (\s@InsightVisual' {} a -> s {actions = a} :: InsightVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration of an insight visual.+insightVisual_insightConfiguration :: Lens.Lens' InsightVisual (Prelude.Maybe InsightConfiguration)+insightVisual_insightConfiguration = Lens.lens (\InsightVisual' {insightConfiguration} -> insightConfiguration) (\s@InsightVisual' {} a -> s {insightConfiguration = a} :: InsightVisual)++-- | The subtitle that is displayed on the visual.+insightVisual_subtitle :: Lens.Lens' InsightVisual (Prelude.Maybe VisualSubtitleLabelOptions)+insightVisual_subtitle = Lens.lens (\InsightVisual' {subtitle} -> subtitle) (\s@InsightVisual' {} a -> s {subtitle = a} :: InsightVisual)++-- | The title that is displayed on the visual.+insightVisual_title :: Lens.Lens' InsightVisual (Prelude.Maybe VisualTitleLabelOptions)+insightVisual_title = Lens.lens (\InsightVisual' {title} -> title) (\s@InsightVisual' {} a -> s {title = a} :: InsightVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+insightVisual_visualId :: Lens.Lens' InsightVisual Prelude.Text+insightVisual_visualId = Lens.lens (\InsightVisual' {visualId} -> visualId) (\s@InsightVisual' {} a -> s {visualId = a} :: InsightVisual)++-- | The dataset that is used in the insight visual.+insightVisual_dataSetIdentifier :: Lens.Lens' InsightVisual Prelude.Text+insightVisual_dataSetIdentifier = Lens.lens (\InsightVisual' {dataSetIdentifier} -> dataSetIdentifier) (\s@InsightVisual' {} a -> s {dataSetIdentifier = a} :: InsightVisual)++instance Data.FromJSON InsightVisual where+  parseJSON =+    Data.withObject+      "InsightVisual"+      ( \x ->+          InsightVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "InsightConfiguration")+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+            Prelude.<*> (x Data..: "DataSetIdentifier")+      )++instance Prelude.Hashable InsightVisual where+  hashWithSalt _salt InsightVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` insightConfiguration+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId+      `Prelude.hashWithSalt` dataSetIdentifier++instance Prelude.NFData InsightVisual where+  rnf InsightVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf insightConfiguration+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId+      `Prelude.seq` Prelude.rnf dataSetIdentifier++instance Data.ToJSON InsightVisual where+  toJSON InsightVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("InsightConfiguration" Data..=)+              Prelude.<$> insightConfiguration,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId),+            Prelude.Just+              ("DataSetIdentifier" Data..= dataSetIdentifier)+          ]+      )
+ gen/Amazonka/QuickSight/Types/IntegerDefaultValues.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.QuickSight.Types.IntegerDefaultValues+-- 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.QuickSight.Types.IntegerDefaultValues where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DynamicDefaultValue++-- | The default values of the @IntegerParameterDeclaration@.+--+-- /See:/ 'newIntegerDefaultValues' smart constructor.+data IntegerDefaultValues = IntegerDefaultValues'+  { -- | The dynamic value of the @IntegerDefaultValues@. Different defaults are+    -- displayed according to users, groups, and values mapping.+    dynamicValue :: Prelude.Maybe DynamicDefaultValue,+    -- | The static values of the @IntegerDefaultValues@.+    staticValues :: Prelude.Maybe [Data.Sensitive Prelude.Integer]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IntegerDefaultValues' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dynamicValue', 'integerDefaultValues_dynamicValue' - The dynamic value of the @IntegerDefaultValues@. Different defaults are+-- displayed according to users, groups, and values mapping.+--+-- 'staticValues', 'integerDefaultValues_staticValues' - The static values of the @IntegerDefaultValues@.+newIntegerDefaultValues ::+  IntegerDefaultValues+newIntegerDefaultValues =+  IntegerDefaultValues'+    { dynamicValue =+        Prelude.Nothing,+      staticValues = Prelude.Nothing+    }++-- | The dynamic value of the @IntegerDefaultValues@. Different defaults are+-- displayed according to users, groups, and values mapping.+integerDefaultValues_dynamicValue :: Lens.Lens' IntegerDefaultValues (Prelude.Maybe DynamicDefaultValue)+integerDefaultValues_dynamicValue = Lens.lens (\IntegerDefaultValues' {dynamicValue} -> dynamicValue) (\s@IntegerDefaultValues' {} a -> s {dynamicValue = a} :: IntegerDefaultValues)++-- | The static values of the @IntegerDefaultValues@.+integerDefaultValues_staticValues :: Lens.Lens' IntegerDefaultValues (Prelude.Maybe [Prelude.Integer])+integerDefaultValues_staticValues = Lens.lens (\IntegerDefaultValues' {staticValues} -> staticValues) (\s@IntegerDefaultValues' {} a -> s {staticValues = a} :: IntegerDefaultValues) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON IntegerDefaultValues where+  parseJSON =+    Data.withObject+      "IntegerDefaultValues"+      ( \x ->+          IntegerDefaultValues'+            Prelude.<$> (x Data..:? "DynamicValue")+            Prelude.<*> (x Data..:? "StaticValues" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable IntegerDefaultValues where+  hashWithSalt _salt IntegerDefaultValues' {..} =+    _salt+      `Prelude.hashWithSalt` dynamicValue+      `Prelude.hashWithSalt` staticValues++instance Prelude.NFData IntegerDefaultValues where+  rnf IntegerDefaultValues' {..} =+    Prelude.rnf dynamicValue+      `Prelude.seq` Prelude.rnf staticValues++instance Data.ToJSON IntegerDefaultValues where+  toJSON IntegerDefaultValues' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DynamicValue" Data..=) Prelude.<$> dynamicValue,+            ("StaticValues" Data..=) Prelude.<$> staticValues+          ]+      )
+ gen/Amazonka/QuickSight/Types/IntegerParameter.hs view
@@ -0,0 +1,84 @@+{-# 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.QuickSight.Types.IntegerParameter+-- 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.QuickSight.Types.IntegerParameter 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 integer parameter.+--+-- /See:/ 'newIntegerParameter' smart constructor.+data IntegerParameter = IntegerParameter'+  { -- | The name of the integer parameter.+    name :: Prelude.Text,+    -- | The values for the integer parameter.+    values :: [Data.Sensitive Prelude.Integer]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IntegerParameter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'integerParameter_name' - The name of the integer parameter.+--+-- 'values', 'integerParameter_values' - The values for the integer parameter.+newIntegerParameter ::+  -- | 'name'+  Prelude.Text ->+  IntegerParameter+newIntegerParameter pName_ =+  IntegerParameter'+    { name = pName_,+      values = Prelude.mempty+    }++-- | The name of the integer parameter.+integerParameter_name :: Lens.Lens' IntegerParameter Prelude.Text+integerParameter_name = Lens.lens (\IntegerParameter' {name} -> name) (\s@IntegerParameter' {} a -> s {name = a} :: IntegerParameter)++-- | The values for the integer parameter.+integerParameter_values :: Lens.Lens' IntegerParameter [Prelude.Integer]+integerParameter_values = Lens.lens (\IntegerParameter' {values} -> values) (\s@IntegerParameter' {} a -> s {values = a} :: IntegerParameter) Prelude.. Lens.coerced++instance Prelude.Hashable IntegerParameter where+  hashWithSalt _salt IntegerParameter' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` values++instance Prelude.NFData IntegerParameter where+  rnf IntegerParameter' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf values++instance Data.ToJSON IntegerParameter where+  toJSON IntegerParameter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Values" Data..= values)+          ]+      )
+ gen/Amazonka/QuickSight/Types/IntegerParameterDeclaration.hs view
@@ -0,0 +1,137 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.IntegerParameterDeclaration+-- 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.QuickSight.Types.IntegerParameterDeclaration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.IntegerDefaultValues+import Amazonka.QuickSight.Types.IntegerValueWhenUnsetConfiguration+import Amazonka.QuickSight.Types.ParameterValueType++-- | A parameter declaration for the @Integer@ data type.+--+-- /See:/ 'newIntegerParameterDeclaration' smart constructor.+data IntegerParameterDeclaration = IntegerParameterDeclaration'+  { -- | The default values of a parameter. If the parameter is a single-value+    -- parameter, a maximum of one default value can be provided.+    defaultValues :: Prelude.Maybe IntegerDefaultValues,+    -- | A parameter declaration for the @Integer@ data type.+    valueWhenUnset :: Prelude.Maybe IntegerValueWhenUnsetConfiguration,+    -- | The value type determines whether the parameter is a single-value or+    -- multi-value parameter.+    parameterValueType :: ParameterValueType,+    -- | The name of the parameter that is being declared.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IntegerParameterDeclaration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'defaultValues', 'integerParameterDeclaration_defaultValues' - The default values of a parameter. If the parameter is a single-value+-- parameter, a maximum of one default value can be provided.+--+-- 'valueWhenUnset', 'integerParameterDeclaration_valueWhenUnset' - A parameter declaration for the @Integer@ data type.+--+-- 'parameterValueType', 'integerParameterDeclaration_parameterValueType' - The value type determines whether the parameter is a single-value or+-- multi-value parameter.+--+-- 'name', 'integerParameterDeclaration_name' - The name of the parameter that is being declared.+newIntegerParameterDeclaration ::+  -- | 'parameterValueType'+  ParameterValueType ->+  -- | 'name'+  Prelude.Text ->+  IntegerParameterDeclaration+newIntegerParameterDeclaration+  pParameterValueType_+  pName_ =+    IntegerParameterDeclaration'+      { defaultValues =+          Prelude.Nothing,+        valueWhenUnset = Prelude.Nothing,+        parameterValueType = pParameterValueType_,+        name = pName_+      }++-- | The default values of a parameter. If the parameter is a single-value+-- parameter, a maximum of one default value can be provided.+integerParameterDeclaration_defaultValues :: Lens.Lens' IntegerParameterDeclaration (Prelude.Maybe IntegerDefaultValues)+integerParameterDeclaration_defaultValues = Lens.lens (\IntegerParameterDeclaration' {defaultValues} -> defaultValues) (\s@IntegerParameterDeclaration' {} a -> s {defaultValues = a} :: IntegerParameterDeclaration)++-- | A parameter declaration for the @Integer@ data type.+integerParameterDeclaration_valueWhenUnset :: Lens.Lens' IntegerParameterDeclaration (Prelude.Maybe IntegerValueWhenUnsetConfiguration)+integerParameterDeclaration_valueWhenUnset = Lens.lens (\IntegerParameterDeclaration' {valueWhenUnset} -> valueWhenUnset) (\s@IntegerParameterDeclaration' {} a -> s {valueWhenUnset = a} :: IntegerParameterDeclaration)++-- | The value type determines whether the parameter is a single-value or+-- multi-value parameter.+integerParameterDeclaration_parameterValueType :: Lens.Lens' IntegerParameterDeclaration ParameterValueType+integerParameterDeclaration_parameterValueType = Lens.lens (\IntegerParameterDeclaration' {parameterValueType} -> parameterValueType) (\s@IntegerParameterDeclaration' {} a -> s {parameterValueType = a} :: IntegerParameterDeclaration)++-- | The name of the parameter that is being declared.+integerParameterDeclaration_name :: Lens.Lens' IntegerParameterDeclaration Prelude.Text+integerParameterDeclaration_name = Lens.lens (\IntegerParameterDeclaration' {name} -> name) (\s@IntegerParameterDeclaration' {} a -> s {name = a} :: IntegerParameterDeclaration)++instance Data.FromJSON IntegerParameterDeclaration where+  parseJSON =+    Data.withObject+      "IntegerParameterDeclaration"+      ( \x ->+          IntegerParameterDeclaration'+            Prelude.<$> (x Data..:? "DefaultValues")+            Prelude.<*> (x Data..:? "ValueWhenUnset")+            Prelude.<*> (x Data..: "ParameterValueType")+            Prelude.<*> (x Data..: "Name")+      )++instance Prelude.Hashable IntegerParameterDeclaration where+  hashWithSalt _salt IntegerParameterDeclaration' {..} =+    _salt+      `Prelude.hashWithSalt` defaultValues+      `Prelude.hashWithSalt` valueWhenUnset+      `Prelude.hashWithSalt` parameterValueType+      `Prelude.hashWithSalt` name++instance Prelude.NFData IntegerParameterDeclaration where+  rnf IntegerParameterDeclaration' {..} =+    Prelude.rnf defaultValues+      `Prelude.seq` Prelude.rnf valueWhenUnset+      `Prelude.seq` Prelude.rnf parameterValueType+      `Prelude.seq` Prelude.rnf name++instance Data.ToJSON IntegerParameterDeclaration where+  toJSON IntegerParameterDeclaration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DefaultValues" Data..=) Prelude.<$> defaultValues,+            ("ValueWhenUnset" Data..=)+              Prelude.<$> valueWhenUnset,+            Prelude.Just+              ("ParameterValueType" Data..= parameterValueType),+            Prelude.Just ("Name" Data..= name)+          ]+      )
+ gen/Amazonka/QuickSight/Types/IntegerValueWhenUnsetConfiguration.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.IntegerValueWhenUnsetConfiguration+-- 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.QuickSight.Types.IntegerValueWhenUnsetConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ValueWhenUnsetOption++-- | A parameter declaration for the @Integer@ data type.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newIntegerValueWhenUnsetConfiguration' smart constructor.+data IntegerValueWhenUnsetConfiguration = IntegerValueWhenUnsetConfiguration'+  { -- | A custom value that\'s used when the value of a parameter isn\'t set.+    customValue :: Prelude.Maybe (Data.Sensitive Prelude.Integer),+    -- | The built-in options for default values. The value can be one of the+    -- following:+    --+    -- -   @RECOMMENDED@: The recommended value.+    --+    -- -   @NULL@: The @NULL@ value.+    valueWhenUnsetOption :: Prelude.Maybe ValueWhenUnsetOption+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IntegerValueWhenUnsetConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customValue', 'integerValueWhenUnsetConfiguration_customValue' - A custom value that\'s used when the value of a parameter isn\'t set.+--+-- 'valueWhenUnsetOption', 'integerValueWhenUnsetConfiguration_valueWhenUnsetOption' - The built-in options for default values. The value can be one of the+-- following:+--+-- -   @RECOMMENDED@: The recommended value.+--+-- -   @NULL@: The @NULL@ value.+newIntegerValueWhenUnsetConfiguration ::+  IntegerValueWhenUnsetConfiguration+newIntegerValueWhenUnsetConfiguration =+  IntegerValueWhenUnsetConfiguration'+    { customValue =+        Prelude.Nothing,+      valueWhenUnsetOption = Prelude.Nothing+    }++-- | A custom value that\'s used when the value of a parameter isn\'t set.+integerValueWhenUnsetConfiguration_customValue :: Lens.Lens' IntegerValueWhenUnsetConfiguration (Prelude.Maybe Prelude.Integer)+integerValueWhenUnsetConfiguration_customValue = Lens.lens (\IntegerValueWhenUnsetConfiguration' {customValue} -> customValue) (\s@IntegerValueWhenUnsetConfiguration' {} a -> s {customValue = a} :: IntegerValueWhenUnsetConfiguration) Prelude.. Lens.mapping Data._Sensitive++-- | The built-in options for default values. The value can be one of the+-- following:+--+-- -   @RECOMMENDED@: The recommended value.+--+-- -   @NULL@: The @NULL@ value.+integerValueWhenUnsetConfiguration_valueWhenUnsetOption :: Lens.Lens' IntegerValueWhenUnsetConfiguration (Prelude.Maybe ValueWhenUnsetOption)+integerValueWhenUnsetConfiguration_valueWhenUnsetOption = Lens.lens (\IntegerValueWhenUnsetConfiguration' {valueWhenUnsetOption} -> valueWhenUnsetOption) (\s@IntegerValueWhenUnsetConfiguration' {} a -> s {valueWhenUnsetOption = a} :: IntegerValueWhenUnsetConfiguration)++instance+  Data.FromJSON+    IntegerValueWhenUnsetConfiguration+  where+  parseJSON =+    Data.withObject+      "IntegerValueWhenUnsetConfiguration"+      ( \x ->+          IntegerValueWhenUnsetConfiguration'+            Prelude.<$> (x Data..:? "CustomValue")+            Prelude.<*> (x Data..:? "ValueWhenUnsetOption")+      )++instance+  Prelude.Hashable+    IntegerValueWhenUnsetConfiguration+  where+  hashWithSalt+    _salt+    IntegerValueWhenUnsetConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` customValue+        `Prelude.hashWithSalt` valueWhenUnsetOption++instance+  Prelude.NFData+    IntegerValueWhenUnsetConfiguration+  where+  rnf IntegerValueWhenUnsetConfiguration' {..} =+    Prelude.rnf customValue+      `Prelude.seq` Prelude.rnf valueWhenUnsetOption++instance+  Data.ToJSON+    IntegerValueWhenUnsetConfiguration+  where+  toJSON IntegerValueWhenUnsetConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomValue" Data..=) Prelude.<$> customValue,+            ("ValueWhenUnsetOption" Data..=)+              Prelude.<$> valueWhenUnsetOption+          ]+      )
+ gen/Amazonka/QuickSight/Types/ItemsLimitConfiguration.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.QuickSight.Types.ItemsLimitConfiguration+-- 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.QuickSight.Types.ItemsLimitConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.OtherCategories++-- | The limit configuration of the visual display for an axis.+--+-- /See:/ 'newItemsLimitConfiguration' smart constructor.+data ItemsLimitConfiguration = ItemsLimitConfiguration'+  { -- | The limit on how many items of a field are showed in the chart. For+    -- example, the number of slices that are displayed in a pie chart.+    itemsLimit :: Prelude.Maybe Prelude.Integer,+    -- | The @Show other@ of an axis in the chart. Choose one of the following+    -- options:+    --+    -- -   @INCLUDE@+    --+    -- -   @EXCLUDE@+    otherCategories :: Prelude.Maybe OtherCategories+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ItemsLimitConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'itemsLimit', 'itemsLimitConfiguration_itemsLimit' - The limit on how many items of a field are showed in the chart. For+-- example, the number of slices that are displayed in a pie chart.+--+-- 'otherCategories', 'itemsLimitConfiguration_otherCategories' - The @Show other@ of an axis in the chart. Choose one of the following+-- options:+--+-- -   @INCLUDE@+--+-- -   @EXCLUDE@+newItemsLimitConfiguration ::+  ItemsLimitConfiguration+newItemsLimitConfiguration =+  ItemsLimitConfiguration'+    { itemsLimit =+        Prelude.Nothing,+      otherCategories = Prelude.Nothing+    }++-- | The limit on how many items of a field are showed in the chart. For+-- example, the number of slices that are displayed in a pie chart.+itemsLimitConfiguration_itemsLimit :: Lens.Lens' ItemsLimitConfiguration (Prelude.Maybe Prelude.Integer)+itemsLimitConfiguration_itemsLimit = Lens.lens (\ItemsLimitConfiguration' {itemsLimit} -> itemsLimit) (\s@ItemsLimitConfiguration' {} a -> s {itemsLimit = a} :: ItemsLimitConfiguration)++-- | The @Show other@ of an axis in the chart. Choose one of the following+-- options:+--+-- -   @INCLUDE@+--+-- -   @EXCLUDE@+itemsLimitConfiguration_otherCategories :: Lens.Lens' ItemsLimitConfiguration (Prelude.Maybe OtherCategories)+itemsLimitConfiguration_otherCategories = Lens.lens (\ItemsLimitConfiguration' {otherCategories} -> otherCategories) (\s@ItemsLimitConfiguration' {} a -> s {otherCategories = a} :: ItemsLimitConfiguration)++instance Data.FromJSON ItemsLimitConfiguration where+  parseJSON =+    Data.withObject+      "ItemsLimitConfiguration"+      ( \x ->+          ItemsLimitConfiguration'+            Prelude.<$> (x Data..:? "ItemsLimit")+            Prelude.<*> (x Data..:? "OtherCategories")+      )++instance Prelude.Hashable ItemsLimitConfiguration where+  hashWithSalt _salt ItemsLimitConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` itemsLimit+      `Prelude.hashWithSalt` otherCategories++instance Prelude.NFData ItemsLimitConfiguration where+  rnf ItemsLimitConfiguration' {..} =+    Prelude.rnf itemsLimit+      `Prelude.seq` Prelude.rnf otherCategories++instance Data.ToJSON ItemsLimitConfiguration where+  toJSON ItemsLimitConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ItemsLimit" Data..=) Prelude.<$> itemsLimit,+            ("OtherCategories" Data..=)+              Prelude.<$> otherCategories+          ]+      )
+ gen/Amazonka/QuickSight/Types/JiraParameters.hs view
@@ -0,0 +1,77 @@+{-# 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.QuickSight.Types.JiraParameters+-- 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.QuickSight.Types.JiraParameters 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 parameters for Jira.+--+-- /See:/ 'newJiraParameters' smart constructor.+data JiraParameters = JiraParameters'+  { -- | The base URL of the Jira site.+    siteBaseUrl :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JiraParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'siteBaseUrl', 'jiraParameters_siteBaseUrl' - The base URL of the Jira site.+newJiraParameters ::+  -- | 'siteBaseUrl'+  Prelude.Text ->+  JiraParameters+newJiraParameters pSiteBaseUrl_ =+  JiraParameters' {siteBaseUrl = pSiteBaseUrl_}++-- | The base URL of the Jira site.+jiraParameters_siteBaseUrl :: Lens.Lens' JiraParameters Prelude.Text+jiraParameters_siteBaseUrl = Lens.lens (\JiraParameters' {siteBaseUrl} -> siteBaseUrl) (\s@JiraParameters' {} a -> s {siteBaseUrl = a} :: JiraParameters)++instance Data.FromJSON JiraParameters where+  parseJSON =+    Data.withObject+      "JiraParameters"+      ( \x ->+          JiraParameters'+            Prelude.<$> (x Data..: "SiteBaseUrl")+      )++instance Prelude.Hashable JiraParameters where+  hashWithSalt _salt JiraParameters' {..} =+    _salt `Prelude.hashWithSalt` siteBaseUrl++instance Prelude.NFData JiraParameters where+  rnf JiraParameters' {..} = Prelude.rnf siteBaseUrl++instance Data.ToJSON JiraParameters where+  toJSON JiraParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("SiteBaseUrl" Data..= siteBaseUrl)]+      )
+ gen/Amazonka/QuickSight/Types/JoinInstruction.hs view
@@ -0,0 +1,162 @@+{-# 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.QuickSight.Types.JoinInstruction+-- 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.QuickSight.Types.JoinInstruction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.JoinKeyProperties+import Amazonka.QuickSight.Types.JoinType++-- | The instructions associated with a join.+--+-- /See:/ 'newJoinInstruction' smart constructor.+data JoinInstruction = JoinInstruction'+  { -- | Join key properties of the left operand.+    leftJoinKeyProperties :: Prelude.Maybe JoinKeyProperties,+    -- | Join key properties of the right operand.+    rightJoinKeyProperties :: Prelude.Maybe JoinKeyProperties,+    -- | The operand on the left side of a join.+    leftOperand :: Prelude.Text,+    -- | The operand on the right side of a join.+    rightOperand :: Prelude.Text,+    -- | The type of join that it is.+    type' :: JoinType,+    -- | The join instructions provided in the @ON@ clause of a join.+    onClause :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JoinInstruction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'leftJoinKeyProperties', 'joinInstruction_leftJoinKeyProperties' - Join key properties of the left operand.+--+-- 'rightJoinKeyProperties', 'joinInstruction_rightJoinKeyProperties' - Join key properties of the right operand.+--+-- 'leftOperand', 'joinInstruction_leftOperand' - The operand on the left side of a join.+--+-- 'rightOperand', 'joinInstruction_rightOperand' - The operand on the right side of a join.+--+-- 'type'', 'joinInstruction_type' - The type of join that it is.+--+-- 'onClause', 'joinInstruction_onClause' - The join instructions provided in the @ON@ clause of a join.+newJoinInstruction ::+  -- | 'leftOperand'+  Prelude.Text ->+  -- | 'rightOperand'+  Prelude.Text ->+  -- | 'type''+  JoinType ->+  -- | 'onClause'+  Prelude.Text ->+  JoinInstruction+newJoinInstruction+  pLeftOperand_+  pRightOperand_+  pType_+  pOnClause_ =+    JoinInstruction'+      { leftJoinKeyProperties =+          Prelude.Nothing,+        rightJoinKeyProperties = Prelude.Nothing,+        leftOperand = pLeftOperand_,+        rightOperand = pRightOperand_,+        type' = pType_,+        onClause = pOnClause_+      }++-- | Join key properties of the left operand.+joinInstruction_leftJoinKeyProperties :: Lens.Lens' JoinInstruction (Prelude.Maybe JoinKeyProperties)+joinInstruction_leftJoinKeyProperties = Lens.lens (\JoinInstruction' {leftJoinKeyProperties} -> leftJoinKeyProperties) (\s@JoinInstruction' {} a -> s {leftJoinKeyProperties = a} :: JoinInstruction)++-- | Join key properties of the right operand.+joinInstruction_rightJoinKeyProperties :: Lens.Lens' JoinInstruction (Prelude.Maybe JoinKeyProperties)+joinInstruction_rightJoinKeyProperties = Lens.lens (\JoinInstruction' {rightJoinKeyProperties} -> rightJoinKeyProperties) (\s@JoinInstruction' {} a -> s {rightJoinKeyProperties = a} :: JoinInstruction)++-- | The operand on the left side of a join.+joinInstruction_leftOperand :: Lens.Lens' JoinInstruction Prelude.Text+joinInstruction_leftOperand = Lens.lens (\JoinInstruction' {leftOperand} -> leftOperand) (\s@JoinInstruction' {} a -> s {leftOperand = a} :: JoinInstruction)++-- | The operand on the right side of a join.+joinInstruction_rightOperand :: Lens.Lens' JoinInstruction Prelude.Text+joinInstruction_rightOperand = Lens.lens (\JoinInstruction' {rightOperand} -> rightOperand) (\s@JoinInstruction' {} a -> s {rightOperand = a} :: JoinInstruction)++-- | The type of join that it is.+joinInstruction_type :: Lens.Lens' JoinInstruction JoinType+joinInstruction_type = Lens.lens (\JoinInstruction' {type'} -> type') (\s@JoinInstruction' {} a -> s {type' = a} :: JoinInstruction)++-- | The join instructions provided in the @ON@ clause of a join.+joinInstruction_onClause :: Lens.Lens' JoinInstruction Prelude.Text+joinInstruction_onClause = Lens.lens (\JoinInstruction' {onClause} -> onClause) (\s@JoinInstruction' {} a -> s {onClause = a} :: JoinInstruction)++instance Data.FromJSON JoinInstruction where+  parseJSON =+    Data.withObject+      "JoinInstruction"+      ( \x ->+          JoinInstruction'+            Prelude.<$> (x Data..:? "LeftJoinKeyProperties")+            Prelude.<*> (x Data..:? "RightJoinKeyProperties")+            Prelude.<*> (x Data..: "LeftOperand")+            Prelude.<*> (x Data..: "RightOperand")+            Prelude.<*> (x Data..: "Type")+            Prelude.<*> (x Data..: "OnClause")+      )++instance Prelude.Hashable JoinInstruction where+  hashWithSalt _salt JoinInstruction' {..} =+    _salt+      `Prelude.hashWithSalt` leftJoinKeyProperties+      `Prelude.hashWithSalt` rightJoinKeyProperties+      `Prelude.hashWithSalt` leftOperand+      `Prelude.hashWithSalt` rightOperand+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` onClause++instance Prelude.NFData JoinInstruction where+  rnf JoinInstruction' {..} =+    Prelude.rnf leftJoinKeyProperties+      `Prelude.seq` Prelude.rnf rightJoinKeyProperties+      `Prelude.seq` Prelude.rnf leftOperand+      `Prelude.seq` Prelude.rnf rightOperand+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf onClause++instance Data.ToJSON JoinInstruction where+  toJSON JoinInstruction' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LeftJoinKeyProperties" Data..=)+              Prelude.<$> leftJoinKeyProperties,+            ("RightJoinKeyProperties" Data..=)+              Prelude.<$> rightJoinKeyProperties,+            Prelude.Just ("LeftOperand" Data..= leftOperand),+            Prelude.Just ("RightOperand" Data..= rightOperand),+            Prelude.Just ("Type" Data..= type'),+            Prelude.Just ("OnClause" Data..= onClause)+          ]+      )
+ gen/Amazonka/QuickSight/Types/JoinKeyProperties.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.QuickSight.Types.JoinKeyProperties+-- 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.QuickSight.Types.JoinKeyProperties 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++-- | Properties associated with the columns participating in a join.+--+-- /See:/ 'newJoinKeyProperties' smart constructor.+data JoinKeyProperties = JoinKeyProperties'+  { -- | A value that indicates that a row in a table is uniquely identified by+    -- the columns in a join key. This is used by Amazon QuickSight to optimize+    -- query performance.+    uniqueKey :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JoinKeyProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'uniqueKey', 'joinKeyProperties_uniqueKey' - A value that indicates that a row in a table is uniquely identified by+-- the columns in a join key. This is used by Amazon QuickSight to optimize+-- query performance.+newJoinKeyProperties ::+  JoinKeyProperties+newJoinKeyProperties =+  JoinKeyProperties' {uniqueKey = Prelude.Nothing}++-- | A value that indicates that a row in a table is uniquely identified by+-- the columns in a join key. This is used by Amazon QuickSight to optimize+-- query performance.+joinKeyProperties_uniqueKey :: Lens.Lens' JoinKeyProperties (Prelude.Maybe Prelude.Bool)+joinKeyProperties_uniqueKey = Lens.lens (\JoinKeyProperties' {uniqueKey} -> uniqueKey) (\s@JoinKeyProperties' {} a -> s {uniqueKey = a} :: JoinKeyProperties)++instance Data.FromJSON JoinKeyProperties where+  parseJSON =+    Data.withObject+      "JoinKeyProperties"+      ( \x ->+          JoinKeyProperties'+            Prelude.<$> (x Data..:? "UniqueKey")+      )++instance Prelude.Hashable JoinKeyProperties where+  hashWithSalt _salt JoinKeyProperties' {..} =+    _salt `Prelude.hashWithSalt` uniqueKey++instance Prelude.NFData JoinKeyProperties where+  rnf JoinKeyProperties' {..} = Prelude.rnf uniqueKey++instance Data.ToJSON JoinKeyProperties where+  toJSON JoinKeyProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [("UniqueKey" Data..=) Prelude.<$> uniqueKey]+      )
+ gen/Amazonka/QuickSight/Types/JoinType.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.JoinType+-- 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.QuickSight.Types.JoinType+  ( JoinType+      ( ..,+        JoinType_INNER,+        JoinType_LEFT,+        JoinType_OUTER,+        JoinType_RIGHT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype JoinType = JoinType'+  { fromJoinType ::+      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 JoinType_INNER :: JoinType+pattern JoinType_INNER = JoinType' "INNER"++pattern JoinType_LEFT :: JoinType+pattern JoinType_LEFT = JoinType' "LEFT"++pattern JoinType_OUTER :: JoinType+pattern JoinType_OUTER = JoinType' "OUTER"++pattern JoinType_RIGHT :: JoinType+pattern JoinType_RIGHT = JoinType' "RIGHT"++{-# COMPLETE+  JoinType_INNER,+  JoinType_LEFT,+  JoinType_OUTER,+  JoinType_RIGHT,+  JoinType'+  #-}
+ gen/Amazonka/QuickSight/Types/KPIConditionalFormatting.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.QuickSight.Types.KPIConditionalFormatting+-- 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.QuickSight.Types.KPIConditionalFormatting where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.KPIConditionalFormattingOption++-- | The conditional formatting of a KPI visual.+--+-- /See:/ 'newKPIConditionalFormatting' smart constructor.+data KPIConditionalFormatting = KPIConditionalFormatting'+  { -- | The conditional formatting options of a KPI visual.+    conditionalFormattingOptions :: Prelude.Maybe [KPIConditionalFormattingOption]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KPIConditionalFormatting' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'conditionalFormattingOptions', 'kPIConditionalFormatting_conditionalFormattingOptions' - The conditional formatting options of a KPI visual.+newKPIConditionalFormatting ::+  KPIConditionalFormatting+newKPIConditionalFormatting =+  KPIConditionalFormatting'+    { conditionalFormattingOptions =+        Prelude.Nothing+    }++-- | The conditional formatting options of a KPI visual.+kPIConditionalFormatting_conditionalFormattingOptions :: Lens.Lens' KPIConditionalFormatting (Prelude.Maybe [KPIConditionalFormattingOption])+kPIConditionalFormatting_conditionalFormattingOptions = Lens.lens (\KPIConditionalFormatting' {conditionalFormattingOptions} -> conditionalFormattingOptions) (\s@KPIConditionalFormatting' {} a -> s {conditionalFormattingOptions = a} :: KPIConditionalFormatting) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON KPIConditionalFormatting where+  parseJSON =+    Data.withObject+      "KPIConditionalFormatting"+      ( \x ->+          KPIConditionalFormatting'+            Prelude.<$> ( x+                            Data..:? "ConditionalFormattingOptions"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable KPIConditionalFormatting where+  hashWithSalt _salt KPIConditionalFormatting' {..} =+    _salt+      `Prelude.hashWithSalt` conditionalFormattingOptions++instance Prelude.NFData KPIConditionalFormatting where+  rnf KPIConditionalFormatting' {..} =+    Prelude.rnf conditionalFormattingOptions++instance Data.ToJSON KPIConditionalFormatting where+  toJSON KPIConditionalFormatting' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ConditionalFormattingOptions" Data..=)+              Prelude.<$> conditionalFormattingOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/KPIConditionalFormattingOption.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.QuickSight.Types.KPIConditionalFormattingOption+-- 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.QuickSight.Types.KPIConditionalFormattingOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.KPIPrimaryValueConditionalFormatting+import Amazonka.QuickSight.Types.KPIProgressBarConditionalFormatting++-- | The conditional formatting options of a KPI visual.+--+-- /See:/ 'newKPIConditionalFormattingOption' smart constructor.+data KPIConditionalFormattingOption = KPIConditionalFormattingOption'+  { -- | The conditional formatting for the primary value of a KPI visual.+    primaryValue :: Prelude.Maybe KPIPrimaryValueConditionalFormatting,+    -- | The conditional formatting for the progress bar of a KPI visual.+    progressBar :: Prelude.Maybe KPIProgressBarConditionalFormatting+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KPIConditionalFormattingOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'primaryValue', 'kPIConditionalFormattingOption_primaryValue' - The conditional formatting for the primary value of a KPI visual.+--+-- 'progressBar', 'kPIConditionalFormattingOption_progressBar' - The conditional formatting for the progress bar of a KPI visual.+newKPIConditionalFormattingOption ::+  KPIConditionalFormattingOption+newKPIConditionalFormattingOption =+  KPIConditionalFormattingOption'+    { primaryValue =+        Prelude.Nothing,+      progressBar = Prelude.Nothing+    }++-- | The conditional formatting for the primary value of a KPI visual.+kPIConditionalFormattingOption_primaryValue :: Lens.Lens' KPIConditionalFormattingOption (Prelude.Maybe KPIPrimaryValueConditionalFormatting)+kPIConditionalFormattingOption_primaryValue = Lens.lens (\KPIConditionalFormattingOption' {primaryValue} -> primaryValue) (\s@KPIConditionalFormattingOption' {} a -> s {primaryValue = a} :: KPIConditionalFormattingOption)++-- | The conditional formatting for the progress bar of a KPI visual.+kPIConditionalFormattingOption_progressBar :: Lens.Lens' KPIConditionalFormattingOption (Prelude.Maybe KPIProgressBarConditionalFormatting)+kPIConditionalFormattingOption_progressBar = Lens.lens (\KPIConditionalFormattingOption' {progressBar} -> progressBar) (\s@KPIConditionalFormattingOption' {} a -> s {progressBar = a} :: KPIConditionalFormattingOption)++instance Data.FromJSON KPIConditionalFormattingOption where+  parseJSON =+    Data.withObject+      "KPIConditionalFormattingOption"+      ( \x ->+          KPIConditionalFormattingOption'+            Prelude.<$> (x Data..:? "PrimaryValue")+            Prelude.<*> (x Data..:? "ProgressBar")+      )++instance+  Prelude.Hashable+    KPIConditionalFormattingOption+  where+  hashWithSalt+    _salt+    KPIConditionalFormattingOption' {..} =+      _salt+        `Prelude.hashWithSalt` primaryValue+        `Prelude.hashWithSalt` progressBar++instance+  Prelude.NFData+    KPIConditionalFormattingOption+  where+  rnf KPIConditionalFormattingOption' {..} =+    Prelude.rnf primaryValue+      `Prelude.seq` Prelude.rnf progressBar++instance Data.ToJSON KPIConditionalFormattingOption where+  toJSON KPIConditionalFormattingOption' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PrimaryValue" Data..=) Prelude.<$> primaryValue,+            ("ProgressBar" Data..=) Prelude.<$> progressBar+          ]+      )
+ gen/Amazonka/QuickSight/Types/KPIConfiguration.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.KPIConfiguration+-- 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.QuickSight.Types.KPIConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.KPIFieldWells+import Amazonka.QuickSight.Types.KPIOptions+import Amazonka.QuickSight.Types.KPISortConfiguration++-- | The configuration of a KPI visual.+--+-- /See:/ 'newKPIConfiguration' smart constructor.+data KPIConfiguration = KPIConfiguration'+  { -- | The field well configuration of a KPI visual.+    fieldWells :: Prelude.Maybe KPIFieldWells,+    -- | The options that determine the presentation of a KPI visual.+    kPIOptions :: Prelude.Maybe KPIOptions,+    -- | The sort configuration of a KPI visual.+    sortConfiguration :: Prelude.Maybe KPISortConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KPIConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldWells', 'kPIConfiguration_fieldWells' - The field well configuration of a KPI visual.+--+-- 'kPIOptions', 'kPIConfiguration_kPIOptions' - The options that determine the presentation of a KPI visual.+--+-- 'sortConfiguration', 'kPIConfiguration_sortConfiguration' - The sort configuration of a KPI visual.+newKPIConfiguration ::+  KPIConfiguration+newKPIConfiguration =+  KPIConfiguration'+    { fieldWells = Prelude.Nothing,+      kPIOptions = Prelude.Nothing,+      sortConfiguration = Prelude.Nothing+    }++-- | The field well configuration of a KPI visual.+kPIConfiguration_fieldWells :: Lens.Lens' KPIConfiguration (Prelude.Maybe KPIFieldWells)+kPIConfiguration_fieldWells = Lens.lens (\KPIConfiguration' {fieldWells} -> fieldWells) (\s@KPIConfiguration' {} a -> s {fieldWells = a} :: KPIConfiguration)++-- | The options that determine the presentation of a KPI visual.+kPIConfiguration_kPIOptions :: Lens.Lens' KPIConfiguration (Prelude.Maybe KPIOptions)+kPIConfiguration_kPIOptions = Lens.lens (\KPIConfiguration' {kPIOptions} -> kPIOptions) (\s@KPIConfiguration' {} a -> s {kPIOptions = a} :: KPIConfiguration)++-- | The sort configuration of a KPI visual.+kPIConfiguration_sortConfiguration :: Lens.Lens' KPIConfiguration (Prelude.Maybe KPISortConfiguration)+kPIConfiguration_sortConfiguration = Lens.lens (\KPIConfiguration' {sortConfiguration} -> sortConfiguration) (\s@KPIConfiguration' {} a -> s {sortConfiguration = a} :: KPIConfiguration)++instance Data.FromJSON KPIConfiguration where+  parseJSON =+    Data.withObject+      "KPIConfiguration"+      ( \x ->+          KPIConfiguration'+            Prelude.<$> (x Data..:? "FieldWells")+            Prelude.<*> (x Data..:? "KPIOptions")+            Prelude.<*> (x Data..:? "SortConfiguration")+      )++instance Prelude.Hashable KPIConfiguration where+  hashWithSalt _salt KPIConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` fieldWells+      `Prelude.hashWithSalt` kPIOptions+      `Prelude.hashWithSalt` sortConfiguration++instance Prelude.NFData KPIConfiguration where+  rnf KPIConfiguration' {..} =+    Prelude.rnf fieldWells+      `Prelude.seq` Prelude.rnf kPIOptions+      `Prelude.seq` Prelude.rnf sortConfiguration++instance Data.ToJSON KPIConfiguration where+  toJSON KPIConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FieldWells" Data..=) Prelude.<$> fieldWells,+            ("KPIOptions" Data..=) Prelude.<$> kPIOptions,+            ("SortConfiguration" Data..=)+              Prelude.<$> sortConfiguration+          ]+      )
+ gen/Amazonka/QuickSight/Types/KPIFieldWells.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.QuickSight.Types.KPIFieldWells+-- 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.QuickSight.Types.KPIFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The field well configuration of a KPI visual.+--+-- /See:/ 'newKPIFieldWells' smart constructor.+data KPIFieldWells = KPIFieldWells'+  { -- | The target value field wells of a KPI visual.+    targetValues :: Prelude.Maybe [MeasureField],+    -- | The trend group field wells of a KPI visual.+    trendGroups :: Prelude.Maybe [DimensionField],+    -- | The value field wells of a KPI visual.+    values :: Prelude.Maybe [MeasureField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KPIFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'targetValues', 'kPIFieldWells_targetValues' - The target value field wells of a KPI visual.+--+-- 'trendGroups', 'kPIFieldWells_trendGroups' - The trend group field wells of a KPI visual.+--+-- 'values', 'kPIFieldWells_values' - The value field wells of a KPI visual.+newKPIFieldWells ::+  KPIFieldWells+newKPIFieldWells =+  KPIFieldWells'+    { targetValues = Prelude.Nothing,+      trendGroups = Prelude.Nothing,+      values = Prelude.Nothing+    }++-- | The target value field wells of a KPI visual.+kPIFieldWells_targetValues :: Lens.Lens' KPIFieldWells (Prelude.Maybe [MeasureField])+kPIFieldWells_targetValues = Lens.lens (\KPIFieldWells' {targetValues} -> targetValues) (\s@KPIFieldWells' {} a -> s {targetValues = a} :: KPIFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The trend group field wells of a KPI visual.+kPIFieldWells_trendGroups :: Lens.Lens' KPIFieldWells (Prelude.Maybe [DimensionField])+kPIFieldWells_trendGroups = Lens.lens (\KPIFieldWells' {trendGroups} -> trendGroups) (\s@KPIFieldWells' {} a -> s {trendGroups = a} :: KPIFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The value field wells of a KPI visual.+kPIFieldWells_values :: Lens.Lens' KPIFieldWells (Prelude.Maybe [MeasureField])+kPIFieldWells_values = Lens.lens (\KPIFieldWells' {values} -> values) (\s@KPIFieldWells' {} a -> s {values = a} :: KPIFieldWells) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON KPIFieldWells where+  parseJSON =+    Data.withObject+      "KPIFieldWells"+      ( \x ->+          KPIFieldWells'+            Prelude.<$> (x Data..:? "TargetValues" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "TrendGroups" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Values" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable KPIFieldWells where+  hashWithSalt _salt KPIFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` targetValues+      `Prelude.hashWithSalt` trendGroups+      `Prelude.hashWithSalt` values++instance Prelude.NFData KPIFieldWells where+  rnf KPIFieldWells' {..} =+    Prelude.rnf targetValues+      `Prelude.seq` Prelude.rnf trendGroups+      `Prelude.seq` Prelude.rnf values++instance Data.ToJSON KPIFieldWells where+  toJSON KPIFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TargetValues" Data..=) Prelude.<$> targetValues,+            ("TrendGroups" Data..=) Prelude.<$> trendGroups,+            ("Values" Data..=) Prelude.<$> values+          ]+      )
+ gen/Amazonka/QuickSight/Types/KPIOptions.hs view
@@ -0,0 +1,177 @@+{-# 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.QuickSight.Types.KPIOptions+-- 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.QuickSight.Types.KPIOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ComparisonConfiguration+import Amazonka.QuickSight.Types.FontConfiguration+import Amazonka.QuickSight.Types.PrimaryValueDisplayType+import Amazonka.QuickSight.Types.ProgressBarOptions+import Amazonka.QuickSight.Types.SecondaryValueOptions+import Amazonka.QuickSight.Types.TrendArrowOptions++-- | The options that determine the presentation of a KPI visual.+--+-- /See:/ 'newKPIOptions' smart constructor.+data KPIOptions = KPIOptions'+  { -- | The comparison configuration of a KPI visual.+    comparison :: Prelude.Maybe ComparisonConfiguration,+    -- | The options that determine the primary value display type.+    primaryValueDisplayType :: Prelude.Maybe PrimaryValueDisplayType,+    -- | The options that determine the primary value font configuration.+    primaryValueFontConfiguration :: Prelude.Maybe FontConfiguration,+    -- | The options that determine the presentation of the progress bar of a KPI+    -- visual.+    progressBar :: Prelude.Maybe ProgressBarOptions,+    -- | The options that determine the presentation of the secondary value of a+    -- KPI visual.+    secondaryValue :: Prelude.Maybe SecondaryValueOptions,+    -- | The options that determine the secondary value font configuration.+    secondaryValueFontConfiguration :: Prelude.Maybe FontConfiguration,+    -- | The options that determine the presentation of trend arrows in a KPI+    -- visual.+    trendArrows :: Prelude.Maybe TrendArrowOptions+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KPIOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'comparison', 'kPIOptions_comparison' - The comparison configuration of a KPI visual.+--+-- 'primaryValueDisplayType', 'kPIOptions_primaryValueDisplayType' - The options that determine the primary value display type.+--+-- 'primaryValueFontConfiguration', 'kPIOptions_primaryValueFontConfiguration' - The options that determine the primary value font configuration.+--+-- 'progressBar', 'kPIOptions_progressBar' - The options that determine the presentation of the progress bar of a KPI+-- visual.+--+-- 'secondaryValue', 'kPIOptions_secondaryValue' - The options that determine the presentation of the secondary value of a+-- KPI visual.+--+-- 'secondaryValueFontConfiguration', 'kPIOptions_secondaryValueFontConfiguration' - The options that determine the secondary value font configuration.+--+-- 'trendArrows', 'kPIOptions_trendArrows' - The options that determine the presentation of trend arrows in a KPI+-- visual.+newKPIOptions ::+  KPIOptions+newKPIOptions =+  KPIOptions'+    { comparison = Prelude.Nothing,+      primaryValueDisplayType = Prelude.Nothing,+      primaryValueFontConfiguration = Prelude.Nothing,+      progressBar = Prelude.Nothing,+      secondaryValue = Prelude.Nothing,+      secondaryValueFontConfiguration = Prelude.Nothing,+      trendArrows = Prelude.Nothing+    }++-- | The comparison configuration of a KPI visual.+kPIOptions_comparison :: Lens.Lens' KPIOptions (Prelude.Maybe ComparisonConfiguration)+kPIOptions_comparison = Lens.lens (\KPIOptions' {comparison} -> comparison) (\s@KPIOptions' {} a -> s {comparison = a} :: KPIOptions)++-- | The options that determine the primary value display type.+kPIOptions_primaryValueDisplayType :: Lens.Lens' KPIOptions (Prelude.Maybe PrimaryValueDisplayType)+kPIOptions_primaryValueDisplayType = Lens.lens (\KPIOptions' {primaryValueDisplayType} -> primaryValueDisplayType) (\s@KPIOptions' {} a -> s {primaryValueDisplayType = a} :: KPIOptions)++-- | The options that determine the primary value font configuration.+kPIOptions_primaryValueFontConfiguration :: Lens.Lens' KPIOptions (Prelude.Maybe FontConfiguration)+kPIOptions_primaryValueFontConfiguration = Lens.lens (\KPIOptions' {primaryValueFontConfiguration} -> primaryValueFontConfiguration) (\s@KPIOptions' {} a -> s {primaryValueFontConfiguration = a} :: KPIOptions)++-- | The options that determine the presentation of the progress bar of a KPI+-- visual.+kPIOptions_progressBar :: Lens.Lens' KPIOptions (Prelude.Maybe ProgressBarOptions)+kPIOptions_progressBar = Lens.lens (\KPIOptions' {progressBar} -> progressBar) (\s@KPIOptions' {} a -> s {progressBar = a} :: KPIOptions)++-- | The options that determine the presentation of the secondary value of a+-- KPI visual.+kPIOptions_secondaryValue :: Lens.Lens' KPIOptions (Prelude.Maybe SecondaryValueOptions)+kPIOptions_secondaryValue = Lens.lens (\KPIOptions' {secondaryValue} -> secondaryValue) (\s@KPIOptions' {} a -> s {secondaryValue = a} :: KPIOptions)++-- | The options that determine the secondary value font configuration.+kPIOptions_secondaryValueFontConfiguration :: Lens.Lens' KPIOptions (Prelude.Maybe FontConfiguration)+kPIOptions_secondaryValueFontConfiguration = Lens.lens (\KPIOptions' {secondaryValueFontConfiguration} -> secondaryValueFontConfiguration) (\s@KPIOptions' {} a -> s {secondaryValueFontConfiguration = a} :: KPIOptions)++-- | The options that determine the presentation of trend arrows in a KPI+-- visual.+kPIOptions_trendArrows :: Lens.Lens' KPIOptions (Prelude.Maybe TrendArrowOptions)+kPIOptions_trendArrows = Lens.lens (\KPIOptions' {trendArrows} -> trendArrows) (\s@KPIOptions' {} a -> s {trendArrows = a} :: KPIOptions)++instance Data.FromJSON KPIOptions where+  parseJSON =+    Data.withObject+      "KPIOptions"+      ( \x ->+          KPIOptions'+            Prelude.<$> (x Data..:? "Comparison")+            Prelude.<*> (x Data..:? "PrimaryValueDisplayType")+            Prelude.<*> (x Data..:? "PrimaryValueFontConfiguration")+            Prelude.<*> (x Data..:? "ProgressBar")+            Prelude.<*> (x Data..:? "SecondaryValue")+            Prelude.<*> (x Data..:? "SecondaryValueFontConfiguration")+            Prelude.<*> (x Data..:? "TrendArrows")+      )++instance Prelude.Hashable KPIOptions where+  hashWithSalt _salt KPIOptions' {..} =+    _salt+      `Prelude.hashWithSalt` comparison+      `Prelude.hashWithSalt` primaryValueDisplayType+      `Prelude.hashWithSalt` primaryValueFontConfiguration+      `Prelude.hashWithSalt` progressBar+      `Prelude.hashWithSalt` secondaryValue+      `Prelude.hashWithSalt` secondaryValueFontConfiguration+      `Prelude.hashWithSalt` trendArrows++instance Prelude.NFData KPIOptions where+  rnf KPIOptions' {..} =+    Prelude.rnf comparison+      `Prelude.seq` Prelude.rnf primaryValueDisplayType+      `Prelude.seq` Prelude.rnf primaryValueFontConfiguration+      `Prelude.seq` Prelude.rnf progressBar+      `Prelude.seq` Prelude.rnf secondaryValue+      `Prelude.seq` Prelude.rnf secondaryValueFontConfiguration+      `Prelude.seq` Prelude.rnf trendArrows++instance Data.ToJSON KPIOptions where+  toJSON KPIOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Comparison" Data..=) Prelude.<$> comparison,+            ("PrimaryValueDisplayType" Data..=)+              Prelude.<$> primaryValueDisplayType,+            ("PrimaryValueFontConfiguration" Data..=)+              Prelude.<$> primaryValueFontConfiguration,+            ("ProgressBar" Data..=) Prelude.<$> progressBar,+            ("SecondaryValue" Data..=)+              Prelude.<$> secondaryValue,+            ("SecondaryValueFontConfiguration" Data..=)+              Prelude.<$> secondaryValueFontConfiguration,+            ("TrendArrows" Data..=) Prelude.<$> trendArrows+          ]+      )
+ gen/Amazonka/QuickSight/Types/KPIPrimaryValueConditionalFormatting.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.KPIPrimaryValueConditionalFormatting+-- 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.QuickSight.Types.KPIPrimaryValueConditionalFormatting where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ConditionalFormattingColor+import Amazonka.QuickSight.Types.ConditionalFormattingIcon++-- | The conditional formatting for the primary value of a KPI visual.+--+-- /See:/ 'newKPIPrimaryValueConditionalFormatting' smart constructor.+data KPIPrimaryValueConditionalFormatting = KPIPrimaryValueConditionalFormatting'+  { -- | The conditional formatting of the primary value\'s icon.+    icon :: Prelude.Maybe ConditionalFormattingIcon,+    -- | The conditional formatting of the primary value\'s text color.+    textColor :: Prelude.Maybe ConditionalFormattingColor+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KPIPrimaryValueConditionalFormatting' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'icon', 'kPIPrimaryValueConditionalFormatting_icon' - The conditional formatting of the primary value\'s icon.+--+-- 'textColor', 'kPIPrimaryValueConditionalFormatting_textColor' - The conditional formatting of the primary value\'s text color.+newKPIPrimaryValueConditionalFormatting ::+  KPIPrimaryValueConditionalFormatting+newKPIPrimaryValueConditionalFormatting =+  KPIPrimaryValueConditionalFormatting'+    { icon =+        Prelude.Nothing,+      textColor = Prelude.Nothing+    }++-- | The conditional formatting of the primary value\'s icon.+kPIPrimaryValueConditionalFormatting_icon :: Lens.Lens' KPIPrimaryValueConditionalFormatting (Prelude.Maybe ConditionalFormattingIcon)+kPIPrimaryValueConditionalFormatting_icon = Lens.lens (\KPIPrimaryValueConditionalFormatting' {icon} -> icon) (\s@KPIPrimaryValueConditionalFormatting' {} a -> s {icon = a} :: KPIPrimaryValueConditionalFormatting)++-- | The conditional formatting of the primary value\'s text color.+kPIPrimaryValueConditionalFormatting_textColor :: Lens.Lens' KPIPrimaryValueConditionalFormatting (Prelude.Maybe ConditionalFormattingColor)+kPIPrimaryValueConditionalFormatting_textColor = Lens.lens (\KPIPrimaryValueConditionalFormatting' {textColor} -> textColor) (\s@KPIPrimaryValueConditionalFormatting' {} a -> s {textColor = a} :: KPIPrimaryValueConditionalFormatting)++instance+  Data.FromJSON+    KPIPrimaryValueConditionalFormatting+  where+  parseJSON =+    Data.withObject+      "KPIPrimaryValueConditionalFormatting"+      ( \x ->+          KPIPrimaryValueConditionalFormatting'+            Prelude.<$> (x Data..:? "Icon")+            Prelude.<*> (x Data..:? "TextColor")+      )++instance+  Prelude.Hashable+    KPIPrimaryValueConditionalFormatting+  where+  hashWithSalt+    _salt+    KPIPrimaryValueConditionalFormatting' {..} =+      _salt+        `Prelude.hashWithSalt` icon+        `Prelude.hashWithSalt` textColor++instance+  Prelude.NFData+    KPIPrimaryValueConditionalFormatting+  where+  rnf KPIPrimaryValueConditionalFormatting' {..} =+    Prelude.rnf icon+      `Prelude.seq` Prelude.rnf textColor++instance+  Data.ToJSON+    KPIPrimaryValueConditionalFormatting+  where+  toJSON KPIPrimaryValueConditionalFormatting' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Icon" Data..=) Prelude.<$> icon,+            ("TextColor" Data..=) Prelude.<$> textColor+          ]+      )
+ gen/Amazonka/QuickSight/Types/KPIProgressBarConditionalFormatting.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.QuickSight.Types.KPIProgressBarConditionalFormatting+-- 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.QuickSight.Types.KPIProgressBarConditionalFormatting where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ConditionalFormattingColor++-- | The conditional formatting for the progress bar of a KPI visual.+--+-- /See:/ 'newKPIProgressBarConditionalFormatting' smart constructor.+data KPIProgressBarConditionalFormatting = KPIProgressBarConditionalFormatting'+  { -- | The conditional formatting of the progress bar\'s foreground color.+    foregroundColor :: Prelude.Maybe ConditionalFormattingColor+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KPIProgressBarConditionalFormatting' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'foregroundColor', 'kPIProgressBarConditionalFormatting_foregroundColor' - The conditional formatting of the progress bar\'s foreground color.+newKPIProgressBarConditionalFormatting ::+  KPIProgressBarConditionalFormatting+newKPIProgressBarConditionalFormatting =+  KPIProgressBarConditionalFormatting'+    { foregroundColor =+        Prelude.Nothing+    }++-- | The conditional formatting of the progress bar\'s foreground color.+kPIProgressBarConditionalFormatting_foregroundColor :: Lens.Lens' KPIProgressBarConditionalFormatting (Prelude.Maybe ConditionalFormattingColor)+kPIProgressBarConditionalFormatting_foregroundColor = Lens.lens (\KPIProgressBarConditionalFormatting' {foregroundColor} -> foregroundColor) (\s@KPIProgressBarConditionalFormatting' {} a -> s {foregroundColor = a} :: KPIProgressBarConditionalFormatting)++instance+  Data.FromJSON+    KPIProgressBarConditionalFormatting+  where+  parseJSON =+    Data.withObject+      "KPIProgressBarConditionalFormatting"+      ( \x ->+          KPIProgressBarConditionalFormatting'+            Prelude.<$> (x Data..:? "ForegroundColor")+      )++instance+  Prelude.Hashable+    KPIProgressBarConditionalFormatting+  where+  hashWithSalt+    _salt+    KPIProgressBarConditionalFormatting' {..} =+      _salt `Prelude.hashWithSalt` foregroundColor++instance+  Prelude.NFData+    KPIProgressBarConditionalFormatting+  where+  rnf KPIProgressBarConditionalFormatting' {..} =+    Prelude.rnf foregroundColor++instance+  Data.ToJSON+    KPIProgressBarConditionalFormatting+  where+  toJSON KPIProgressBarConditionalFormatting' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ForegroundColor" Data..=)+              Prelude.<$> foregroundColor+          ]+      )
+ gen/Amazonka/QuickSight/Types/KPISortConfiguration.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.KPISortConfiguration+-- 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.QuickSight.Types.KPISortConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FieldSortOptions++-- | The sort configuration of a KPI visual.+--+-- /See:/ 'newKPISortConfiguration' smart constructor.+data KPISortConfiguration = KPISortConfiguration'+  { -- | The sort configuration of the trend group fields.+    trendGroupSort :: Prelude.Maybe [FieldSortOptions]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KPISortConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'trendGroupSort', 'kPISortConfiguration_trendGroupSort' - The sort configuration of the trend group fields.+newKPISortConfiguration ::+  KPISortConfiguration+newKPISortConfiguration =+  KPISortConfiguration'+    { trendGroupSort =+        Prelude.Nothing+    }++-- | The sort configuration of the trend group fields.+kPISortConfiguration_trendGroupSort :: Lens.Lens' KPISortConfiguration (Prelude.Maybe [FieldSortOptions])+kPISortConfiguration_trendGroupSort = Lens.lens (\KPISortConfiguration' {trendGroupSort} -> trendGroupSort) (\s@KPISortConfiguration' {} a -> s {trendGroupSort = a} :: KPISortConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON KPISortConfiguration where+  parseJSON =+    Data.withObject+      "KPISortConfiguration"+      ( \x ->+          KPISortConfiguration'+            Prelude.<$> ( x+                            Data..:? "TrendGroupSort"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable KPISortConfiguration where+  hashWithSalt _salt KPISortConfiguration' {..} =+    _salt `Prelude.hashWithSalt` trendGroupSort++instance Prelude.NFData KPISortConfiguration where+  rnf KPISortConfiguration' {..} =+    Prelude.rnf trendGroupSort++instance Data.ToJSON KPISortConfiguration where+  toJSON KPISortConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TrendGroupSort" Data..=)+              Prelude.<$> trendGroupSort+          ]+      )
+ gen/Amazonka/QuickSight/Types/KPIVisual.hs view
@@ -0,0 +1,182 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.KPIVisual+-- 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.QuickSight.Types.KPIVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnHierarchy+import Amazonka.QuickSight.Types.KPIConditionalFormatting+import Amazonka.QuickSight.Types.KPIConfiguration+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions++-- | A key performance indicator (KPI).+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/kpi.html Using KPIs>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newKPIVisual' smart constructor.+data KPIVisual = KPIVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration of a KPI visual.+    chartConfiguration :: Prelude.Maybe KPIConfiguration,+    -- | The column hierarchy that is used during drill-downs and drill-ups.+    columnHierarchies :: Prelude.Maybe [ColumnHierarchy],+    -- | The conditional formatting of a KPI visual.+    conditionalFormatting :: Prelude.Maybe KPIConditionalFormatting,+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers.+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KPIVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'kPIVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'kPIVisual_chartConfiguration' - The configuration of a KPI visual.+--+-- 'columnHierarchies', 'kPIVisual_columnHierarchies' - The column hierarchy that is used during drill-downs and drill-ups.+--+-- 'conditionalFormatting', 'kPIVisual_conditionalFormatting' - The conditional formatting of a KPI visual.+--+-- 'subtitle', 'kPIVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'kPIVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'kPIVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+newKPIVisual ::+  -- | 'visualId'+  Prelude.Text ->+  KPIVisual+newKPIVisual pVisualId_ =+  KPIVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      columnHierarchies = Prelude.Nothing,+      conditionalFormatting = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_+    }++-- | The list of custom actions that are configured for a visual.+kPIVisual_actions :: Lens.Lens' KPIVisual (Prelude.Maybe [VisualCustomAction])+kPIVisual_actions = Lens.lens (\KPIVisual' {actions} -> actions) (\s@KPIVisual' {} a -> s {actions = a} :: KPIVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration of a KPI visual.+kPIVisual_chartConfiguration :: Lens.Lens' KPIVisual (Prelude.Maybe KPIConfiguration)+kPIVisual_chartConfiguration = Lens.lens (\KPIVisual' {chartConfiguration} -> chartConfiguration) (\s@KPIVisual' {} a -> s {chartConfiguration = a} :: KPIVisual)++-- | The column hierarchy that is used during drill-downs and drill-ups.+kPIVisual_columnHierarchies :: Lens.Lens' KPIVisual (Prelude.Maybe [ColumnHierarchy])+kPIVisual_columnHierarchies = Lens.lens (\KPIVisual' {columnHierarchies} -> columnHierarchies) (\s@KPIVisual' {} a -> s {columnHierarchies = a} :: KPIVisual) Prelude.. Lens.mapping Lens.coerced++-- | The conditional formatting of a KPI visual.+kPIVisual_conditionalFormatting :: Lens.Lens' KPIVisual (Prelude.Maybe KPIConditionalFormatting)+kPIVisual_conditionalFormatting = Lens.lens (\KPIVisual' {conditionalFormatting} -> conditionalFormatting) (\s@KPIVisual' {} a -> s {conditionalFormatting = a} :: KPIVisual)++-- | The subtitle that is displayed on the visual.+kPIVisual_subtitle :: Lens.Lens' KPIVisual (Prelude.Maybe VisualSubtitleLabelOptions)+kPIVisual_subtitle = Lens.lens (\KPIVisual' {subtitle} -> subtitle) (\s@KPIVisual' {} a -> s {subtitle = a} :: KPIVisual)++-- | The title that is displayed on the visual.+kPIVisual_title :: Lens.Lens' KPIVisual (Prelude.Maybe VisualTitleLabelOptions)+kPIVisual_title = Lens.lens (\KPIVisual' {title} -> title) (\s@KPIVisual' {} a -> s {title = a} :: KPIVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+kPIVisual_visualId :: Lens.Lens' KPIVisual Prelude.Text+kPIVisual_visualId = Lens.lens (\KPIVisual' {visualId} -> visualId) (\s@KPIVisual' {} a -> s {visualId = a} :: KPIVisual)++instance Data.FromJSON KPIVisual where+  parseJSON =+    Data.withObject+      "KPIVisual"+      ( \x ->+          KPIVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> ( x+                            Data..:? "ColumnHierarchies"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "ConditionalFormatting")+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+      )++instance Prelude.Hashable KPIVisual where+  hashWithSalt _salt KPIVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` columnHierarchies+      `Prelude.hashWithSalt` conditionalFormatting+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData KPIVisual where+  rnf KPIVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf columnHierarchies+      `Prelude.seq` Prelude.rnf conditionalFormatting+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON KPIVisual where+  toJSON KPIVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("ColumnHierarchies" Data..=)+              Prelude.<$> columnHierarchies,+            ("ConditionalFormatting" Data..=)+              Prelude.<$> conditionalFormatting,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/LabelOptions.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.QuickSight.Types.LabelOptions+-- 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.QuickSight.Types.LabelOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FontConfiguration+import Amazonka.QuickSight.Types.Visibility++-- | The share label options for the labels.+--+-- /See:/ 'newLabelOptions' smart constructor.+data LabelOptions = LabelOptions'+  { -- | The text for the label.+    customLabel :: Prelude.Maybe Prelude.Text,+    -- | The font configuration of the label.+    fontConfiguration :: Prelude.Maybe FontConfiguration,+    -- | Determines whether or not the label is visible.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LabelOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customLabel', 'labelOptions_customLabel' - The text for the label.+--+-- 'fontConfiguration', 'labelOptions_fontConfiguration' - The font configuration of the label.+--+-- 'visibility', 'labelOptions_visibility' - Determines whether or not the label is visible.+newLabelOptions ::+  LabelOptions+newLabelOptions =+  LabelOptions'+    { customLabel = Prelude.Nothing,+      fontConfiguration = Prelude.Nothing,+      visibility = Prelude.Nothing+    }++-- | The text for the label.+labelOptions_customLabel :: Lens.Lens' LabelOptions (Prelude.Maybe Prelude.Text)+labelOptions_customLabel = Lens.lens (\LabelOptions' {customLabel} -> customLabel) (\s@LabelOptions' {} a -> s {customLabel = a} :: LabelOptions)++-- | The font configuration of the label.+labelOptions_fontConfiguration :: Lens.Lens' LabelOptions (Prelude.Maybe FontConfiguration)+labelOptions_fontConfiguration = Lens.lens (\LabelOptions' {fontConfiguration} -> fontConfiguration) (\s@LabelOptions' {} a -> s {fontConfiguration = a} :: LabelOptions)++-- | Determines whether or not the label is visible.+labelOptions_visibility :: Lens.Lens' LabelOptions (Prelude.Maybe Visibility)+labelOptions_visibility = Lens.lens (\LabelOptions' {visibility} -> visibility) (\s@LabelOptions' {} a -> s {visibility = a} :: LabelOptions)++instance Data.FromJSON LabelOptions where+  parseJSON =+    Data.withObject+      "LabelOptions"+      ( \x ->+          LabelOptions'+            Prelude.<$> (x Data..:? "CustomLabel")+            Prelude.<*> (x Data..:? "FontConfiguration")+            Prelude.<*> (x Data..:? "Visibility")+      )++instance Prelude.Hashable LabelOptions where+  hashWithSalt _salt LabelOptions' {..} =+    _salt+      `Prelude.hashWithSalt` customLabel+      `Prelude.hashWithSalt` fontConfiguration+      `Prelude.hashWithSalt` visibility++instance Prelude.NFData LabelOptions where+  rnf LabelOptions' {..} =+    Prelude.rnf customLabel+      `Prelude.seq` Prelude.rnf fontConfiguration+      `Prelude.seq` Prelude.rnf visibility++instance Data.ToJSON LabelOptions where+  toJSON LabelOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomLabel" Data..=) Prelude.<$> customLabel,+            ("FontConfiguration" Data..=)+              Prelude.<$> fontConfiguration,+            ("Visibility" Data..=) Prelude.<$> visibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/Layout.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.QuickSight.Types.Layout+-- 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.QuickSight.Types.Layout where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.LayoutConfiguration++-- | A @Layout@ defines the placement of elements within a sheet.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/types-of-layout.html Types of layout>+-- in the /Amazon QuickSight User Guide/.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newLayout' smart constructor.+data Layout = Layout'+  { -- | The configuration that determines what the type of layout for a sheet.+    configuration :: LayoutConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Layout' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configuration', 'layout_configuration' - The configuration that determines what the type of layout for a sheet.+newLayout ::+  -- | 'configuration'+  LayoutConfiguration ->+  Layout+newLayout pConfiguration_ =+  Layout' {configuration = pConfiguration_}++-- | The configuration that determines what the type of layout for a sheet.+layout_configuration :: Lens.Lens' Layout LayoutConfiguration+layout_configuration = Lens.lens (\Layout' {configuration} -> configuration) (\s@Layout' {} a -> s {configuration = a} :: Layout)++instance Data.FromJSON Layout where+  parseJSON =+    Data.withObject+      "Layout"+      ( \x ->+          Layout' Prelude.<$> (x Data..: "Configuration")+      )++instance Prelude.Hashable Layout where+  hashWithSalt _salt Layout' {..} =+    _salt `Prelude.hashWithSalt` configuration++instance Prelude.NFData Layout where+  rnf Layout' {..} = Prelude.rnf configuration++instance Data.ToJSON Layout where+  toJSON Layout' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("Configuration" Data..= configuration)+          ]+      )
+ gen/Amazonka/QuickSight/Types/LayoutConfiguration.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.QuickSight.Types.LayoutConfiguration+-- 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.QuickSight.Types.LayoutConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FreeFormLayoutConfiguration+import Amazonka.QuickSight.Types.GridLayoutConfiguration+import Amazonka.QuickSight.Types.SectionBasedLayoutConfiguration++-- | The configuration that determines what the type of layout will be used+-- on a sheet.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newLayoutConfiguration' smart constructor.+data LayoutConfiguration = LayoutConfiguration'+  { -- | A free-form is optimized for a fixed width and has more control over the+    -- exact placement of layout elements.+    freeFormLayout :: Prelude.Maybe FreeFormLayoutConfiguration,+    -- | A type of layout that can be used on a sheet. In a grid layout, visuals+    -- snap to a grid with standard spacing and alignment. Dashboards are+    -- displayed as designed, with options to fit to screen or view at actual+    -- size. A grid layout can be configured to behave in one of two ways when+    -- the viewport is resized: @FIXED@ or @RESPONSIVE@.+    gridLayout :: Prelude.Maybe GridLayoutConfiguration,+    -- | A section based layout organizes visuals into multiple sections and has+    -- customized header, footer and page break.+    sectionBasedLayout :: Prelude.Maybe SectionBasedLayoutConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LayoutConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'freeFormLayout', 'layoutConfiguration_freeFormLayout' - A free-form is optimized for a fixed width and has more control over the+-- exact placement of layout elements.+--+-- 'gridLayout', 'layoutConfiguration_gridLayout' - A type of layout that can be used on a sheet. In a grid layout, visuals+-- snap to a grid with standard spacing and alignment. Dashboards are+-- displayed as designed, with options to fit to screen or view at actual+-- size. A grid layout can be configured to behave in one of two ways when+-- the viewport is resized: @FIXED@ or @RESPONSIVE@.+--+-- 'sectionBasedLayout', 'layoutConfiguration_sectionBasedLayout' - A section based layout organizes visuals into multiple sections and has+-- customized header, footer and page break.+newLayoutConfiguration ::+  LayoutConfiguration+newLayoutConfiguration =+  LayoutConfiguration'+    { freeFormLayout =+        Prelude.Nothing,+      gridLayout = Prelude.Nothing,+      sectionBasedLayout = Prelude.Nothing+    }++-- | A free-form is optimized for a fixed width and has more control over the+-- exact placement of layout elements.+layoutConfiguration_freeFormLayout :: Lens.Lens' LayoutConfiguration (Prelude.Maybe FreeFormLayoutConfiguration)+layoutConfiguration_freeFormLayout = Lens.lens (\LayoutConfiguration' {freeFormLayout} -> freeFormLayout) (\s@LayoutConfiguration' {} a -> s {freeFormLayout = a} :: LayoutConfiguration)++-- | A type of layout that can be used on a sheet. In a grid layout, visuals+-- snap to a grid with standard spacing and alignment. Dashboards are+-- displayed as designed, with options to fit to screen or view at actual+-- size. A grid layout can be configured to behave in one of two ways when+-- the viewport is resized: @FIXED@ or @RESPONSIVE@.+layoutConfiguration_gridLayout :: Lens.Lens' LayoutConfiguration (Prelude.Maybe GridLayoutConfiguration)+layoutConfiguration_gridLayout = Lens.lens (\LayoutConfiguration' {gridLayout} -> gridLayout) (\s@LayoutConfiguration' {} a -> s {gridLayout = a} :: LayoutConfiguration)++-- | A section based layout organizes visuals into multiple sections and has+-- customized header, footer and page break.+layoutConfiguration_sectionBasedLayout :: Lens.Lens' LayoutConfiguration (Prelude.Maybe SectionBasedLayoutConfiguration)+layoutConfiguration_sectionBasedLayout = Lens.lens (\LayoutConfiguration' {sectionBasedLayout} -> sectionBasedLayout) (\s@LayoutConfiguration' {} a -> s {sectionBasedLayout = a} :: LayoutConfiguration)++instance Data.FromJSON LayoutConfiguration where+  parseJSON =+    Data.withObject+      "LayoutConfiguration"+      ( \x ->+          LayoutConfiguration'+            Prelude.<$> (x Data..:? "FreeFormLayout")+            Prelude.<*> (x Data..:? "GridLayout")+            Prelude.<*> (x Data..:? "SectionBasedLayout")+      )++instance Prelude.Hashable LayoutConfiguration where+  hashWithSalt _salt LayoutConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` freeFormLayout+      `Prelude.hashWithSalt` gridLayout+      `Prelude.hashWithSalt` sectionBasedLayout++instance Prelude.NFData LayoutConfiguration where+  rnf LayoutConfiguration' {..} =+    Prelude.rnf freeFormLayout+      `Prelude.seq` Prelude.rnf gridLayout+      `Prelude.seq` Prelude.rnf sectionBasedLayout++instance Data.ToJSON LayoutConfiguration where+  toJSON LayoutConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FreeFormLayout" Data..=)+              Prelude.<$> freeFormLayout,+            ("GridLayout" Data..=) Prelude.<$> gridLayout,+            ("SectionBasedLayout" Data..=)+              Prelude.<$> sectionBasedLayout+          ]+      )
+ gen/Amazonka/QuickSight/Types/LayoutElementType.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.LayoutElementType+-- 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.QuickSight.Types.LayoutElementType+  ( LayoutElementType+      ( ..,+        LayoutElementType_FILTER_CONTROL,+        LayoutElementType_PARAMETER_CONTROL,+        LayoutElementType_TEXT_BOX,+        LayoutElementType_VISUAL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LayoutElementType = LayoutElementType'+  { fromLayoutElementType ::+      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 LayoutElementType_FILTER_CONTROL :: LayoutElementType+pattern LayoutElementType_FILTER_CONTROL = LayoutElementType' "FILTER_CONTROL"++pattern LayoutElementType_PARAMETER_CONTROL :: LayoutElementType+pattern LayoutElementType_PARAMETER_CONTROL = LayoutElementType' "PARAMETER_CONTROL"++pattern LayoutElementType_TEXT_BOX :: LayoutElementType+pattern LayoutElementType_TEXT_BOX = LayoutElementType' "TEXT_BOX"++pattern LayoutElementType_VISUAL :: LayoutElementType+pattern LayoutElementType_VISUAL = LayoutElementType' "VISUAL"++{-# COMPLETE+  LayoutElementType_FILTER_CONTROL,+  LayoutElementType_PARAMETER_CONTROL,+  LayoutElementType_TEXT_BOX,+  LayoutElementType_VISUAL,+  LayoutElementType'+  #-}
+ gen/Amazonka/QuickSight/Types/LegendOptions.hs view
@@ -0,0 +1,165 @@+{-# 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.QuickSight.Types.LegendOptions+-- 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.QuickSight.Types.LegendOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.LabelOptions+import Amazonka.QuickSight.Types.LegendPosition+import Amazonka.QuickSight.Types.Visibility++-- | The options for the legend setup of a visual.+--+-- /See:/ 'newLegendOptions' smart constructor.+data LegendOptions = LegendOptions'+  { -- | The height of the legend. If this value is omitted, a default height is+    -- used when rendering.+    height :: Prelude.Maybe Prelude.Text,+    -- | The positions for the legend. Choose one of the following options:+    --+    -- -   @AUTO@+    --+    -- -   @RIGHT@+    --+    -- -   @BOTTOM@+    --+    -- -   @LEFT@+    position :: Prelude.Maybe LegendPosition,+    -- | The custom title for the legend.+    title :: Prelude.Maybe LabelOptions,+    -- | Determines whether or not the legend is visible.+    visibility :: Prelude.Maybe Visibility,+    -- | The width of the legend. If this value is omitted, a default width is+    -- used when rendering.+    width :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LegendOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'height', 'legendOptions_height' - The height of the legend. If this value is omitted, a default height is+-- used when rendering.+--+-- 'position', 'legendOptions_position' - The positions for the legend. Choose one of the following options:+--+-- -   @AUTO@+--+-- -   @RIGHT@+--+-- -   @BOTTOM@+--+-- -   @LEFT@+--+-- 'title', 'legendOptions_title' - The custom title for the legend.+--+-- 'visibility', 'legendOptions_visibility' - Determines whether or not the legend is visible.+--+-- 'width', 'legendOptions_width' - The width of the legend. If this value is omitted, a default width is+-- used when rendering.+newLegendOptions ::+  LegendOptions+newLegendOptions =+  LegendOptions'+    { height = Prelude.Nothing,+      position = Prelude.Nothing,+      title = Prelude.Nothing,+      visibility = Prelude.Nothing,+      width = Prelude.Nothing+    }++-- | The height of the legend. If this value is omitted, a default height is+-- used when rendering.+legendOptions_height :: Lens.Lens' LegendOptions (Prelude.Maybe Prelude.Text)+legendOptions_height = Lens.lens (\LegendOptions' {height} -> height) (\s@LegendOptions' {} a -> s {height = a} :: LegendOptions)++-- | The positions for the legend. Choose one of the following options:+--+-- -   @AUTO@+--+-- -   @RIGHT@+--+-- -   @BOTTOM@+--+-- -   @LEFT@+legendOptions_position :: Lens.Lens' LegendOptions (Prelude.Maybe LegendPosition)+legendOptions_position = Lens.lens (\LegendOptions' {position} -> position) (\s@LegendOptions' {} a -> s {position = a} :: LegendOptions)++-- | The custom title for the legend.+legendOptions_title :: Lens.Lens' LegendOptions (Prelude.Maybe LabelOptions)+legendOptions_title = Lens.lens (\LegendOptions' {title} -> title) (\s@LegendOptions' {} a -> s {title = a} :: LegendOptions)++-- | Determines whether or not the legend is visible.+legendOptions_visibility :: Lens.Lens' LegendOptions (Prelude.Maybe Visibility)+legendOptions_visibility = Lens.lens (\LegendOptions' {visibility} -> visibility) (\s@LegendOptions' {} a -> s {visibility = a} :: LegendOptions)++-- | The width of the legend. If this value is omitted, a default width is+-- used when rendering.+legendOptions_width :: Lens.Lens' LegendOptions (Prelude.Maybe Prelude.Text)+legendOptions_width = Lens.lens (\LegendOptions' {width} -> width) (\s@LegendOptions' {} a -> s {width = a} :: LegendOptions)++instance Data.FromJSON LegendOptions where+  parseJSON =+    Data.withObject+      "LegendOptions"+      ( \x ->+          LegendOptions'+            Prelude.<$> (x Data..:? "Height")+            Prelude.<*> (x Data..:? "Position")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..:? "Visibility")+            Prelude.<*> (x Data..:? "Width")+      )++instance Prelude.Hashable LegendOptions where+  hashWithSalt _salt LegendOptions' {..} =+    _salt+      `Prelude.hashWithSalt` height+      `Prelude.hashWithSalt` position+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visibility+      `Prelude.hashWithSalt` width++instance Prelude.NFData LegendOptions where+  rnf LegendOptions' {..} =+    Prelude.rnf height+      `Prelude.seq` Prelude.rnf position+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visibility+      `Prelude.seq` Prelude.rnf width++instance Data.ToJSON LegendOptions where+  toJSON LegendOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Height" Data..=) Prelude.<$> height,+            ("Position" Data..=) Prelude.<$> position,+            ("Title" Data..=) Prelude.<$> title,+            ("Visibility" Data..=) Prelude.<$> visibility,+            ("Width" Data..=) Prelude.<$> width+          ]+      )
+ gen/Amazonka/QuickSight/Types/LegendPosition.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.LegendPosition+-- 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.QuickSight.Types.LegendPosition+  ( LegendPosition+      ( ..,+        LegendPosition_AUTO,+        LegendPosition_BOTTOM,+        LegendPosition_RIGHT,+        LegendPosition_TOP+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LegendPosition = LegendPosition'+  { fromLegendPosition ::+      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 LegendPosition_AUTO :: LegendPosition+pattern LegendPosition_AUTO = LegendPosition' "AUTO"++pattern LegendPosition_BOTTOM :: LegendPosition+pattern LegendPosition_BOTTOM = LegendPosition' "BOTTOM"++pattern LegendPosition_RIGHT :: LegendPosition+pattern LegendPosition_RIGHT = LegendPosition' "RIGHT"++pattern LegendPosition_TOP :: LegendPosition+pattern LegendPosition_TOP = LegendPosition' "TOP"++{-# COMPLETE+  LegendPosition_AUTO,+  LegendPosition_BOTTOM,+  LegendPosition_RIGHT,+  LegendPosition_TOP,+  LegendPosition'+  #-}
+ gen/Amazonka/QuickSight/Types/LineChartAggregatedFieldWells.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.QuickSight.Types.LineChartAggregatedFieldWells+-- 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.QuickSight.Types.LineChartAggregatedFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The field well configuration of a line chart.+--+-- /See:/ 'newLineChartAggregatedFieldWells' smart constructor.+data LineChartAggregatedFieldWells = LineChartAggregatedFieldWells'+  { -- | The category field wells of a line chart. Values are grouped by category+    -- fields.+    category :: Prelude.Maybe [DimensionField],+    -- | The color field wells of a line chart. Values are grouped by category+    -- fields.+    colors :: Prelude.Maybe [DimensionField],+    -- | The small multiples field well of a line chart.+    smallMultiples :: Prelude.Maybe [DimensionField],+    -- | The value field wells of a line chart. Values are aggregated based on+    -- categories.+    values :: Prelude.Maybe [MeasureField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LineChartAggregatedFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'category', 'lineChartAggregatedFieldWells_category' - The category field wells of a line chart. Values are grouped by category+-- fields.+--+-- 'colors', 'lineChartAggregatedFieldWells_colors' - The color field wells of a line chart. Values are grouped by category+-- fields.+--+-- 'smallMultiples', 'lineChartAggregatedFieldWells_smallMultiples' - The small multiples field well of a line chart.+--+-- 'values', 'lineChartAggregatedFieldWells_values' - The value field wells of a line chart. Values are aggregated based on+-- categories.+newLineChartAggregatedFieldWells ::+  LineChartAggregatedFieldWells+newLineChartAggregatedFieldWells =+  LineChartAggregatedFieldWells'+    { category =+        Prelude.Nothing,+      colors = Prelude.Nothing,+      smallMultiples = Prelude.Nothing,+      values = Prelude.Nothing+    }++-- | The category field wells of a line chart. Values are grouped by category+-- fields.+lineChartAggregatedFieldWells_category :: Lens.Lens' LineChartAggregatedFieldWells (Prelude.Maybe [DimensionField])+lineChartAggregatedFieldWells_category = Lens.lens (\LineChartAggregatedFieldWells' {category} -> category) (\s@LineChartAggregatedFieldWells' {} a -> s {category = a} :: LineChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The color field wells of a line chart. Values are grouped by category+-- fields.+lineChartAggregatedFieldWells_colors :: Lens.Lens' LineChartAggregatedFieldWells (Prelude.Maybe [DimensionField])+lineChartAggregatedFieldWells_colors = Lens.lens (\LineChartAggregatedFieldWells' {colors} -> colors) (\s@LineChartAggregatedFieldWells' {} a -> s {colors = a} :: LineChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The small multiples field well of a line chart.+lineChartAggregatedFieldWells_smallMultiples :: Lens.Lens' LineChartAggregatedFieldWells (Prelude.Maybe [DimensionField])+lineChartAggregatedFieldWells_smallMultiples = Lens.lens (\LineChartAggregatedFieldWells' {smallMultiples} -> smallMultiples) (\s@LineChartAggregatedFieldWells' {} a -> s {smallMultiples = a} :: LineChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The value field wells of a line chart. Values are aggregated based on+-- categories.+lineChartAggregatedFieldWells_values :: Lens.Lens' LineChartAggregatedFieldWells (Prelude.Maybe [MeasureField])+lineChartAggregatedFieldWells_values = Lens.lens (\LineChartAggregatedFieldWells' {values} -> values) (\s@LineChartAggregatedFieldWells' {} a -> s {values = a} :: LineChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON LineChartAggregatedFieldWells where+  parseJSON =+    Data.withObject+      "LineChartAggregatedFieldWells"+      ( \x ->+          LineChartAggregatedFieldWells'+            Prelude.<$> (x Data..:? "Category" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Colors" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "SmallMultiples" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Values" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    LineChartAggregatedFieldWells+  where+  hashWithSalt _salt LineChartAggregatedFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` category+      `Prelude.hashWithSalt` colors+      `Prelude.hashWithSalt` smallMultiples+      `Prelude.hashWithSalt` values++instance Prelude.NFData LineChartAggregatedFieldWells where+  rnf LineChartAggregatedFieldWells' {..} =+    Prelude.rnf category+      `Prelude.seq` Prelude.rnf colors+      `Prelude.seq` Prelude.rnf smallMultiples+      `Prelude.seq` Prelude.rnf values++instance Data.ToJSON LineChartAggregatedFieldWells where+  toJSON LineChartAggregatedFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Category" Data..=) Prelude.<$> category,+            ("Colors" Data..=) Prelude.<$> colors,+            ("SmallMultiples" Data..=)+              Prelude.<$> smallMultiples,+            ("Values" Data..=) Prelude.<$> values+          ]+      )
+ gen/Amazonka/QuickSight/Types/LineChartConfiguration.hs view
@@ -0,0 +1,352 @@+{-# 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.QuickSight.Types.LineChartConfiguration+-- 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.QuickSight.Types.LineChartConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AxisDisplayOptions+import Amazonka.QuickSight.Types.ChartAxisLabelOptions+import Amazonka.QuickSight.Types.ContributionAnalysisDefault+import Amazonka.QuickSight.Types.DataLabelOptions+import Amazonka.QuickSight.Types.ForecastConfiguration+import Amazonka.QuickSight.Types.LegendOptions+import Amazonka.QuickSight.Types.LineChartDefaultSeriesSettings+import Amazonka.QuickSight.Types.LineChartFieldWells+import Amazonka.QuickSight.Types.LineChartSortConfiguration+import Amazonka.QuickSight.Types.LineChartType+import Amazonka.QuickSight.Types.LineSeriesAxisDisplayOptions+import Amazonka.QuickSight.Types.ReferenceLine+import Amazonka.QuickSight.Types.SeriesItem+import Amazonka.QuickSight.Types.SmallMultiplesOptions+import Amazonka.QuickSight.Types.TooltipOptions+import Amazonka.QuickSight.Types.VisualPalette++-- | The configuration of a line chart.+--+-- /See:/ 'newLineChartConfiguration' smart constructor.+data LineChartConfiguration = LineChartConfiguration'+  { -- | The default configuration of a line chart\'s contribution analysis.+    contributionAnalysisDefaults :: Prelude.Maybe (Prelude.NonEmpty ContributionAnalysisDefault),+    -- | The data label configuration of a line chart.+    dataLabels :: Prelude.Maybe DataLabelOptions,+    -- | The options that determine the default presentation of all line series+    -- in @LineChartVisual@.+    defaultSeriesSettings :: Prelude.Maybe LineChartDefaultSeriesSettings,+    -- | The field well configuration of a line chart.+    fieldWells :: Prelude.Maybe LineChartFieldWells,+    -- | The forecast configuration of a line chart.+    forecastConfigurations :: Prelude.Maybe [ForecastConfiguration],+    -- | The legend configuration of a line chart.+    legend :: Prelude.Maybe LegendOptions,+    -- | The series axis configuration of a line chart.+    primaryYAxisDisplayOptions :: Prelude.Maybe LineSeriesAxisDisplayOptions,+    -- | The options that determine the presentation of the y-axis label.+    primaryYAxisLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The reference lines configuration of a line chart.+    referenceLines :: Prelude.Maybe [ReferenceLine],+    -- | The series axis configuration of a line chart.+    secondaryYAxisDisplayOptions :: Prelude.Maybe LineSeriesAxisDisplayOptions,+    -- | The options that determine the presentation of the secondary y-axis+    -- label.+    secondaryYAxisLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The series item configuration of a line chart.+    series :: Prelude.Maybe [SeriesItem],+    -- | The small multiples setup for the visual.+    smallMultiplesOptions :: Prelude.Maybe SmallMultiplesOptions,+    -- | The sort configuration of a line chart.+    sortConfiguration :: Prelude.Maybe LineChartSortConfiguration,+    -- | The tooltip configuration of a line chart.+    tooltip :: Prelude.Maybe TooltipOptions,+    -- | Determines the type of the line chart.+    type' :: Prelude.Maybe LineChartType,+    -- | The visual palette configuration of a line chart.+    visualPalette :: Prelude.Maybe VisualPalette,+    -- | The options that determine the presentation of the x-axis.+    xAxisDisplayOptions :: Prelude.Maybe AxisDisplayOptions,+    -- | The options that determine the presentation of the x-axis label.+    xAxisLabelOptions :: Prelude.Maybe ChartAxisLabelOptions+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LineChartConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'contributionAnalysisDefaults', 'lineChartConfiguration_contributionAnalysisDefaults' - The default configuration of a line chart\'s contribution analysis.+--+-- 'dataLabels', 'lineChartConfiguration_dataLabels' - The data label configuration of a line chart.+--+-- 'defaultSeriesSettings', 'lineChartConfiguration_defaultSeriesSettings' - The options that determine the default presentation of all line series+-- in @LineChartVisual@.+--+-- 'fieldWells', 'lineChartConfiguration_fieldWells' - The field well configuration of a line chart.+--+-- 'forecastConfigurations', 'lineChartConfiguration_forecastConfigurations' - The forecast configuration of a line chart.+--+-- 'legend', 'lineChartConfiguration_legend' - The legend configuration of a line chart.+--+-- 'primaryYAxisDisplayOptions', 'lineChartConfiguration_primaryYAxisDisplayOptions' - The series axis configuration of a line chart.+--+-- 'primaryYAxisLabelOptions', 'lineChartConfiguration_primaryYAxisLabelOptions' - The options that determine the presentation of the y-axis label.+--+-- 'referenceLines', 'lineChartConfiguration_referenceLines' - The reference lines configuration of a line chart.+--+-- 'secondaryYAxisDisplayOptions', 'lineChartConfiguration_secondaryYAxisDisplayOptions' - The series axis configuration of a line chart.+--+-- 'secondaryYAxisLabelOptions', 'lineChartConfiguration_secondaryYAxisLabelOptions' - The options that determine the presentation of the secondary y-axis+-- label.+--+-- 'series', 'lineChartConfiguration_series' - The series item configuration of a line chart.+--+-- 'smallMultiplesOptions', 'lineChartConfiguration_smallMultiplesOptions' - The small multiples setup for the visual.+--+-- 'sortConfiguration', 'lineChartConfiguration_sortConfiguration' - The sort configuration of a line chart.+--+-- 'tooltip', 'lineChartConfiguration_tooltip' - The tooltip configuration of a line chart.+--+-- 'type'', 'lineChartConfiguration_type' - Determines the type of the line chart.+--+-- 'visualPalette', 'lineChartConfiguration_visualPalette' - The visual palette configuration of a line chart.+--+-- 'xAxisDisplayOptions', 'lineChartConfiguration_xAxisDisplayOptions' - The options that determine the presentation of the x-axis.+--+-- 'xAxisLabelOptions', 'lineChartConfiguration_xAxisLabelOptions' - The options that determine the presentation of the x-axis label.+newLineChartConfiguration ::+  LineChartConfiguration+newLineChartConfiguration =+  LineChartConfiguration'+    { contributionAnalysisDefaults =+        Prelude.Nothing,+      dataLabels = Prelude.Nothing,+      defaultSeriesSettings = Prelude.Nothing,+      fieldWells = Prelude.Nothing,+      forecastConfigurations = Prelude.Nothing,+      legend = Prelude.Nothing,+      primaryYAxisDisplayOptions = Prelude.Nothing,+      primaryYAxisLabelOptions = Prelude.Nothing,+      referenceLines = Prelude.Nothing,+      secondaryYAxisDisplayOptions = Prelude.Nothing,+      secondaryYAxisLabelOptions = Prelude.Nothing,+      series = Prelude.Nothing,+      smallMultiplesOptions = Prelude.Nothing,+      sortConfiguration = Prelude.Nothing,+      tooltip = Prelude.Nothing,+      type' = Prelude.Nothing,+      visualPalette = Prelude.Nothing,+      xAxisDisplayOptions = Prelude.Nothing,+      xAxisLabelOptions = Prelude.Nothing+    }++-- | The default configuration of a line chart\'s contribution analysis.+lineChartConfiguration_contributionAnalysisDefaults :: Lens.Lens' LineChartConfiguration (Prelude.Maybe (Prelude.NonEmpty ContributionAnalysisDefault))+lineChartConfiguration_contributionAnalysisDefaults = Lens.lens (\LineChartConfiguration' {contributionAnalysisDefaults} -> contributionAnalysisDefaults) (\s@LineChartConfiguration' {} a -> s {contributionAnalysisDefaults = a} :: LineChartConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The data label configuration of a line chart.+lineChartConfiguration_dataLabels :: Lens.Lens' LineChartConfiguration (Prelude.Maybe DataLabelOptions)+lineChartConfiguration_dataLabels = Lens.lens (\LineChartConfiguration' {dataLabels} -> dataLabels) (\s@LineChartConfiguration' {} a -> s {dataLabels = a} :: LineChartConfiguration)++-- | The options that determine the default presentation of all line series+-- in @LineChartVisual@.+lineChartConfiguration_defaultSeriesSettings :: Lens.Lens' LineChartConfiguration (Prelude.Maybe LineChartDefaultSeriesSettings)+lineChartConfiguration_defaultSeriesSettings = Lens.lens (\LineChartConfiguration' {defaultSeriesSettings} -> defaultSeriesSettings) (\s@LineChartConfiguration' {} a -> s {defaultSeriesSettings = a} :: LineChartConfiguration)++-- | The field well configuration of a line chart.+lineChartConfiguration_fieldWells :: Lens.Lens' LineChartConfiguration (Prelude.Maybe LineChartFieldWells)+lineChartConfiguration_fieldWells = Lens.lens (\LineChartConfiguration' {fieldWells} -> fieldWells) (\s@LineChartConfiguration' {} a -> s {fieldWells = a} :: LineChartConfiguration)++-- | The forecast configuration of a line chart.+lineChartConfiguration_forecastConfigurations :: Lens.Lens' LineChartConfiguration (Prelude.Maybe [ForecastConfiguration])+lineChartConfiguration_forecastConfigurations = Lens.lens (\LineChartConfiguration' {forecastConfigurations} -> forecastConfigurations) (\s@LineChartConfiguration' {} a -> s {forecastConfigurations = a} :: LineChartConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The legend configuration of a line chart.+lineChartConfiguration_legend :: Lens.Lens' LineChartConfiguration (Prelude.Maybe LegendOptions)+lineChartConfiguration_legend = Lens.lens (\LineChartConfiguration' {legend} -> legend) (\s@LineChartConfiguration' {} a -> s {legend = a} :: LineChartConfiguration)++-- | The series axis configuration of a line chart.+lineChartConfiguration_primaryYAxisDisplayOptions :: Lens.Lens' LineChartConfiguration (Prelude.Maybe LineSeriesAxisDisplayOptions)+lineChartConfiguration_primaryYAxisDisplayOptions = Lens.lens (\LineChartConfiguration' {primaryYAxisDisplayOptions} -> primaryYAxisDisplayOptions) (\s@LineChartConfiguration' {} a -> s {primaryYAxisDisplayOptions = a} :: LineChartConfiguration)++-- | The options that determine the presentation of the y-axis label.+lineChartConfiguration_primaryYAxisLabelOptions :: Lens.Lens' LineChartConfiguration (Prelude.Maybe ChartAxisLabelOptions)+lineChartConfiguration_primaryYAxisLabelOptions = Lens.lens (\LineChartConfiguration' {primaryYAxisLabelOptions} -> primaryYAxisLabelOptions) (\s@LineChartConfiguration' {} a -> s {primaryYAxisLabelOptions = a} :: LineChartConfiguration)++-- | The reference lines configuration of a line chart.+lineChartConfiguration_referenceLines :: Lens.Lens' LineChartConfiguration (Prelude.Maybe [ReferenceLine])+lineChartConfiguration_referenceLines = Lens.lens (\LineChartConfiguration' {referenceLines} -> referenceLines) (\s@LineChartConfiguration' {} a -> s {referenceLines = a} :: LineChartConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The series axis configuration of a line chart.+lineChartConfiguration_secondaryYAxisDisplayOptions :: Lens.Lens' LineChartConfiguration (Prelude.Maybe LineSeriesAxisDisplayOptions)+lineChartConfiguration_secondaryYAxisDisplayOptions = Lens.lens (\LineChartConfiguration' {secondaryYAxisDisplayOptions} -> secondaryYAxisDisplayOptions) (\s@LineChartConfiguration' {} a -> s {secondaryYAxisDisplayOptions = a} :: LineChartConfiguration)++-- | The options that determine the presentation of the secondary y-axis+-- label.+lineChartConfiguration_secondaryYAxisLabelOptions :: Lens.Lens' LineChartConfiguration (Prelude.Maybe ChartAxisLabelOptions)+lineChartConfiguration_secondaryYAxisLabelOptions = Lens.lens (\LineChartConfiguration' {secondaryYAxisLabelOptions} -> secondaryYAxisLabelOptions) (\s@LineChartConfiguration' {} a -> s {secondaryYAxisLabelOptions = a} :: LineChartConfiguration)++-- | The series item configuration of a line chart.+lineChartConfiguration_series :: Lens.Lens' LineChartConfiguration (Prelude.Maybe [SeriesItem])+lineChartConfiguration_series = Lens.lens (\LineChartConfiguration' {series} -> series) (\s@LineChartConfiguration' {} a -> s {series = a} :: LineChartConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The small multiples setup for the visual.+lineChartConfiguration_smallMultiplesOptions :: Lens.Lens' LineChartConfiguration (Prelude.Maybe SmallMultiplesOptions)+lineChartConfiguration_smallMultiplesOptions = Lens.lens (\LineChartConfiguration' {smallMultiplesOptions} -> smallMultiplesOptions) (\s@LineChartConfiguration' {} a -> s {smallMultiplesOptions = a} :: LineChartConfiguration)++-- | The sort configuration of a line chart.+lineChartConfiguration_sortConfiguration :: Lens.Lens' LineChartConfiguration (Prelude.Maybe LineChartSortConfiguration)+lineChartConfiguration_sortConfiguration = Lens.lens (\LineChartConfiguration' {sortConfiguration} -> sortConfiguration) (\s@LineChartConfiguration' {} a -> s {sortConfiguration = a} :: LineChartConfiguration)++-- | The tooltip configuration of a line chart.+lineChartConfiguration_tooltip :: Lens.Lens' LineChartConfiguration (Prelude.Maybe TooltipOptions)+lineChartConfiguration_tooltip = Lens.lens (\LineChartConfiguration' {tooltip} -> tooltip) (\s@LineChartConfiguration' {} a -> s {tooltip = a} :: LineChartConfiguration)++-- | Determines the type of the line chart.+lineChartConfiguration_type :: Lens.Lens' LineChartConfiguration (Prelude.Maybe LineChartType)+lineChartConfiguration_type = Lens.lens (\LineChartConfiguration' {type'} -> type') (\s@LineChartConfiguration' {} a -> s {type' = a} :: LineChartConfiguration)++-- | The visual palette configuration of a line chart.+lineChartConfiguration_visualPalette :: Lens.Lens' LineChartConfiguration (Prelude.Maybe VisualPalette)+lineChartConfiguration_visualPalette = Lens.lens (\LineChartConfiguration' {visualPalette} -> visualPalette) (\s@LineChartConfiguration' {} a -> s {visualPalette = a} :: LineChartConfiguration)++-- | The options that determine the presentation of the x-axis.+lineChartConfiguration_xAxisDisplayOptions :: Lens.Lens' LineChartConfiguration (Prelude.Maybe AxisDisplayOptions)+lineChartConfiguration_xAxisDisplayOptions = Lens.lens (\LineChartConfiguration' {xAxisDisplayOptions} -> xAxisDisplayOptions) (\s@LineChartConfiguration' {} a -> s {xAxisDisplayOptions = a} :: LineChartConfiguration)++-- | The options that determine the presentation of the x-axis label.+lineChartConfiguration_xAxisLabelOptions :: Lens.Lens' LineChartConfiguration (Prelude.Maybe ChartAxisLabelOptions)+lineChartConfiguration_xAxisLabelOptions = Lens.lens (\LineChartConfiguration' {xAxisLabelOptions} -> xAxisLabelOptions) (\s@LineChartConfiguration' {} a -> s {xAxisLabelOptions = a} :: LineChartConfiguration)++instance Data.FromJSON LineChartConfiguration where+  parseJSON =+    Data.withObject+      "LineChartConfiguration"+      ( \x ->+          LineChartConfiguration'+            Prelude.<$> (x Data..:? "ContributionAnalysisDefaults")+            Prelude.<*> (x Data..:? "DataLabels")+            Prelude.<*> (x Data..:? "DefaultSeriesSettings")+            Prelude.<*> (x Data..:? "FieldWells")+            Prelude.<*> ( x+                            Data..:? "ForecastConfigurations"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Legend")+            Prelude.<*> (x Data..:? "PrimaryYAxisDisplayOptions")+            Prelude.<*> (x Data..:? "PrimaryYAxisLabelOptions")+            Prelude.<*> (x Data..:? "ReferenceLines" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "SecondaryYAxisDisplayOptions")+            Prelude.<*> (x Data..:? "SecondaryYAxisLabelOptions")+            Prelude.<*> (x Data..:? "Series" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "SmallMultiplesOptions")+            Prelude.<*> (x Data..:? "SortConfiguration")+            Prelude.<*> (x Data..:? "Tooltip")+            Prelude.<*> (x Data..:? "Type")+            Prelude.<*> (x Data..:? "VisualPalette")+            Prelude.<*> (x Data..:? "XAxisDisplayOptions")+            Prelude.<*> (x Data..:? "XAxisLabelOptions")+      )++instance Prelude.Hashable LineChartConfiguration where+  hashWithSalt _salt LineChartConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` contributionAnalysisDefaults+      `Prelude.hashWithSalt` dataLabels+      `Prelude.hashWithSalt` defaultSeriesSettings+      `Prelude.hashWithSalt` fieldWells+      `Prelude.hashWithSalt` forecastConfigurations+      `Prelude.hashWithSalt` legend+      `Prelude.hashWithSalt` primaryYAxisDisplayOptions+      `Prelude.hashWithSalt` primaryYAxisLabelOptions+      `Prelude.hashWithSalt` referenceLines+      `Prelude.hashWithSalt` secondaryYAxisDisplayOptions+      `Prelude.hashWithSalt` secondaryYAxisLabelOptions+      `Prelude.hashWithSalt` series+      `Prelude.hashWithSalt` smallMultiplesOptions+      `Prelude.hashWithSalt` sortConfiguration+      `Prelude.hashWithSalt` tooltip+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` visualPalette+      `Prelude.hashWithSalt` xAxisDisplayOptions+      `Prelude.hashWithSalt` xAxisLabelOptions++instance Prelude.NFData LineChartConfiguration where+  rnf LineChartConfiguration' {..} =+    Prelude.rnf contributionAnalysisDefaults+      `Prelude.seq` Prelude.rnf dataLabels+      `Prelude.seq` Prelude.rnf defaultSeriesSettings+      `Prelude.seq` Prelude.rnf fieldWells+      `Prelude.seq` Prelude.rnf forecastConfigurations+      `Prelude.seq` Prelude.rnf legend+      `Prelude.seq` Prelude.rnf primaryYAxisDisplayOptions+      `Prelude.seq` Prelude.rnf primaryYAxisLabelOptions+      `Prelude.seq` Prelude.rnf referenceLines+      `Prelude.seq` Prelude.rnf secondaryYAxisDisplayOptions+      `Prelude.seq` Prelude.rnf secondaryYAxisLabelOptions+      `Prelude.seq` Prelude.rnf series+      `Prelude.seq` Prelude.rnf smallMultiplesOptions+      `Prelude.seq` Prelude.rnf sortConfiguration+      `Prelude.seq` Prelude.rnf tooltip+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf visualPalette+      `Prelude.seq` Prelude.rnf xAxisDisplayOptions+      `Prelude.seq` Prelude.rnf xAxisLabelOptions++instance Data.ToJSON LineChartConfiguration where+  toJSON LineChartConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ContributionAnalysisDefaults" Data..=)+              Prelude.<$> contributionAnalysisDefaults,+            ("DataLabels" Data..=) Prelude.<$> dataLabels,+            ("DefaultSeriesSettings" Data..=)+              Prelude.<$> defaultSeriesSettings,+            ("FieldWells" Data..=) Prelude.<$> fieldWells,+            ("ForecastConfigurations" Data..=)+              Prelude.<$> forecastConfigurations,+            ("Legend" Data..=) Prelude.<$> legend,+            ("PrimaryYAxisDisplayOptions" Data..=)+              Prelude.<$> primaryYAxisDisplayOptions,+            ("PrimaryYAxisLabelOptions" Data..=)+              Prelude.<$> primaryYAxisLabelOptions,+            ("ReferenceLines" Data..=)+              Prelude.<$> referenceLines,+            ("SecondaryYAxisDisplayOptions" Data..=)+              Prelude.<$> secondaryYAxisDisplayOptions,+            ("SecondaryYAxisLabelOptions" Data..=)+              Prelude.<$> secondaryYAxisLabelOptions,+            ("Series" Data..=) Prelude.<$> series,+            ("SmallMultiplesOptions" Data..=)+              Prelude.<$> smallMultiplesOptions,+            ("SortConfiguration" Data..=)+              Prelude.<$> sortConfiguration,+            ("Tooltip" Data..=) Prelude.<$> tooltip,+            ("Type" Data..=) Prelude.<$> type',+            ("VisualPalette" Data..=) Prelude.<$> visualPalette,+            ("XAxisDisplayOptions" Data..=)+              Prelude.<$> xAxisDisplayOptions,+            ("XAxisLabelOptions" Data..=)+              Prelude.<$> xAxisLabelOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/LineChartDefaultSeriesSettings.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.LineChartDefaultSeriesSettings+-- 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.QuickSight.Types.LineChartDefaultSeriesSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AxisBinding+import Amazonka.QuickSight.Types.LineChartLineStyleSettings+import Amazonka.QuickSight.Types.LineChartMarkerStyleSettings++-- | The options that determine the default presentation of all line series+-- in @LineChartVisual@.+--+-- /See:/ 'newLineChartDefaultSeriesSettings' smart constructor.+data LineChartDefaultSeriesSettings = LineChartDefaultSeriesSettings'+  { -- | The axis to which you are binding all line series to.+    axisBinding :: Prelude.Maybe AxisBinding,+    -- | Line styles options for all line series in the visual.+    lineStyleSettings :: Prelude.Maybe LineChartLineStyleSettings,+    -- | Marker styles options for all line series in the visual.+    markerStyleSettings :: Prelude.Maybe LineChartMarkerStyleSettings+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LineChartDefaultSeriesSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'axisBinding', 'lineChartDefaultSeriesSettings_axisBinding' - The axis to which you are binding all line series to.+--+-- 'lineStyleSettings', 'lineChartDefaultSeriesSettings_lineStyleSettings' - Line styles options for all line series in the visual.+--+-- 'markerStyleSettings', 'lineChartDefaultSeriesSettings_markerStyleSettings' - Marker styles options for all line series in the visual.+newLineChartDefaultSeriesSettings ::+  LineChartDefaultSeriesSettings+newLineChartDefaultSeriesSettings =+  LineChartDefaultSeriesSettings'+    { axisBinding =+        Prelude.Nothing,+      lineStyleSettings = Prelude.Nothing,+      markerStyleSettings = Prelude.Nothing+    }++-- | The axis to which you are binding all line series to.+lineChartDefaultSeriesSettings_axisBinding :: Lens.Lens' LineChartDefaultSeriesSettings (Prelude.Maybe AxisBinding)+lineChartDefaultSeriesSettings_axisBinding = Lens.lens (\LineChartDefaultSeriesSettings' {axisBinding} -> axisBinding) (\s@LineChartDefaultSeriesSettings' {} a -> s {axisBinding = a} :: LineChartDefaultSeriesSettings)++-- | Line styles options for all line series in the visual.+lineChartDefaultSeriesSettings_lineStyleSettings :: Lens.Lens' LineChartDefaultSeriesSettings (Prelude.Maybe LineChartLineStyleSettings)+lineChartDefaultSeriesSettings_lineStyleSettings = Lens.lens (\LineChartDefaultSeriesSettings' {lineStyleSettings} -> lineStyleSettings) (\s@LineChartDefaultSeriesSettings' {} a -> s {lineStyleSettings = a} :: LineChartDefaultSeriesSettings)++-- | Marker styles options for all line series in the visual.+lineChartDefaultSeriesSettings_markerStyleSettings :: Lens.Lens' LineChartDefaultSeriesSettings (Prelude.Maybe LineChartMarkerStyleSettings)+lineChartDefaultSeriesSettings_markerStyleSettings = Lens.lens (\LineChartDefaultSeriesSettings' {markerStyleSettings} -> markerStyleSettings) (\s@LineChartDefaultSeriesSettings' {} a -> s {markerStyleSettings = a} :: LineChartDefaultSeriesSettings)++instance Data.FromJSON LineChartDefaultSeriesSettings where+  parseJSON =+    Data.withObject+      "LineChartDefaultSeriesSettings"+      ( \x ->+          LineChartDefaultSeriesSettings'+            Prelude.<$> (x Data..:? "AxisBinding")+            Prelude.<*> (x Data..:? "LineStyleSettings")+            Prelude.<*> (x Data..:? "MarkerStyleSettings")+      )++instance+  Prelude.Hashable+    LineChartDefaultSeriesSettings+  where+  hashWithSalt+    _salt+    LineChartDefaultSeriesSettings' {..} =+      _salt+        `Prelude.hashWithSalt` axisBinding+        `Prelude.hashWithSalt` lineStyleSettings+        `Prelude.hashWithSalt` markerStyleSettings++instance+  Prelude.NFData+    LineChartDefaultSeriesSettings+  where+  rnf LineChartDefaultSeriesSettings' {..} =+    Prelude.rnf axisBinding+      `Prelude.seq` Prelude.rnf lineStyleSettings+      `Prelude.seq` Prelude.rnf markerStyleSettings++instance Data.ToJSON LineChartDefaultSeriesSettings where+  toJSON LineChartDefaultSeriesSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AxisBinding" Data..=) Prelude.<$> axisBinding,+            ("LineStyleSettings" Data..=)+              Prelude.<$> lineStyleSettings,+            ("MarkerStyleSettings" Data..=)+              Prelude.<$> markerStyleSettings+          ]+      )
+ gen/Amazonka/QuickSight/Types/LineChartFieldWells.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.LineChartFieldWells+-- 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.QuickSight.Types.LineChartFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.LineChartAggregatedFieldWells++-- | The field well configuration of a line chart.+--+-- /See:/ 'newLineChartFieldWells' smart constructor.+data LineChartFieldWells = LineChartFieldWells'+  { -- | The field well configuration of a line chart.+    lineChartAggregatedFieldWells :: Prelude.Maybe LineChartAggregatedFieldWells+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LineChartFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lineChartAggregatedFieldWells', 'lineChartFieldWells_lineChartAggregatedFieldWells' - The field well configuration of a line chart.+newLineChartFieldWells ::+  LineChartFieldWells+newLineChartFieldWells =+  LineChartFieldWells'+    { lineChartAggregatedFieldWells =+        Prelude.Nothing+    }++-- | The field well configuration of a line chart.+lineChartFieldWells_lineChartAggregatedFieldWells :: Lens.Lens' LineChartFieldWells (Prelude.Maybe LineChartAggregatedFieldWells)+lineChartFieldWells_lineChartAggregatedFieldWells = Lens.lens (\LineChartFieldWells' {lineChartAggregatedFieldWells} -> lineChartAggregatedFieldWells) (\s@LineChartFieldWells' {} a -> s {lineChartAggregatedFieldWells = a} :: LineChartFieldWells)++instance Data.FromJSON LineChartFieldWells where+  parseJSON =+    Data.withObject+      "LineChartFieldWells"+      ( \x ->+          LineChartFieldWells'+            Prelude.<$> (x Data..:? "LineChartAggregatedFieldWells")+      )++instance Prelude.Hashable LineChartFieldWells where+  hashWithSalt _salt LineChartFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` lineChartAggregatedFieldWells++instance Prelude.NFData LineChartFieldWells where+  rnf LineChartFieldWells' {..} =+    Prelude.rnf lineChartAggregatedFieldWells++instance Data.ToJSON LineChartFieldWells where+  toJSON LineChartFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LineChartAggregatedFieldWells" Data..=)+              Prelude.<$> lineChartAggregatedFieldWells+          ]+      )
+ gen/Amazonka/QuickSight/Types/LineChartLineStyle.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.LineChartLineStyle+-- 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.QuickSight.Types.LineChartLineStyle+  ( LineChartLineStyle+      ( ..,+        LineChartLineStyle_DASHED,+        LineChartLineStyle_DOTTED,+        LineChartLineStyle_SOLID+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LineChartLineStyle = LineChartLineStyle'+  { fromLineChartLineStyle ::+      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 LineChartLineStyle_DASHED :: LineChartLineStyle+pattern LineChartLineStyle_DASHED = LineChartLineStyle' "DASHED"++pattern LineChartLineStyle_DOTTED :: LineChartLineStyle+pattern LineChartLineStyle_DOTTED = LineChartLineStyle' "DOTTED"++pattern LineChartLineStyle_SOLID :: LineChartLineStyle+pattern LineChartLineStyle_SOLID = LineChartLineStyle' "SOLID"++{-# COMPLETE+  LineChartLineStyle_DASHED,+  LineChartLineStyle_DOTTED,+  LineChartLineStyle_SOLID,+  LineChartLineStyle'+  #-}
+ gen/Amazonka/QuickSight/Types/LineChartLineStyleSettings.hs view
@@ -0,0 +1,164 @@+{-# 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.QuickSight.Types.LineChartLineStyleSettings+-- 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.QuickSight.Types.LineChartLineStyleSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.LineChartLineStyle+import Amazonka.QuickSight.Types.LineInterpolation+import Amazonka.QuickSight.Types.Visibility++-- | Line styles options for a line series in @LineChartVisual@.+--+-- /See:/ 'newLineChartLineStyleSettings' smart constructor.+data LineChartLineStyleSettings = LineChartLineStyleSettings'+  { -- | Interpolation style for line series.+    --+    -- -   @LINEAR@: Show as default, linear style.+    --+    -- -   @SMOOTH@: Show as a smooth curve.+    --+    -- -   @STEPPED@: Show steps in line.+    lineInterpolation :: Prelude.Maybe LineInterpolation,+    -- | Line style for line series.+    --+    -- -   @SOLID@: Show as a solid line.+    --+    -- -   @DOTTED@: Show as a dotted line.+    --+    -- -   @DASHED@: Show as a dashed line.+    lineStyle :: Prelude.Maybe LineChartLineStyle,+    -- | Configuration option that determines whether to show the line for the+    -- series.+    lineVisibility :: Prelude.Maybe Visibility,+    -- | Width that determines the line thickness.+    lineWidth :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LineChartLineStyleSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lineInterpolation', 'lineChartLineStyleSettings_lineInterpolation' - Interpolation style for line series.+--+-- -   @LINEAR@: Show as default, linear style.+--+-- -   @SMOOTH@: Show as a smooth curve.+--+-- -   @STEPPED@: Show steps in line.+--+-- 'lineStyle', 'lineChartLineStyleSettings_lineStyle' - Line style for line series.+--+-- -   @SOLID@: Show as a solid line.+--+-- -   @DOTTED@: Show as a dotted line.+--+-- -   @DASHED@: Show as a dashed line.+--+-- 'lineVisibility', 'lineChartLineStyleSettings_lineVisibility' - Configuration option that determines whether to show the line for the+-- series.+--+-- 'lineWidth', 'lineChartLineStyleSettings_lineWidth' - Width that determines the line thickness.+newLineChartLineStyleSettings ::+  LineChartLineStyleSettings+newLineChartLineStyleSettings =+  LineChartLineStyleSettings'+    { lineInterpolation =+        Prelude.Nothing,+      lineStyle = Prelude.Nothing,+      lineVisibility = Prelude.Nothing,+      lineWidth = Prelude.Nothing+    }++-- | Interpolation style for line series.+--+-- -   @LINEAR@: Show as default, linear style.+--+-- -   @SMOOTH@: Show as a smooth curve.+--+-- -   @STEPPED@: Show steps in line.+lineChartLineStyleSettings_lineInterpolation :: Lens.Lens' LineChartLineStyleSettings (Prelude.Maybe LineInterpolation)+lineChartLineStyleSettings_lineInterpolation = Lens.lens (\LineChartLineStyleSettings' {lineInterpolation} -> lineInterpolation) (\s@LineChartLineStyleSettings' {} a -> s {lineInterpolation = a} :: LineChartLineStyleSettings)++-- | Line style for line series.+--+-- -   @SOLID@: Show as a solid line.+--+-- -   @DOTTED@: Show as a dotted line.+--+-- -   @DASHED@: Show as a dashed line.+lineChartLineStyleSettings_lineStyle :: Lens.Lens' LineChartLineStyleSettings (Prelude.Maybe LineChartLineStyle)+lineChartLineStyleSettings_lineStyle = Lens.lens (\LineChartLineStyleSettings' {lineStyle} -> lineStyle) (\s@LineChartLineStyleSettings' {} a -> s {lineStyle = a} :: LineChartLineStyleSettings)++-- | Configuration option that determines whether to show the line for the+-- series.+lineChartLineStyleSettings_lineVisibility :: Lens.Lens' LineChartLineStyleSettings (Prelude.Maybe Visibility)+lineChartLineStyleSettings_lineVisibility = Lens.lens (\LineChartLineStyleSettings' {lineVisibility} -> lineVisibility) (\s@LineChartLineStyleSettings' {} a -> s {lineVisibility = a} :: LineChartLineStyleSettings)++-- | Width that determines the line thickness.+lineChartLineStyleSettings_lineWidth :: Lens.Lens' LineChartLineStyleSettings (Prelude.Maybe Prelude.Text)+lineChartLineStyleSettings_lineWidth = Lens.lens (\LineChartLineStyleSettings' {lineWidth} -> lineWidth) (\s@LineChartLineStyleSettings' {} a -> s {lineWidth = a} :: LineChartLineStyleSettings)++instance Data.FromJSON LineChartLineStyleSettings where+  parseJSON =+    Data.withObject+      "LineChartLineStyleSettings"+      ( \x ->+          LineChartLineStyleSettings'+            Prelude.<$> (x Data..:? "LineInterpolation")+            Prelude.<*> (x Data..:? "LineStyle")+            Prelude.<*> (x Data..:? "LineVisibility")+            Prelude.<*> (x Data..:? "LineWidth")+      )++instance Prelude.Hashable LineChartLineStyleSettings where+  hashWithSalt _salt LineChartLineStyleSettings' {..} =+    _salt+      `Prelude.hashWithSalt` lineInterpolation+      `Prelude.hashWithSalt` lineStyle+      `Prelude.hashWithSalt` lineVisibility+      `Prelude.hashWithSalt` lineWidth++instance Prelude.NFData LineChartLineStyleSettings where+  rnf LineChartLineStyleSettings' {..} =+    Prelude.rnf lineInterpolation+      `Prelude.seq` Prelude.rnf lineStyle+      `Prelude.seq` Prelude.rnf lineVisibility+      `Prelude.seq` Prelude.rnf lineWidth++instance Data.ToJSON LineChartLineStyleSettings where+  toJSON LineChartLineStyleSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LineInterpolation" Data..=)+              Prelude.<$> lineInterpolation,+            ("LineStyle" Data..=) Prelude.<$> lineStyle,+            ("LineVisibility" Data..=)+              Prelude.<$> lineVisibility,+            ("LineWidth" Data..=) Prelude.<$> lineWidth+          ]+      )
+ gen/Amazonka/QuickSight/Types/LineChartMarkerShape.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.LineChartMarkerShape+-- 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.QuickSight.Types.LineChartMarkerShape+  ( LineChartMarkerShape+      ( ..,+        LineChartMarkerShape_CIRCLE,+        LineChartMarkerShape_DIAMOND,+        LineChartMarkerShape_ROUNDED_SQUARE,+        LineChartMarkerShape_SQUARE,+        LineChartMarkerShape_TRIANGLE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LineChartMarkerShape = LineChartMarkerShape'+  { fromLineChartMarkerShape ::+      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 LineChartMarkerShape_CIRCLE :: LineChartMarkerShape+pattern LineChartMarkerShape_CIRCLE = LineChartMarkerShape' "CIRCLE"++pattern LineChartMarkerShape_DIAMOND :: LineChartMarkerShape+pattern LineChartMarkerShape_DIAMOND = LineChartMarkerShape' "DIAMOND"++pattern LineChartMarkerShape_ROUNDED_SQUARE :: LineChartMarkerShape+pattern LineChartMarkerShape_ROUNDED_SQUARE = LineChartMarkerShape' "ROUNDED_SQUARE"++pattern LineChartMarkerShape_SQUARE :: LineChartMarkerShape+pattern LineChartMarkerShape_SQUARE = LineChartMarkerShape' "SQUARE"++pattern LineChartMarkerShape_TRIANGLE :: LineChartMarkerShape+pattern LineChartMarkerShape_TRIANGLE = LineChartMarkerShape' "TRIANGLE"++{-# COMPLETE+  LineChartMarkerShape_CIRCLE,+  LineChartMarkerShape_DIAMOND,+  LineChartMarkerShape_ROUNDED_SQUARE,+  LineChartMarkerShape_SQUARE,+  LineChartMarkerShape_TRIANGLE,+  LineChartMarkerShape'+  #-}
+ gen/Amazonka/QuickSight/Types/LineChartMarkerStyleSettings.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.LineChartMarkerStyleSettings+-- 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.QuickSight.Types.LineChartMarkerStyleSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.LineChartMarkerShape+import Amazonka.QuickSight.Types.Visibility++-- | Marker styles options for a line series in @LineChartVisual@.+--+-- /See:/ 'newLineChartMarkerStyleSettings' smart constructor.+data LineChartMarkerStyleSettings = LineChartMarkerStyleSettings'+  { -- | Color of marker in the series.+    markerColor :: Prelude.Maybe Prelude.Text,+    -- | Shape option for markers in the series.+    --+    -- -   @CIRCLE@: Show marker as a circle.+    --+    -- -   @TRIANGLE@: Show marker as a triangle.+    --+    -- -   @SQUARE@: Show marker as a square.+    --+    -- -   @DIAMOND@: Show marker as a diamond.+    --+    -- -   @ROUNDED_SQUARE@: Show marker as a rounded square.+    markerShape :: Prelude.Maybe LineChartMarkerShape,+    -- | Size of marker in the series.+    markerSize :: Prelude.Maybe Prelude.Text,+    -- | Configuration option that determines whether to show the markers in the+    -- series.+    markerVisibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LineChartMarkerStyleSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'markerColor', 'lineChartMarkerStyleSettings_markerColor' - Color of marker in the series.+--+-- 'markerShape', 'lineChartMarkerStyleSettings_markerShape' - Shape option for markers in the series.+--+-- -   @CIRCLE@: Show marker as a circle.+--+-- -   @TRIANGLE@: Show marker as a triangle.+--+-- -   @SQUARE@: Show marker as a square.+--+-- -   @DIAMOND@: Show marker as a diamond.+--+-- -   @ROUNDED_SQUARE@: Show marker as a rounded square.+--+-- 'markerSize', 'lineChartMarkerStyleSettings_markerSize' - Size of marker in the series.+--+-- 'markerVisibility', 'lineChartMarkerStyleSettings_markerVisibility' - Configuration option that determines whether to show the markers in the+-- series.+newLineChartMarkerStyleSettings ::+  LineChartMarkerStyleSettings+newLineChartMarkerStyleSettings =+  LineChartMarkerStyleSettings'+    { markerColor =+        Prelude.Nothing,+      markerShape = Prelude.Nothing,+      markerSize = Prelude.Nothing,+      markerVisibility = Prelude.Nothing+    }++-- | Color of marker in the series.+lineChartMarkerStyleSettings_markerColor :: Lens.Lens' LineChartMarkerStyleSettings (Prelude.Maybe Prelude.Text)+lineChartMarkerStyleSettings_markerColor = Lens.lens (\LineChartMarkerStyleSettings' {markerColor} -> markerColor) (\s@LineChartMarkerStyleSettings' {} a -> s {markerColor = a} :: LineChartMarkerStyleSettings)++-- | Shape option for markers in the series.+--+-- -   @CIRCLE@: Show marker as a circle.+--+-- -   @TRIANGLE@: Show marker as a triangle.+--+-- -   @SQUARE@: Show marker as a square.+--+-- -   @DIAMOND@: Show marker as a diamond.+--+-- -   @ROUNDED_SQUARE@: Show marker as a rounded square.+lineChartMarkerStyleSettings_markerShape :: Lens.Lens' LineChartMarkerStyleSettings (Prelude.Maybe LineChartMarkerShape)+lineChartMarkerStyleSettings_markerShape = Lens.lens (\LineChartMarkerStyleSettings' {markerShape} -> markerShape) (\s@LineChartMarkerStyleSettings' {} a -> s {markerShape = a} :: LineChartMarkerStyleSettings)++-- | Size of marker in the series.+lineChartMarkerStyleSettings_markerSize :: Lens.Lens' LineChartMarkerStyleSettings (Prelude.Maybe Prelude.Text)+lineChartMarkerStyleSettings_markerSize = Lens.lens (\LineChartMarkerStyleSettings' {markerSize} -> markerSize) (\s@LineChartMarkerStyleSettings' {} a -> s {markerSize = a} :: LineChartMarkerStyleSettings)++-- | Configuration option that determines whether to show the markers in the+-- series.+lineChartMarkerStyleSettings_markerVisibility :: Lens.Lens' LineChartMarkerStyleSettings (Prelude.Maybe Visibility)+lineChartMarkerStyleSettings_markerVisibility = Lens.lens (\LineChartMarkerStyleSettings' {markerVisibility} -> markerVisibility) (\s@LineChartMarkerStyleSettings' {} a -> s {markerVisibility = a} :: LineChartMarkerStyleSettings)++instance Data.FromJSON LineChartMarkerStyleSettings where+  parseJSON =+    Data.withObject+      "LineChartMarkerStyleSettings"+      ( \x ->+          LineChartMarkerStyleSettings'+            Prelude.<$> (x Data..:? "MarkerColor")+            Prelude.<*> (x Data..:? "MarkerShape")+            Prelude.<*> (x Data..:? "MarkerSize")+            Prelude.<*> (x Data..:? "MarkerVisibility")+      )++instance+  Prelude.Hashable+    LineChartMarkerStyleSettings+  where+  hashWithSalt _salt LineChartMarkerStyleSettings' {..} =+    _salt+      `Prelude.hashWithSalt` markerColor+      `Prelude.hashWithSalt` markerShape+      `Prelude.hashWithSalt` markerSize+      `Prelude.hashWithSalt` markerVisibility++instance Prelude.NFData LineChartMarkerStyleSettings where+  rnf LineChartMarkerStyleSettings' {..} =+    Prelude.rnf markerColor+      `Prelude.seq` Prelude.rnf markerShape+      `Prelude.seq` Prelude.rnf markerSize+      `Prelude.seq` Prelude.rnf markerVisibility++instance Data.ToJSON LineChartMarkerStyleSettings where+  toJSON LineChartMarkerStyleSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MarkerColor" Data..=) Prelude.<$> markerColor,+            ("MarkerShape" Data..=) Prelude.<$> markerShape,+            ("MarkerSize" Data..=) Prelude.<$> markerSize,+            ("MarkerVisibility" Data..=)+              Prelude.<$> markerVisibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/LineChartSeriesSettings.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.LineChartSeriesSettings+-- 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.QuickSight.Types.LineChartSeriesSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.LineChartLineStyleSettings+import Amazonka.QuickSight.Types.LineChartMarkerStyleSettings++-- | The options that determine the presentation of a line series in the+-- visual+--+-- /See:/ 'newLineChartSeriesSettings' smart constructor.+data LineChartSeriesSettings = LineChartSeriesSettings'+  { -- | Line styles options for a line series in @LineChartVisual@.+    lineStyleSettings :: Prelude.Maybe LineChartLineStyleSettings,+    -- | Marker styles options for a line series in @LineChartVisual@.+    markerStyleSettings :: Prelude.Maybe LineChartMarkerStyleSettings+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LineChartSeriesSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lineStyleSettings', 'lineChartSeriesSettings_lineStyleSettings' - Line styles options for a line series in @LineChartVisual@.+--+-- 'markerStyleSettings', 'lineChartSeriesSettings_markerStyleSettings' - Marker styles options for a line series in @LineChartVisual@.+newLineChartSeriesSettings ::+  LineChartSeriesSettings+newLineChartSeriesSettings =+  LineChartSeriesSettings'+    { lineStyleSettings =+        Prelude.Nothing,+      markerStyleSettings = Prelude.Nothing+    }++-- | Line styles options for a line series in @LineChartVisual@.+lineChartSeriesSettings_lineStyleSettings :: Lens.Lens' LineChartSeriesSettings (Prelude.Maybe LineChartLineStyleSettings)+lineChartSeriesSettings_lineStyleSettings = Lens.lens (\LineChartSeriesSettings' {lineStyleSettings} -> lineStyleSettings) (\s@LineChartSeriesSettings' {} a -> s {lineStyleSettings = a} :: LineChartSeriesSettings)++-- | Marker styles options for a line series in @LineChartVisual@.+lineChartSeriesSettings_markerStyleSettings :: Lens.Lens' LineChartSeriesSettings (Prelude.Maybe LineChartMarkerStyleSettings)+lineChartSeriesSettings_markerStyleSettings = Lens.lens (\LineChartSeriesSettings' {markerStyleSettings} -> markerStyleSettings) (\s@LineChartSeriesSettings' {} a -> s {markerStyleSettings = a} :: LineChartSeriesSettings)++instance Data.FromJSON LineChartSeriesSettings where+  parseJSON =+    Data.withObject+      "LineChartSeriesSettings"+      ( \x ->+          LineChartSeriesSettings'+            Prelude.<$> (x Data..:? "LineStyleSettings")+            Prelude.<*> (x Data..:? "MarkerStyleSettings")+      )++instance Prelude.Hashable LineChartSeriesSettings where+  hashWithSalt _salt LineChartSeriesSettings' {..} =+    _salt+      `Prelude.hashWithSalt` lineStyleSettings+      `Prelude.hashWithSalt` markerStyleSettings++instance Prelude.NFData LineChartSeriesSettings where+  rnf LineChartSeriesSettings' {..} =+    Prelude.rnf lineStyleSettings+      `Prelude.seq` Prelude.rnf markerStyleSettings++instance Data.ToJSON LineChartSeriesSettings where+  toJSON LineChartSeriesSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LineStyleSettings" Data..=)+              Prelude.<$> lineStyleSettings,+            ("MarkerStyleSettings" Data..=)+              Prelude.<$> markerStyleSettings+          ]+      )
+ gen/Amazonka/QuickSight/Types/LineChartSortConfiguration.hs view
@@ -0,0 +1,146 @@+{-# 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.QuickSight.Types.LineChartSortConfiguration+-- 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.QuickSight.Types.LineChartSortConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FieldSortOptions+import Amazonka.QuickSight.Types.ItemsLimitConfiguration++-- | The sort configuration of a line chart.+--+-- /See:/ 'newLineChartSortConfiguration' smart constructor.+data LineChartSortConfiguration = LineChartSortConfiguration'+  { -- | The limit on the number of categories that are displayed in a line+    -- chart.+    categoryItemsLimitConfiguration :: Prelude.Maybe ItemsLimitConfiguration,+    -- | The sort configuration of the category fields.+    categorySort :: Prelude.Maybe [FieldSortOptions],+    -- | The limit on the number of lines that are displayed in a line chart.+    colorItemsLimitConfiguration :: Prelude.Maybe ItemsLimitConfiguration,+    -- | The limit on the number of small multiples panels that are displayed.+    smallMultiplesLimitConfiguration :: Prelude.Maybe ItemsLimitConfiguration,+    -- | The sort configuration of the small multiples field.+    smallMultiplesSort :: Prelude.Maybe [FieldSortOptions]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LineChartSortConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categoryItemsLimitConfiguration', 'lineChartSortConfiguration_categoryItemsLimitConfiguration' - The limit on the number of categories that are displayed in a line+-- chart.+--+-- 'categorySort', 'lineChartSortConfiguration_categorySort' - The sort configuration of the category fields.+--+-- 'colorItemsLimitConfiguration', 'lineChartSortConfiguration_colorItemsLimitConfiguration' - The limit on the number of lines that are displayed in a line chart.+--+-- 'smallMultiplesLimitConfiguration', 'lineChartSortConfiguration_smallMultiplesLimitConfiguration' - The limit on the number of small multiples panels that are displayed.+--+-- 'smallMultiplesSort', 'lineChartSortConfiguration_smallMultiplesSort' - The sort configuration of the small multiples field.+newLineChartSortConfiguration ::+  LineChartSortConfiguration+newLineChartSortConfiguration =+  LineChartSortConfiguration'+    { categoryItemsLimitConfiguration =+        Prelude.Nothing,+      categorySort = Prelude.Nothing,+      colorItemsLimitConfiguration = Prelude.Nothing,+      smallMultiplesLimitConfiguration =+        Prelude.Nothing,+      smallMultiplesSort = Prelude.Nothing+    }++-- | The limit on the number of categories that are displayed in a line+-- chart.+lineChartSortConfiguration_categoryItemsLimitConfiguration :: Lens.Lens' LineChartSortConfiguration (Prelude.Maybe ItemsLimitConfiguration)+lineChartSortConfiguration_categoryItemsLimitConfiguration = Lens.lens (\LineChartSortConfiguration' {categoryItemsLimitConfiguration} -> categoryItemsLimitConfiguration) (\s@LineChartSortConfiguration' {} a -> s {categoryItemsLimitConfiguration = a} :: LineChartSortConfiguration)++-- | The sort configuration of the category fields.+lineChartSortConfiguration_categorySort :: Lens.Lens' LineChartSortConfiguration (Prelude.Maybe [FieldSortOptions])+lineChartSortConfiguration_categorySort = Lens.lens (\LineChartSortConfiguration' {categorySort} -> categorySort) (\s@LineChartSortConfiguration' {} a -> s {categorySort = a} :: LineChartSortConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The limit on the number of lines that are displayed in a line chart.+lineChartSortConfiguration_colorItemsLimitConfiguration :: Lens.Lens' LineChartSortConfiguration (Prelude.Maybe ItemsLimitConfiguration)+lineChartSortConfiguration_colorItemsLimitConfiguration = Lens.lens (\LineChartSortConfiguration' {colorItemsLimitConfiguration} -> colorItemsLimitConfiguration) (\s@LineChartSortConfiguration' {} a -> s {colorItemsLimitConfiguration = a} :: LineChartSortConfiguration)++-- | The limit on the number of small multiples panels that are displayed.+lineChartSortConfiguration_smallMultiplesLimitConfiguration :: Lens.Lens' LineChartSortConfiguration (Prelude.Maybe ItemsLimitConfiguration)+lineChartSortConfiguration_smallMultiplesLimitConfiguration = Lens.lens (\LineChartSortConfiguration' {smallMultiplesLimitConfiguration} -> smallMultiplesLimitConfiguration) (\s@LineChartSortConfiguration' {} a -> s {smallMultiplesLimitConfiguration = a} :: LineChartSortConfiguration)++-- | The sort configuration of the small multiples field.+lineChartSortConfiguration_smallMultiplesSort :: Lens.Lens' LineChartSortConfiguration (Prelude.Maybe [FieldSortOptions])+lineChartSortConfiguration_smallMultiplesSort = Lens.lens (\LineChartSortConfiguration' {smallMultiplesSort} -> smallMultiplesSort) (\s@LineChartSortConfiguration' {} a -> s {smallMultiplesSort = a} :: LineChartSortConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON LineChartSortConfiguration where+  parseJSON =+    Data.withObject+      "LineChartSortConfiguration"+      ( \x ->+          LineChartSortConfiguration'+            Prelude.<$> (x Data..:? "CategoryItemsLimitConfiguration")+            Prelude.<*> (x Data..:? "CategorySort" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ColorItemsLimitConfiguration")+            Prelude.<*> (x Data..:? "SmallMultiplesLimitConfiguration")+            Prelude.<*> ( x+                            Data..:? "SmallMultiplesSort"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable LineChartSortConfiguration where+  hashWithSalt _salt LineChartSortConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` categoryItemsLimitConfiguration+      `Prelude.hashWithSalt` categorySort+      `Prelude.hashWithSalt` colorItemsLimitConfiguration+      `Prelude.hashWithSalt` smallMultiplesLimitConfiguration+      `Prelude.hashWithSalt` smallMultiplesSort++instance Prelude.NFData LineChartSortConfiguration where+  rnf LineChartSortConfiguration' {..} =+    Prelude.rnf categoryItemsLimitConfiguration+      `Prelude.seq` Prelude.rnf categorySort+      `Prelude.seq` Prelude.rnf colorItemsLimitConfiguration+      `Prelude.seq` Prelude.rnf smallMultiplesLimitConfiguration+      `Prelude.seq` Prelude.rnf smallMultiplesSort++instance Data.ToJSON LineChartSortConfiguration where+  toJSON LineChartSortConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoryItemsLimitConfiguration" Data..=)+              Prelude.<$> categoryItemsLimitConfiguration,+            ("CategorySort" Data..=) Prelude.<$> categorySort,+            ("ColorItemsLimitConfiguration" Data..=)+              Prelude.<$> colorItemsLimitConfiguration,+            ("SmallMultiplesLimitConfiguration" Data..=)+              Prelude.<$> smallMultiplesLimitConfiguration,+            ("SmallMultiplesSort" Data..=)+              Prelude.<$> smallMultiplesSort+          ]+      )
+ gen/Amazonka/QuickSight/Types/LineChartType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.LineChartType+-- 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.QuickSight.Types.LineChartType+  ( LineChartType+      ( ..,+        LineChartType_AREA,+        LineChartType_LINE,+        LineChartType_STACKED_AREA+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LineChartType = LineChartType'+  { fromLineChartType ::+      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 LineChartType_AREA :: LineChartType+pattern LineChartType_AREA = LineChartType' "AREA"++pattern LineChartType_LINE :: LineChartType+pattern LineChartType_LINE = LineChartType' "LINE"++pattern LineChartType_STACKED_AREA :: LineChartType+pattern LineChartType_STACKED_AREA = LineChartType' "STACKED_AREA"++{-# COMPLETE+  LineChartType_AREA,+  LineChartType_LINE,+  LineChartType_STACKED_AREA,+  LineChartType'+  #-}
+ gen/Amazonka/QuickSight/Types/LineChartVisual.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.QuickSight.Types.LineChartVisual+-- 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.QuickSight.Types.LineChartVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnHierarchy+import Amazonka.QuickSight.Types.LineChartConfiguration+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions++-- | A line chart.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/line-charts.html Using line charts>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newLineChartVisual' smart constructor.+data LineChartVisual = LineChartVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration of a line chart.+    chartConfiguration :: Prelude.Maybe LineChartConfiguration,+    -- | The column hierarchy that is used during drill-downs and drill-ups.+    columnHierarchies :: Prelude.Maybe [ColumnHierarchy],+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers.+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LineChartVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'lineChartVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'lineChartVisual_chartConfiguration' - The configuration of a line chart.+--+-- 'columnHierarchies', 'lineChartVisual_columnHierarchies' - The column hierarchy that is used during drill-downs and drill-ups.+--+-- 'subtitle', 'lineChartVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'lineChartVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'lineChartVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+newLineChartVisual ::+  -- | 'visualId'+  Prelude.Text ->+  LineChartVisual+newLineChartVisual pVisualId_ =+  LineChartVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      columnHierarchies = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_+    }++-- | The list of custom actions that are configured for a visual.+lineChartVisual_actions :: Lens.Lens' LineChartVisual (Prelude.Maybe [VisualCustomAction])+lineChartVisual_actions = Lens.lens (\LineChartVisual' {actions} -> actions) (\s@LineChartVisual' {} a -> s {actions = a} :: LineChartVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration of a line chart.+lineChartVisual_chartConfiguration :: Lens.Lens' LineChartVisual (Prelude.Maybe LineChartConfiguration)+lineChartVisual_chartConfiguration = Lens.lens (\LineChartVisual' {chartConfiguration} -> chartConfiguration) (\s@LineChartVisual' {} a -> s {chartConfiguration = a} :: LineChartVisual)++-- | The column hierarchy that is used during drill-downs and drill-ups.+lineChartVisual_columnHierarchies :: Lens.Lens' LineChartVisual (Prelude.Maybe [ColumnHierarchy])+lineChartVisual_columnHierarchies = Lens.lens (\LineChartVisual' {columnHierarchies} -> columnHierarchies) (\s@LineChartVisual' {} a -> s {columnHierarchies = a} :: LineChartVisual) Prelude.. Lens.mapping Lens.coerced++-- | The subtitle that is displayed on the visual.+lineChartVisual_subtitle :: Lens.Lens' LineChartVisual (Prelude.Maybe VisualSubtitleLabelOptions)+lineChartVisual_subtitle = Lens.lens (\LineChartVisual' {subtitle} -> subtitle) (\s@LineChartVisual' {} a -> s {subtitle = a} :: LineChartVisual)++-- | The title that is displayed on the visual.+lineChartVisual_title :: Lens.Lens' LineChartVisual (Prelude.Maybe VisualTitleLabelOptions)+lineChartVisual_title = Lens.lens (\LineChartVisual' {title} -> title) (\s@LineChartVisual' {} a -> s {title = a} :: LineChartVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+lineChartVisual_visualId :: Lens.Lens' LineChartVisual Prelude.Text+lineChartVisual_visualId = Lens.lens (\LineChartVisual' {visualId} -> visualId) (\s@LineChartVisual' {} a -> s {visualId = a} :: LineChartVisual)++instance Data.FromJSON LineChartVisual where+  parseJSON =+    Data.withObject+      "LineChartVisual"+      ( \x ->+          LineChartVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> ( x+                            Data..:? "ColumnHierarchies"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+      )++instance Prelude.Hashable LineChartVisual where+  hashWithSalt _salt LineChartVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` columnHierarchies+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData LineChartVisual where+  rnf LineChartVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf columnHierarchies+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON LineChartVisual where+  toJSON LineChartVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("ColumnHierarchies" Data..=)+              Prelude.<$> columnHierarchies,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/LineInterpolation.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.LineInterpolation+-- 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.QuickSight.Types.LineInterpolation+  ( LineInterpolation+      ( ..,+        LineInterpolation_LINEAR,+        LineInterpolation_SMOOTH,+        LineInterpolation_STEPPED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LineInterpolation = LineInterpolation'+  { fromLineInterpolation ::+      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 LineInterpolation_LINEAR :: LineInterpolation+pattern LineInterpolation_LINEAR = LineInterpolation' "LINEAR"++pattern LineInterpolation_SMOOTH :: LineInterpolation+pattern LineInterpolation_SMOOTH = LineInterpolation' "SMOOTH"++pattern LineInterpolation_STEPPED :: LineInterpolation+pattern LineInterpolation_STEPPED = LineInterpolation' "STEPPED"++{-# COMPLETE+  LineInterpolation_LINEAR,+  LineInterpolation_SMOOTH,+  LineInterpolation_STEPPED,+  LineInterpolation'+  #-}
+ gen/Amazonka/QuickSight/Types/LineSeriesAxisDisplayOptions.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.LineSeriesAxisDisplayOptions+-- 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.QuickSight.Types.LineSeriesAxisDisplayOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AxisDisplayOptions+import Amazonka.QuickSight.Types.MissingDataConfiguration++-- | The series axis configuration of a line chart.+--+-- /See:/ 'newLineSeriesAxisDisplayOptions' smart constructor.+data LineSeriesAxisDisplayOptions = LineSeriesAxisDisplayOptions'+  { -- | The options that determine the presentation of the line series axis.+    axisOptions :: Prelude.Maybe AxisDisplayOptions,+    -- | The configuration options that determine how missing data is treated+    -- during the rendering of a line chart.+    missingDataConfigurations :: Prelude.Maybe [MissingDataConfiguration]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LineSeriesAxisDisplayOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'axisOptions', 'lineSeriesAxisDisplayOptions_axisOptions' - The options that determine the presentation of the line series axis.+--+-- 'missingDataConfigurations', 'lineSeriesAxisDisplayOptions_missingDataConfigurations' - The configuration options that determine how missing data is treated+-- during the rendering of a line chart.+newLineSeriesAxisDisplayOptions ::+  LineSeriesAxisDisplayOptions+newLineSeriesAxisDisplayOptions =+  LineSeriesAxisDisplayOptions'+    { axisOptions =+        Prelude.Nothing,+      missingDataConfigurations = Prelude.Nothing+    }++-- | The options that determine the presentation of the line series axis.+lineSeriesAxisDisplayOptions_axisOptions :: Lens.Lens' LineSeriesAxisDisplayOptions (Prelude.Maybe AxisDisplayOptions)+lineSeriesAxisDisplayOptions_axisOptions = Lens.lens (\LineSeriesAxisDisplayOptions' {axisOptions} -> axisOptions) (\s@LineSeriesAxisDisplayOptions' {} a -> s {axisOptions = a} :: LineSeriesAxisDisplayOptions)++-- | The configuration options that determine how missing data is treated+-- during the rendering of a line chart.+lineSeriesAxisDisplayOptions_missingDataConfigurations :: Lens.Lens' LineSeriesAxisDisplayOptions (Prelude.Maybe [MissingDataConfiguration])+lineSeriesAxisDisplayOptions_missingDataConfigurations = Lens.lens (\LineSeriesAxisDisplayOptions' {missingDataConfigurations} -> missingDataConfigurations) (\s@LineSeriesAxisDisplayOptions' {} a -> s {missingDataConfigurations = a} :: LineSeriesAxisDisplayOptions) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON LineSeriesAxisDisplayOptions where+  parseJSON =+    Data.withObject+      "LineSeriesAxisDisplayOptions"+      ( \x ->+          LineSeriesAxisDisplayOptions'+            Prelude.<$> (x Data..:? "AxisOptions")+            Prelude.<*> ( x+                            Data..:? "MissingDataConfigurations"+                            Data..!= Prelude.mempty+                        )+      )++instance+  Prelude.Hashable+    LineSeriesAxisDisplayOptions+  where+  hashWithSalt _salt LineSeriesAxisDisplayOptions' {..} =+    _salt+      `Prelude.hashWithSalt` axisOptions+      `Prelude.hashWithSalt` missingDataConfigurations++instance Prelude.NFData LineSeriesAxisDisplayOptions where+  rnf LineSeriesAxisDisplayOptions' {..} =+    Prelude.rnf axisOptions+      `Prelude.seq` Prelude.rnf missingDataConfigurations++instance Data.ToJSON LineSeriesAxisDisplayOptions where+  toJSON LineSeriesAxisDisplayOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AxisOptions" Data..=) Prelude.<$> axisOptions,+            ("MissingDataConfigurations" Data..=)+              Prelude.<$> missingDataConfigurations+          ]+      )
+ gen/Amazonka/QuickSight/Types/LinkSharingConfiguration.hs view
@@ -0,0 +1,74 @@+{-# 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.QuickSight.Types.LinkSharingConfiguration+-- 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.QuickSight.Types.LinkSharingConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ResourcePermission++-- | A structure that contains the configuration of a shareable link to the+-- dashboard.+--+-- /See:/ 'newLinkSharingConfiguration' smart constructor.+data LinkSharingConfiguration = LinkSharingConfiguration'+  { -- | A structure that contains the permissions of a shareable link.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LinkSharingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'permissions', 'linkSharingConfiguration_permissions' - A structure that contains the permissions of a shareable link.+newLinkSharingConfiguration ::+  LinkSharingConfiguration+newLinkSharingConfiguration =+  LinkSharingConfiguration'+    { permissions =+        Prelude.Nothing+    }++-- | A structure that contains the permissions of a shareable link.+linkSharingConfiguration_permissions :: Lens.Lens' LinkSharingConfiguration (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+linkSharingConfiguration_permissions = Lens.lens (\LinkSharingConfiguration' {permissions} -> permissions) (\s@LinkSharingConfiguration' {} a -> s {permissions = a} :: LinkSharingConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON LinkSharingConfiguration where+  parseJSON =+    Data.withObject+      "LinkSharingConfiguration"+      ( \x ->+          LinkSharingConfiguration'+            Prelude.<$> (x Data..:? "Permissions")+      )++instance Prelude.Hashable LinkSharingConfiguration where+  hashWithSalt _salt LinkSharingConfiguration' {..} =+    _salt `Prelude.hashWithSalt` permissions++instance Prelude.NFData LinkSharingConfiguration where+  rnf LinkSharingConfiguration' {..} =+    Prelude.rnf permissions
+ gen/Amazonka/QuickSight/Types/ListControlDisplayOptions.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.QuickSight.Types.ListControlDisplayOptions+-- 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.QuickSight.Types.ListControlDisplayOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.LabelOptions+import Amazonka.QuickSight.Types.ListControlSearchOptions+import Amazonka.QuickSight.Types.ListControlSelectAllOptions++-- | The display options of a control.+--+-- /See:/ 'newListControlDisplayOptions' smart constructor.+data ListControlDisplayOptions = ListControlDisplayOptions'+  { -- | The configuration of the search options in a list control.+    searchOptions :: Prelude.Maybe ListControlSearchOptions,+    -- | The configuration of the @Select all@ options in a list control.+    selectAllOptions :: Prelude.Maybe ListControlSelectAllOptions,+    -- | The options to configure the title visibility, name, and font size.+    titleOptions :: Prelude.Maybe LabelOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListControlDisplayOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'searchOptions', 'listControlDisplayOptions_searchOptions' - The configuration of the search options in a list control.+--+-- 'selectAllOptions', 'listControlDisplayOptions_selectAllOptions' - The configuration of the @Select all@ options in a list control.+--+-- 'titleOptions', 'listControlDisplayOptions_titleOptions' - The options to configure the title visibility, name, and font size.+newListControlDisplayOptions ::+  ListControlDisplayOptions+newListControlDisplayOptions =+  ListControlDisplayOptions'+    { searchOptions =+        Prelude.Nothing,+      selectAllOptions = Prelude.Nothing,+      titleOptions = Prelude.Nothing+    }++-- | The configuration of the search options in a list control.+listControlDisplayOptions_searchOptions :: Lens.Lens' ListControlDisplayOptions (Prelude.Maybe ListControlSearchOptions)+listControlDisplayOptions_searchOptions = Lens.lens (\ListControlDisplayOptions' {searchOptions} -> searchOptions) (\s@ListControlDisplayOptions' {} a -> s {searchOptions = a} :: ListControlDisplayOptions)++-- | The configuration of the @Select all@ options in a list control.+listControlDisplayOptions_selectAllOptions :: Lens.Lens' ListControlDisplayOptions (Prelude.Maybe ListControlSelectAllOptions)+listControlDisplayOptions_selectAllOptions = Lens.lens (\ListControlDisplayOptions' {selectAllOptions} -> selectAllOptions) (\s@ListControlDisplayOptions' {} a -> s {selectAllOptions = a} :: ListControlDisplayOptions)++-- | The options to configure the title visibility, name, and font size.+listControlDisplayOptions_titleOptions :: Lens.Lens' ListControlDisplayOptions (Prelude.Maybe LabelOptions)+listControlDisplayOptions_titleOptions = Lens.lens (\ListControlDisplayOptions' {titleOptions} -> titleOptions) (\s@ListControlDisplayOptions' {} a -> s {titleOptions = a} :: ListControlDisplayOptions)++instance Data.FromJSON ListControlDisplayOptions where+  parseJSON =+    Data.withObject+      "ListControlDisplayOptions"+      ( \x ->+          ListControlDisplayOptions'+            Prelude.<$> (x Data..:? "SearchOptions")+            Prelude.<*> (x Data..:? "SelectAllOptions")+            Prelude.<*> (x Data..:? "TitleOptions")+      )++instance Prelude.Hashable ListControlDisplayOptions where+  hashWithSalt _salt ListControlDisplayOptions' {..} =+    _salt+      `Prelude.hashWithSalt` searchOptions+      `Prelude.hashWithSalt` selectAllOptions+      `Prelude.hashWithSalt` titleOptions++instance Prelude.NFData ListControlDisplayOptions where+  rnf ListControlDisplayOptions' {..} =+    Prelude.rnf searchOptions+      `Prelude.seq` Prelude.rnf selectAllOptions+      `Prelude.seq` Prelude.rnf titleOptions++instance Data.ToJSON ListControlDisplayOptions where+  toJSON ListControlDisplayOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SearchOptions" Data..=) Prelude.<$> searchOptions,+            ("SelectAllOptions" Data..=)+              Prelude.<$> selectAllOptions,+            ("TitleOptions" Data..=) Prelude.<$> titleOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/ListControlSearchOptions.hs view
@@ -0,0 +1,80 @@+{-# 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.QuickSight.Types.ListControlSearchOptions+-- 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.QuickSight.Types.ListControlSearchOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The configuration of the search options in a list control.+--+-- /See:/ 'newListControlSearchOptions' smart constructor.+data ListControlSearchOptions = ListControlSearchOptions'+  { -- | The visibility configuration of the search options in a list control.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListControlSearchOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'visibility', 'listControlSearchOptions_visibility' - The visibility configuration of the search options in a list control.+newListControlSearchOptions ::+  ListControlSearchOptions+newListControlSearchOptions =+  ListControlSearchOptions'+    { visibility =+        Prelude.Nothing+    }++-- | The visibility configuration of the search options in a list control.+listControlSearchOptions_visibility :: Lens.Lens' ListControlSearchOptions (Prelude.Maybe Visibility)+listControlSearchOptions_visibility = Lens.lens (\ListControlSearchOptions' {visibility} -> visibility) (\s@ListControlSearchOptions' {} a -> s {visibility = a} :: ListControlSearchOptions)++instance Data.FromJSON ListControlSearchOptions where+  parseJSON =+    Data.withObject+      "ListControlSearchOptions"+      ( \x ->+          ListControlSearchOptions'+            Prelude.<$> (x Data..:? "Visibility")+      )++instance Prelude.Hashable ListControlSearchOptions where+  hashWithSalt _salt ListControlSearchOptions' {..} =+    _salt `Prelude.hashWithSalt` visibility++instance Prelude.NFData ListControlSearchOptions where+  rnf ListControlSearchOptions' {..} =+    Prelude.rnf visibility++instance Data.ToJSON ListControlSearchOptions where+  toJSON ListControlSearchOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Visibility" Data..=) Prelude.<$> visibility]+      )
+ gen/Amazonka/QuickSight/Types/ListControlSelectAllOptions.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ListControlSelectAllOptions+-- 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.QuickSight.Types.ListControlSelectAllOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The configuration of the @Select all@ options in a list control.+--+-- /See:/ 'newListControlSelectAllOptions' smart constructor.+data ListControlSelectAllOptions = ListControlSelectAllOptions'+  { -- | The visibility configuration of the @Select all@ options in a list+    -- control.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListControlSelectAllOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'visibility', 'listControlSelectAllOptions_visibility' - The visibility configuration of the @Select all@ options in a list+-- control.+newListControlSelectAllOptions ::+  ListControlSelectAllOptions+newListControlSelectAllOptions =+  ListControlSelectAllOptions'+    { visibility =+        Prelude.Nothing+    }++-- | The visibility configuration of the @Select all@ options in a list+-- control.+listControlSelectAllOptions_visibility :: Lens.Lens' ListControlSelectAllOptions (Prelude.Maybe Visibility)+listControlSelectAllOptions_visibility = Lens.lens (\ListControlSelectAllOptions' {visibility} -> visibility) (\s@ListControlSelectAllOptions' {} a -> s {visibility = a} :: ListControlSelectAllOptions)++instance Data.FromJSON ListControlSelectAllOptions where+  parseJSON =+    Data.withObject+      "ListControlSelectAllOptions"+      ( \x ->+          ListControlSelectAllOptions'+            Prelude.<$> (x Data..:? "Visibility")+      )++instance Prelude.Hashable ListControlSelectAllOptions where+  hashWithSalt _salt ListControlSelectAllOptions' {..} =+    _salt `Prelude.hashWithSalt` visibility++instance Prelude.NFData ListControlSelectAllOptions where+  rnf ListControlSelectAllOptions' {..} =+    Prelude.rnf visibility++instance Data.ToJSON ListControlSelectAllOptions where+  toJSON ListControlSelectAllOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Visibility" Data..=) Prelude.<$> visibility]+      )
+ gen/Amazonka/QuickSight/Types/LoadingAnimation.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.LoadingAnimation+-- 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.QuickSight.Types.LoadingAnimation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The configuration of loading animation in free-form layout.+--+-- /See:/ 'newLoadingAnimation' smart constructor.+data LoadingAnimation = LoadingAnimation'+  { -- | The visibility configuration of @LoadingAnimation@.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoadingAnimation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'visibility', 'loadingAnimation_visibility' - The visibility configuration of @LoadingAnimation@.+newLoadingAnimation ::+  LoadingAnimation+newLoadingAnimation =+  LoadingAnimation' {visibility = Prelude.Nothing}++-- | The visibility configuration of @LoadingAnimation@.+loadingAnimation_visibility :: Lens.Lens' LoadingAnimation (Prelude.Maybe Visibility)+loadingAnimation_visibility = Lens.lens (\LoadingAnimation' {visibility} -> visibility) (\s@LoadingAnimation' {} a -> s {visibility = a} :: LoadingAnimation)++instance Data.FromJSON LoadingAnimation where+  parseJSON =+    Data.withObject+      "LoadingAnimation"+      ( \x ->+          LoadingAnimation'+            Prelude.<$> (x Data..:? "Visibility")+      )++instance Prelude.Hashable LoadingAnimation where+  hashWithSalt _salt LoadingAnimation' {..} =+    _salt `Prelude.hashWithSalt` visibility++instance Prelude.NFData LoadingAnimation where+  rnf LoadingAnimation' {..} = Prelude.rnf visibility++instance Data.ToJSON LoadingAnimation where+  toJSON LoadingAnimation' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Visibility" Data..=) Prelude.<$> visibility]+      )
+ gen/Amazonka/QuickSight/Types/LocalNavigationConfiguration.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.QuickSight.Types.LocalNavigationConfiguration+-- 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.QuickSight.Types.LocalNavigationConfiguration 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 navigation configuration for @CustomActionNavigationOperation@.+--+-- /See:/ 'newLocalNavigationConfiguration' smart constructor.+data LocalNavigationConfiguration = LocalNavigationConfiguration'+  { -- | The sheet that is targeted for navigation in the same analysis.+    targetSheetId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LocalNavigationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'targetSheetId', 'localNavigationConfiguration_targetSheetId' - The sheet that is targeted for navigation in the same analysis.+newLocalNavigationConfiguration ::+  -- | 'targetSheetId'+  Prelude.Text ->+  LocalNavigationConfiguration+newLocalNavigationConfiguration pTargetSheetId_ =+  LocalNavigationConfiguration'+    { targetSheetId =+        pTargetSheetId_+    }++-- | The sheet that is targeted for navigation in the same analysis.+localNavigationConfiguration_targetSheetId :: Lens.Lens' LocalNavigationConfiguration Prelude.Text+localNavigationConfiguration_targetSheetId = Lens.lens (\LocalNavigationConfiguration' {targetSheetId} -> targetSheetId) (\s@LocalNavigationConfiguration' {} a -> s {targetSheetId = a} :: LocalNavigationConfiguration)++instance Data.FromJSON LocalNavigationConfiguration where+  parseJSON =+    Data.withObject+      "LocalNavigationConfiguration"+      ( \x ->+          LocalNavigationConfiguration'+            Prelude.<$> (x Data..: "TargetSheetId")+      )++instance+  Prelude.Hashable+    LocalNavigationConfiguration+  where+  hashWithSalt _salt LocalNavigationConfiguration' {..} =+    _salt `Prelude.hashWithSalt` targetSheetId++instance Prelude.NFData LocalNavigationConfiguration where+  rnf LocalNavigationConfiguration' {..} =+    Prelude.rnf targetSheetId++instance Data.ToJSON LocalNavigationConfiguration where+  toJSON LocalNavigationConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("TargetSheetId" Data..= targetSheetId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/LogicalTable.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.LogicalTable+-- 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.QuickSight.Types.LogicalTable where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.LogicalTableSource+import Amazonka.QuickSight.Types.TransformOperation++-- | A /logical table/ is a unit that joins and that data transformations+-- operate on. A logical table has a source, which can be either a physical+-- table or result of a join. When a logical table points to a physical+-- table, the logical table acts as a mutable copy of that physical table+-- through transform operations.+--+-- /See:/ 'newLogicalTable' smart constructor.+data LogicalTable = LogicalTable'+  { -- | Transform operations that act on this logical table.+    dataTransforms :: Prelude.Maybe (Prelude.NonEmpty TransformOperation),+    -- | A display name for the logical table.+    alias :: Prelude.Text,+    -- | Source of this logical table.+    source :: LogicalTableSource+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LogicalTable' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataTransforms', 'logicalTable_dataTransforms' - Transform operations that act on this logical table.+--+-- 'alias', 'logicalTable_alias' - A display name for the logical table.+--+-- 'source', 'logicalTable_source' - Source of this logical table.+newLogicalTable ::+  -- | 'alias'+  Prelude.Text ->+  -- | 'source'+  LogicalTableSource ->+  LogicalTable+newLogicalTable pAlias_ pSource_ =+  LogicalTable'+    { dataTransforms = Prelude.Nothing,+      alias = pAlias_,+      source = pSource_+    }++-- | Transform operations that act on this logical table.+logicalTable_dataTransforms :: Lens.Lens' LogicalTable (Prelude.Maybe (Prelude.NonEmpty TransformOperation))+logicalTable_dataTransforms = Lens.lens (\LogicalTable' {dataTransforms} -> dataTransforms) (\s@LogicalTable' {} a -> s {dataTransforms = a} :: LogicalTable) Prelude.. Lens.mapping Lens.coerced++-- | A display name for the logical table.+logicalTable_alias :: Lens.Lens' LogicalTable Prelude.Text+logicalTable_alias = Lens.lens (\LogicalTable' {alias} -> alias) (\s@LogicalTable' {} a -> s {alias = a} :: LogicalTable)++-- | Source of this logical table.+logicalTable_source :: Lens.Lens' LogicalTable LogicalTableSource+logicalTable_source = Lens.lens (\LogicalTable' {source} -> source) (\s@LogicalTable' {} a -> s {source = a} :: LogicalTable)++instance Data.FromJSON LogicalTable where+  parseJSON =+    Data.withObject+      "LogicalTable"+      ( \x ->+          LogicalTable'+            Prelude.<$> (x Data..:? "DataTransforms")+            Prelude.<*> (x Data..: "Alias")+            Prelude.<*> (x Data..: "Source")+      )++instance Prelude.Hashable LogicalTable where+  hashWithSalt _salt LogicalTable' {..} =+    _salt+      `Prelude.hashWithSalt` dataTransforms+      `Prelude.hashWithSalt` alias+      `Prelude.hashWithSalt` source++instance Prelude.NFData LogicalTable where+  rnf LogicalTable' {..} =+    Prelude.rnf dataTransforms+      `Prelude.seq` Prelude.rnf alias+      `Prelude.seq` Prelude.rnf source++instance Data.ToJSON LogicalTable where+  toJSON LogicalTable' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DataTransforms" Data..=)+              Prelude.<$> dataTransforms,+            Prelude.Just ("Alias" Data..= alias),+            Prelude.Just ("Source" Data..= source)+          ]+      )
+ gen/Amazonka/QuickSight/Types/LogicalTableSource.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.QuickSight.Types.LogicalTableSource+-- 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.QuickSight.Types.LogicalTableSource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.JoinInstruction++-- | Information about the source of a logical table. This is a variant type+-- structure. For this structure to be valid, only one of the attributes+-- can be non-null.+--+-- /See:/ 'newLogicalTableSource' smart constructor.+data LogicalTableSource = LogicalTableSource'+  { -- | The Amazon Resource Number (ARN) of the parent dataset.+    dataSetArn :: Prelude.Maybe Prelude.Text,+    -- | Specifies the result of a join of two logical tables.+    joinInstruction :: Prelude.Maybe JoinInstruction,+    -- | Physical table ID.+    physicalTableId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LogicalTableSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSetArn', 'logicalTableSource_dataSetArn' - The Amazon Resource Number (ARN) of the parent dataset.+--+-- 'joinInstruction', 'logicalTableSource_joinInstruction' - Specifies the result of a join of two logical tables.+--+-- 'physicalTableId', 'logicalTableSource_physicalTableId' - Physical table ID.+newLogicalTableSource ::+  LogicalTableSource+newLogicalTableSource =+  LogicalTableSource'+    { dataSetArn = Prelude.Nothing,+      joinInstruction = Prelude.Nothing,+      physicalTableId = Prelude.Nothing+    }++-- | The Amazon Resource Number (ARN) of the parent dataset.+logicalTableSource_dataSetArn :: Lens.Lens' LogicalTableSource (Prelude.Maybe Prelude.Text)+logicalTableSource_dataSetArn = Lens.lens (\LogicalTableSource' {dataSetArn} -> dataSetArn) (\s@LogicalTableSource' {} a -> s {dataSetArn = a} :: LogicalTableSource)++-- | Specifies the result of a join of two logical tables.+logicalTableSource_joinInstruction :: Lens.Lens' LogicalTableSource (Prelude.Maybe JoinInstruction)+logicalTableSource_joinInstruction = Lens.lens (\LogicalTableSource' {joinInstruction} -> joinInstruction) (\s@LogicalTableSource' {} a -> s {joinInstruction = a} :: LogicalTableSource)++-- | Physical table ID.+logicalTableSource_physicalTableId :: Lens.Lens' LogicalTableSource (Prelude.Maybe Prelude.Text)+logicalTableSource_physicalTableId = Lens.lens (\LogicalTableSource' {physicalTableId} -> physicalTableId) (\s@LogicalTableSource' {} a -> s {physicalTableId = a} :: LogicalTableSource)++instance Data.FromJSON LogicalTableSource where+  parseJSON =+    Data.withObject+      "LogicalTableSource"+      ( \x ->+          LogicalTableSource'+            Prelude.<$> (x Data..:? "DataSetArn")+            Prelude.<*> (x Data..:? "JoinInstruction")+            Prelude.<*> (x Data..:? "PhysicalTableId")+      )++instance Prelude.Hashable LogicalTableSource where+  hashWithSalt _salt LogicalTableSource' {..} =+    _salt+      `Prelude.hashWithSalt` dataSetArn+      `Prelude.hashWithSalt` joinInstruction+      `Prelude.hashWithSalt` physicalTableId++instance Prelude.NFData LogicalTableSource where+  rnf LogicalTableSource' {..} =+    Prelude.rnf dataSetArn+      `Prelude.seq` Prelude.rnf joinInstruction+      `Prelude.seq` Prelude.rnf physicalTableId++instance Data.ToJSON LogicalTableSource where+  toJSON LogicalTableSource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DataSetArn" Data..=) Prelude.<$> dataSetArn,+            ("JoinInstruction" Data..=)+              Prelude.<$> joinInstruction,+            ("PhysicalTableId" Data..=)+              Prelude.<$> physicalTableId+          ]+      )
+ gen/Amazonka/QuickSight/Types/LongFormatText.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.QuickSight.Types.LongFormatText+-- 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.QuickSight.Types.LongFormatText 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 text format for a subtitle.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newLongFormatText' smart constructor.+data LongFormatText = LongFormatText'+  { -- | Plain text format.+    plainText :: Prelude.Maybe Prelude.Text,+    -- | Rich text. Examples of rich text include bold, underline, and italics.+    richText :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LongFormatText' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'plainText', 'longFormatText_plainText' - Plain text format.+--+-- 'richText', 'longFormatText_richText' - Rich text. Examples of rich text include bold, underline, and italics.+newLongFormatText ::+  LongFormatText+newLongFormatText =+  LongFormatText'+    { plainText = Prelude.Nothing,+      richText = Prelude.Nothing+    }++-- | Plain text format.+longFormatText_plainText :: Lens.Lens' LongFormatText (Prelude.Maybe Prelude.Text)+longFormatText_plainText = Lens.lens (\LongFormatText' {plainText} -> plainText) (\s@LongFormatText' {} a -> s {plainText = a} :: LongFormatText)++-- | Rich text. Examples of rich text include bold, underline, and italics.+longFormatText_richText :: Lens.Lens' LongFormatText (Prelude.Maybe Prelude.Text)+longFormatText_richText = Lens.lens (\LongFormatText' {richText} -> richText) (\s@LongFormatText' {} a -> s {richText = a} :: LongFormatText)++instance Data.FromJSON LongFormatText where+  parseJSON =+    Data.withObject+      "LongFormatText"+      ( \x ->+          LongFormatText'+            Prelude.<$> (x Data..:? "PlainText")+            Prelude.<*> (x Data..:? "RichText")+      )++instance Prelude.Hashable LongFormatText where+  hashWithSalt _salt LongFormatText' {..} =+    _salt+      `Prelude.hashWithSalt` plainText+      `Prelude.hashWithSalt` richText++instance Prelude.NFData LongFormatText where+  rnf LongFormatText' {..} =+    Prelude.rnf plainText+      `Prelude.seq` Prelude.rnf richText++instance Data.ToJSON LongFormatText where+  toJSON LongFormatText' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PlainText" Data..=) Prelude.<$> plainText,+            ("RichText" Data..=) Prelude.<$> richText+          ]+      )
+ gen/Amazonka/QuickSight/Types/ManifestFileLocation.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.QuickSight.Types.ManifestFileLocation+-- 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.QuickSight.Types.ManifestFileLocation 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++-- | Amazon S3 manifest file location.+--+-- /See:/ 'newManifestFileLocation' smart constructor.+data ManifestFileLocation = ManifestFileLocation'+  { -- | Amazon S3 bucket.+    bucket :: Prelude.Text,+    -- | Amazon S3 key that identifies an object.+    key :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ManifestFileLocation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucket', 'manifestFileLocation_bucket' - Amazon S3 bucket.+--+-- 'key', 'manifestFileLocation_key' - Amazon S3 key that identifies an object.+newManifestFileLocation ::+  -- | 'bucket'+  Prelude.Text ->+  -- | 'key'+  Prelude.Text ->+  ManifestFileLocation+newManifestFileLocation pBucket_ pKey_ =+  ManifestFileLocation'+    { bucket = pBucket_,+      key = pKey_+    }++-- | Amazon S3 bucket.+manifestFileLocation_bucket :: Lens.Lens' ManifestFileLocation Prelude.Text+manifestFileLocation_bucket = Lens.lens (\ManifestFileLocation' {bucket} -> bucket) (\s@ManifestFileLocation' {} a -> s {bucket = a} :: ManifestFileLocation)++-- | Amazon S3 key that identifies an object.+manifestFileLocation_key :: Lens.Lens' ManifestFileLocation Prelude.Text+manifestFileLocation_key = Lens.lens (\ManifestFileLocation' {key} -> key) (\s@ManifestFileLocation' {} a -> s {key = a} :: ManifestFileLocation)++instance Data.FromJSON ManifestFileLocation where+  parseJSON =+    Data.withObject+      "ManifestFileLocation"+      ( \x ->+          ManifestFileLocation'+            Prelude.<$> (x Data..: "Bucket")+            Prelude.<*> (x Data..: "Key")+      )++instance Prelude.Hashable ManifestFileLocation where+  hashWithSalt _salt ManifestFileLocation' {..} =+    _salt+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key++instance Prelude.NFData ManifestFileLocation where+  rnf ManifestFileLocation' {..} =+    Prelude.rnf bucket `Prelude.seq` Prelude.rnf key++instance Data.ToJSON ManifestFileLocation where+  toJSON ManifestFileLocation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Bucket" Data..= bucket),+            Prelude.Just ("Key" Data..= key)+          ]+      )
+ gen/Amazonka/QuickSight/Types/MapZoomMode.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.QuickSight.Types.MapZoomMode+-- 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.QuickSight.Types.MapZoomMode+  ( MapZoomMode+      ( ..,+        MapZoomMode_AUTO,+        MapZoomMode_MANUAL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MapZoomMode = MapZoomMode'+  { fromMapZoomMode ::+      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 MapZoomMode_AUTO :: MapZoomMode+pattern MapZoomMode_AUTO = MapZoomMode' "AUTO"++pattern MapZoomMode_MANUAL :: MapZoomMode+pattern MapZoomMode_MANUAL = MapZoomMode' "MANUAL"++{-# COMPLETE+  MapZoomMode_AUTO,+  MapZoomMode_MANUAL,+  MapZoomMode'+  #-}
+ gen/Amazonka/QuickSight/Types/MarginStyle.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.MarginStyle+-- 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.QuickSight.Types.MarginStyle 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 display options for margins around the outside edge of sheets.+--+-- /See:/ 'newMarginStyle' smart constructor.+data MarginStyle = MarginStyle'+  { -- | This Boolean value controls whether to display sheet margins.+    show :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MarginStyle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'show', 'marginStyle_show' - This Boolean value controls whether to display sheet margins.+newMarginStyle ::+  MarginStyle+newMarginStyle = MarginStyle' {show = Prelude.Nothing}++-- | This Boolean value controls whether to display sheet margins.+marginStyle_show :: Lens.Lens' MarginStyle (Prelude.Maybe Prelude.Bool)+marginStyle_show = Lens.lens (\MarginStyle' {show} -> show) (\s@MarginStyle' {} a -> s {show = a} :: MarginStyle)++instance Data.FromJSON MarginStyle where+  parseJSON =+    Data.withObject+      "MarginStyle"+      (\x -> MarginStyle' Prelude.<$> (x Data..:? "Show"))++instance Prelude.Hashable MarginStyle where+  hashWithSalt _salt MarginStyle' {..} =+    _salt `Prelude.hashWithSalt` show++instance Prelude.NFData MarginStyle where+  rnf MarginStyle' {..} = Prelude.rnf show++instance Data.ToJSON MarginStyle where+  toJSON MarginStyle' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Show" Data..=) Prelude.<$> show]+      )
+ gen/Amazonka/QuickSight/Types/MariaDbParameters.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.MariaDbParameters+-- 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.QuickSight.Types.MariaDbParameters 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 parameters for MariaDB.+--+-- /See:/ 'newMariaDbParameters' smart constructor.+data MariaDbParameters = MariaDbParameters'+  { -- | Host.+    host :: Prelude.Text,+    -- | Port.+    port :: Prelude.Natural,+    -- | Database.+    database :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MariaDbParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'host', 'mariaDbParameters_host' - Host.+--+-- 'port', 'mariaDbParameters_port' - Port.+--+-- 'database', 'mariaDbParameters_database' - Database.+newMariaDbParameters ::+  -- | 'host'+  Prelude.Text ->+  -- | 'port'+  Prelude.Natural ->+  -- | 'database'+  Prelude.Text ->+  MariaDbParameters+newMariaDbParameters pHost_ pPort_ pDatabase_ =+  MariaDbParameters'+    { host = pHost_,+      port = pPort_,+      database = pDatabase_+    }++-- | Host.+mariaDbParameters_host :: Lens.Lens' MariaDbParameters Prelude.Text+mariaDbParameters_host = Lens.lens (\MariaDbParameters' {host} -> host) (\s@MariaDbParameters' {} a -> s {host = a} :: MariaDbParameters)++-- | Port.+mariaDbParameters_port :: Lens.Lens' MariaDbParameters Prelude.Natural+mariaDbParameters_port = Lens.lens (\MariaDbParameters' {port} -> port) (\s@MariaDbParameters' {} a -> s {port = a} :: MariaDbParameters)++-- | Database.+mariaDbParameters_database :: Lens.Lens' MariaDbParameters Prelude.Text+mariaDbParameters_database = Lens.lens (\MariaDbParameters' {database} -> database) (\s@MariaDbParameters' {} a -> s {database = a} :: MariaDbParameters)++instance Data.FromJSON MariaDbParameters where+  parseJSON =+    Data.withObject+      "MariaDbParameters"+      ( \x ->+          MariaDbParameters'+            Prelude.<$> (x Data..: "Host")+            Prelude.<*> (x Data..: "Port")+            Prelude.<*> (x Data..: "Database")+      )++instance Prelude.Hashable MariaDbParameters where+  hashWithSalt _salt MariaDbParameters' {..} =+    _salt+      `Prelude.hashWithSalt` host+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` database++instance Prelude.NFData MariaDbParameters where+  rnf MariaDbParameters' {..} =+    Prelude.rnf host+      `Prelude.seq` Prelude.rnf port+      `Prelude.seq` Prelude.rnf database++instance Data.ToJSON MariaDbParameters where+  toJSON MariaDbParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Host" Data..= host),+            Prelude.Just ("Port" Data..= port),+            Prelude.Just ("Database" Data..= database)+          ]+      )
+ gen/Amazonka/QuickSight/Types/MaximumLabelType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.MaximumLabelType+-- 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.QuickSight.Types.MaximumLabelType where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The maximum label of a data path label.+--+-- /See:/ 'newMaximumLabelType' smart constructor.+data MaximumLabelType = MaximumLabelType'+  { -- | The visibility of the maximum label.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MaximumLabelType' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'visibility', 'maximumLabelType_visibility' - The visibility of the maximum label.+newMaximumLabelType ::+  MaximumLabelType+newMaximumLabelType =+  MaximumLabelType' {visibility = Prelude.Nothing}++-- | The visibility of the maximum label.+maximumLabelType_visibility :: Lens.Lens' MaximumLabelType (Prelude.Maybe Visibility)+maximumLabelType_visibility = Lens.lens (\MaximumLabelType' {visibility} -> visibility) (\s@MaximumLabelType' {} a -> s {visibility = a} :: MaximumLabelType)++instance Data.FromJSON MaximumLabelType where+  parseJSON =+    Data.withObject+      "MaximumLabelType"+      ( \x ->+          MaximumLabelType'+            Prelude.<$> (x Data..:? "Visibility")+      )++instance Prelude.Hashable MaximumLabelType where+  hashWithSalt _salt MaximumLabelType' {..} =+    _salt `Prelude.hashWithSalt` visibility++instance Prelude.NFData MaximumLabelType where+  rnf MaximumLabelType' {..} = Prelude.rnf visibility++instance Data.ToJSON MaximumLabelType where+  toJSON MaximumLabelType' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Visibility" Data..=) Prelude.<$> visibility]+      )
+ gen/Amazonka/QuickSight/Types/MaximumMinimumComputation.hs view
@@ -0,0 +1,156 @@+{-# 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.QuickSight.Types.MaximumMinimumComputation+-- 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.QuickSight.Types.MaximumMinimumComputation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MaximumMinimumComputationType+import Amazonka.QuickSight.Types.MeasureField++-- | The maximum and minimum computation configuration.+--+-- /See:/ 'newMaximumMinimumComputation' smart constructor.+data MaximumMinimumComputation = MaximumMinimumComputation'+  { -- | The name of a computation.+    name :: Prelude.Maybe Prelude.Text,+    -- | The value field that is used in a computation.+    value :: Prelude.Maybe MeasureField,+    -- | The ID for a computation.+    computationId :: Prelude.Text,+    -- | The time field that is used in a computation.+    time :: DimensionField,+    -- | The type of computation. Choose one of the following options:+    --+    -- -   MAXIMUM: A maximum computation.+    --+    -- -   MINIMUM: A minimum computation.+    type' :: MaximumMinimumComputationType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MaximumMinimumComputation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'maximumMinimumComputation_name' - The name of a computation.+--+-- 'value', 'maximumMinimumComputation_value' - The value field that is used in a computation.+--+-- 'computationId', 'maximumMinimumComputation_computationId' - The ID for a computation.+--+-- 'time', 'maximumMinimumComputation_time' - The time field that is used in a computation.+--+-- 'type'', 'maximumMinimumComputation_type' - The type of computation. Choose one of the following options:+--+-- -   MAXIMUM: A maximum computation.+--+-- -   MINIMUM: A minimum computation.+newMaximumMinimumComputation ::+  -- | 'computationId'+  Prelude.Text ->+  -- | 'time'+  DimensionField ->+  -- | 'type''+  MaximumMinimumComputationType ->+  MaximumMinimumComputation+newMaximumMinimumComputation+  pComputationId_+  pTime_+  pType_ =+    MaximumMinimumComputation'+      { name = Prelude.Nothing,+        value = Prelude.Nothing,+        computationId = pComputationId_,+        time = pTime_,+        type' = pType_+      }++-- | The name of a computation.+maximumMinimumComputation_name :: Lens.Lens' MaximumMinimumComputation (Prelude.Maybe Prelude.Text)+maximumMinimumComputation_name = Lens.lens (\MaximumMinimumComputation' {name} -> name) (\s@MaximumMinimumComputation' {} a -> s {name = a} :: MaximumMinimumComputation)++-- | The value field that is used in a computation.+maximumMinimumComputation_value :: Lens.Lens' MaximumMinimumComputation (Prelude.Maybe MeasureField)+maximumMinimumComputation_value = Lens.lens (\MaximumMinimumComputation' {value} -> value) (\s@MaximumMinimumComputation' {} a -> s {value = a} :: MaximumMinimumComputation)++-- | The ID for a computation.+maximumMinimumComputation_computationId :: Lens.Lens' MaximumMinimumComputation Prelude.Text+maximumMinimumComputation_computationId = Lens.lens (\MaximumMinimumComputation' {computationId} -> computationId) (\s@MaximumMinimumComputation' {} a -> s {computationId = a} :: MaximumMinimumComputation)++-- | The time field that is used in a computation.+maximumMinimumComputation_time :: Lens.Lens' MaximumMinimumComputation DimensionField+maximumMinimumComputation_time = Lens.lens (\MaximumMinimumComputation' {time} -> time) (\s@MaximumMinimumComputation' {} a -> s {time = a} :: MaximumMinimumComputation)++-- | The type of computation. Choose one of the following options:+--+-- -   MAXIMUM: A maximum computation.+--+-- -   MINIMUM: A minimum computation.+maximumMinimumComputation_type :: Lens.Lens' MaximumMinimumComputation MaximumMinimumComputationType+maximumMinimumComputation_type = Lens.lens (\MaximumMinimumComputation' {type'} -> type') (\s@MaximumMinimumComputation' {} a -> s {type' = a} :: MaximumMinimumComputation)++instance Data.FromJSON MaximumMinimumComputation where+  parseJSON =+    Data.withObject+      "MaximumMinimumComputation"+      ( \x ->+          MaximumMinimumComputation'+            Prelude.<$> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Value")+            Prelude.<*> (x Data..: "ComputationId")+            Prelude.<*> (x Data..: "Time")+            Prelude.<*> (x Data..: "Type")+      )++instance Prelude.Hashable MaximumMinimumComputation where+  hashWithSalt _salt MaximumMinimumComputation' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` computationId+      `Prelude.hashWithSalt` time+      `Prelude.hashWithSalt` type'++instance Prelude.NFData MaximumMinimumComputation where+  rnf MaximumMinimumComputation' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf value+      `Prelude.seq` Prelude.rnf computationId+      `Prelude.seq` Prelude.rnf time+      `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON MaximumMinimumComputation where+  toJSON MaximumMinimumComputation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Name" Data..=) Prelude.<$> name,+            ("Value" Data..=) Prelude.<$> value,+            Prelude.Just ("ComputationId" Data..= computationId),+            Prelude.Just ("Time" Data..= time),+            Prelude.Just ("Type" Data..= type')+          ]+      )
+ gen/Amazonka/QuickSight/Types/MaximumMinimumComputationType.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.QuickSight.Types.MaximumMinimumComputationType+-- 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.QuickSight.Types.MaximumMinimumComputationType+  ( MaximumMinimumComputationType+      ( ..,+        MaximumMinimumComputationType_MAXIMUM,+        MaximumMinimumComputationType_MINIMUM+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MaximumMinimumComputationType = MaximumMinimumComputationType'+  { fromMaximumMinimumComputationType ::+      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 MaximumMinimumComputationType_MAXIMUM :: MaximumMinimumComputationType+pattern MaximumMinimumComputationType_MAXIMUM = MaximumMinimumComputationType' "MAXIMUM"++pattern MaximumMinimumComputationType_MINIMUM :: MaximumMinimumComputationType+pattern MaximumMinimumComputationType_MINIMUM = MaximumMinimumComputationType' "MINIMUM"++{-# COMPLETE+  MaximumMinimumComputationType_MAXIMUM,+  MaximumMinimumComputationType_MINIMUM,+  MaximumMinimumComputationType'+  #-}
+ gen/Amazonka/QuickSight/Types/MeasureField.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.MeasureField+-- 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.QuickSight.Types.MeasureField where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CalculatedMeasureField+import Amazonka.QuickSight.Types.CategoricalMeasureField+import Amazonka.QuickSight.Types.DateMeasureField+import Amazonka.QuickSight.Types.NumericalMeasureField++-- | The measure (metric) type field.+--+-- /See:/ 'newMeasureField' smart constructor.+data MeasureField = MeasureField'+  { -- | The calculated measure field only used in pivot tables.+    calculatedMeasureField :: Prelude.Maybe CalculatedMeasureField,+    -- | The measure type field with categorical type columns.+    categoricalMeasureField :: Prelude.Maybe CategoricalMeasureField,+    -- | The measure type field with date type columns.+    dateMeasureField :: Prelude.Maybe DateMeasureField,+    -- | The measure type field with numerical type columns.+    numericalMeasureField :: Prelude.Maybe NumericalMeasureField+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MeasureField' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'calculatedMeasureField', 'measureField_calculatedMeasureField' - The calculated measure field only used in pivot tables.+--+-- 'categoricalMeasureField', 'measureField_categoricalMeasureField' - The measure type field with categorical type columns.+--+-- 'dateMeasureField', 'measureField_dateMeasureField' - The measure type field with date type columns.+--+-- 'numericalMeasureField', 'measureField_numericalMeasureField' - The measure type field with numerical type columns.+newMeasureField ::+  MeasureField+newMeasureField =+  MeasureField'+    { calculatedMeasureField =+        Prelude.Nothing,+      categoricalMeasureField = Prelude.Nothing,+      dateMeasureField = Prelude.Nothing,+      numericalMeasureField = Prelude.Nothing+    }++-- | The calculated measure field only used in pivot tables.+measureField_calculatedMeasureField :: Lens.Lens' MeasureField (Prelude.Maybe CalculatedMeasureField)+measureField_calculatedMeasureField = Lens.lens (\MeasureField' {calculatedMeasureField} -> calculatedMeasureField) (\s@MeasureField' {} a -> s {calculatedMeasureField = a} :: MeasureField)++-- | The measure type field with categorical type columns.+measureField_categoricalMeasureField :: Lens.Lens' MeasureField (Prelude.Maybe CategoricalMeasureField)+measureField_categoricalMeasureField = Lens.lens (\MeasureField' {categoricalMeasureField} -> categoricalMeasureField) (\s@MeasureField' {} a -> s {categoricalMeasureField = a} :: MeasureField)++-- | The measure type field with date type columns.+measureField_dateMeasureField :: Lens.Lens' MeasureField (Prelude.Maybe DateMeasureField)+measureField_dateMeasureField = Lens.lens (\MeasureField' {dateMeasureField} -> dateMeasureField) (\s@MeasureField' {} a -> s {dateMeasureField = a} :: MeasureField)++-- | The measure type field with numerical type columns.+measureField_numericalMeasureField :: Lens.Lens' MeasureField (Prelude.Maybe NumericalMeasureField)+measureField_numericalMeasureField = Lens.lens (\MeasureField' {numericalMeasureField} -> numericalMeasureField) (\s@MeasureField' {} a -> s {numericalMeasureField = a} :: MeasureField)++instance Data.FromJSON MeasureField where+  parseJSON =+    Data.withObject+      "MeasureField"+      ( \x ->+          MeasureField'+            Prelude.<$> (x Data..:? "CalculatedMeasureField")+            Prelude.<*> (x Data..:? "CategoricalMeasureField")+            Prelude.<*> (x Data..:? "DateMeasureField")+            Prelude.<*> (x Data..:? "NumericalMeasureField")+      )++instance Prelude.Hashable MeasureField where+  hashWithSalt _salt MeasureField' {..} =+    _salt+      `Prelude.hashWithSalt` calculatedMeasureField+      `Prelude.hashWithSalt` categoricalMeasureField+      `Prelude.hashWithSalt` dateMeasureField+      `Prelude.hashWithSalt` numericalMeasureField++instance Prelude.NFData MeasureField where+  rnf MeasureField' {..} =+    Prelude.rnf calculatedMeasureField+      `Prelude.seq` Prelude.rnf categoricalMeasureField+      `Prelude.seq` Prelude.rnf dateMeasureField+      `Prelude.seq` Prelude.rnf numericalMeasureField++instance Data.ToJSON MeasureField where+  toJSON MeasureField' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CalculatedMeasureField" Data..=)+              Prelude.<$> calculatedMeasureField,+            ("CategoricalMeasureField" Data..=)+              Prelude.<$> categoricalMeasureField,+            ("DateMeasureField" Data..=)+              Prelude.<$> dateMeasureField,+            ("NumericalMeasureField" Data..=)+              Prelude.<$> numericalMeasureField+          ]+      )
+ gen/Amazonka/QuickSight/Types/MemberIdArnPair.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.MemberIdArnPair+-- 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.QuickSight.Types.MemberIdArnPair 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 object that consists of a member Amazon Resource Name (ARN) and a+-- member ID.+--+-- /See:/ 'newMemberIdArnPair' smart constructor.+data MemberIdArnPair = MemberIdArnPair'+  { -- | The Amazon Resource Name (ARN) of the member.+    memberArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the member.+    memberId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MemberIdArnPair' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'memberArn', 'memberIdArnPair_memberArn' - The Amazon Resource Name (ARN) of the member.+--+-- 'memberId', 'memberIdArnPair_memberId' - The ID of the member.+newMemberIdArnPair ::+  MemberIdArnPair+newMemberIdArnPair =+  MemberIdArnPair'+    { memberArn = Prelude.Nothing,+      memberId = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the member.+memberIdArnPair_memberArn :: Lens.Lens' MemberIdArnPair (Prelude.Maybe Prelude.Text)+memberIdArnPair_memberArn = Lens.lens (\MemberIdArnPair' {memberArn} -> memberArn) (\s@MemberIdArnPair' {} a -> s {memberArn = a} :: MemberIdArnPair)++-- | The ID of the member.+memberIdArnPair_memberId :: Lens.Lens' MemberIdArnPair (Prelude.Maybe Prelude.Text)+memberIdArnPair_memberId = Lens.lens (\MemberIdArnPair' {memberId} -> memberId) (\s@MemberIdArnPair' {} a -> s {memberId = a} :: MemberIdArnPair)++instance Data.FromJSON MemberIdArnPair where+  parseJSON =+    Data.withObject+      "MemberIdArnPair"+      ( \x ->+          MemberIdArnPair'+            Prelude.<$> (x Data..:? "MemberArn")+            Prelude.<*> (x Data..:? "MemberId")+      )++instance Prelude.Hashable MemberIdArnPair where+  hashWithSalt _salt MemberIdArnPair' {..} =+    _salt+      `Prelude.hashWithSalt` memberArn+      `Prelude.hashWithSalt` memberId++instance Prelude.NFData MemberIdArnPair where+  rnf MemberIdArnPair' {..} =+    Prelude.rnf memberArn+      `Prelude.seq` Prelude.rnf memberId
+ gen/Amazonka/QuickSight/Types/MemberType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.MemberType+-- 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.QuickSight.Types.MemberType+  ( MemberType+      ( ..,+        MemberType_ANALYSIS,+        MemberType_DASHBOARD,+        MemberType_DATASET+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MemberType = MemberType'+  { fromMemberType ::+      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 MemberType_ANALYSIS :: MemberType+pattern MemberType_ANALYSIS = MemberType' "ANALYSIS"++pattern MemberType_DASHBOARD :: MemberType+pattern MemberType_DASHBOARD = MemberType' "DASHBOARD"++pattern MemberType_DATASET :: MemberType+pattern MemberType_DATASET = MemberType' "DATASET"++{-# COMPLETE+  MemberType_ANALYSIS,+  MemberType_DASHBOARD,+  MemberType_DATASET,+  MemberType'+  #-}
+ gen/Amazonka/QuickSight/Types/MetricComparisonComputation.hs view
@@ -0,0 +1,147 @@+{-# 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.QuickSight.Types.MetricComparisonComputation+-- 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.QuickSight.Types.MetricComparisonComputation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The metric comparison computation configuration.+--+-- /See:/ 'newMetricComparisonComputation' smart constructor.+data MetricComparisonComputation = MetricComparisonComputation'+  { -- | The name of a computation.+    name :: Prelude.Maybe Prelude.Text,+    -- | The ID for a computation.+    computationId :: Prelude.Text,+    -- | The time field that is used in a computation.+    time :: DimensionField,+    -- | The field that is used in a metric comparison from value setup.+    fromValue :: MeasureField,+    -- | The field that is used in a metric comparison to value setup.+    targetValue :: MeasureField+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MetricComparisonComputation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'metricComparisonComputation_name' - The name of a computation.+--+-- 'computationId', 'metricComparisonComputation_computationId' - The ID for a computation.+--+-- 'time', 'metricComparisonComputation_time' - The time field that is used in a computation.+--+-- 'fromValue', 'metricComparisonComputation_fromValue' - The field that is used in a metric comparison from value setup.+--+-- 'targetValue', 'metricComparisonComputation_targetValue' - The field that is used in a metric comparison to value setup.+newMetricComparisonComputation ::+  -- | 'computationId'+  Prelude.Text ->+  -- | 'time'+  DimensionField ->+  -- | 'fromValue'+  MeasureField ->+  -- | 'targetValue'+  MeasureField ->+  MetricComparisonComputation+newMetricComparisonComputation+  pComputationId_+  pTime_+  pFromValue_+  pTargetValue_ =+    MetricComparisonComputation'+      { name =+          Prelude.Nothing,+        computationId = pComputationId_,+        time = pTime_,+        fromValue = pFromValue_,+        targetValue = pTargetValue_+      }++-- | The name of a computation.+metricComparisonComputation_name :: Lens.Lens' MetricComparisonComputation (Prelude.Maybe Prelude.Text)+metricComparisonComputation_name = Lens.lens (\MetricComparisonComputation' {name} -> name) (\s@MetricComparisonComputation' {} a -> s {name = a} :: MetricComparisonComputation)++-- | The ID for a computation.+metricComparisonComputation_computationId :: Lens.Lens' MetricComparisonComputation Prelude.Text+metricComparisonComputation_computationId = Lens.lens (\MetricComparisonComputation' {computationId} -> computationId) (\s@MetricComparisonComputation' {} a -> s {computationId = a} :: MetricComparisonComputation)++-- | The time field that is used in a computation.+metricComparisonComputation_time :: Lens.Lens' MetricComparisonComputation DimensionField+metricComparisonComputation_time = Lens.lens (\MetricComparisonComputation' {time} -> time) (\s@MetricComparisonComputation' {} a -> s {time = a} :: MetricComparisonComputation)++-- | The field that is used in a metric comparison from value setup.+metricComparisonComputation_fromValue :: Lens.Lens' MetricComparisonComputation MeasureField+metricComparisonComputation_fromValue = Lens.lens (\MetricComparisonComputation' {fromValue} -> fromValue) (\s@MetricComparisonComputation' {} a -> s {fromValue = a} :: MetricComparisonComputation)++-- | The field that is used in a metric comparison to value setup.+metricComparisonComputation_targetValue :: Lens.Lens' MetricComparisonComputation MeasureField+metricComparisonComputation_targetValue = Lens.lens (\MetricComparisonComputation' {targetValue} -> targetValue) (\s@MetricComparisonComputation' {} a -> s {targetValue = a} :: MetricComparisonComputation)++instance Data.FromJSON MetricComparisonComputation where+  parseJSON =+    Data.withObject+      "MetricComparisonComputation"+      ( \x ->+          MetricComparisonComputation'+            Prelude.<$> (x Data..:? "Name")+            Prelude.<*> (x Data..: "ComputationId")+            Prelude.<*> (x Data..: "Time")+            Prelude.<*> (x Data..: "FromValue")+            Prelude.<*> (x Data..: "TargetValue")+      )++instance Prelude.Hashable MetricComparisonComputation where+  hashWithSalt _salt MetricComparisonComputation' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` computationId+      `Prelude.hashWithSalt` time+      `Prelude.hashWithSalt` fromValue+      `Prelude.hashWithSalt` targetValue++instance Prelude.NFData MetricComparisonComputation where+  rnf MetricComparisonComputation' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf computationId+      `Prelude.seq` Prelude.rnf time+      `Prelude.seq` Prelude.rnf fromValue+      `Prelude.seq` Prelude.rnf targetValue++instance Data.ToJSON MetricComparisonComputation where+  toJSON MetricComparisonComputation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Name" Data..=) Prelude.<$> name,+            Prelude.Just ("ComputationId" Data..= computationId),+            Prelude.Just ("Time" Data..= time),+            Prelude.Just ("FromValue" Data..= fromValue),+            Prelude.Just ("TargetValue" Data..= targetValue)+          ]+      )
+ gen/Amazonka/QuickSight/Types/MinimumLabelType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.MinimumLabelType+-- 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.QuickSight.Types.MinimumLabelType where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The minimum label of a data path label.+--+-- /See:/ 'newMinimumLabelType' smart constructor.+data MinimumLabelType = MinimumLabelType'+  { -- | The visibility of the minimum label.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MinimumLabelType' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'visibility', 'minimumLabelType_visibility' - The visibility of the minimum label.+newMinimumLabelType ::+  MinimumLabelType+newMinimumLabelType =+  MinimumLabelType' {visibility = Prelude.Nothing}++-- | The visibility of the minimum label.+minimumLabelType_visibility :: Lens.Lens' MinimumLabelType (Prelude.Maybe Visibility)+minimumLabelType_visibility = Lens.lens (\MinimumLabelType' {visibility} -> visibility) (\s@MinimumLabelType' {} a -> s {visibility = a} :: MinimumLabelType)++instance Data.FromJSON MinimumLabelType where+  parseJSON =+    Data.withObject+      "MinimumLabelType"+      ( \x ->+          MinimumLabelType'+            Prelude.<$> (x Data..:? "Visibility")+      )++instance Prelude.Hashable MinimumLabelType where+  hashWithSalt _salt MinimumLabelType' {..} =+    _salt `Prelude.hashWithSalt` visibility++instance Prelude.NFData MinimumLabelType where+  rnf MinimumLabelType' {..} = Prelude.rnf visibility++instance Data.ToJSON MinimumLabelType where+  toJSON MinimumLabelType' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Visibility" Data..=) Prelude.<$> visibility]+      )
+ gen/Amazonka/QuickSight/Types/MissingDataConfiguration.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.QuickSight.Types.MissingDataConfiguration+-- 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.QuickSight.Types.MissingDataConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.MissingDataTreatmentOption++-- | The configuration options that determine how missing data is treated+-- during the rendering of a line chart.+--+-- /See:/ 'newMissingDataConfiguration' smart constructor.+data MissingDataConfiguration = MissingDataConfiguration'+  { -- | The treatment option that determines how missing data should be+    -- rendered. Choose from the following options:+    --+    -- -   @INTERPOLATE@: Interpolate missing values between the prior and the+    --     next known value.+    --+    -- -   @SHOW_AS_ZERO@: Show missing values as the value @0@.+    --+    -- -   @SHOW_AS_BLANK@: Display a blank space when rendering missing data.+    treatmentOption :: Prelude.Maybe MissingDataTreatmentOption+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MissingDataConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'treatmentOption', 'missingDataConfiguration_treatmentOption' - The treatment option that determines how missing data should be+-- rendered. Choose from the following options:+--+-- -   @INTERPOLATE@: Interpolate missing values between the prior and the+--     next known value.+--+-- -   @SHOW_AS_ZERO@: Show missing values as the value @0@.+--+-- -   @SHOW_AS_BLANK@: Display a blank space when rendering missing data.+newMissingDataConfiguration ::+  MissingDataConfiguration+newMissingDataConfiguration =+  MissingDataConfiguration'+    { treatmentOption =+        Prelude.Nothing+    }++-- | The treatment option that determines how missing data should be+-- rendered. Choose from the following options:+--+-- -   @INTERPOLATE@: Interpolate missing values between the prior and the+--     next known value.+--+-- -   @SHOW_AS_ZERO@: Show missing values as the value @0@.+--+-- -   @SHOW_AS_BLANK@: Display a blank space when rendering missing data.+missingDataConfiguration_treatmentOption :: Lens.Lens' MissingDataConfiguration (Prelude.Maybe MissingDataTreatmentOption)+missingDataConfiguration_treatmentOption = Lens.lens (\MissingDataConfiguration' {treatmentOption} -> treatmentOption) (\s@MissingDataConfiguration' {} a -> s {treatmentOption = a} :: MissingDataConfiguration)++instance Data.FromJSON MissingDataConfiguration where+  parseJSON =+    Data.withObject+      "MissingDataConfiguration"+      ( \x ->+          MissingDataConfiguration'+            Prelude.<$> (x Data..:? "TreatmentOption")+      )++instance Prelude.Hashable MissingDataConfiguration where+  hashWithSalt _salt MissingDataConfiguration' {..} =+    _salt `Prelude.hashWithSalt` treatmentOption++instance Prelude.NFData MissingDataConfiguration where+  rnf MissingDataConfiguration' {..} =+    Prelude.rnf treatmentOption++instance Data.ToJSON MissingDataConfiguration where+  toJSON MissingDataConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TreatmentOption" Data..=)+              Prelude.<$> treatmentOption+          ]+      )
+ gen/Amazonka/QuickSight/Types/MissingDataTreatmentOption.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.MissingDataTreatmentOption+-- 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.QuickSight.Types.MissingDataTreatmentOption+  ( MissingDataTreatmentOption+      ( ..,+        MissingDataTreatmentOption_INTERPOLATE,+        MissingDataTreatmentOption_SHOW_AS_BLANK,+        MissingDataTreatmentOption_SHOW_AS_ZERO+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MissingDataTreatmentOption = MissingDataTreatmentOption'+  { fromMissingDataTreatmentOption ::+      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 MissingDataTreatmentOption_INTERPOLATE :: MissingDataTreatmentOption+pattern MissingDataTreatmentOption_INTERPOLATE = MissingDataTreatmentOption' "INTERPOLATE"++pattern MissingDataTreatmentOption_SHOW_AS_BLANK :: MissingDataTreatmentOption+pattern MissingDataTreatmentOption_SHOW_AS_BLANK = MissingDataTreatmentOption' "SHOW_AS_BLANK"++pattern MissingDataTreatmentOption_SHOW_AS_ZERO :: MissingDataTreatmentOption+pattern MissingDataTreatmentOption_SHOW_AS_ZERO = MissingDataTreatmentOption' "SHOW_AS_ZERO"++{-# COMPLETE+  MissingDataTreatmentOption_INTERPOLATE,+  MissingDataTreatmentOption_SHOW_AS_BLANK,+  MissingDataTreatmentOption_SHOW_AS_ZERO,+  MissingDataTreatmentOption'+  #-}
+ gen/Amazonka/QuickSight/Types/MySqlParameters.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.MySqlParameters+-- 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.QuickSight.Types.MySqlParameters 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 parameters for MySQL.+--+-- /See:/ 'newMySqlParameters' smart constructor.+data MySqlParameters = MySqlParameters'+  { -- | Host.+    host :: Prelude.Text,+    -- | Port.+    port :: Prelude.Natural,+    -- | Database.+    database :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MySqlParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'host', 'mySqlParameters_host' - Host.+--+-- 'port', 'mySqlParameters_port' - Port.+--+-- 'database', 'mySqlParameters_database' - Database.+newMySqlParameters ::+  -- | 'host'+  Prelude.Text ->+  -- | 'port'+  Prelude.Natural ->+  -- | 'database'+  Prelude.Text ->+  MySqlParameters+newMySqlParameters pHost_ pPort_ pDatabase_ =+  MySqlParameters'+    { host = pHost_,+      port = pPort_,+      database = pDatabase_+    }++-- | Host.+mySqlParameters_host :: Lens.Lens' MySqlParameters Prelude.Text+mySqlParameters_host = Lens.lens (\MySqlParameters' {host} -> host) (\s@MySqlParameters' {} a -> s {host = a} :: MySqlParameters)++-- | Port.+mySqlParameters_port :: Lens.Lens' MySqlParameters Prelude.Natural+mySqlParameters_port = Lens.lens (\MySqlParameters' {port} -> port) (\s@MySqlParameters' {} a -> s {port = a} :: MySqlParameters)++-- | Database.+mySqlParameters_database :: Lens.Lens' MySqlParameters Prelude.Text+mySqlParameters_database = Lens.lens (\MySqlParameters' {database} -> database) (\s@MySqlParameters' {} a -> s {database = a} :: MySqlParameters)++instance Data.FromJSON MySqlParameters where+  parseJSON =+    Data.withObject+      "MySqlParameters"+      ( \x ->+          MySqlParameters'+            Prelude.<$> (x Data..: "Host")+            Prelude.<*> (x Data..: "Port")+            Prelude.<*> (x Data..: "Database")+      )++instance Prelude.Hashable MySqlParameters where+  hashWithSalt _salt MySqlParameters' {..} =+    _salt+      `Prelude.hashWithSalt` host+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` database++instance Prelude.NFData MySqlParameters where+  rnf MySqlParameters' {..} =+    Prelude.rnf host+      `Prelude.seq` Prelude.rnf port+      `Prelude.seq` Prelude.rnf database++instance Data.ToJSON MySqlParameters where+  toJSON MySqlParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Host" Data..= host),+            Prelude.Just ("Port" Data..= port),+            Prelude.Just ("Database" Data..= database)+          ]+      )
+ gen/Amazonka/QuickSight/Types/NamespaceError.hs view
@@ -0,0 +1,84 @@+{-# 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.QuickSight.Types.NamespaceError+-- 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.QuickSight.Types.NamespaceError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.NamespaceErrorType++-- | Errors that occur during namespace creation.+--+-- /See:/ 'newNamespaceError' smart constructor.+data NamespaceError = NamespaceError'+  { -- | The message for the error.+    message :: Prelude.Maybe Prelude.Text,+    -- | The error type.+    type' :: Prelude.Maybe NamespaceErrorType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NamespaceError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'namespaceError_message' - The message for the error.+--+-- 'type'', 'namespaceError_type' - The error type.+newNamespaceError ::+  NamespaceError+newNamespaceError =+  NamespaceError'+    { message = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The message for the error.+namespaceError_message :: Lens.Lens' NamespaceError (Prelude.Maybe Prelude.Text)+namespaceError_message = Lens.lens (\NamespaceError' {message} -> message) (\s@NamespaceError' {} a -> s {message = a} :: NamespaceError)++-- | The error type.+namespaceError_type :: Lens.Lens' NamespaceError (Prelude.Maybe NamespaceErrorType)+namespaceError_type = Lens.lens (\NamespaceError' {type'} -> type') (\s@NamespaceError' {} a -> s {type' = a} :: NamespaceError)++instance Data.FromJSON NamespaceError where+  parseJSON =+    Data.withObject+      "NamespaceError"+      ( \x ->+          NamespaceError'+            Prelude.<$> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable NamespaceError where+  hashWithSalt _salt NamespaceError' {..} =+    _salt+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` type'++instance Prelude.NFData NamespaceError where+  rnf NamespaceError' {..} =+    Prelude.rnf message `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/QuickSight/Types/NamespaceErrorType.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.QuickSight.Types.NamespaceErrorType+-- 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.QuickSight.Types.NamespaceErrorType+  ( NamespaceErrorType+      ( ..,+        NamespaceErrorType_INTERNAL_SERVICE_ERROR,+        NamespaceErrorType_PERMISSION_DENIED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NamespaceErrorType = NamespaceErrorType'+  { fromNamespaceErrorType ::+      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 NamespaceErrorType_INTERNAL_SERVICE_ERROR :: NamespaceErrorType+pattern NamespaceErrorType_INTERNAL_SERVICE_ERROR = NamespaceErrorType' "INTERNAL_SERVICE_ERROR"++pattern NamespaceErrorType_PERMISSION_DENIED :: NamespaceErrorType+pattern NamespaceErrorType_PERMISSION_DENIED = NamespaceErrorType' "PERMISSION_DENIED"++{-# COMPLETE+  NamespaceErrorType_INTERNAL_SERVICE_ERROR,+  NamespaceErrorType_PERMISSION_DENIED,+  NamespaceErrorType'+  #-}
+ gen/Amazonka/QuickSight/Types/NamespaceInfoV2.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.QuickSight.Types.NamespaceInfoV2+-- 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.QuickSight.Types.NamespaceInfoV2 where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.IdentityStore+import Amazonka.QuickSight.Types.NamespaceError+import Amazonka.QuickSight.Types.NamespaceStatus++-- | The error type.+--+-- /See:/ 'newNamespaceInfoV2' smart constructor.+data NamespaceInfoV2 = NamespaceInfoV2'+  { -- | The namespace ARN.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The namespace Amazon Web Services Region.+    capacityRegion :: Prelude.Maybe Prelude.Text,+    -- | The creation status of a namespace that is not yet completely created.+    creationStatus :: Prelude.Maybe NamespaceStatus,+    -- | The identity store used for the namespace.+    identityStore :: Prelude.Maybe IdentityStore,+    -- | The name of the error.+    name :: Prelude.Maybe Prelude.Text,+    -- | An error that occurred when the namespace was created.+    namespaceError :: Prelude.Maybe NamespaceError+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NamespaceInfoV2' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'namespaceInfoV2_arn' - The namespace ARN.+--+-- 'capacityRegion', 'namespaceInfoV2_capacityRegion' - The namespace Amazon Web Services Region.+--+-- 'creationStatus', 'namespaceInfoV2_creationStatus' - The creation status of a namespace that is not yet completely created.+--+-- 'identityStore', 'namespaceInfoV2_identityStore' - The identity store used for the namespace.+--+-- 'name', 'namespaceInfoV2_name' - The name of the error.+--+-- 'namespaceError', 'namespaceInfoV2_namespaceError' - An error that occurred when the namespace was created.+newNamespaceInfoV2 ::+  NamespaceInfoV2+newNamespaceInfoV2 =+  NamespaceInfoV2'+    { arn = Prelude.Nothing,+      capacityRegion = Prelude.Nothing,+      creationStatus = Prelude.Nothing,+      identityStore = Prelude.Nothing,+      name = Prelude.Nothing,+      namespaceError = Prelude.Nothing+    }++-- | The namespace ARN.+namespaceInfoV2_arn :: Lens.Lens' NamespaceInfoV2 (Prelude.Maybe Prelude.Text)+namespaceInfoV2_arn = Lens.lens (\NamespaceInfoV2' {arn} -> arn) (\s@NamespaceInfoV2' {} a -> s {arn = a} :: NamespaceInfoV2)++-- | The namespace Amazon Web Services Region.+namespaceInfoV2_capacityRegion :: Lens.Lens' NamespaceInfoV2 (Prelude.Maybe Prelude.Text)+namespaceInfoV2_capacityRegion = Lens.lens (\NamespaceInfoV2' {capacityRegion} -> capacityRegion) (\s@NamespaceInfoV2' {} a -> s {capacityRegion = a} :: NamespaceInfoV2)++-- | The creation status of a namespace that is not yet completely created.+namespaceInfoV2_creationStatus :: Lens.Lens' NamespaceInfoV2 (Prelude.Maybe NamespaceStatus)+namespaceInfoV2_creationStatus = Lens.lens (\NamespaceInfoV2' {creationStatus} -> creationStatus) (\s@NamespaceInfoV2' {} a -> s {creationStatus = a} :: NamespaceInfoV2)++-- | The identity store used for the namespace.+namespaceInfoV2_identityStore :: Lens.Lens' NamespaceInfoV2 (Prelude.Maybe IdentityStore)+namespaceInfoV2_identityStore = Lens.lens (\NamespaceInfoV2' {identityStore} -> identityStore) (\s@NamespaceInfoV2' {} a -> s {identityStore = a} :: NamespaceInfoV2)++-- | The name of the error.+namespaceInfoV2_name :: Lens.Lens' NamespaceInfoV2 (Prelude.Maybe Prelude.Text)+namespaceInfoV2_name = Lens.lens (\NamespaceInfoV2' {name} -> name) (\s@NamespaceInfoV2' {} a -> s {name = a} :: NamespaceInfoV2)++-- | An error that occurred when the namespace was created.+namespaceInfoV2_namespaceError :: Lens.Lens' NamespaceInfoV2 (Prelude.Maybe NamespaceError)+namespaceInfoV2_namespaceError = Lens.lens (\NamespaceInfoV2' {namespaceError} -> namespaceError) (\s@NamespaceInfoV2' {} a -> s {namespaceError = a} :: NamespaceInfoV2)++instance Data.FromJSON NamespaceInfoV2 where+  parseJSON =+    Data.withObject+      "NamespaceInfoV2"+      ( \x ->+          NamespaceInfoV2'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CapacityRegion")+            Prelude.<*> (x Data..:? "CreationStatus")+            Prelude.<*> (x Data..:? "IdentityStore")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "NamespaceError")+      )++instance Prelude.Hashable NamespaceInfoV2 where+  hashWithSalt _salt NamespaceInfoV2' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` capacityRegion+      `Prelude.hashWithSalt` creationStatus+      `Prelude.hashWithSalt` identityStore+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` namespaceError++instance Prelude.NFData NamespaceInfoV2 where+  rnf NamespaceInfoV2' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf capacityRegion+      `Prelude.seq` Prelude.rnf creationStatus+      `Prelude.seq` Prelude.rnf identityStore+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf namespaceError
+ gen/Amazonka/QuickSight/Types/NamespaceStatus.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.NamespaceStatus+-- 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.QuickSight.Types.NamespaceStatus+  ( NamespaceStatus+      ( ..,+        NamespaceStatus_CREATED,+        NamespaceStatus_CREATING,+        NamespaceStatus_DELETING,+        NamespaceStatus_NON_RETRYABLE_FAILURE,+        NamespaceStatus_RETRYABLE_FAILURE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NamespaceStatus = NamespaceStatus'+  { fromNamespaceStatus ::+      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 NamespaceStatus_CREATED :: NamespaceStatus+pattern NamespaceStatus_CREATED = NamespaceStatus' "CREATED"++pattern NamespaceStatus_CREATING :: NamespaceStatus+pattern NamespaceStatus_CREATING = NamespaceStatus' "CREATING"++pattern NamespaceStatus_DELETING :: NamespaceStatus+pattern NamespaceStatus_DELETING = NamespaceStatus' "DELETING"++pattern NamespaceStatus_NON_RETRYABLE_FAILURE :: NamespaceStatus+pattern NamespaceStatus_NON_RETRYABLE_FAILURE = NamespaceStatus' "NON_RETRYABLE_FAILURE"++pattern NamespaceStatus_RETRYABLE_FAILURE :: NamespaceStatus+pattern NamespaceStatus_RETRYABLE_FAILURE = NamespaceStatus' "RETRYABLE_FAILURE"++{-# COMPLETE+  NamespaceStatus_CREATED,+  NamespaceStatus_CREATING,+  NamespaceStatus_DELETING,+  NamespaceStatus_NON_RETRYABLE_FAILURE,+  NamespaceStatus_RETRYABLE_FAILURE,+  NamespaceStatus'+  #-}
+ gen/Amazonka/QuickSight/Types/NegativeValueConfiguration.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.QuickSight.Types.NegativeValueConfiguration+-- 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.QuickSight.Types.NegativeValueConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.NegativeValueDisplayMode++-- | The options that determine the negative value configuration.+--+-- /See:/ 'newNegativeValueConfiguration' smart constructor.+data NegativeValueConfiguration = NegativeValueConfiguration'+  { -- | Determines the display mode of the negative value configuration.+    displayMode :: NegativeValueDisplayMode+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NegativeValueConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'displayMode', 'negativeValueConfiguration_displayMode' - Determines the display mode of the negative value configuration.+newNegativeValueConfiguration ::+  -- | 'displayMode'+  NegativeValueDisplayMode ->+  NegativeValueConfiguration+newNegativeValueConfiguration pDisplayMode_ =+  NegativeValueConfiguration'+    { displayMode =+        pDisplayMode_+    }++-- | Determines the display mode of the negative value configuration.+negativeValueConfiguration_displayMode :: Lens.Lens' NegativeValueConfiguration NegativeValueDisplayMode+negativeValueConfiguration_displayMode = Lens.lens (\NegativeValueConfiguration' {displayMode} -> displayMode) (\s@NegativeValueConfiguration' {} a -> s {displayMode = a} :: NegativeValueConfiguration)++instance Data.FromJSON NegativeValueConfiguration where+  parseJSON =+    Data.withObject+      "NegativeValueConfiguration"+      ( \x ->+          NegativeValueConfiguration'+            Prelude.<$> (x Data..: "DisplayMode")+      )++instance Prelude.Hashable NegativeValueConfiguration where+  hashWithSalt _salt NegativeValueConfiguration' {..} =+    _salt `Prelude.hashWithSalt` displayMode++instance Prelude.NFData NegativeValueConfiguration where+  rnf NegativeValueConfiguration' {..} =+    Prelude.rnf displayMode++instance Data.ToJSON NegativeValueConfiguration where+  toJSON NegativeValueConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("DisplayMode" Data..= displayMode)]+      )
+ gen/Amazonka/QuickSight/Types/NegativeValueDisplayMode.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.QuickSight.Types.NegativeValueDisplayMode+-- 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.QuickSight.Types.NegativeValueDisplayMode+  ( NegativeValueDisplayMode+      ( ..,+        NegativeValueDisplayMode_NEGATIVE,+        NegativeValueDisplayMode_POSITIVE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NegativeValueDisplayMode = NegativeValueDisplayMode'+  { fromNegativeValueDisplayMode ::+      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 NegativeValueDisplayMode_NEGATIVE :: NegativeValueDisplayMode+pattern NegativeValueDisplayMode_NEGATIVE = NegativeValueDisplayMode' "NEGATIVE"++pattern NegativeValueDisplayMode_POSITIVE :: NegativeValueDisplayMode+pattern NegativeValueDisplayMode_POSITIVE = NegativeValueDisplayMode' "POSITIVE"++{-# COMPLETE+  NegativeValueDisplayMode_NEGATIVE,+  NegativeValueDisplayMode_POSITIVE,+  NegativeValueDisplayMode'+  #-}
+ gen/Amazonka/QuickSight/Types/NullValueFormatConfiguration.hs view
@@ -0,0 +1,84 @@+{-# 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.QuickSight.Types.NullValueFormatConfiguration+-- 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.QuickSight.Types.NullValueFormatConfiguration 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 options that determine the null value format configuration.+--+-- /See:/ 'newNullValueFormatConfiguration' smart constructor.+data NullValueFormatConfiguration = NullValueFormatConfiguration'+  { -- | Determines the null string of null values.+    nullString :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NullValueFormatConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nullString', 'nullValueFormatConfiguration_nullString' - Determines the null string of null values.+newNullValueFormatConfiguration ::+  -- | 'nullString'+  Prelude.Text ->+  NullValueFormatConfiguration+newNullValueFormatConfiguration pNullString_ =+  NullValueFormatConfiguration'+    { nullString =+        Data._Sensitive Lens.# pNullString_+    }++-- | Determines the null string of null values.+nullValueFormatConfiguration_nullString :: Lens.Lens' NullValueFormatConfiguration Prelude.Text+nullValueFormatConfiguration_nullString = Lens.lens (\NullValueFormatConfiguration' {nullString} -> nullString) (\s@NullValueFormatConfiguration' {} a -> s {nullString = a} :: NullValueFormatConfiguration) Prelude.. Data._Sensitive++instance Data.FromJSON NullValueFormatConfiguration where+  parseJSON =+    Data.withObject+      "NullValueFormatConfiguration"+      ( \x ->+          NullValueFormatConfiguration'+            Prelude.<$> (x Data..: "NullString")+      )++instance+  Prelude.Hashable+    NullValueFormatConfiguration+  where+  hashWithSalt _salt NullValueFormatConfiguration' {..} =+    _salt `Prelude.hashWithSalt` nullString++instance Prelude.NFData NullValueFormatConfiguration where+  rnf NullValueFormatConfiguration' {..} =+    Prelude.rnf nullString++instance Data.ToJSON NullValueFormatConfiguration where+  toJSON NullValueFormatConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("NullString" Data..= nullString)]+      )
+ gen/Amazonka/QuickSight/Types/NumberDisplayFormatConfiguration.hs view
@@ -0,0 +1,181 @@+{-# 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.QuickSight.Types.NumberDisplayFormatConfiguration+-- 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.QuickSight.Types.NumberDisplayFormatConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DecimalPlacesConfiguration+import Amazonka.QuickSight.Types.NegativeValueConfiguration+import Amazonka.QuickSight.Types.NullValueFormatConfiguration+import Amazonka.QuickSight.Types.NumberScale+import Amazonka.QuickSight.Types.NumericSeparatorConfiguration++-- | The options that determine the number display format configuration.+--+-- /See:/ 'newNumberDisplayFormatConfiguration' smart constructor.+data NumberDisplayFormatConfiguration = NumberDisplayFormatConfiguration'+  { -- | The option that determines the decimal places configuration.+    decimalPlacesConfiguration :: Prelude.Maybe DecimalPlacesConfiguration,+    -- | The options that determine the negative value configuration.+    negativeValueConfiguration :: Prelude.Maybe NegativeValueConfiguration,+    -- | The options that determine the null value format configuration.+    nullValueFormatConfiguration :: Prelude.Maybe NullValueFormatConfiguration,+    -- | Determines the number scale value of the number format.+    numberScale :: Prelude.Maybe NumberScale,+    -- | Determines the prefix value of the number format.+    prefix :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The options that determine the numeric separator configuration.+    separatorConfiguration :: Prelude.Maybe NumericSeparatorConfiguration,+    -- | Determines the suffix value of the number format.+    suffix :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NumberDisplayFormatConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'decimalPlacesConfiguration', 'numberDisplayFormatConfiguration_decimalPlacesConfiguration' - The option that determines the decimal places configuration.+--+-- 'negativeValueConfiguration', 'numberDisplayFormatConfiguration_negativeValueConfiguration' - The options that determine the negative value configuration.+--+-- 'nullValueFormatConfiguration', 'numberDisplayFormatConfiguration_nullValueFormatConfiguration' - The options that determine the null value format configuration.+--+-- 'numberScale', 'numberDisplayFormatConfiguration_numberScale' - Determines the number scale value of the number format.+--+-- 'prefix', 'numberDisplayFormatConfiguration_prefix' - Determines the prefix value of the number format.+--+-- 'separatorConfiguration', 'numberDisplayFormatConfiguration_separatorConfiguration' - The options that determine the numeric separator configuration.+--+-- 'suffix', 'numberDisplayFormatConfiguration_suffix' - Determines the suffix value of the number format.+newNumberDisplayFormatConfiguration ::+  NumberDisplayFormatConfiguration+newNumberDisplayFormatConfiguration =+  NumberDisplayFormatConfiguration'+    { decimalPlacesConfiguration =+        Prelude.Nothing,+      negativeValueConfiguration =+        Prelude.Nothing,+      nullValueFormatConfiguration =+        Prelude.Nothing,+      numberScale = Prelude.Nothing,+      prefix = Prelude.Nothing,+      separatorConfiguration = Prelude.Nothing,+      suffix = Prelude.Nothing+    }++-- | The option that determines the decimal places configuration.+numberDisplayFormatConfiguration_decimalPlacesConfiguration :: Lens.Lens' NumberDisplayFormatConfiguration (Prelude.Maybe DecimalPlacesConfiguration)+numberDisplayFormatConfiguration_decimalPlacesConfiguration = Lens.lens (\NumberDisplayFormatConfiguration' {decimalPlacesConfiguration} -> decimalPlacesConfiguration) (\s@NumberDisplayFormatConfiguration' {} a -> s {decimalPlacesConfiguration = a} :: NumberDisplayFormatConfiguration)++-- | The options that determine the negative value configuration.+numberDisplayFormatConfiguration_negativeValueConfiguration :: Lens.Lens' NumberDisplayFormatConfiguration (Prelude.Maybe NegativeValueConfiguration)+numberDisplayFormatConfiguration_negativeValueConfiguration = Lens.lens (\NumberDisplayFormatConfiguration' {negativeValueConfiguration} -> negativeValueConfiguration) (\s@NumberDisplayFormatConfiguration' {} a -> s {negativeValueConfiguration = a} :: NumberDisplayFormatConfiguration)++-- | The options that determine the null value format configuration.+numberDisplayFormatConfiguration_nullValueFormatConfiguration :: Lens.Lens' NumberDisplayFormatConfiguration (Prelude.Maybe NullValueFormatConfiguration)+numberDisplayFormatConfiguration_nullValueFormatConfiguration = Lens.lens (\NumberDisplayFormatConfiguration' {nullValueFormatConfiguration} -> nullValueFormatConfiguration) (\s@NumberDisplayFormatConfiguration' {} a -> s {nullValueFormatConfiguration = a} :: NumberDisplayFormatConfiguration)++-- | Determines the number scale value of the number format.+numberDisplayFormatConfiguration_numberScale :: Lens.Lens' NumberDisplayFormatConfiguration (Prelude.Maybe NumberScale)+numberDisplayFormatConfiguration_numberScale = Lens.lens (\NumberDisplayFormatConfiguration' {numberScale} -> numberScale) (\s@NumberDisplayFormatConfiguration' {} a -> s {numberScale = a} :: NumberDisplayFormatConfiguration)++-- | Determines the prefix value of the number format.+numberDisplayFormatConfiguration_prefix :: Lens.Lens' NumberDisplayFormatConfiguration (Prelude.Maybe Prelude.Text)+numberDisplayFormatConfiguration_prefix = Lens.lens (\NumberDisplayFormatConfiguration' {prefix} -> prefix) (\s@NumberDisplayFormatConfiguration' {} a -> s {prefix = a} :: NumberDisplayFormatConfiguration) Prelude.. Lens.mapping Data._Sensitive++-- | The options that determine the numeric separator configuration.+numberDisplayFormatConfiguration_separatorConfiguration :: Lens.Lens' NumberDisplayFormatConfiguration (Prelude.Maybe NumericSeparatorConfiguration)+numberDisplayFormatConfiguration_separatorConfiguration = Lens.lens (\NumberDisplayFormatConfiguration' {separatorConfiguration} -> separatorConfiguration) (\s@NumberDisplayFormatConfiguration' {} a -> s {separatorConfiguration = a} :: NumberDisplayFormatConfiguration)++-- | Determines the suffix value of the number format.+numberDisplayFormatConfiguration_suffix :: Lens.Lens' NumberDisplayFormatConfiguration (Prelude.Maybe Prelude.Text)+numberDisplayFormatConfiguration_suffix = Lens.lens (\NumberDisplayFormatConfiguration' {suffix} -> suffix) (\s@NumberDisplayFormatConfiguration' {} a -> s {suffix = a} :: NumberDisplayFormatConfiguration) Prelude.. Lens.mapping Data._Sensitive++instance+  Data.FromJSON+    NumberDisplayFormatConfiguration+  where+  parseJSON =+    Data.withObject+      "NumberDisplayFormatConfiguration"+      ( \x ->+          NumberDisplayFormatConfiguration'+            Prelude.<$> (x Data..:? "DecimalPlacesConfiguration")+            Prelude.<*> (x Data..:? "NegativeValueConfiguration")+            Prelude.<*> (x Data..:? "NullValueFormatConfiguration")+            Prelude.<*> (x Data..:? "NumberScale")+            Prelude.<*> (x Data..:? "Prefix")+            Prelude.<*> (x Data..:? "SeparatorConfiguration")+            Prelude.<*> (x Data..:? "Suffix")+      )++instance+  Prelude.Hashable+    NumberDisplayFormatConfiguration+  where+  hashWithSalt+    _salt+    NumberDisplayFormatConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` decimalPlacesConfiguration+        `Prelude.hashWithSalt` negativeValueConfiguration+        `Prelude.hashWithSalt` nullValueFormatConfiguration+        `Prelude.hashWithSalt` numberScale+        `Prelude.hashWithSalt` prefix+        `Prelude.hashWithSalt` separatorConfiguration+        `Prelude.hashWithSalt` suffix++instance+  Prelude.NFData+    NumberDisplayFormatConfiguration+  where+  rnf NumberDisplayFormatConfiguration' {..} =+    Prelude.rnf decimalPlacesConfiguration+      `Prelude.seq` Prelude.rnf negativeValueConfiguration+      `Prelude.seq` Prelude.rnf nullValueFormatConfiguration+      `Prelude.seq` Prelude.rnf numberScale+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf separatorConfiguration+      `Prelude.seq` Prelude.rnf suffix++instance Data.ToJSON NumberDisplayFormatConfiguration where+  toJSON NumberDisplayFormatConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DecimalPlacesConfiguration" Data..=)+              Prelude.<$> decimalPlacesConfiguration,+            ("NegativeValueConfiguration" Data..=)+              Prelude.<$> negativeValueConfiguration,+            ("NullValueFormatConfiguration" Data..=)+              Prelude.<$> nullValueFormatConfiguration,+            ("NumberScale" Data..=) Prelude.<$> numberScale,+            ("Prefix" Data..=) Prelude.<$> prefix,+            ("SeparatorConfiguration" Data..=)+              Prelude.<$> separatorConfiguration,+            ("Suffix" Data..=) Prelude.<$> suffix+          ]+      )
+ gen/Amazonka/QuickSight/Types/NumberFormatConfiguration.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.QuickSight.Types.NumberFormatConfiguration+-- 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.QuickSight.Types.NumberFormatConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.NumericFormatConfiguration++-- | Formatting configuration for number fields.+--+-- /See:/ 'newNumberFormatConfiguration' smart constructor.+data NumberFormatConfiguration = NumberFormatConfiguration'+  { -- | The options that determine the numeric format configuration.+    formatConfiguration :: Prelude.Maybe NumericFormatConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NumberFormatConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'formatConfiguration', 'numberFormatConfiguration_formatConfiguration' - The options that determine the numeric format configuration.+newNumberFormatConfiguration ::+  NumberFormatConfiguration+newNumberFormatConfiguration =+  NumberFormatConfiguration'+    { formatConfiguration =+        Prelude.Nothing+    }++-- | The options that determine the numeric format configuration.+numberFormatConfiguration_formatConfiguration :: Lens.Lens' NumberFormatConfiguration (Prelude.Maybe NumericFormatConfiguration)+numberFormatConfiguration_formatConfiguration = Lens.lens (\NumberFormatConfiguration' {formatConfiguration} -> formatConfiguration) (\s@NumberFormatConfiguration' {} a -> s {formatConfiguration = a} :: NumberFormatConfiguration)++instance Data.FromJSON NumberFormatConfiguration where+  parseJSON =+    Data.withObject+      "NumberFormatConfiguration"+      ( \x ->+          NumberFormatConfiguration'+            Prelude.<$> (x Data..:? "FormatConfiguration")+      )++instance Prelude.Hashable NumberFormatConfiguration where+  hashWithSalt _salt NumberFormatConfiguration' {..} =+    _salt `Prelude.hashWithSalt` formatConfiguration++instance Prelude.NFData NumberFormatConfiguration where+  rnf NumberFormatConfiguration' {..} =+    Prelude.rnf formatConfiguration++instance Data.ToJSON NumberFormatConfiguration where+  toJSON NumberFormatConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FormatConfiguration" Data..=)+              Prelude.<$> formatConfiguration+          ]+      )
+ gen/Amazonka/QuickSight/Types/NumberScale.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.QuickSight.Types.NumberScale+-- 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.QuickSight.Types.NumberScale+  ( NumberScale+      ( ..,+        NumberScale_AUTO,+        NumberScale_BILLIONS,+        NumberScale_MILLIONS,+        NumberScale_NONE,+        NumberScale_THOUSANDS,+        NumberScale_TRILLIONS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NumberScale = NumberScale'+  { fromNumberScale ::+      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 NumberScale_AUTO :: NumberScale+pattern NumberScale_AUTO = NumberScale' "AUTO"++pattern NumberScale_BILLIONS :: NumberScale+pattern NumberScale_BILLIONS = NumberScale' "BILLIONS"++pattern NumberScale_MILLIONS :: NumberScale+pattern NumberScale_MILLIONS = NumberScale' "MILLIONS"++pattern NumberScale_NONE :: NumberScale+pattern NumberScale_NONE = NumberScale' "NONE"++pattern NumberScale_THOUSANDS :: NumberScale+pattern NumberScale_THOUSANDS = NumberScale' "THOUSANDS"++pattern NumberScale_TRILLIONS :: NumberScale+pattern NumberScale_TRILLIONS = NumberScale' "TRILLIONS"++{-# COMPLETE+  NumberScale_AUTO,+  NumberScale_BILLIONS,+  NumberScale_MILLIONS,+  NumberScale_NONE,+  NumberScale_THOUSANDS,+  NumberScale_TRILLIONS,+  NumberScale'+  #-}
+ gen/Amazonka/QuickSight/Types/NumericAxisOptions.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.NumericAxisOptions+-- 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.QuickSight.Types.NumericAxisOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AxisDisplayRange+import Amazonka.QuickSight.Types.AxisScale++-- | The options for an axis with a numeric field.+--+-- /See:/ 'newNumericAxisOptions' smart constructor.+data NumericAxisOptions = NumericAxisOptions'+  { -- | The range setup of a numeric axis.+    range :: Prelude.Maybe AxisDisplayRange,+    -- | The scale setup of a numeric axis.+    scale :: Prelude.Maybe AxisScale+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NumericAxisOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'range', 'numericAxisOptions_range' - The range setup of a numeric axis.+--+-- 'scale', 'numericAxisOptions_scale' - The scale setup of a numeric axis.+newNumericAxisOptions ::+  NumericAxisOptions+newNumericAxisOptions =+  NumericAxisOptions'+    { range = Prelude.Nothing,+      scale = Prelude.Nothing+    }++-- | The range setup of a numeric axis.+numericAxisOptions_range :: Lens.Lens' NumericAxisOptions (Prelude.Maybe AxisDisplayRange)+numericAxisOptions_range = Lens.lens (\NumericAxisOptions' {range} -> range) (\s@NumericAxisOptions' {} a -> s {range = a} :: NumericAxisOptions)++-- | The scale setup of a numeric axis.+numericAxisOptions_scale :: Lens.Lens' NumericAxisOptions (Prelude.Maybe AxisScale)+numericAxisOptions_scale = Lens.lens (\NumericAxisOptions' {scale} -> scale) (\s@NumericAxisOptions' {} a -> s {scale = a} :: NumericAxisOptions)++instance Data.FromJSON NumericAxisOptions where+  parseJSON =+    Data.withObject+      "NumericAxisOptions"+      ( \x ->+          NumericAxisOptions'+            Prelude.<$> (x Data..:? "Range")+            Prelude.<*> (x Data..:? "Scale")+      )++instance Prelude.Hashable NumericAxisOptions where+  hashWithSalt _salt NumericAxisOptions' {..} =+    _salt+      `Prelude.hashWithSalt` range+      `Prelude.hashWithSalt` scale++instance Prelude.NFData NumericAxisOptions where+  rnf NumericAxisOptions' {..} =+    Prelude.rnf range `Prelude.seq` Prelude.rnf scale++instance Data.ToJSON NumericAxisOptions where+  toJSON NumericAxisOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Range" Data..=) Prelude.<$> range,+            ("Scale" Data..=) Prelude.<$> scale+          ]+      )
+ gen/Amazonka/QuickSight/Types/NumericEqualityDrillDownFilter.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.QuickSight.Types.NumericEqualityDrillDownFilter+-- 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.QuickSight.Types.NumericEqualityDrillDownFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnIdentifier++-- | The category drill down filter.+--+-- /See:/ 'newNumericEqualityDrillDownFilter' smart constructor.+data NumericEqualityDrillDownFilter = NumericEqualityDrillDownFilter'+  { -- | The column that the filter is applied to.+    column :: ColumnIdentifier,+    -- | The value of the double input numeric drill down filter.+    value :: Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NumericEqualityDrillDownFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'column', 'numericEqualityDrillDownFilter_column' - The column that the filter is applied to.+--+-- 'value', 'numericEqualityDrillDownFilter_value' - The value of the double input numeric drill down filter.+newNumericEqualityDrillDownFilter ::+  -- | 'column'+  ColumnIdentifier ->+  -- | 'value'+  Prelude.Double ->+  NumericEqualityDrillDownFilter+newNumericEqualityDrillDownFilter pColumn_ pValue_ =+  NumericEqualityDrillDownFilter'+    { column = pColumn_,+      value = pValue_+    }++-- | The column that the filter is applied to.+numericEqualityDrillDownFilter_column :: Lens.Lens' NumericEqualityDrillDownFilter ColumnIdentifier+numericEqualityDrillDownFilter_column = Lens.lens (\NumericEqualityDrillDownFilter' {column} -> column) (\s@NumericEqualityDrillDownFilter' {} a -> s {column = a} :: NumericEqualityDrillDownFilter)++-- | The value of the double input numeric drill down filter.+numericEqualityDrillDownFilter_value :: Lens.Lens' NumericEqualityDrillDownFilter Prelude.Double+numericEqualityDrillDownFilter_value = Lens.lens (\NumericEqualityDrillDownFilter' {value} -> value) (\s@NumericEqualityDrillDownFilter' {} a -> s {value = a} :: NumericEqualityDrillDownFilter)++instance Data.FromJSON NumericEqualityDrillDownFilter where+  parseJSON =+    Data.withObject+      "NumericEqualityDrillDownFilter"+      ( \x ->+          NumericEqualityDrillDownFilter'+            Prelude.<$> (x Data..: "Column")+            Prelude.<*> (x Data..: "Value")+      )++instance+  Prelude.Hashable+    NumericEqualityDrillDownFilter+  where+  hashWithSalt+    _salt+    NumericEqualityDrillDownFilter' {..} =+      _salt+        `Prelude.hashWithSalt` column+        `Prelude.hashWithSalt` value++instance+  Prelude.NFData+    NumericEqualityDrillDownFilter+  where+  rnf NumericEqualityDrillDownFilter' {..} =+    Prelude.rnf column `Prelude.seq` Prelude.rnf value++instance Data.ToJSON NumericEqualityDrillDownFilter where+  toJSON NumericEqualityDrillDownFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Column" Data..= column),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/QuickSight/Types/NumericEqualityFilter.hs view
@@ -0,0 +1,225 @@+{-# 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.QuickSight.Types.NumericEqualityFilter+-- 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.QuickSight.Types.NumericEqualityFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AggregationFunction+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.FilterNullOption+import Amazonka.QuickSight.Types.NumericEqualityMatchOperator+import Amazonka.QuickSight.Types.NumericFilterSelectAllOptions++-- | A @NumericEqualityFilter@ filters values that are equal to the specified+-- value.+--+-- /See:/ 'newNumericEqualityFilter' smart constructor.+data NumericEqualityFilter = NumericEqualityFilter'+  { -- | The aggregation function of the filter.+    aggregationFunction :: Prelude.Maybe AggregationFunction,+    -- | The parameter whose value should be used for the filter value.+    parameterName :: Prelude.Maybe Prelude.Text,+    -- | Select all of the values. Null is not the assigned value of select all.+    --+    -- -   @FILTER_ALL_VALUES@+    selectAllOptions :: Prelude.Maybe NumericFilterSelectAllOptions,+    -- | The input value.+    value :: Prelude.Maybe Prelude.Double,+    -- | An identifier that uniquely identifies a filter within a dashboard,+    -- analysis, or template.+    filterId :: Prelude.Text,+    -- | The column that the filter is applied to.+    column :: ColumnIdentifier,+    -- | The match operator that is used to determine if a filter should be+    -- applied.+    matchOperator :: NumericEqualityMatchOperator,+    -- | This option determines how null values should be treated when filtering+    -- data.+    --+    -- -   @ALL_VALUES@: Include null values in filtered results.+    --+    -- -   @NULLS_ONLY@: Only include null values in filtered results.+    --+    -- -   @NON_NULLS_ONLY@: Exclude null values from filtered results.+    nullOption :: FilterNullOption+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NumericEqualityFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aggregationFunction', 'numericEqualityFilter_aggregationFunction' - The aggregation function of the filter.+--+-- 'parameterName', 'numericEqualityFilter_parameterName' - The parameter whose value should be used for the filter value.+--+-- 'selectAllOptions', 'numericEqualityFilter_selectAllOptions' - Select all of the values. Null is not the assigned value of select all.+--+-- -   @FILTER_ALL_VALUES@+--+-- 'value', 'numericEqualityFilter_value' - The input value.+--+-- 'filterId', 'numericEqualityFilter_filterId' - An identifier that uniquely identifies a filter within a dashboard,+-- analysis, or template.+--+-- 'column', 'numericEqualityFilter_column' - The column that the filter is applied to.+--+-- 'matchOperator', 'numericEqualityFilter_matchOperator' - The match operator that is used to determine if a filter should be+-- applied.+--+-- 'nullOption', 'numericEqualityFilter_nullOption' - This option determines how null values should be treated when filtering+-- data.+--+-- -   @ALL_VALUES@: Include null values in filtered results.+--+-- -   @NULLS_ONLY@: Only include null values in filtered results.+--+-- -   @NON_NULLS_ONLY@: Exclude null values from filtered results.+newNumericEqualityFilter ::+  -- | 'filterId'+  Prelude.Text ->+  -- | 'column'+  ColumnIdentifier ->+  -- | 'matchOperator'+  NumericEqualityMatchOperator ->+  -- | 'nullOption'+  FilterNullOption ->+  NumericEqualityFilter+newNumericEqualityFilter+  pFilterId_+  pColumn_+  pMatchOperator_+  pNullOption_ =+    NumericEqualityFilter'+      { aggregationFunction =+          Prelude.Nothing,+        parameterName = Prelude.Nothing,+        selectAllOptions = Prelude.Nothing,+        value = Prelude.Nothing,+        filterId = pFilterId_,+        column = pColumn_,+        matchOperator = pMatchOperator_,+        nullOption = pNullOption_+      }++-- | The aggregation function of the filter.+numericEqualityFilter_aggregationFunction :: Lens.Lens' NumericEqualityFilter (Prelude.Maybe AggregationFunction)+numericEqualityFilter_aggregationFunction = Lens.lens (\NumericEqualityFilter' {aggregationFunction} -> aggregationFunction) (\s@NumericEqualityFilter' {} a -> s {aggregationFunction = a} :: NumericEqualityFilter)++-- | The parameter whose value should be used for the filter value.+numericEqualityFilter_parameterName :: Lens.Lens' NumericEqualityFilter (Prelude.Maybe Prelude.Text)+numericEqualityFilter_parameterName = Lens.lens (\NumericEqualityFilter' {parameterName} -> parameterName) (\s@NumericEqualityFilter' {} a -> s {parameterName = a} :: NumericEqualityFilter)++-- | Select all of the values. Null is not the assigned value of select all.+--+-- -   @FILTER_ALL_VALUES@+numericEqualityFilter_selectAllOptions :: Lens.Lens' NumericEqualityFilter (Prelude.Maybe NumericFilterSelectAllOptions)+numericEqualityFilter_selectAllOptions = Lens.lens (\NumericEqualityFilter' {selectAllOptions} -> selectAllOptions) (\s@NumericEqualityFilter' {} a -> s {selectAllOptions = a} :: NumericEqualityFilter)++-- | The input value.+numericEqualityFilter_value :: Lens.Lens' NumericEqualityFilter (Prelude.Maybe Prelude.Double)+numericEqualityFilter_value = Lens.lens (\NumericEqualityFilter' {value} -> value) (\s@NumericEqualityFilter' {} a -> s {value = a} :: NumericEqualityFilter)++-- | An identifier that uniquely identifies a filter within a dashboard,+-- analysis, or template.+numericEqualityFilter_filterId :: Lens.Lens' NumericEqualityFilter Prelude.Text+numericEqualityFilter_filterId = Lens.lens (\NumericEqualityFilter' {filterId} -> filterId) (\s@NumericEqualityFilter' {} a -> s {filterId = a} :: NumericEqualityFilter)++-- | The column that the filter is applied to.+numericEqualityFilter_column :: Lens.Lens' NumericEqualityFilter ColumnIdentifier+numericEqualityFilter_column = Lens.lens (\NumericEqualityFilter' {column} -> column) (\s@NumericEqualityFilter' {} a -> s {column = a} :: NumericEqualityFilter)++-- | The match operator that is used to determine if a filter should be+-- applied.+numericEqualityFilter_matchOperator :: Lens.Lens' NumericEqualityFilter NumericEqualityMatchOperator+numericEqualityFilter_matchOperator = Lens.lens (\NumericEqualityFilter' {matchOperator} -> matchOperator) (\s@NumericEqualityFilter' {} a -> s {matchOperator = a} :: NumericEqualityFilter)++-- | This option determines how null values should be treated when filtering+-- data.+--+-- -   @ALL_VALUES@: Include null values in filtered results.+--+-- -   @NULLS_ONLY@: Only include null values in filtered results.+--+-- -   @NON_NULLS_ONLY@: Exclude null values from filtered results.+numericEqualityFilter_nullOption :: Lens.Lens' NumericEqualityFilter FilterNullOption+numericEqualityFilter_nullOption = Lens.lens (\NumericEqualityFilter' {nullOption} -> nullOption) (\s@NumericEqualityFilter' {} a -> s {nullOption = a} :: NumericEqualityFilter)++instance Data.FromJSON NumericEqualityFilter where+  parseJSON =+    Data.withObject+      "NumericEqualityFilter"+      ( \x ->+          NumericEqualityFilter'+            Prelude.<$> (x Data..:? "AggregationFunction")+            Prelude.<*> (x Data..:? "ParameterName")+            Prelude.<*> (x Data..:? "SelectAllOptions")+            Prelude.<*> (x Data..:? "Value")+            Prelude.<*> (x Data..: "FilterId")+            Prelude.<*> (x Data..: "Column")+            Prelude.<*> (x Data..: "MatchOperator")+            Prelude.<*> (x Data..: "NullOption")+      )++instance Prelude.Hashable NumericEqualityFilter where+  hashWithSalt _salt NumericEqualityFilter' {..} =+    _salt+      `Prelude.hashWithSalt` aggregationFunction+      `Prelude.hashWithSalt` parameterName+      `Prelude.hashWithSalt` selectAllOptions+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` filterId+      `Prelude.hashWithSalt` column+      `Prelude.hashWithSalt` matchOperator+      `Prelude.hashWithSalt` nullOption++instance Prelude.NFData NumericEqualityFilter where+  rnf NumericEqualityFilter' {..} =+    Prelude.rnf aggregationFunction+      `Prelude.seq` Prelude.rnf parameterName+      `Prelude.seq` Prelude.rnf selectAllOptions+      `Prelude.seq` Prelude.rnf value+      `Prelude.seq` Prelude.rnf filterId+      `Prelude.seq` Prelude.rnf column+      `Prelude.seq` Prelude.rnf matchOperator+      `Prelude.seq` Prelude.rnf nullOption++instance Data.ToJSON NumericEqualityFilter where+  toJSON NumericEqualityFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AggregationFunction" Data..=)+              Prelude.<$> aggregationFunction,+            ("ParameterName" Data..=) Prelude.<$> parameterName,+            ("SelectAllOptions" Data..=)+              Prelude.<$> selectAllOptions,+            ("Value" Data..=) Prelude.<$> value,+            Prelude.Just ("FilterId" Data..= filterId),+            Prelude.Just ("Column" Data..= column),+            Prelude.Just ("MatchOperator" Data..= matchOperator),+            Prelude.Just ("NullOption" Data..= nullOption)+          ]+      )
+ gen/Amazonka/QuickSight/Types/NumericEqualityMatchOperator.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.QuickSight.Types.NumericEqualityMatchOperator+-- 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.QuickSight.Types.NumericEqualityMatchOperator+  ( NumericEqualityMatchOperator+      ( ..,+        NumericEqualityMatchOperator_DOES_NOT_EQUAL,+        NumericEqualityMatchOperator_EQUALS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NumericEqualityMatchOperator = NumericEqualityMatchOperator'+  { fromNumericEqualityMatchOperator ::+      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 NumericEqualityMatchOperator_DOES_NOT_EQUAL :: NumericEqualityMatchOperator+pattern NumericEqualityMatchOperator_DOES_NOT_EQUAL = NumericEqualityMatchOperator' "DOES_NOT_EQUAL"++pattern NumericEqualityMatchOperator_EQUALS :: NumericEqualityMatchOperator+pattern NumericEqualityMatchOperator_EQUALS = NumericEqualityMatchOperator' "EQUALS"++{-# COMPLETE+  NumericEqualityMatchOperator_DOES_NOT_EQUAL,+  NumericEqualityMatchOperator_EQUALS,+  NumericEqualityMatchOperator'+  #-}
+ gen/Amazonka/QuickSight/Types/NumericFilterSelectAllOptions.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.NumericFilterSelectAllOptions+-- 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.QuickSight.Types.NumericFilterSelectAllOptions+  ( NumericFilterSelectAllOptions+      ( ..,+        NumericFilterSelectAllOptions_FILTER_ALL_VALUES+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NumericFilterSelectAllOptions = NumericFilterSelectAllOptions'+  { fromNumericFilterSelectAllOptions ::+      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 NumericFilterSelectAllOptions_FILTER_ALL_VALUES :: NumericFilterSelectAllOptions+pattern NumericFilterSelectAllOptions_FILTER_ALL_VALUES = NumericFilterSelectAllOptions' "FILTER_ALL_VALUES"++{-# COMPLETE+  NumericFilterSelectAllOptions_FILTER_ALL_VALUES,+  NumericFilterSelectAllOptions'+  #-}
+ gen/Amazonka/QuickSight/Types/NumericFormatConfiguration.hs view
@@ -0,0 +1,118 @@+{-# 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.QuickSight.Types.NumericFormatConfiguration+-- 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.QuickSight.Types.NumericFormatConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CurrencyDisplayFormatConfiguration+import Amazonka.QuickSight.Types.NumberDisplayFormatConfiguration+import Amazonka.QuickSight.Types.PercentageDisplayFormatConfiguration++-- | The options that determine the numeric format configuration.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newNumericFormatConfiguration' smart constructor.+data NumericFormatConfiguration = NumericFormatConfiguration'+  { -- | The options that determine the currency display format configuration.+    currencyDisplayFormatConfiguration :: Prelude.Maybe CurrencyDisplayFormatConfiguration,+    -- | The options that determine the number display format configuration.+    numberDisplayFormatConfiguration :: Prelude.Maybe NumberDisplayFormatConfiguration,+    -- | The options that determine the percentage display format configuration.+    percentageDisplayFormatConfiguration :: Prelude.Maybe PercentageDisplayFormatConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NumericFormatConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'currencyDisplayFormatConfiguration', 'numericFormatConfiguration_currencyDisplayFormatConfiguration' - The options that determine the currency display format configuration.+--+-- 'numberDisplayFormatConfiguration', 'numericFormatConfiguration_numberDisplayFormatConfiguration' - The options that determine the number display format configuration.+--+-- 'percentageDisplayFormatConfiguration', 'numericFormatConfiguration_percentageDisplayFormatConfiguration' - The options that determine the percentage display format configuration.+newNumericFormatConfiguration ::+  NumericFormatConfiguration+newNumericFormatConfiguration =+  NumericFormatConfiguration'+    { currencyDisplayFormatConfiguration =+        Prelude.Nothing,+      numberDisplayFormatConfiguration =+        Prelude.Nothing,+      percentageDisplayFormatConfiguration =+        Prelude.Nothing+    }++-- | The options that determine the currency display format configuration.+numericFormatConfiguration_currencyDisplayFormatConfiguration :: Lens.Lens' NumericFormatConfiguration (Prelude.Maybe CurrencyDisplayFormatConfiguration)+numericFormatConfiguration_currencyDisplayFormatConfiguration = Lens.lens (\NumericFormatConfiguration' {currencyDisplayFormatConfiguration} -> currencyDisplayFormatConfiguration) (\s@NumericFormatConfiguration' {} a -> s {currencyDisplayFormatConfiguration = a} :: NumericFormatConfiguration)++-- | The options that determine the number display format configuration.+numericFormatConfiguration_numberDisplayFormatConfiguration :: Lens.Lens' NumericFormatConfiguration (Prelude.Maybe NumberDisplayFormatConfiguration)+numericFormatConfiguration_numberDisplayFormatConfiguration = Lens.lens (\NumericFormatConfiguration' {numberDisplayFormatConfiguration} -> numberDisplayFormatConfiguration) (\s@NumericFormatConfiguration' {} a -> s {numberDisplayFormatConfiguration = a} :: NumericFormatConfiguration)++-- | The options that determine the percentage display format configuration.+numericFormatConfiguration_percentageDisplayFormatConfiguration :: Lens.Lens' NumericFormatConfiguration (Prelude.Maybe PercentageDisplayFormatConfiguration)+numericFormatConfiguration_percentageDisplayFormatConfiguration = Lens.lens (\NumericFormatConfiguration' {percentageDisplayFormatConfiguration} -> percentageDisplayFormatConfiguration) (\s@NumericFormatConfiguration' {} a -> s {percentageDisplayFormatConfiguration = a} :: NumericFormatConfiguration)++instance Data.FromJSON NumericFormatConfiguration where+  parseJSON =+    Data.withObject+      "NumericFormatConfiguration"+      ( \x ->+          NumericFormatConfiguration'+            Prelude.<$> (x Data..:? "CurrencyDisplayFormatConfiguration")+            Prelude.<*> (x Data..:? "NumberDisplayFormatConfiguration")+            Prelude.<*> (x Data..:? "PercentageDisplayFormatConfiguration")+      )++instance Prelude.Hashable NumericFormatConfiguration where+  hashWithSalt _salt NumericFormatConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` currencyDisplayFormatConfiguration+      `Prelude.hashWithSalt` numberDisplayFormatConfiguration+      `Prelude.hashWithSalt` percentageDisplayFormatConfiguration++instance Prelude.NFData NumericFormatConfiguration where+  rnf NumericFormatConfiguration' {..} =+    Prelude.rnf currencyDisplayFormatConfiguration+      `Prelude.seq` Prelude.rnf numberDisplayFormatConfiguration+      `Prelude.seq` Prelude.rnf percentageDisplayFormatConfiguration++instance Data.ToJSON NumericFormatConfiguration where+  toJSON NumericFormatConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CurrencyDisplayFormatConfiguration" Data..=)+              Prelude.<$> currencyDisplayFormatConfiguration,+            ("NumberDisplayFormatConfiguration" Data..=)+              Prelude.<$> numberDisplayFormatConfiguration,+            ("PercentageDisplayFormatConfiguration" Data..=)+              Prelude.<$> percentageDisplayFormatConfiguration+          ]+      )
+ gen/Amazonka/QuickSight/Types/NumericRangeFilter.hs view
@@ -0,0 +1,239 @@+{-# 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.QuickSight.Types.NumericRangeFilter+-- 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.QuickSight.Types.NumericRangeFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AggregationFunction+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.FilterNullOption+import Amazonka.QuickSight.Types.NumericFilterSelectAllOptions+import Amazonka.QuickSight.Types.NumericRangeFilterValue++-- | A @NumericRangeFilter@ filters values that are within the value range.+--+-- /See:/ 'newNumericRangeFilter' smart constructor.+data NumericRangeFilter = NumericRangeFilter'+  { -- | The aggregation function of the filter.+    aggregationFunction :: Prelude.Maybe AggregationFunction,+    -- | Determines whether the maximum value in the filter value range should be+    -- included in the filtered results.+    includeMaximum :: Prelude.Maybe Prelude.Bool,+    -- | Determines whether the minimum value in the filter value range should be+    -- included in the filtered results.+    includeMinimum :: Prelude.Maybe Prelude.Bool,+    -- | The maximum value for the filter value range.+    rangeMaximum :: Prelude.Maybe NumericRangeFilterValue,+    -- | The minimum value for the filter value range.+    rangeMinimum :: Prelude.Maybe NumericRangeFilterValue,+    -- | Select all of the values. Null is not the assigned value of select all.+    --+    -- -   @FILTER_ALL_VALUES@+    selectAllOptions :: Prelude.Maybe NumericFilterSelectAllOptions,+    -- | An identifier that uniquely identifies a filter within a dashboard,+    -- analysis, or template.+    filterId :: Prelude.Text,+    -- | The column that the filter is applied to.+    column :: ColumnIdentifier,+    -- | This option determines how null values should be treated when filtering+    -- data.+    --+    -- -   @ALL_VALUES@: Include null values in filtered results.+    --+    -- -   @NULLS_ONLY@: Only include null values in filtered results.+    --+    -- -   @NON_NULLS_ONLY@: Exclude null values from filtered results.+    nullOption :: FilterNullOption+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NumericRangeFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aggregationFunction', 'numericRangeFilter_aggregationFunction' - The aggregation function of the filter.+--+-- 'includeMaximum', 'numericRangeFilter_includeMaximum' - Determines whether the maximum value in the filter value range should be+-- included in the filtered results.+--+-- 'includeMinimum', 'numericRangeFilter_includeMinimum' - Determines whether the minimum value in the filter value range should be+-- included in the filtered results.+--+-- 'rangeMaximum', 'numericRangeFilter_rangeMaximum' - The maximum value for the filter value range.+--+-- 'rangeMinimum', 'numericRangeFilter_rangeMinimum' - The minimum value for the filter value range.+--+-- 'selectAllOptions', 'numericRangeFilter_selectAllOptions' - Select all of the values. Null is not the assigned value of select all.+--+-- -   @FILTER_ALL_VALUES@+--+-- 'filterId', 'numericRangeFilter_filterId' - An identifier that uniquely identifies a filter within a dashboard,+-- analysis, or template.+--+-- 'column', 'numericRangeFilter_column' - The column that the filter is applied to.+--+-- 'nullOption', 'numericRangeFilter_nullOption' - This option determines how null values should be treated when filtering+-- data.+--+-- -   @ALL_VALUES@: Include null values in filtered results.+--+-- -   @NULLS_ONLY@: Only include null values in filtered results.+--+-- -   @NON_NULLS_ONLY@: Exclude null values from filtered results.+newNumericRangeFilter ::+  -- | 'filterId'+  Prelude.Text ->+  -- | 'column'+  ColumnIdentifier ->+  -- | 'nullOption'+  FilterNullOption ->+  NumericRangeFilter+newNumericRangeFilter+  pFilterId_+  pColumn_+  pNullOption_ =+    NumericRangeFilter'+      { aggregationFunction =+          Prelude.Nothing,+        includeMaximum = Prelude.Nothing,+        includeMinimum = Prelude.Nothing,+        rangeMaximum = Prelude.Nothing,+        rangeMinimum = Prelude.Nothing,+        selectAllOptions = Prelude.Nothing,+        filterId = pFilterId_,+        column = pColumn_,+        nullOption = pNullOption_+      }++-- | The aggregation function of the filter.+numericRangeFilter_aggregationFunction :: Lens.Lens' NumericRangeFilter (Prelude.Maybe AggregationFunction)+numericRangeFilter_aggregationFunction = Lens.lens (\NumericRangeFilter' {aggregationFunction} -> aggregationFunction) (\s@NumericRangeFilter' {} a -> s {aggregationFunction = a} :: NumericRangeFilter)++-- | Determines whether the maximum value in the filter value range should be+-- included in the filtered results.+numericRangeFilter_includeMaximum :: Lens.Lens' NumericRangeFilter (Prelude.Maybe Prelude.Bool)+numericRangeFilter_includeMaximum = Lens.lens (\NumericRangeFilter' {includeMaximum} -> includeMaximum) (\s@NumericRangeFilter' {} a -> s {includeMaximum = a} :: NumericRangeFilter)++-- | Determines whether the minimum value in the filter value range should be+-- included in the filtered results.+numericRangeFilter_includeMinimum :: Lens.Lens' NumericRangeFilter (Prelude.Maybe Prelude.Bool)+numericRangeFilter_includeMinimum = Lens.lens (\NumericRangeFilter' {includeMinimum} -> includeMinimum) (\s@NumericRangeFilter' {} a -> s {includeMinimum = a} :: NumericRangeFilter)++-- | The maximum value for the filter value range.+numericRangeFilter_rangeMaximum :: Lens.Lens' NumericRangeFilter (Prelude.Maybe NumericRangeFilterValue)+numericRangeFilter_rangeMaximum = Lens.lens (\NumericRangeFilter' {rangeMaximum} -> rangeMaximum) (\s@NumericRangeFilter' {} a -> s {rangeMaximum = a} :: NumericRangeFilter)++-- | The minimum value for the filter value range.+numericRangeFilter_rangeMinimum :: Lens.Lens' NumericRangeFilter (Prelude.Maybe NumericRangeFilterValue)+numericRangeFilter_rangeMinimum = Lens.lens (\NumericRangeFilter' {rangeMinimum} -> rangeMinimum) (\s@NumericRangeFilter' {} a -> s {rangeMinimum = a} :: NumericRangeFilter)++-- | Select all of the values. Null is not the assigned value of select all.+--+-- -   @FILTER_ALL_VALUES@+numericRangeFilter_selectAllOptions :: Lens.Lens' NumericRangeFilter (Prelude.Maybe NumericFilterSelectAllOptions)+numericRangeFilter_selectAllOptions = Lens.lens (\NumericRangeFilter' {selectAllOptions} -> selectAllOptions) (\s@NumericRangeFilter' {} a -> s {selectAllOptions = a} :: NumericRangeFilter)++-- | An identifier that uniquely identifies a filter within a dashboard,+-- analysis, or template.+numericRangeFilter_filterId :: Lens.Lens' NumericRangeFilter Prelude.Text+numericRangeFilter_filterId = Lens.lens (\NumericRangeFilter' {filterId} -> filterId) (\s@NumericRangeFilter' {} a -> s {filterId = a} :: NumericRangeFilter)++-- | The column that the filter is applied to.+numericRangeFilter_column :: Lens.Lens' NumericRangeFilter ColumnIdentifier+numericRangeFilter_column = Lens.lens (\NumericRangeFilter' {column} -> column) (\s@NumericRangeFilter' {} a -> s {column = a} :: NumericRangeFilter)++-- | This option determines how null values should be treated when filtering+-- data.+--+-- -   @ALL_VALUES@: Include null values in filtered results.+--+-- -   @NULLS_ONLY@: Only include null values in filtered results.+--+-- -   @NON_NULLS_ONLY@: Exclude null values from filtered results.+numericRangeFilter_nullOption :: Lens.Lens' NumericRangeFilter FilterNullOption+numericRangeFilter_nullOption = Lens.lens (\NumericRangeFilter' {nullOption} -> nullOption) (\s@NumericRangeFilter' {} a -> s {nullOption = a} :: NumericRangeFilter)++instance Data.FromJSON NumericRangeFilter where+  parseJSON =+    Data.withObject+      "NumericRangeFilter"+      ( \x ->+          NumericRangeFilter'+            Prelude.<$> (x Data..:? "AggregationFunction")+            Prelude.<*> (x Data..:? "IncludeMaximum")+            Prelude.<*> (x Data..:? "IncludeMinimum")+            Prelude.<*> (x Data..:? "RangeMaximum")+            Prelude.<*> (x Data..:? "RangeMinimum")+            Prelude.<*> (x Data..:? "SelectAllOptions")+            Prelude.<*> (x Data..: "FilterId")+            Prelude.<*> (x Data..: "Column")+            Prelude.<*> (x Data..: "NullOption")+      )++instance Prelude.Hashable NumericRangeFilter where+  hashWithSalt _salt NumericRangeFilter' {..} =+    _salt+      `Prelude.hashWithSalt` aggregationFunction+      `Prelude.hashWithSalt` includeMaximum+      `Prelude.hashWithSalt` includeMinimum+      `Prelude.hashWithSalt` rangeMaximum+      `Prelude.hashWithSalt` rangeMinimum+      `Prelude.hashWithSalt` selectAllOptions+      `Prelude.hashWithSalt` filterId+      `Prelude.hashWithSalt` column+      `Prelude.hashWithSalt` nullOption++instance Prelude.NFData NumericRangeFilter where+  rnf NumericRangeFilter' {..} =+    Prelude.rnf aggregationFunction+      `Prelude.seq` Prelude.rnf includeMaximum+      `Prelude.seq` Prelude.rnf includeMinimum+      `Prelude.seq` Prelude.rnf rangeMaximum+      `Prelude.seq` Prelude.rnf rangeMinimum+      `Prelude.seq` Prelude.rnf selectAllOptions+      `Prelude.seq` Prelude.rnf filterId+      `Prelude.seq` Prelude.rnf column+      `Prelude.seq` Prelude.rnf nullOption++instance Data.ToJSON NumericRangeFilter where+  toJSON NumericRangeFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AggregationFunction" Data..=)+              Prelude.<$> aggregationFunction,+            ("IncludeMaximum" Data..=)+              Prelude.<$> includeMaximum,+            ("IncludeMinimum" Data..=)+              Prelude.<$> includeMinimum,+            ("RangeMaximum" Data..=) Prelude.<$> rangeMaximum,+            ("RangeMinimum" Data..=) Prelude.<$> rangeMinimum,+            ("SelectAllOptions" Data..=)+              Prelude.<$> selectAllOptions,+            Prelude.Just ("FilterId" Data..= filterId),+            Prelude.Just ("Column" Data..= column),+            Prelude.Just ("NullOption" Data..= nullOption)+          ]+      )
+ gen/Amazonka/QuickSight/Types/NumericRangeFilterValue.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.NumericRangeFilterValue+-- 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.QuickSight.Types.NumericRangeFilterValue 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 value input pf the numeric range filter.+--+-- /See:/ 'newNumericRangeFilterValue' smart constructor.+data NumericRangeFilterValue = NumericRangeFilterValue'+  { -- | The parameter that is used in the numeric range.+    parameter :: Prelude.Maybe Prelude.Text,+    -- | The static value of the numeric range filter.+    staticValue :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NumericRangeFilterValue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'parameter', 'numericRangeFilterValue_parameter' - The parameter that is used in the numeric range.+--+-- 'staticValue', 'numericRangeFilterValue_staticValue' - The static value of the numeric range filter.+newNumericRangeFilterValue ::+  NumericRangeFilterValue+newNumericRangeFilterValue =+  NumericRangeFilterValue'+    { parameter =+        Prelude.Nothing,+      staticValue = Prelude.Nothing+    }++-- | The parameter that is used in the numeric range.+numericRangeFilterValue_parameter :: Lens.Lens' NumericRangeFilterValue (Prelude.Maybe Prelude.Text)+numericRangeFilterValue_parameter = Lens.lens (\NumericRangeFilterValue' {parameter} -> parameter) (\s@NumericRangeFilterValue' {} a -> s {parameter = a} :: NumericRangeFilterValue)++-- | The static value of the numeric range filter.+numericRangeFilterValue_staticValue :: Lens.Lens' NumericRangeFilterValue (Prelude.Maybe Prelude.Double)+numericRangeFilterValue_staticValue = Lens.lens (\NumericRangeFilterValue' {staticValue} -> staticValue) (\s@NumericRangeFilterValue' {} a -> s {staticValue = a} :: NumericRangeFilterValue)++instance Data.FromJSON NumericRangeFilterValue where+  parseJSON =+    Data.withObject+      "NumericRangeFilterValue"+      ( \x ->+          NumericRangeFilterValue'+            Prelude.<$> (x Data..:? "Parameter")+            Prelude.<*> (x Data..:? "StaticValue")+      )++instance Prelude.Hashable NumericRangeFilterValue where+  hashWithSalt _salt NumericRangeFilterValue' {..} =+    _salt+      `Prelude.hashWithSalt` parameter+      `Prelude.hashWithSalt` staticValue++instance Prelude.NFData NumericRangeFilterValue where+  rnf NumericRangeFilterValue' {..} =+    Prelude.rnf parameter+      `Prelude.seq` Prelude.rnf staticValue++instance Data.ToJSON NumericRangeFilterValue where+  toJSON NumericRangeFilterValue' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Parameter" Data..=) Prelude.<$> parameter,+            ("StaticValue" Data..=) Prelude.<$> staticValue+          ]+      )
+ gen/Amazonka/QuickSight/Types/NumericSeparatorConfiguration.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.QuickSight.Types.NumericSeparatorConfiguration+-- 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.QuickSight.Types.NumericSeparatorConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.NumericSeparatorSymbol+import Amazonka.QuickSight.Types.ThousandSeparatorOptions++-- | The options that determine the numeric separator configuration.+--+-- /See:/ 'newNumericSeparatorConfiguration' smart constructor.+data NumericSeparatorConfiguration = NumericSeparatorConfiguration'+  { -- | Determines the decimal separator.+    decimalSeparator :: Prelude.Maybe NumericSeparatorSymbol,+    -- | The options that determine the thousands separator configuration.+    thousandsSeparator :: Prelude.Maybe ThousandSeparatorOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NumericSeparatorConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'decimalSeparator', 'numericSeparatorConfiguration_decimalSeparator' - Determines the decimal separator.+--+-- 'thousandsSeparator', 'numericSeparatorConfiguration_thousandsSeparator' - The options that determine the thousands separator configuration.+newNumericSeparatorConfiguration ::+  NumericSeparatorConfiguration+newNumericSeparatorConfiguration =+  NumericSeparatorConfiguration'+    { decimalSeparator =+        Prelude.Nothing,+      thousandsSeparator = Prelude.Nothing+    }++-- | Determines the decimal separator.+numericSeparatorConfiguration_decimalSeparator :: Lens.Lens' NumericSeparatorConfiguration (Prelude.Maybe NumericSeparatorSymbol)+numericSeparatorConfiguration_decimalSeparator = Lens.lens (\NumericSeparatorConfiguration' {decimalSeparator} -> decimalSeparator) (\s@NumericSeparatorConfiguration' {} a -> s {decimalSeparator = a} :: NumericSeparatorConfiguration)++-- | The options that determine the thousands separator configuration.+numericSeparatorConfiguration_thousandsSeparator :: Lens.Lens' NumericSeparatorConfiguration (Prelude.Maybe ThousandSeparatorOptions)+numericSeparatorConfiguration_thousandsSeparator = Lens.lens (\NumericSeparatorConfiguration' {thousandsSeparator} -> thousandsSeparator) (\s@NumericSeparatorConfiguration' {} a -> s {thousandsSeparator = a} :: NumericSeparatorConfiguration)++instance Data.FromJSON NumericSeparatorConfiguration where+  parseJSON =+    Data.withObject+      "NumericSeparatorConfiguration"+      ( \x ->+          NumericSeparatorConfiguration'+            Prelude.<$> (x Data..:? "DecimalSeparator")+            Prelude.<*> (x Data..:? "ThousandsSeparator")+      )++instance+  Prelude.Hashable+    NumericSeparatorConfiguration+  where+  hashWithSalt _salt NumericSeparatorConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` decimalSeparator+      `Prelude.hashWithSalt` thousandsSeparator++instance Prelude.NFData NumericSeparatorConfiguration where+  rnf NumericSeparatorConfiguration' {..} =+    Prelude.rnf decimalSeparator+      `Prelude.seq` Prelude.rnf thousandsSeparator++instance Data.ToJSON NumericSeparatorConfiguration where+  toJSON NumericSeparatorConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DecimalSeparator" Data..=)+              Prelude.<$> decimalSeparator,+            ("ThousandsSeparator" Data..=)+              Prelude.<$> thousandsSeparator+          ]+      )
+ gen/Amazonka/QuickSight/Types/NumericSeparatorSymbol.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.NumericSeparatorSymbol+-- 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.QuickSight.Types.NumericSeparatorSymbol+  ( NumericSeparatorSymbol+      ( ..,+        NumericSeparatorSymbol_COMMA,+        NumericSeparatorSymbol_DOT,+        NumericSeparatorSymbol_SPACE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NumericSeparatorSymbol = NumericSeparatorSymbol'+  { fromNumericSeparatorSymbol ::+      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 NumericSeparatorSymbol_COMMA :: NumericSeparatorSymbol+pattern NumericSeparatorSymbol_COMMA = NumericSeparatorSymbol' "COMMA"++pattern NumericSeparatorSymbol_DOT :: NumericSeparatorSymbol+pattern NumericSeparatorSymbol_DOT = NumericSeparatorSymbol' "DOT"++pattern NumericSeparatorSymbol_SPACE :: NumericSeparatorSymbol+pattern NumericSeparatorSymbol_SPACE = NumericSeparatorSymbol' "SPACE"++{-# COMPLETE+  NumericSeparatorSymbol_COMMA,+  NumericSeparatorSymbol_DOT,+  NumericSeparatorSymbol_SPACE,+  NumericSeparatorSymbol'+  #-}
+ gen/Amazonka/QuickSight/Types/NumericalAggregationFunction.hs view
@@ -0,0 +1,176 @@+{-# 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.QuickSight.Types.NumericalAggregationFunction+-- 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.QuickSight.Types.NumericalAggregationFunction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.PercentileAggregation+import Amazonka.QuickSight.Types.SimpleNumericalAggregationFunction++-- | Aggregation for numerical values.+--+-- /See:/ 'newNumericalAggregationFunction' smart constructor.+data NumericalAggregationFunction = NumericalAggregationFunction'+  { -- | An aggregation based on the percentile of values in a dimension or+    -- measure.+    percentileAggregation :: Prelude.Maybe PercentileAggregation,+    -- | Built-in aggregation functions for numerical values.+    --+    -- -   @SUM@: The sum of a dimension or measure.+    --+    -- -   @AVERAGE@: The average of a dimension or measure.+    --+    -- -   @MIN@: The minimum value of a dimension or measure.+    --+    -- -   @MAX@: The maximum value of a dimension or measure.+    --+    -- -   @COUNT@: The count of a dimension or measure.+    --+    -- -   @DISTINCT_COUNT@: The count of distinct values in a dimension or+    --     measure.+    --+    -- -   @VAR@: The variance of a dimension or measure.+    --+    -- -   @VARP@: The partitioned variance of a dimension or measure.+    --+    -- -   @STDEV@: The standard deviation of a dimension or measure.+    --+    -- -   @STDEVP@: The partitioned standard deviation of a dimension or+    --     measure.+    --+    -- -   @MEDIAN@: The median value of a dimension or measure.+    simpleNumericalAggregation :: Prelude.Maybe SimpleNumericalAggregationFunction+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NumericalAggregationFunction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'percentileAggregation', 'numericalAggregationFunction_percentileAggregation' - An aggregation based on the percentile of values in a dimension or+-- measure.+--+-- 'simpleNumericalAggregation', 'numericalAggregationFunction_simpleNumericalAggregation' - Built-in aggregation functions for numerical values.+--+-- -   @SUM@: The sum of a dimension or measure.+--+-- -   @AVERAGE@: The average of a dimension or measure.+--+-- -   @MIN@: The minimum value of a dimension or measure.+--+-- -   @MAX@: The maximum value of a dimension or measure.+--+-- -   @COUNT@: The count of a dimension or measure.+--+-- -   @DISTINCT_COUNT@: The count of distinct values in a dimension or+--     measure.+--+-- -   @VAR@: The variance of a dimension or measure.+--+-- -   @VARP@: The partitioned variance of a dimension or measure.+--+-- -   @STDEV@: The standard deviation of a dimension or measure.+--+-- -   @STDEVP@: The partitioned standard deviation of a dimension or+--     measure.+--+-- -   @MEDIAN@: The median value of a dimension or measure.+newNumericalAggregationFunction ::+  NumericalAggregationFunction+newNumericalAggregationFunction =+  NumericalAggregationFunction'+    { percentileAggregation =+        Prelude.Nothing,+      simpleNumericalAggregation = Prelude.Nothing+    }++-- | An aggregation based on the percentile of values in a dimension or+-- measure.+numericalAggregationFunction_percentileAggregation :: Lens.Lens' NumericalAggregationFunction (Prelude.Maybe PercentileAggregation)+numericalAggregationFunction_percentileAggregation = Lens.lens (\NumericalAggregationFunction' {percentileAggregation} -> percentileAggregation) (\s@NumericalAggregationFunction' {} a -> s {percentileAggregation = a} :: NumericalAggregationFunction)++-- | Built-in aggregation functions for numerical values.+--+-- -   @SUM@: The sum of a dimension or measure.+--+-- -   @AVERAGE@: The average of a dimension or measure.+--+-- -   @MIN@: The minimum value of a dimension or measure.+--+-- -   @MAX@: The maximum value of a dimension or measure.+--+-- -   @COUNT@: The count of a dimension or measure.+--+-- -   @DISTINCT_COUNT@: The count of distinct values in a dimension or+--     measure.+--+-- -   @VAR@: The variance of a dimension or measure.+--+-- -   @VARP@: The partitioned variance of a dimension or measure.+--+-- -   @STDEV@: The standard deviation of a dimension or measure.+--+-- -   @STDEVP@: The partitioned standard deviation of a dimension or+--     measure.+--+-- -   @MEDIAN@: The median value of a dimension or measure.+numericalAggregationFunction_simpleNumericalAggregation :: Lens.Lens' NumericalAggregationFunction (Prelude.Maybe SimpleNumericalAggregationFunction)+numericalAggregationFunction_simpleNumericalAggregation = Lens.lens (\NumericalAggregationFunction' {simpleNumericalAggregation} -> simpleNumericalAggregation) (\s@NumericalAggregationFunction' {} a -> s {simpleNumericalAggregation = a} :: NumericalAggregationFunction)++instance Data.FromJSON NumericalAggregationFunction where+  parseJSON =+    Data.withObject+      "NumericalAggregationFunction"+      ( \x ->+          NumericalAggregationFunction'+            Prelude.<$> (x Data..:? "PercentileAggregation")+            Prelude.<*> (x Data..:? "SimpleNumericalAggregation")+      )++instance+  Prelude.Hashable+    NumericalAggregationFunction+  where+  hashWithSalt _salt NumericalAggregationFunction' {..} =+    _salt+      `Prelude.hashWithSalt` percentileAggregation+      `Prelude.hashWithSalt` simpleNumericalAggregation++instance Prelude.NFData NumericalAggregationFunction where+  rnf NumericalAggregationFunction' {..} =+    Prelude.rnf percentileAggregation+      `Prelude.seq` Prelude.rnf simpleNumericalAggregation++instance Data.ToJSON NumericalAggregationFunction where+  toJSON NumericalAggregationFunction' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PercentileAggregation" Data..=)+              Prelude.<$> percentileAggregation,+            ("SimpleNumericalAggregation" Data..=)+              Prelude.<$> simpleNumericalAggregation+          ]+      )
+ gen/Amazonka/QuickSight/Types/NumericalDimensionField.hs view
@@ -0,0 +1,127 @@+{-# 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.QuickSight.Types.NumericalDimensionField+-- 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.QuickSight.Types.NumericalDimensionField where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.NumberFormatConfiguration++-- | The dimension type field with numerical type columns.+--+-- /See:/ 'newNumericalDimensionField' smart constructor.+data NumericalDimensionField = NumericalDimensionField'+  { -- | The format configuration of the field.+    formatConfiguration :: Prelude.Maybe NumberFormatConfiguration,+    -- | The custom hierarchy ID.+    hierarchyId :: Prelude.Maybe Prelude.Text,+    -- | The custom field ID.+    fieldId :: Prelude.Text,+    -- | The column that is used in the @NumericalDimensionField@.+    column :: ColumnIdentifier+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NumericalDimensionField' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'formatConfiguration', 'numericalDimensionField_formatConfiguration' - The format configuration of the field.+--+-- 'hierarchyId', 'numericalDimensionField_hierarchyId' - The custom hierarchy ID.+--+-- 'fieldId', 'numericalDimensionField_fieldId' - The custom field ID.+--+-- 'column', 'numericalDimensionField_column' - The column that is used in the @NumericalDimensionField@.+newNumericalDimensionField ::+  -- | 'fieldId'+  Prelude.Text ->+  -- | 'column'+  ColumnIdentifier ->+  NumericalDimensionField+newNumericalDimensionField pFieldId_ pColumn_ =+  NumericalDimensionField'+    { formatConfiguration =+        Prelude.Nothing,+      hierarchyId = Prelude.Nothing,+      fieldId = pFieldId_,+      column = pColumn_+    }++-- | The format configuration of the field.+numericalDimensionField_formatConfiguration :: Lens.Lens' NumericalDimensionField (Prelude.Maybe NumberFormatConfiguration)+numericalDimensionField_formatConfiguration = Lens.lens (\NumericalDimensionField' {formatConfiguration} -> formatConfiguration) (\s@NumericalDimensionField' {} a -> s {formatConfiguration = a} :: NumericalDimensionField)++-- | The custom hierarchy ID.+numericalDimensionField_hierarchyId :: Lens.Lens' NumericalDimensionField (Prelude.Maybe Prelude.Text)+numericalDimensionField_hierarchyId = Lens.lens (\NumericalDimensionField' {hierarchyId} -> hierarchyId) (\s@NumericalDimensionField' {} a -> s {hierarchyId = a} :: NumericalDimensionField)++-- | The custom field ID.+numericalDimensionField_fieldId :: Lens.Lens' NumericalDimensionField Prelude.Text+numericalDimensionField_fieldId = Lens.lens (\NumericalDimensionField' {fieldId} -> fieldId) (\s@NumericalDimensionField' {} a -> s {fieldId = a} :: NumericalDimensionField)++-- | The column that is used in the @NumericalDimensionField@.+numericalDimensionField_column :: Lens.Lens' NumericalDimensionField ColumnIdentifier+numericalDimensionField_column = Lens.lens (\NumericalDimensionField' {column} -> column) (\s@NumericalDimensionField' {} a -> s {column = a} :: NumericalDimensionField)++instance Data.FromJSON NumericalDimensionField where+  parseJSON =+    Data.withObject+      "NumericalDimensionField"+      ( \x ->+          NumericalDimensionField'+            Prelude.<$> (x Data..:? "FormatConfiguration")+            Prelude.<*> (x Data..:? "HierarchyId")+            Prelude.<*> (x Data..: "FieldId")+            Prelude.<*> (x Data..: "Column")+      )++instance Prelude.Hashable NumericalDimensionField where+  hashWithSalt _salt NumericalDimensionField' {..} =+    _salt+      `Prelude.hashWithSalt` formatConfiguration+      `Prelude.hashWithSalt` hierarchyId+      `Prelude.hashWithSalt` fieldId+      `Prelude.hashWithSalt` column++instance Prelude.NFData NumericalDimensionField where+  rnf NumericalDimensionField' {..} =+    Prelude.rnf formatConfiguration+      `Prelude.seq` Prelude.rnf hierarchyId+      `Prelude.seq` Prelude.rnf fieldId+      `Prelude.seq` Prelude.rnf column++instance Data.ToJSON NumericalDimensionField where+  toJSON NumericalDimensionField' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FormatConfiguration" Data..=)+              Prelude.<$> formatConfiguration,+            ("HierarchyId" Data..=) Prelude.<$> hierarchyId,+            Prelude.Just ("FieldId" Data..= fieldId),+            Prelude.Just ("Column" Data..= column)+          ]+      )
+ gen/Amazonka/QuickSight/Types/NumericalMeasureField.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.QuickSight.Types.NumericalMeasureField+-- 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.QuickSight.Types.NumericalMeasureField where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.NumberFormatConfiguration+import Amazonka.QuickSight.Types.NumericalAggregationFunction++-- | The measure type field with numerical type columns.+--+-- /See:/ 'newNumericalMeasureField' smart constructor.+data NumericalMeasureField = NumericalMeasureField'+  { -- | The aggregation function of the measure field.+    aggregationFunction :: Prelude.Maybe NumericalAggregationFunction,+    -- | The format configuration of the field.+    formatConfiguration :: Prelude.Maybe NumberFormatConfiguration,+    -- | The custom field ID.+    fieldId :: Prelude.Text,+    -- | The column that is used in the @NumericalMeasureField@.+    column :: ColumnIdentifier+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NumericalMeasureField' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aggregationFunction', 'numericalMeasureField_aggregationFunction' - The aggregation function of the measure field.+--+-- 'formatConfiguration', 'numericalMeasureField_formatConfiguration' - The format configuration of the field.+--+-- 'fieldId', 'numericalMeasureField_fieldId' - The custom field ID.+--+-- 'column', 'numericalMeasureField_column' - The column that is used in the @NumericalMeasureField@.+newNumericalMeasureField ::+  -- | 'fieldId'+  Prelude.Text ->+  -- | 'column'+  ColumnIdentifier ->+  NumericalMeasureField+newNumericalMeasureField pFieldId_ pColumn_ =+  NumericalMeasureField'+    { aggregationFunction =+        Prelude.Nothing,+      formatConfiguration = Prelude.Nothing,+      fieldId = pFieldId_,+      column = pColumn_+    }++-- | The aggregation function of the measure field.+numericalMeasureField_aggregationFunction :: Lens.Lens' NumericalMeasureField (Prelude.Maybe NumericalAggregationFunction)+numericalMeasureField_aggregationFunction = Lens.lens (\NumericalMeasureField' {aggregationFunction} -> aggregationFunction) (\s@NumericalMeasureField' {} a -> s {aggregationFunction = a} :: NumericalMeasureField)++-- | The format configuration of the field.+numericalMeasureField_formatConfiguration :: Lens.Lens' NumericalMeasureField (Prelude.Maybe NumberFormatConfiguration)+numericalMeasureField_formatConfiguration = Lens.lens (\NumericalMeasureField' {formatConfiguration} -> formatConfiguration) (\s@NumericalMeasureField' {} a -> s {formatConfiguration = a} :: NumericalMeasureField)++-- | The custom field ID.+numericalMeasureField_fieldId :: Lens.Lens' NumericalMeasureField Prelude.Text+numericalMeasureField_fieldId = Lens.lens (\NumericalMeasureField' {fieldId} -> fieldId) (\s@NumericalMeasureField' {} a -> s {fieldId = a} :: NumericalMeasureField)++-- | The column that is used in the @NumericalMeasureField@.+numericalMeasureField_column :: Lens.Lens' NumericalMeasureField ColumnIdentifier+numericalMeasureField_column = Lens.lens (\NumericalMeasureField' {column} -> column) (\s@NumericalMeasureField' {} a -> s {column = a} :: NumericalMeasureField)++instance Data.FromJSON NumericalMeasureField where+  parseJSON =+    Data.withObject+      "NumericalMeasureField"+      ( \x ->+          NumericalMeasureField'+            Prelude.<$> (x Data..:? "AggregationFunction")+            Prelude.<*> (x Data..:? "FormatConfiguration")+            Prelude.<*> (x Data..: "FieldId")+            Prelude.<*> (x Data..: "Column")+      )++instance Prelude.Hashable NumericalMeasureField where+  hashWithSalt _salt NumericalMeasureField' {..} =+    _salt+      `Prelude.hashWithSalt` aggregationFunction+      `Prelude.hashWithSalt` formatConfiguration+      `Prelude.hashWithSalt` fieldId+      `Prelude.hashWithSalt` column++instance Prelude.NFData NumericalMeasureField where+  rnf NumericalMeasureField' {..} =+    Prelude.rnf aggregationFunction+      `Prelude.seq` Prelude.rnf formatConfiguration+      `Prelude.seq` Prelude.rnf fieldId+      `Prelude.seq` Prelude.rnf column++instance Data.ToJSON NumericalMeasureField where+  toJSON NumericalMeasureField' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AggregationFunction" Data..=)+              Prelude.<$> aggregationFunction,+            ("FormatConfiguration" Data..=)+              Prelude.<$> formatConfiguration,+            Prelude.Just ("FieldId" Data..= fieldId),+            Prelude.Just ("Column" Data..= column)+          ]+      )
+ gen/Amazonka/QuickSight/Types/OracleParameters.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.OracleParameters+-- 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.QuickSight.Types.OracleParameters 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 parameters for Oracle.+--+-- /See:/ 'newOracleParameters' smart constructor.+data OracleParameters = OracleParameters'+  { -- | An Oracle host.+    host :: Prelude.Text,+    -- | Port.+    port :: Prelude.Natural,+    -- | Database.+    database :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OracleParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'host', 'oracleParameters_host' - An Oracle host.+--+-- 'port', 'oracleParameters_port' - Port.+--+-- 'database', 'oracleParameters_database' - Database.+newOracleParameters ::+  -- | 'host'+  Prelude.Text ->+  -- | 'port'+  Prelude.Natural ->+  -- | 'database'+  Prelude.Text ->+  OracleParameters+newOracleParameters pHost_ pPort_ pDatabase_ =+  OracleParameters'+    { host = pHost_,+      port = pPort_,+      database = pDatabase_+    }++-- | An Oracle host.+oracleParameters_host :: Lens.Lens' OracleParameters Prelude.Text+oracleParameters_host = Lens.lens (\OracleParameters' {host} -> host) (\s@OracleParameters' {} a -> s {host = a} :: OracleParameters)++-- | Port.+oracleParameters_port :: Lens.Lens' OracleParameters Prelude.Natural+oracleParameters_port = Lens.lens (\OracleParameters' {port} -> port) (\s@OracleParameters' {} a -> s {port = a} :: OracleParameters)++-- | Database.+oracleParameters_database :: Lens.Lens' OracleParameters Prelude.Text+oracleParameters_database = Lens.lens (\OracleParameters' {database} -> database) (\s@OracleParameters' {} a -> s {database = a} :: OracleParameters)++instance Data.FromJSON OracleParameters where+  parseJSON =+    Data.withObject+      "OracleParameters"+      ( \x ->+          OracleParameters'+            Prelude.<$> (x Data..: "Host")+            Prelude.<*> (x Data..: "Port")+            Prelude.<*> (x Data..: "Database")+      )++instance Prelude.Hashable OracleParameters where+  hashWithSalt _salt OracleParameters' {..} =+    _salt+      `Prelude.hashWithSalt` host+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` database++instance Prelude.NFData OracleParameters where+  rnf OracleParameters' {..} =+    Prelude.rnf host+      `Prelude.seq` Prelude.rnf port+      `Prelude.seq` Prelude.rnf database++instance Data.ToJSON OracleParameters where+  toJSON OracleParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Host" Data..= host),+            Prelude.Just ("Port" Data..= port),+            Prelude.Just ("Database" Data..= database)+          ]+      )
+ gen/Amazonka/QuickSight/Types/OtherCategories.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.QuickSight.Types.OtherCategories+-- 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.QuickSight.Types.OtherCategories+  ( OtherCategories+      ( ..,+        OtherCategories_EXCLUDE,+        OtherCategories_INCLUDE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OtherCategories = OtherCategories'+  { fromOtherCategories ::+      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 OtherCategories_EXCLUDE :: OtherCategories+pattern OtherCategories_EXCLUDE = OtherCategories' "EXCLUDE"++pattern OtherCategories_INCLUDE :: OtherCategories+pattern OtherCategories_INCLUDE = OtherCategories' "INCLUDE"++{-# COMPLETE+  OtherCategories_EXCLUDE,+  OtherCategories_INCLUDE,+  OtherCategories'+  #-}
+ gen/Amazonka/QuickSight/Types/OutputColumn.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.OutputColumn+-- 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.QuickSight.Types.OutputColumn where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnDataType++-- | Output column.+--+-- /See:/ 'newOutputColumn' smart constructor.+data OutputColumn = OutputColumn'+  { -- | A description for a column.+    description :: Prelude.Maybe Prelude.Text,+    -- | A display name for the dataset.+    name :: Prelude.Maybe Prelude.Text,+    -- | Type.+    type' :: Prelude.Maybe ColumnDataType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OutputColumn' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'outputColumn_description' - A description for a column.+--+-- 'name', 'outputColumn_name' - A display name for the dataset.+--+-- 'type'', 'outputColumn_type' - Type.+newOutputColumn ::+  OutputColumn+newOutputColumn =+  OutputColumn'+    { description = Prelude.Nothing,+      name = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | A description for a column.+outputColumn_description :: Lens.Lens' OutputColumn (Prelude.Maybe Prelude.Text)+outputColumn_description = Lens.lens (\OutputColumn' {description} -> description) (\s@OutputColumn' {} a -> s {description = a} :: OutputColumn)++-- | A display name for the dataset.+outputColumn_name :: Lens.Lens' OutputColumn (Prelude.Maybe Prelude.Text)+outputColumn_name = Lens.lens (\OutputColumn' {name} -> name) (\s@OutputColumn' {} a -> s {name = a} :: OutputColumn)++-- | Type.+outputColumn_type :: Lens.Lens' OutputColumn (Prelude.Maybe ColumnDataType)+outputColumn_type = Lens.lens (\OutputColumn' {type'} -> type') (\s@OutputColumn' {} a -> s {type' = a} :: OutputColumn)++instance Data.FromJSON OutputColumn where+  parseJSON =+    Data.withObject+      "OutputColumn"+      ( \x ->+          OutputColumn'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable OutputColumn where+  hashWithSalt _salt OutputColumn' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` type'++instance Prelude.NFData OutputColumn where+  rnf OutputColumn' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/QuickSight/Types/PaginationConfiguration.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PaginationConfiguration+-- 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.QuickSight.Types.PaginationConfiguration 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 pagination configuration for a table visual or boxplot.+--+-- /See:/ 'newPaginationConfiguration' smart constructor.+data PaginationConfiguration = PaginationConfiguration'+  { -- | Indicates how many items render in one page.+    pageSize :: Prelude.Integer,+    -- | Indicates the page number.+    pageNumber :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PaginationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pageSize', 'paginationConfiguration_pageSize' - Indicates how many items render in one page.+--+-- 'pageNumber', 'paginationConfiguration_pageNumber' - Indicates the page number.+newPaginationConfiguration ::+  -- | 'pageSize'+  Prelude.Integer ->+  -- | 'pageNumber'+  Prelude.Natural ->+  PaginationConfiguration+newPaginationConfiguration pPageSize_ pPageNumber_ =+  PaginationConfiguration'+    { pageSize = pPageSize_,+      pageNumber = pPageNumber_+    }++-- | Indicates how many items render in one page.+paginationConfiguration_pageSize :: Lens.Lens' PaginationConfiguration Prelude.Integer+paginationConfiguration_pageSize = Lens.lens (\PaginationConfiguration' {pageSize} -> pageSize) (\s@PaginationConfiguration' {} a -> s {pageSize = a} :: PaginationConfiguration)++-- | Indicates the page number.+paginationConfiguration_pageNumber :: Lens.Lens' PaginationConfiguration Prelude.Natural+paginationConfiguration_pageNumber = Lens.lens (\PaginationConfiguration' {pageNumber} -> pageNumber) (\s@PaginationConfiguration' {} a -> s {pageNumber = a} :: PaginationConfiguration)++instance Data.FromJSON PaginationConfiguration where+  parseJSON =+    Data.withObject+      "PaginationConfiguration"+      ( \x ->+          PaginationConfiguration'+            Prelude.<$> (x Data..: "PageSize")+            Prelude.<*> (x Data..: "PageNumber")+      )++instance Prelude.Hashable PaginationConfiguration where+  hashWithSalt _salt PaginationConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` pageSize+      `Prelude.hashWithSalt` pageNumber++instance Prelude.NFData PaginationConfiguration where+  rnf PaginationConfiguration' {..} =+    Prelude.rnf pageSize+      `Prelude.seq` Prelude.rnf pageNumber++instance Data.ToJSON PaginationConfiguration where+  toJSON PaginationConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("PageSize" Data..= pageSize),+            Prelude.Just ("PageNumber" Data..= pageNumber)+          ]+      )
+ gen/Amazonka/QuickSight/Types/PanelBorderStyle.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PanelBorderStyle+-- 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.QuickSight.Types.PanelBorderStyle+  ( PanelBorderStyle+      ( ..,+        PanelBorderStyle_DASHED,+        PanelBorderStyle_DOTTED,+        PanelBorderStyle_SOLID+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PanelBorderStyle = PanelBorderStyle'+  { fromPanelBorderStyle ::+      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 PanelBorderStyle_DASHED :: PanelBorderStyle+pattern PanelBorderStyle_DASHED = PanelBorderStyle' "DASHED"++pattern PanelBorderStyle_DOTTED :: PanelBorderStyle+pattern PanelBorderStyle_DOTTED = PanelBorderStyle' "DOTTED"++pattern PanelBorderStyle_SOLID :: PanelBorderStyle+pattern PanelBorderStyle_SOLID = PanelBorderStyle' "SOLID"++{-# COMPLETE+  PanelBorderStyle_DASHED,+  PanelBorderStyle_DOTTED,+  PanelBorderStyle_SOLID,+  PanelBorderStyle'+  #-}
+ gen/Amazonka/QuickSight/Types/PanelConfiguration.hs view
@@ -0,0 +1,203 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PanelConfiguration+-- 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.QuickSight.Types.PanelConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.PanelBorderStyle+import Amazonka.QuickSight.Types.PanelTitleOptions+import Amazonka.QuickSight.Types.Visibility++-- | A collection of options that configure how each panel displays in a+-- small multiples chart.+--+-- /See:/ 'newPanelConfiguration' smart constructor.+data PanelConfiguration = PanelConfiguration'+  { -- | Sets the background color for each panel.+    backgroundColor :: Prelude.Maybe Prelude.Text,+    -- | Determines whether or not a background for each small multiples panel is+    -- rendered.+    backgroundVisibility :: Prelude.Maybe Visibility,+    -- | Sets the line color of panel borders.+    borderColor :: Prelude.Maybe Prelude.Text,+    -- | Sets the line style of panel borders.+    borderStyle :: Prelude.Maybe PanelBorderStyle,+    -- | Sets the line thickness of panel borders.+    borderThickness :: Prelude.Maybe Prelude.Text,+    -- | Determines whether or not each panel displays a border.+    borderVisibility :: Prelude.Maybe Visibility,+    -- | Sets the total amount of negative space to display between sibling+    -- panels.+    gutterSpacing :: Prelude.Maybe Prelude.Text,+    -- | Determines whether or not negative space between sibling panels is+    -- rendered.+    gutterVisibility :: Prelude.Maybe Visibility,+    -- | Configures the title display within each small multiples panel.+    title :: Prelude.Maybe PanelTitleOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PanelConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'backgroundColor', 'panelConfiguration_backgroundColor' - Sets the background color for each panel.+--+-- 'backgroundVisibility', 'panelConfiguration_backgroundVisibility' - Determines whether or not a background for each small multiples panel is+-- rendered.+--+-- 'borderColor', 'panelConfiguration_borderColor' - Sets the line color of panel borders.+--+-- 'borderStyle', 'panelConfiguration_borderStyle' - Sets the line style of panel borders.+--+-- 'borderThickness', 'panelConfiguration_borderThickness' - Sets the line thickness of panel borders.+--+-- 'borderVisibility', 'panelConfiguration_borderVisibility' - Determines whether or not each panel displays a border.+--+-- 'gutterSpacing', 'panelConfiguration_gutterSpacing' - Sets the total amount of negative space to display between sibling+-- panels.+--+-- 'gutterVisibility', 'panelConfiguration_gutterVisibility' - Determines whether or not negative space between sibling panels is+-- rendered.+--+-- 'title', 'panelConfiguration_title' - Configures the title display within each small multiples panel.+newPanelConfiguration ::+  PanelConfiguration+newPanelConfiguration =+  PanelConfiguration'+    { backgroundColor =+        Prelude.Nothing,+      backgroundVisibility = Prelude.Nothing,+      borderColor = Prelude.Nothing,+      borderStyle = Prelude.Nothing,+      borderThickness = Prelude.Nothing,+      borderVisibility = Prelude.Nothing,+      gutterSpacing = Prelude.Nothing,+      gutterVisibility = Prelude.Nothing,+      title = Prelude.Nothing+    }++-- | Sets the background color for each panel.+panelConfiguration_backgroundColor :: Lens.Lens' PanelConfiguration (Prelude.Maybe Prelude.Text)+panelConfiguration_backgroundColor = Lens.lens (\PanelConfiguration' {backgroundColor} -> backgroundColor) (\s@PanelConfiguration' {} a -> s {backgroundColor = a} :: PanelConfiguration)++-- | Determines whether or not a background for each small multiples panel is+-- rendered.+panelConfiguration_backgroundVisibility :: Lens.Lens' PanelConfiguration (Prelude.Maybe Visibility)+panelConfiguration_backgroundVisibility = Lens.lens (\PanelConfiguration' {backgroundVisibility} -> backgroundVisibility) (\s@PanelConfiguration' {} a -> s {backgroundVisibility = a} :: PanelConfiguration)++-- | Sets the line color of panel borders.+panelConfiguration_borderColor :: Lens.Lens' PanelConfiguration (Prelude.Maybe Prelude.Text)+panelConfiguration_borderColor = Lens.lens (\PanelConfiguration' {borderColor} -> borderColor) (\s@PanelConfiguration' {} a -> s {borderColor = a} :: PanelConfiguration)++-- | Sets the line style of panel borders.+panelConfiguration_borderStyle :: Lens.Lens' PanelConfiguration (Prelude.Maybe PanelBorderStyle)+panelConfiguration_borderStyle = Lens.lens (\PanelConfiguration' {borderStyle} -> borderStyle) (\s@PanelConfiguration' {} a -> s {borderStyle = a} :: PanelConfiguration)++-- | Sets the line thickness of panel borders.+panelConfiguration_borderThickness :: Lens.Lens' PanelConfiguration (Prelude.Maybe Prelude.Text)+panelConfiguration_borderThickness = Lens.lens (\PanelConfiguration' {borderThickness} -> borderThickness) (\s@PanelConfiguration' {} a -> s {borderThickness = a} :: PanelConfiguration)++-- | Determines whether or not each panel displays a border.+panelConfiguration_borderVisibility :: Lens.Lens' PanelConfiguration (Prelude.Maybe Visibility)+panelConfiguration_borderVisibility = Lens.lens (\PanelConfiguration' {borderVisibility} -> borderVisibility) (\s@PanelConfiguration' {} a -> s {borderVisibility = a} :: PanelConfiguration)++-- | Sets the total amount of negative space to display between sibling+-- panels.+panelConfiguration_gutterSpacing :: Lens.Lens' PanelConfiguration (Prelude.Maybe Prelude.Text)+panelConfiguration_gutterSpacing = Lens.lens (\PanelConfiguration' {gutterSpacing} -> gutterSpacing) (\s@PanelConfiguration' {} a -> s {gutterSpacing = a} :: PanelConfiguration)++-- | Determines whether or not negative space between sibling panels is+-- rendered.+panelConfiguration_gutterVisibility :: Lens.Lens' PanelConfiguration (Prelude.Maybe Visibility)+panelConfiguration_gutterVisibility = Lens.lens (\PanelConfiguration' {gutterVisibility} -> gutterVisibility) (\s@PanelConfiguration' {} a -> s {gutterVisibility = a} :: PanelConfiguration)++-- | Configures the title display within each small multiples panel.+panelConfiguration_title :: Lens.Lens' PanelConfiguration (Prelude.Maybe PanelTitleOptions)+panelConfiguration_title = Lens.lens (\PanelConfiguration' {title} -> title) (\s@PanelConfiguration' {} a -> s {title = a} :: PanelConfiguration)++instance Data.FromJSON PanelConfiguration where+  parseJSON =+    Data.withObject+      "PanelConfiguration"+      ( \x ->+          PanelConfiguration'+            Prelude.<$> (x Data..:? "BackgroundColor")+            Prelude.<*> (x Data..:? "BackgroundVisibility")+            Prelude.<*> (x Data..:? "BorderColor")+            Prelude.<*> (x Data..:? "BorderStyle")+            Prelude.<*> (x Data..:? "BorderThickness")+            Prelude.<*> (x Data..:? "BorderVisibility")+            Prelude.<*> (x Data..:? "GutterSpacing")+            Prelude.<*> (x Data..:? "GutterVisibility")+            Prelude.<*> (x Data..:? "Title")+      )++instance Prelude.Hashable PanelConfiguration where+  hashWithSalt _salt PanelConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` backgroundColor+      `Prelude.hashWithSalt` backgroundVisibility+      `Prelude.hashWithSalt` borderColor+      `Prelude.hashWithSalt` borderStyle+      `Prelude.hashWithSalt` borderThickness+      `Prelude.hashWithSalt` borderVisibility+      `Prelude.hashWithSalt` gutterSpacing+      `Prelude.hashWithSalt` gutterVisibility+      `Prelude.hashWithSalt` title++instance Prelude.NFData PanelConfiguration where+  rnf PanelConfiguration' {..} =+    Prelude.rnf backgroundColor+      `Prelude.seq` Prelude.rnf backgroundVisibility+      `Prelude.seq` Prelude.rnf borderColor+      `Prelude.seq` Prelude.rnf borderStyle+      `Prelude.seq` Prelude.rnf borderThickness+      `Prelude.seq` Prelude.rnf borderVisibility+      `Prelude.seq` Prelude.rnf gutterSpacing+      `Prelude.seq` Prelude.rnf gutterVisibility+      `Prelude.seq` Prelude.rnf title++instance Data.ToJSON PanelConfiguration where+  toJSON PanelConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BackgroundColor" Data..=)+              Prelude.<$> backgroundColor,+            ("BackgroundVisibility" Data..=)+              Prelude.<$> backgroundVisibility,+            ("BorderColor" Data..=) Prelude.<$> borderColor,+            ("BorderStyle" Data..=) Prelude.<$> borderStyle,+            ("BorderThickness" Data..=)+              Prelude.<$> borderThickness,+            ("BorderVisibility" Data..=)+              Prelude.<$> borderVisibility,+            ("GutterSpacing" Data..=) Prelude.<$> gutterSpacing,+            ("GutterVisibility" Data..=)+              Prelude.<$> gutterVisibility,+            ("Title" Data..=) Prelude.<$> title+          ]+      )
+ gen/Amazonka/QuickSight/Types/PanelTitleOptions.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PanelTitleOptions+-- 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.QuickSight.Types.PanelTitleOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FontConfiguration+import Amazonka.QuickSight.Types.HorizontalTextAlignment+import Amazonka.QuickSight.Types.Visibility++-- | The options that determine the title styles for each small multiples+-- panel.+--+-- /See:/ 'newPanelTitleOptions' smart constructor.+data PanelTitleOptions = PanelTitleOptions'+  { fontConfiguration :: Prelude.Maybe FontConfiguration,+    -- | Sets the horizontal text alignment of the title within each panel.+    horizontalTextAlignment :: Prelude.Maybe HorizontalTextAlignment,+    -- | Determines whether or not panel titles are displayed.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PanelTitleOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fontConfiguration', 'panelTitleOptions_fontConfiguration' - Undocumented member.+--+-- 'horizontalTextAlignment', 'panelTitleOptions_horizontalTextAlignment' - Sets the horizontal text alignment of the title within each panel.+--+-- 'visibility', 'panelTitleOptions_visibility' - Determines whether or not panel titles are displayed.+newPanelTitleOptions ::+  PanelTitleOptions+newPanelTitleOptions =+  PanelTitleOptions'+    { fontConfiguration =+        Prelude.Nothing,+      horizontalTextAlignment = Prelude.Nothing,+      visibility = Prelude.Nothing+    }++-- | Undocumented member.+panelTitleOptions_fontConfiguration :: Lens.Lens' PanelTitleOptions (Prelude.Maybe FontConfiguration)+panelTitleOptions_fontConfiguration = Lens.lens (\PanelTitleOptions' {fontConfiguration} -> fontConfiguration) (\s@PanelTitleOptions' {} a -> s {fontConfiguration = a} :: PanelTitleOptions)++-- | Sets the horizontal text alignment of the title within each panel.+panelTitleOptions_horizontalTextAlignment :: Lens.Lens' PanelTitleOptions (Prelude.Maybe HorizontalTextAlignment)+panelTitleOptions_horizontalTextAlignment = Lens.lens (\PanelTitleOptions' {horizontalTextAlignment} -> horizontalTextAlignment) (\s@PanelTitleOptions' {} a -> s {horizontalTextAlignment = a} :: PanelTitleOptions)++-- | Determines whether or not panel titles are displayed.+panelTitleOptions_visibility :: Lens.Lens' PanelTitleOptions (Prelude.Maybe Visibility)+panelTitleOptions_visibility = Lens.lens (\PanelTitleOptions' {visibility} -> visibility) (\s@PanelTitleOptions' {} a -> s {visibility = a} :: PanelTitleOptions)++instance Data.FromJSON PanelTitleOptions where+  parseJSON =+    Data.withObject+      "PanelTitleOptions"+      ( \x ->+          PanelTitleOptions'+            Prelude.<$> (x Data..:? "FontConfiguration")+            Prelude.<*> (x Data..:? "HorizontalTextAlignment")+            Prelude.<*> (x Data..:? "Visibility")+      )++instance Prelude.Hashable PanelTitleOptions where+  hashWithSalt _salt PanelTitleOptions' {..} =+    _salt+      `Prelude.hashWithSalt` fontConfiguration+      `Prelude.hashWithSalt` horizontalTextAlignment+      `Prelude.hashWithSalt` visibility++instance Prelude.NFData PanelTitleOptions where+  rnf PanelTitleOptions' {..} =+    Prelude.rnf fontConfiguration+      `Prelude.seq` Prelude.rnf horizontalTextAlignment+      `Prelude.seq` Prelude.rnf visibility++instance Data.ToJSON PanelTitleOptions where+  toJSON PanelTitleOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FontConfiguration" Data..=)+              Prelude.<$> fontConfiguration,+            ("HorizontalTextAlignment" Data..=)+              Prelude.<$> horizontalTextAlignment,+            ("Visibility" Data..=) Prelude.<$> visibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/PaperOrientation.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.QuickSight.Types.PaperOrientation+-- 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.QuickSight.Types.PaperOrientation+  ( PaperOrientation+      ( ..,+        PaperOrientation_LANDSCAPE,+        PaperOrientation_PORTRAIT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PaperOrientation = PaperOrientation'+  { fromPaperOrientation ::+      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 PaperOrientation_LANDSCAPE :: PaperOrientation+pattern PaperOrientation_LANDSCAPE = PaperOrientation' "LANDSCAPE"++pattern PaperOrientation_PORTRAIT :: PaperOrientation+pattern PaperOrientation_PORTRAIT = PaperOrientation' "PORTRAIT"++{-# COMPLETE+  PaperOrientation_LANDSCAPE,+  PaperOrientation_PORTRAIT,+  PaperOrientation'+  #-}
+ gen/Amazonka/QuickSight/Types/PaperSize.hs view
@@ -0,0 +1,116 @@+{-# 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.QuickSight.Types.PaperSize+-- 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.QuickSight.Types.PaperSize+  ( PaperSize+      ( ..,+        PaperSize_A0,+        PaperSize_A1,+        PaperSize_A2,+        PaperSize_A3,+        PaperSize_A4,+        PaperSize_A5,+        PaperSize_JIS_B4,+        PaperSize_JIS_B5,+        PaperSize_US_LEGAL,+        PaperSize_US_LETTER,+        PaperSize_US_TABLOID_LEDGER+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PaperSize = PaperSize'+  { fromPaperSize ::+      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 PaperSize_A0 :: PaperSize+pattern PaperSize_A0 = PaperSize' "A0"++pattern PaperSize_A1 :: PaperSize+pattern PaperSize_A1 = PaperSize' "A1"++pattern PaperSize_A2 :: PaperSize+pattern PaperSize_A2 = PaperSize' "A2"++pattern PaperSize_A3 :: PaperSize+pattern PaperSize_A3 = PaperSize' "A3"++pattern PaperSize_A4 :: PaperSize+pattern PaperSize_A4 = PaperSize' "A4"++pattern PaperSize_A5 :: PaperSize+pattern PaperSize_A5 = PaperSize' "A5"++pattern PaperSize_JIS_B4 :: PaperSize+pattern PaperSize_JIS_B4 = PaperSize' "JIS_B4"++pattern PaperSize_JIS_B5 :: PaperSize+pattern PaperSize_JIS_B5 = PaperSize' "JIS_B5"++pattern PaperSize_US_LEGAL :: PaperSize+pattern PaperSize_US_LEGAL = PaperSize' "US_LEGAL"++pattern PaperSize_US_LETTER :: PaperSize+pattern PaperSize_US_LETTER = PaperSize' "US_LETTER"++pattern PaperSize_US_TABLOID_LEDGER :: PaperSize+pattern PaperSize_US_TABLOID_LEDGER = PaperSize' "US_TABLOID_LEDGER"++{-# COMPLETE+  PaperSize_A0,+  PaperSize_A1,+  PaperSize_A2,+  PaperSize_A3,+  PaperSize_A4,+  PaperSize_A5,+  PaperSize_JIS_B4,+  PaperSize_JIS_B5,+  PaperSize_US_LEGAL,+  PaperSize_US_LETTER,+  PaperSize_US_TABLOID_LEDGER,+  PaperSize'+  #-}
+ gen/Amazonka/QuickSight/Types/ParameterControl.hs view
@@ -0,0 +1,165 @@+{-# 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.QuickSight.Types.ParameterControl+-- 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.QuickSight.Types.ParameterControl where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ParameterDateTimePickerControl+import Amazonka.QuickSight.Types.ParameterDropDownControl+import Amazonka.QuickSight.Types.ParameterListControl+import Amazonka.QuickSight.Types.ParameterSliderControl+import Amazonka.QuickSight.Types.ParameterTextAreaControl+import Amazonka.QuickSight.Types.ParameterTextFieldControl++-- | The control of a parameter that users can interact with in a dashboard+-- or an analysis.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newParameterControl' smart constructor.+data ParameterControl = ParameterControl'+  { -- | A control from a date parameter that specifies date and time.+    dateTimePicker :: Prelude.Maybe ParameterDateTimePickerControl,+    -- | A control to display a dropdown list with buttons that are used to+    -- select a single value.+    dropdown :: Prelude.Maybe ParameterDropDownControl,+    -- | A control to display a list with buttons or boxes that are used to+    -- select either a single value or multiple values.+    list :: Prelude.Maybe ParameterListControl,+    -- | A control to display a horizontal toggle bar. This is used to change a+    -- value by sliding the toggle.+    slider :: Prelude.Maybe ParameterSliderControl,+    -- | A control to display a text box that is used to enter multiple entries.+    textArea :: Prelude.Maybe ParameterTextAreaControl,+    -- | A control to display a text box that is used to enter a single entry.+    textField :: Prelude.Maybe ParameterTextFieldControl+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ParameterControl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dateTimePicker', 'parameterControl_dateTimePicker' - A control from a date parameter that specifies date and time.+--+-- 'dropdown', 'parameterControl_dropdown' - A control to display a dropdown list with buttons that are used to+-- select a single value.+--+-- 'list', 'parameterControl_list' - A control to display a list with buttons or boxes that are used to+-- select either a single value or multiple values.+--+-- 'slider', 'parameterControl_slider' - A control to display a horizontal toggle bar. This is used to change a+-- value by sliding the toggle.+--+-- 'textArea', 'parameterControl_textArea' - A control to display a text box that is used to enter multiple entries.+--+-- 'textField', 'parameterControl_textField' - A control to display a text box that is used to enter a single entry.+newParameterControl ::+  ParameterControl+newParameterControl =+  ParameterControl'+    { dateTimePicker = Prelude.Nothing,+      dropdown = Prelude.Nothing,+      list = Prelude.Nothing,+      slider = Prelude.Nothing,+      textArea = Prelude.Nothing,+      textField = Prelude.Nothing+    }++-- | A control from a date parameter that specifies date and time.+parameterControl_dateTimePicker :: Lens.Lens' ParameterControl (Prelude.Maybe ParameterDateTimePickerControl)+parameterControl_dateTimePicker = Lens.lens (\ParameterControl' {dateTimePicker} -> dateTimePicker) (\s@ParameterControl' {} a -> s {dateTimePicker = a} :: ParameterControl)++-- | A control to display a dropdown list with buttons that are used to+-- select a single value.+parameterControl_dropdown :: Lens.Lens' ParameterControl (Prelude.Maybe ParameterDropDownControl)+parameterControl_dropdown = Lens.lens (\ParameterControl' {dropdown} -> dropdown) (\s@ParameterControl' {} a -> s {dropdown = a} :: ParameterControl)++-- | A control to display a list with buttons or boxes that are used to+-- select either a single value or multiple values.+parameterControl_list :: Lens.Lens' ParameterControl (Prelude.Maybe ParameterListControl)+parameterControl_list = Lens.lens (\ParameterControl' {list} -> list) (\s@ParameterControl' {} a -> s {list = a} :: ParameterControl)++-- | A control to display a horizontal toggle bar. This is used to change a+-- value by sliding the toggle.+parameterControl_slider :: Lens.Lens' ParameterControl (Prelude.Maybe ParameterSliderControl)+parameterControl_slider = Lens.lens (\ParameterControl' {slider} -> slider) (\s@ParameterControl' {} a -> s {slider = a} :: ParameterControl)++-- | A control to display a text box that is used to enter multiple entries.+parameterControl_textArea :: Lens.Lens' ParameterControl (Prelude.Maybe ParameterTextAreaControl)+parameterControl_textArea = Lens.lens (\ParameterControl' {textArea} -> textArea) (\s@ParameterControl' {} a -> s {textArea = a} :: ParameterControl)++-- | A control to display a text box that is used to enter a single entry.+parameterControl_textField :: Lens.Lens' ParameterControl (Prelude.Maybe ParameterTextFieldControl)+parameterControl_textField = Lens.lens (\ParameterControl' {textField} -> textField) (\s@ParameterControl' {} a -> s {textField = a} :: ParameterControl)++instance Data.FromJSON ParameterControl where+  parseJSON =+    Data.withObject+      "ParameterControl"+      ( \x ->+          ParameterControl'+            Prelude.<$> (x Data..:? "DateTimePicker")+            Prelude.<*> (x Data..:? "Dropdown")+            Prelude.<*> (x Data..:? "List")+            Prelude.<*> (x Data..:? "Slider")+            Prelude.<*> (x Data..:? "TextArea")+            Prelude.<*> (x Data..:? "TextField")+      )++instance Prelude.Hashable ParameterControl where+  hashWithSalt _salt ParameterControl' {..} =+    _salt+      `Prelude.hashWithSalt` dateTimePicker+      `Prelude.hashWithSalt` dropdown+      `Prelude.hashWithSalt` list+      `Prelude.hashWithSalt` slider+      `Prelude.hashWithSalt` textArea+      `Prelude.hashWithSalt` textField++instance Prelude.NFData ParameterControl where+  rnf ParameterControl' {..} =+    Prelude.rnf dateTimePicker+      `Prelude.seq` Prelude.rnf dropdown+      `Prelude.seq` Prelude.rnf list+      `Prelude.seq` Prelude.rnf slider+      `Prelude.seq` Prelude.rnf textArea+      `Prelude.seq` Prelude.rnf textField++instance Data.ToJSON ParameterControl where+  toJSON ParameterControl' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DateTimePicker" Data..=)+              Prelude.<$> dateTimePicker,+            ("Dropdown" Data..=) Prelude.<$> dropdown,+            ("List" Data..=) Prelude.<$> list,+            ("Slider" Data..=) Prelude.<$> slider,+            ("TextArea" Data..=) Prelude.<$> textArea,+            ("TextField" Data..=) Prelude.<$> textField+          ]+      )
+ gen/Amazonka/QuickSight/Types/ParameterDateTimePickerControl.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.QuickSight.Types.ParameterDateTimePickerControl+-- 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.QuickSight.Types.ParameterDateTimePickerControl where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DateTimePickerControlDisplayOptions++-- | A control from a date parameter that specifies date and time.+--+-- /See:/ 'newParameterDateTimePickerControl' smart constructor.+data ParameterDateTimePickerControl = ParameterDateTimePickerControl'+  { -- | The display options of a control.+    displayOptions :: Prelude.Maybe DateTimePickerControlDisplayOptions,+    -- | The ID of the @ParameterDateTimePickerControl@.+    parameterControlId :: Prelude.Text,+    -- | The title of the @ParameterDateTimePickerControl@.+    title :: Prelude.Text,+    -- | The name of the @ParameterDateTimePickerControl@.+    sourceParameterName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ParameterDateTimePickerControl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'displayOptions', 'parameterDateTimePickerControl_displayOptions' - The display options of a control.+--+-- 'parameterControlId', 'parameterDateTimePickerControl_parameterControlId' - The ID of the @ParameterDateTimePickerControl@.+--+-- 'title', 'parameterDateTimePickerControl_title' - The title of the @ParameterDateTimePickerControl@.+--+-- 'sourceParameterName', 'parameterDateTimePickerControl_sourceParameterName' - The name of the @ParameterDateTimePickerControl@.+newParameterDateTimePickerControl ::+  -- | 'parameterControlId'+  Prelude.Text ->+  -- | 'title'+  Prelude.Text ->+  -- | 'sourceParameterName'+  Prelude.Text ->+  ParameterDateTimePickerControl+newParameterDateTimePickerControl+  pParameterControlId_+  pTitle_+  pSourceParameterName_ =+    ParameterDateTimePickerControl'+      { displayOptions =+          Prelude.Nothing,+        parameterControlId = pParameterControlId_,+        title = pTitle_,+        sourceParameterName = pSourceParameterName_+      }++-- | The display options of a control.+parameterDateTimePickerControl_displayOptions :: Lens.Lens' ParameterDateTimePickerControl (Prelude.Maybe DateTimePickerControlDisplayOptions)+parameterDateTimePickerControl_displayOptions = Lens.lens (\ParameterDateTimePickerControl' {displayOptions} -> displayOptions) (\s@ParameterDateTimePickerControl' {} a -> s {displayOptions = a} :: ParameterDateTimePickerControl)++-- | The ID of the @ParameterDateTimePickerControl@.+parameterDateTimePickerControl_parameterControlId :: Lens.Lens' ParameterDateTimePickerControl Prelude.Text+parameterDateTimePickerControl_parameterControlId = Lens.lens (\ParameterDateTimePickerControl' {parameterControlId} -> parameterControlId) (\s@ParameterDateTimePickerControl' {} a -> s {parameterControlId = a} :: ParameterDateTimePickerControl)++-- | The title of the @ParameterDateTimePickerControl@.+parameterDateTimePickerControl_title :: Lens.Lens' ParameterDateTimePickerControl Prelude.Text+parameterDateTimePickerControl_title = Lens.lens (\ParameterDateTimePickerControl' {title} -> title) (\s@ParameterDateTimePickerControl' {} a -> s {title = a} :: ParameterDateTimePickerControl)++-- | The name of the @ParameterDateTimePickerControl@.+parameterDateTimePickerControl_sourceParameterName :: Lens.Lens' ParameterDateTimePickerControl Prelude.Text+parameterDateTimePickerControl_sourceParameterName = Lens.lens (\ParameterDateTimePickerControl' {sourceParameterName} -> sourceParameterName) (\s@ParameterDateTimePickerControl' {} a -> s {sourceParameterName = a} :: ParameterDateTimePickerControl)++instance Data.FromJSON ParameterDateTimePickerControl where+  parseJSON =+    Data.withObject+      "ParameterDateTimePickerControl"+      ( \x ->+          ParameterDateTimePickerControl'+            Prelude.<$> (x Data..:? "DisplayOptions")+            Prelude.<*> (x Data..: "ParameterControlId")+            Prelude.<*> (x Data..: "Title")+            Prelude.<*> (x Data..: "SourceParameterName")+      )++instance+  Prelude.Hashable+    ParameterDateTimePickerControl+  where+  hashWithSalt+    _salt+    ParameterDateTimePickerControl' {..} =+      _salt+        `Prelude.hashWithSalt` displayOptions+        `Prelude.hashWithSalt` parameterControlId+        `Prelude.hashWithSalt` title+        `Prelude.hashWithSalt` sourceParameterName++instance+  Prelude.NFData+    ParameterDateTimePickerControl+  where+  rnf ParameterDateTimePickerControl' {..} =+    Prelude.rnf displayOptions+      `Prelude.seq` Prelude.rnf parameterControlId+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf sourceParameterName++instance Data.ToJSON ParameterDateTimePickerControl where+  toJSON ParameterDateTimePickerControl' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DisplayOptions" Data..=)+              Prelude.<$> displayOptions,+            Prelude.Just+              ("ParameterControlId" Data..= parameterControlId),+            Prelude.Just ("Title" Data..= title),+            Prelude.Just+              ("SourceParameterName" Data..= sourceParameterName)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ParameterDeclaration.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.QuickSight.Types.ParameterDeclaration+-- 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.QuickSight.Types.ParameterDeclaration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DateTimeParameterDeclaration+import Amazonka.QuickSight.Types.DecimalParameterDeclaration+import Amazonka.QuickSight.Types.IntegerParameterDeclaration+import Amazonka.QuickSight.Types.StringParameterDeclaration++-- | The declaration definition of a parameter.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html Parameters in Amazon QuickSight>+-- in the /Amazon QuickSight User Guide/.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newParameterDeclaration' smart constructor.+data ParameterDeclaration = ParameterDeclaration'+  { -- | A parameter declaration for the @DateTime@ data type.+    dateTimeParameterDeclaration :: Prelude.Maybe DateTimeParameterDeclaration,+    -- | A parameter declaration for the @Decimal@ data type.+    decimalParameterDeclaration :: Prelude.Maybe DecimalParameterDeclaration,+    -- | A parameter declaration for the @Integer@ data type.+    integerParameterDeclaration :: Prelude.Maybe IntegerParameterDeclaration,+    -- | A parameter declaration for the @String@ data type.+    stringParameterDeclaration :: Prelude.Maybe StringParameterDeclaration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ParameterDeclaration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dateTimeParameterDeclaration', 'parameterDeclaration_dateTimeParameterDeclaration' - A parameter declaration for the @DateTime@ data type.+--+-- 'decimalParameterDeclaration', 'parameterDeclaration_decimalParameterDeclaration' - A parameter declaration for the @Decimal@ data type.+--+-- 'integerParameterDeclaration', 'parameterDeclaration_integerParameterDeclaration' - A parameter declaration for the @Integer@ data type.+--+-- 'stringParameterDeclaration', 'parameterDeclaration_stringParameterDeclaration' - A parameter declaration for the @String@ data type.+newParameterDeclaration ::+  ParameterDeclaration+newParameterDeclaration =+  ParameterDeclaration'+    { dateTimeParameterDeclaration =+        Prelude.Nothing,+      decimalParameterDeclaration = Prelude.Nothing,+      integerParameterDeclaration = Prelude.Nothing,+      stringParameterDeclaration = Prelude.Nothing+    }++-- | A parameter declaration for the @DateTime@ data type.+parameterDeclaration_dateTimeParameterDeclaration :: Lens.Lens' ParameterDeclaration (Prelude.Maybe DateTimeParameterDeclaration)+parameterDeclaration_dateTimeParameterDeclaration = Lens.lens (\ParameterDeclaration' {dateTimeParameterDeclaration} -> dateTimeParameterDeclaration) (\s@ParameterDeclaration' {} a -> s {dateTimeParameterDeclaration = a} :: ParameterDeclaration)++-- | A parameter declaration for the @Decimal@ data type.+parameterDeclaration_decimalParameterDeclaration :: Lens.Lens' ParameterDeclaration (Prelude.Maybe DecimalParameterDeclaration)+parameterDeclaration_decimalParameterDeclaration = Lens.lens (\ParameterDeclaration' {decimalParameterDeclaration} -> decimalParameterDeclaration) (\s@ParameterDeclaration' {} a -> s {decimalParameterDeclaration = a} :: ParameterDeclaration)++-- | A parameter declaration for the @Integer@ data type.+parameterDeclaration_integerParameterDeclaration :: Lens.Lens' ParameterDeclaration (Prelude.Maybe IntegerParameterDeclaration)+parameterDeclaration_integerParameterDeclaration = Lens.lens (\ParameterDeclaration' {integerParameterDeclaration} -> integerParameterDeclaration) (\s@ParameterDeclaration' {} a -> s {integerParameterDeclaration = a} :: ParameterDeclaration)++-- | A parameter declaration for the @String@ data type.+parameterDeclaration_stringParameterDeclaration :: Lens.Lens' ParameterDeclaration (Prelude.Maybe StringParameterDeclaration)+parameterDeclaration_stringParameterDeclaration = Lens.lens (\ParameterDeclaration' {stringParameterDeclaration} -> stringParameterDeclaration) (\s@ParameterDeclaration' {} a -> s {stringParameterDeclaration = a} :: ParameterDeclaration)++instance Data.FromJSON ParameterDeclaration where+  parseJSON =+    Data.withObject+      "ParameterDeclaration"+      ( \x ->+          ParameterDeclaration'+            Prelude.<$> (x Data..:? "DateTimeParameterDeclaration")+            Prelude.<*> (x Data..:? "DecimalParameterDeclaration")+            Prelude.<*> (x Data..:? "IntegerParameterDeclaration")+            Prelude.<*> (x Data..:? "StringParameterDeclaration")+      )++instance Prelude.Hashable ParameterDeclaration where+  hashWithSalt _salt ParameterDeclaration' {..} =+    _salt+      `Prelude.hashWithSalt` dateTimeParameterDeclaration+      `Prelude.hashWithSalt` decimalParameterDeclaration+      `Prelude.hashWithSalt` integerParameterDeclaration+      `Prelude.hashWithSalt` stringParameterDeclaration++instance Prelude.NFData ParameterDeclaration where+  rnf ParameterDeclaration' {..} =+    Prelude.rnf dateTimeParameterDeclaration+      `Prelude.seq` Prelude.rnf decimalParameterDeclaration+      `Prelude.seq` Prelude.rnf integerParameterDeclaration+      `Prelude.seq` Prelude.rnf stringParameterDeclaration++instance Data.ToJSON ParameterDeclaration where+  toJSON ParameterDeclaration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DateTimeParameterDeclaration" Data..=)+              Prelude.<$> dateTimeParameterDeclaration,+            ("DecimalParameterDeclaration" Data..=)+              Prelude.<$> decimalParameterDeclaration,+            ("IntegerParameterDeclaration" Data..=)+              Prelude.<$> integerParameterDeclaration,+            ("StringParameterDeclaration" Data..=)+              Prelude.<$> stringParameterDeclaration+          ]+      )
+ gen/Amazonka/QuickSight/Types/ParameterDropDownControl.hs view
@@ -0,0 +1,181 @@+{-# 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.QuickSight.Types.ParameterDropDownControl+-- 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.QuickSight.Types.ParameterDropDownControl where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CascadingControlConfiguration+import Amazonka.QuickSight.Types.DropDownControlDisplayOptions+import Amazonka.QuickSight.Types.ParameterSelectableValues+import Amazonka.QuickSight.Types.SheetControlListType++-- | A control to display a dropdown list with buttons that are used to+-- select a single value.+--+-- /See:/ 'newParameterDropDownControl' smart constructor.+data ParameterDropDownControl = ParameterDropDownControl'+  { -- | The values that are displayed in a control can be configured to only+    -- show values that are valid based on what\'s selected in other controls.+    cascadingControlConfiguration :: Prelude.Maybe CascadingControlConfiguration,+    -- | The display options of a control.+    displayOptions :: Prelude.Maybe DropDownControlDisplayOptions,+    -- | A list of selectable values that are used in a control.+    selectableValues :: Prelude.Maybe ParameterSelectableValues,+    -- | The type parameter name of the @ParameterDropDownControl@.+    type' :: Prelude.Maybe SheetControlListType,+    -- | The ID of the @ParameterDropDownControl@.+    parameterControlId :: Prelude.Text,+    -- | The title of the @ParameterDropDownControl@.+    title :: Prelude.Text,+    -- | The source parameter name of the @ParameterDropDownControl@.+    sourceParameterName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ParameterDropDownControl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cascadingControlConfiguration', 'parameterDropDownControl_cascadingControlConfiguration' - The values that are displayed in a control can be configured to only+-- show values that are valid based on what\'s selected in other controls.+--+-- 'displayOptions', 'parameterDropDownControl_displayOptions' - The display options of a control.+--+-- 'selectableValues', 'parameterDropDownControl_selectableValues' - A list of selectable values that are used in a control.+--+-- 'type'', 'parameterDropDownControl_type' - The type parameter name of the @ParameterDropDownControl@.+--+-- 'parameterControlId', 'parameterDropDownControl_parameterControlId' - The ID of the @ParameterDropDownControl@.+--+-- 'title', 'parameterDropDownControl_title' - The title of the @ParameterDropDownControl@.+--+-- 'sourceParameterName', 'parameterDropDownControl_sourceParameterName' - The source parameter name of the @ParameterDropDownControl@.+newParameterDropDownControl ::+  -- | 'parameterControlId'+  Prelude.Text ->+  -- | 'title'+  Prelude.Text ->+  -- | 'sourceParameterName'+  Prelude.Text ->+  ParameterDropDownControl+newParameterDropDownControl+  pParameterControlId_+  pTitle_+  pSourceParameterName_ =+    ParameterDropDownControl'+      { cascadingControlConfiguration =+          Prelude.Nothing,+        displayOptions = Prelude.Nothing,+        selectableValues = Prelude.Nothing,+        type' = Prelude.Nothing,+        parameterControlId = pParameterControlId_,+        title = pTitle_,+        sourceParameterName = pSourceParameterName_+      }++-- | The values that are displayed in a control can be configured to only+-- show values that are valid based on what\'s selected in other controls.+parameterDropDownControl_cascadingControlConfiguration :: Lens.Lens' ParameterDropDownControl (Prelude.Maybe CascadingControlConfiguration)+parameterDropDownControl_cascadingControlConfiguration = Lens.lens (\ParameterDropDownControl' {cascadingControlConfiguration} -> cascadingControlConfiguration) (\s@ParameterDropDownControl' {} a -> s {cascadingControlConfiguration = a} :: ParameterDropDownControl)++-- | The display options of a control.+parameterDropDownControl_displayOptions :: Lens.Lens' ParameterDropDownControl (Prelude.Maybe DropDownControlDisplayOptions)+parameterDropDownControl_displayOptions = Lens.lens (\ParameterDropDownControl' {displayOptions} -> displayOptions) (\s@ParameterDropDownControl' {} a -> s {displayOptions = a} :: ParameterDropDownControl)++-- | A list of selectable values that are used in a control.+parameterDropDownControl_selectableValues :: Lens.Lens' ParameterDropDownControl (Prelude.Maybe ParameterSelectableValues)+parameterDropDownControl_selectableValues = Lens.lens (\ParameterDropDownControl' {selectableValues} -> selectableValues) (\s@ParameterDropDownControl' {} a -> s {selectableValues = a} :: ParameterDropDownControl)++-- | The type parameter name of the @ParameterDropDownControl@.+parameterDropDownControl_type :: Lens.Lens' ParameterDropDownControl (Prelude.Maybe SheetControlListType)+parameterDropDownControl_type = Lens.lens (\ParameterDropDownControl' {type'} -> type') (\s@ParameterDropDownControl' {} a -> s {type' = a} :: ParameterDropDownControl)++-- | The ID of the @ParameterDropDownControl@.+parameterDropDownControl_parameterControlId :: Lens.Lens' ParameterDropDownControl Prelude.Text+parameterDropDownControl_parameterControlId = Lens.lens (\ParameterDropDownControl' {parameterControlId} -> parameterControlId) (\s@ParameterDropDownControl' {} a -> s {parameterControlId = a} :: ParameterDropDownControl)++-- | The title of the @ParameterDropDownControl@.+parameterDropDownControl_title :: Lens.Lens' ParameterDropDownControl Prelude.Text+parameterDropDownControl_title = Lens.lens (\ParameterDropDownControl' {title} -> title) (\s@ParameterDropDownControl' {} a -> s {title = a} :: ParameterDropDownControl)++-- | The source parameter name of the @ParameterDropDownControl@.+parameterDropDownControl_sourceParameterName :: Lens.Lens' ParameterDropDownControl Prelude.Text+parameterDropDownControl_sourceParameterName = Lens.lens (\ParameterDropDownControl' {sourceParameterName} -> sourceParameterName) (\s@ParameterDropDownControl' {} a -> s {sourceParameterName = a} :: ParameterDropDownControl)++instance Data.FromJSON ParameterDropDownControl where+  parseJSON =+    Data.withObject+      "ParameterDropDownControl"+      ( \x ->+          ParameterDropDownControl'+            Prelude.<$> (x Data..:? "CascadingControlConfiguration")+            Prelude.<*> (x Data..:? "DisplayOptions")+            Prelude.<*> (x Data..:? "SelectableValues")+            Prelude.<*> (x Data..:? "Type")+            Prelude.<*> (x Data..: "ParameterControlId")+            Prelude.<*> (x Data..: "Title")+            Prelude.<*> (x Data..: "SourceParameterName")+      )++instance Prelude.Hashable ParameterDropDownControl where+  hashWithSalt _salt ParameterDropDownControl' {..} =+    _salt+      `Prelude.hashWithSalt` cascadingControlConfiguration+      `Prelude.hashWithSalt` displayOptions+      `Prelude.hashWithSalt` selectableValues+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` parameterControlId+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` sourceParameterName++instance Prelude.NFData ParameterDropDownControl where+  rnf ParameterDropDownControl' {..} =+    Prelude.rnf cascadingControlConfiguration+      `Prelude.seq` Prelude.rnf displayOptions+      `Prelude.seq` Prelude.rnf selectableValues+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf parameterControlId+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf sourceParameterName++instance Data.ToJSON ParameterDropDownControl where+  toJSON ParameterDropDownControl' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CascadingControlConfiguration" Data..=)+              Prelude.<$> cascadingControlConfiguration,+            ("DisplayOptions" Data..=)+              Prelude.<$> displayOptions,+            ("SelectableValues" Data..=)+              Prelude.<$> selectableValues,+            ("Type" Data..=) Prelude.<$> type',+            Prelude.Just+              ("ParameterControlId" Data..= parameterControlId),+            Prelude.Just ("Title" Data..= title),+            Prelude.Just+              ("SourceParameterName" Data..= sourceParameterName)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ParameterListControl.hs view
@@ -0,0 +1,181 @@+{-# 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.QuickSight.Types.ParameterListControl+-- 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.QuickSight.Types.ParameterListControl where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CascadingControlConfiguration+import Amazonka.QuickSight.Types.ListControlDisplayOptions+import Amazonka.QuickSight.Types.ParameterSelectableValues+import Amazonka.QuickSight.Types.SheetControlListType++-- | A control to display a list with buttons or boxes that are used to+-- select either a single value or multiple values.+--+-- /See:/ 'newParameterListControl' smart constructor.+data ParameterListControl = ParameterListControl'+  { -- | The values that are displayed in a control can be configured to only+    -- show values that are valid based on what\'s selected in other controls.+    cascadingControlConfiguration :: Prelude.Maybe CascadingControlConfiguration,+    -- | The display options of a control.+    displayOptions :: Prelude.Maybe ListControlDisplayOptions,+    -- | A list of selectable values that are used in a control.+    selectableValues :: Prelude.Maybe ParameterSelectableValues,+    -- | The type of @ParameterListControl@.+    type' :: Prelude.Maybe SheetControlListType,+    -- | The ID of the @ParameterListControl@.+    parameterControlId :: Prelude.Text,+    -- | The title of the @ParameterListControl@.+    title :: Prelude.Text,+    -- | The source parameter name of the @ParameterListControl@.+    sourceParameterName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ParameterListControl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cascadingControlConfiguration', 'parameterListControl_cascadingControlConfiguration' - The values that are displayed in a control can be configured to only+-- show values that are valid based on what\'s selected in other controls.+--+-- 'displayOptions', 'parameterListControl_displayOptions' - The display options of a control.+--+-- 'selectableValues', 'parameterListControl_selectableValues' - A list of selectable values that are used in a control.+--+-- 'type'', 'parameterListControl_type' - The type of @ParameterListControl@.+--+-- 'parameterControlId', 'parameterListControl_parameterControlId' - The ID of the @ParameterListControl@.+--+-- 'title', 'parameterListControl_title' - The title of the @ParameterListControl@.+--+-- 'sourceParameterName', 'parameterListControl_sourceParameterName' - The source parameter name of the @ParameterListControl@.+newParameterListControl ::+  -- | 'parameterControlId'+  Prelude.Text ->+  -- | 'title'+  Prelude.Text ->+  -- | 'sourceParameterName'+  Prelude.Text ->+  ParameterListControl+newParameterListControl+  pParameterControlId_+  pTitle_+  pSourceParameterName_ =+    ParameterListControl'+      { cascadingControlConfiguration =+          Prelude.Nothing,+        displayOptions = Prelude.Nothing,+        selectableValues = Prelude.Nothing,+        type' = Prelude.Nothing,+        parameterControlId = pParameterControlId_,+        title = pTitle_,+        sourceParameterName = pSourceParameterName_+      }++-- | The values that are displayed in a control can be configured to only+-- show values that are valid based on what\'s selected in other controls.+parameterListControl_cascadingControlConfiguration :: Lens.Lens' ParameterListControl (Prelude.Maybe CascadingControlConfiguration)+parameterListControl_cascadingControlConfiguration = Lens.lens (\ParameterListControl' {cascadingControlConfiguration} -> cascadingControlConfiguration) (\s@ParameterListControl' {} a -> s {cascadingControlConfiguration = a} :: ParameterListControl)++-- | The display options of a control.+parameterListControl_displayOptions :: Lens.Lens' ParameterListControl (Prelude.Maybe ListControlDisplayOptions)+parameterListControl_displayOptions = Lens.lens (\ParameterListControl' {displayOptions} -> displayOptions) (\s@ParameterListControl' {} a -> s {displayOptions = a} :: ParameterListControl)++-- | A list of selectable values that are used in a control.+parameterListControl_selectableValues :: Lens.Lens' ParameterListControl (Prelude.Maybe ParameterSelectableValues)+parameterListControl_selectableValues = Lens.lens (\ParameterListControl' {selectableValues} -> selectableValues) (\s@ParameterListControl' {} a -> s {selectableValues = a} :: ParameterListControl)++-- | The type of @ParameterListControl@.+parameterListControl_type :: Lens.Lens' ParameterListControl (Prelude.Maybe SheetControlListType)+parameterListControl_type = Lens.lens (\ParameterListControl' {type'} -> type') (\s@ParameterListControl' {} a -> s {type' = a} :: ParameterListControl)++-- | The ID of the @ParameterListControl@.+parameterListControl_parameterControlId :: Lens.Lens' ParameterListControl Prelude.Text+parameterListControl_parameterControlId = Lens.lens (\ParameterListControl' {parameterControlId} -> parameterControlId) (\s@ParameterListControl' {} a -> s {parameterControlId = a} :: ParameterListControl)++-- | The title of the @ParameterListControl@.+parameterListControl_title :: Lens.Lens' ParameterListControl Prelude.Text+parameterListControl_title = Lens.lens (\ParameterListControl' {title} -> title) (\s@ParameterListControl' {} a -> s {title = a} :: ParameterListControl)++-- | The source parameter name of the @ParameterListControl@.+parameterListControl_sourceParameterName :: Lens.Lens' ParameterListControl Prelude.Text+parameterListControl_sourceParameterName = Lens.lens (\ParameterListControl' {sourceParameterName} -> sourceParameterName) (\s@ParameterListControl' {} a -> s {sourceParameterName = a} :: ParameterListControl)++instance Data.FromJSON ParameterListControl where+  parseJSON =+    Data.withObject+      "ParameterListControl"+      ( \x ->+          ParameterListControl'+            Prelude.<$> (x Data..:? "CascadingControlConfiguration")+            Prelude.<*> (x Data..:? "DisplayOptions")+            Prelude.<*> (x Data..:? "SelectableValues")+            Prelude.<*> (x Data..:? "Type")+            Prelude.<*> (x Data..: "ParameterControlId")+            Prelude.<*> (x Data..: "Title")+            Prelude.<*> (x Data..: "SourceParameterName")+      )++instance Prelude.Hashable ParameterListControl where+  hashWithSalt _salt ParameterListControl' {..} =+    _salt+      `Prelude.hashWithSalt` cascadingControlConfiguration+      `Prelude.hashWithSalt` displayOptions+      `Prelude.hashWithSalt` selectableValues+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` parameterControlId+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` sourceParameterName++instance Prelude.NFData ParameterListControl where+  rnf ParameterListControl' {..} =+    Prelude.rnf cascadingControlConfiguration+      `Prelude.seq` Prelude.rnf displayOptions+      `Prelude.seq` Prelude.rnf selectableValues+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf parameterControlId+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf sourceParameterName++instance Data.ToJSON ParameterListControl where+  toJSON ParameterListControl' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CascadingControlConfiguration" Data..=)+              Prelude.<$> cascadingControlConfiguration,+            ("DisplayOptions" Data..=)+              Prelude.<$> displayOptions,+            ("SelectableValues" Data..=)+              Prelude.<$> selectableValues,+            ("Type" Data..=) Prelude.<$> type',+            Prelude.Just+              ("ParameterControlId" Data..= parameterControlId),+            Prelude.Just ("Title" Data..= title),+            Prelude.Just+              ("SourceParameterName" Data..= sourceParameterName)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ParameterSelectableValues.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.QuickSight.Types.ParameterSelectableValues+-- 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.QuickSight.Types.ParameterSelectableValues where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnIdentifier++-- | A list of selectable values that are used in a control.+--+-- /See:/ 'newParameterSelectableValues' smart constructor.+data ParameterSelectableValues = ParameterSelectableValues'+  { -- | The column identifier that fetches values from the data set.+    linkToDataSetColumn :: Prelude.Maybe ColumnIdentifier,+    -- | The values that are used in @ParameterSelectableValues@.+    values :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ParameterSelectableValues' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'linkToDataSetColumn', 'parameterSelectableValues_linkToDataSetColumn' - The column identifier that fetches values from the data set.+--+-- 'values', 'parameterSelectableValues_values' - The values that are used in @ParameterSelectableValues@.+newParameterSelectableValues ::+  ParameterSelectableValues+newParameterSelectableValues =+  ParameterSelectableValues'+    { linkToDataSetColumn =+        Prelude.Nothing,+      values = Prelude.Nothing+    }++-- | The column identifier that fetches values from the data set.+parameterSelectableValues_linkToDataSetColumn :: Lens.Lens' ParameterSelectableValues (Prelude.Maybe ColumnIdentifier)+parameterSelectableValues_linkToDataSetColumn = Lens.lens (\ParameterSelectableValues' {linkToDataSetColumn} -> linkToDataSetColumn) (\s@ParameterSelectableValues' {} a -> s {linkToDataSetColumn = a} :: ParameterSelectableValues)++-- | The values that are used in @ParameterSelectableValues@.+parameterSelectableValues_values :: Lens.Lens' ParameterSelectableValues (Prelude.Maybe [Prelude.Text])+parameterSelectableValues_values = Lens.lens (\ParameterSelectableValues' {values} -> values) (\s@ParameterSelectableValues' {} a -> s {values = a} :: ParameterSelectableValues) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ParameterSelectableValues where+  parseJSON =+    Data.withObject+      "ParameterSelectableValues"+      ( \x ->+          ParameterSelectableValues'+            Prelude.<$> (x Data..:? "LinkToDataSetColumn")+            Prelude.<*> (x Data..:? "Values" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable ParameterSelectableValues where+  hashWithSalt _salt ParameterSelectableValues' {..} =+    _salt+      `Prelude.hashWithSalt` linkToDataSetColumn+      `Prelude.hashWithSalt` values++instance Prelude.NFData ParameterSelectableValues where+  rnf ParameterSelectableValues' {..} =+    Prelude.rnf linkToDataSetColumn+      `Prelude.seq` Prelude.rnf values++instance Data.ToJSON ParameterSelectableValues where+  toJSON ParameterSelectableValues' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LinkToDataSetColumn" Data..=)+              Prelude.<$> linkToDataSetColumn,+            ("Values" Data..=) Prelude.<$> values+          ]+      )
+ gen/Amazonka/QuickSight/Types/ParameterSliderControl.hs view
@@ -0,0 +1,182 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ParameterSliderControl+-- 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.QuickSight.Types.ParameterSliderControl where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.SliderControlDisplayOptions++-- | A control to display a horizontal toggle bar. This is used to change a+-- value by sliding the toggle.+--+-- /See:/ 'newParameterSliderControl' smart constructor.+data ParameterSliderControl = ParameterSliderControl'+  { -- | The display options of a control.+    displayOptions :: Prelude.Maybe SliderControlDisplayOptions,+    -- | The ID of the @ParameterSliderControl@.+    parameterControlId :: Prelude.Text,+    -- | The title of the @ParameterSliderControl@.+    title :: Prelude.Text,+    -- | The source parameter name of the @ParameterSliderControl@.+    sourceParameterName :: Prelude.Text,+    -- | The smaller value that is displayed at the left of the slider.+    maximumValue :: Prelude.Double,+    -- | The larger value that is displayed at the right of the slider.+    minimumValue :: Prelude.Double,+    -- | The number of increments that the slider bar is divided into.+    stepSize :: Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ParameterSliderControl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'displayOptions', 'parameterSliderControl_displayOptions' - The display options of a control.+--+-- 'parameterControlId', 'parameterSliderControl_parameterControlId' - The ID of the @ParameterSliderControl@.+--+-- 'title', 'parameterSliderControl_title' - The title of the @ParameterSliderControl@.+--+-- 'sourceParameterName', 'parameterSliderControl_sourceParameterName' - The source parameter name of the @ParameterSliderControl@.+--+-- 'maximumValue', 'parameterSliderControl_maximumValue' - The smaller value that is displayed at the left of the slider.+--+-- 'minimumValue', 'parameterSliderControl_minimumValue' - The larger value that is displayed at the right of the slider.+--+-- 'stepSize', 'parameterSliderControl_stepSize' - The number of increments that the slider bar is divided into.+newParameterSliderControl ::+  -- | 'parameterControlId'+  Prelude.Text ->+  -- | 'title'+  Prelude.Text ->+  -- | 'sourceParameterName'+  Prelude.Text ->+  -- | 'maximumValue'+  Prelude.Double ->+  -- | 'minimumValue'+  Prelude.Double ->+  -- | 'stepSize'+  Prelude.Double ->+  ParameterSliderControl+newParameterSliderControl+  pParameterControlId_+  pTitle_+  pSourceParameterName_+  pMaximumValue_+  pMinimumValue_+  pStepSize_ =+    ParameterSliderControl'+      { displayOptions =+          Prelude.Nothing,+        parameterControlId = pParameterControlId_,+        title = pTitle_,+        sourceParameterName = pSourceParameterName_,+        maximumValue = pMaximumValue_,+        minimumValue = pMinimumValue_,+        stepSize = pStepSize_+      }++-- | The display options of a control.+parameterSliderControl_displayOptions :: Lens.Lens' ParameterSliderControl (Prelude.Maybe SliderControlDisplayOptions)+parameterSliderControl_displayOptions = Lens.lens (\ParameterSliderControl' {displayOptions} -> displayOptions) (\s@ParameterSliderControl' {} a -> s {displayOptions = a} :: ParameterSliderControl)++-- | The ID of the @ParameterSliderControl@.+parameterSliderControl_parameterControlId :: Lens.Lens' ParameterSliderControl Prelude.Text+parameterSliderControl_parameterControlId = Lens.lens (\ParameterSliderControl' {parameterControlId} -> parameterControlId) (\s@ParameterSliderControl' {} a -> s {parameterControlId = a} :: ParameterSliderControl)++-- | The title of the @ParameterSliderControl@.+parameterSliderControl_title :: Lens.Lens' ParameterSliderControl Prelude.Text+parameterSliderControl_title = Lens.lens (\ParameterSliderControl' {title} -> title) (\s@ParameterSliderControl' {} a -> s {title = a} :: ParameterSliderControl)++-- | The source parameter name of the @ParameterSliderControl@.+parameterSliderControl_sourceParameterName :: Lens.Lens' ParameterSliderControl Prelude.Text+parameterSliderControl_sourceParameterName = Lens.lens (\ParameterSliderControl' {sourceParameterName} -> sourceParameterName) (\s@ParameterSliderControl' {} a -> s {sourceParameterName = a} :: ParameterSliderControl)++-- | The smaller value that is displayed at the left of the slider.+parameterSliderControl_maximumValue :: Lens.Lens' ParameterSliderControl Prelude.Double+parameterSliderControl_maximumValue = Lens.lens (\ParameterSliderControl' {maximumValue} -> maximumValue) (\s@ParameterSliderControl' {} a -> s {maximumValue = a} :: ParameterSliderControl)++-- | The larger value that is displayed at the right of the slider.+parameterSliderControl_minimumValue :: Lens.Lens' ParameterSliderControl Prelude.Double+parameterSliderControl_minimumValue = Lens.lens (\ParameterSliderControl' {minimumValue} -> minimumValue) (\s@ParameterSliderControl' {} a -> s {minimumValue = a} :: ParameterSliderControl)++-- | The number of increments that the slider bar is divided into.+parameterSliderControl_stepSize :: Lens.Lens' ParameterSliderControl Prelude.Double+parameterSliderControl_stepSize = Lens.lens (\ParameterSliderControl' {stepSize} -> stepSize) (\s@ParameterSliderControl' {} a -> s {stepSize = a} :: ParameterSliderControl)++instance Data.FromJSON ParameterSliderControl where+  parseJSON =+    Data.withObject+      "ParameterSliderControl"+      ( \x ->+          ParameterSliderControl'+            Prelude.<$> (x Data..:? "DisplayOptions")+            Prelude.<*> (x Data..: "ParameterControlId")+            Prelude.<*> (x Data..: "Title")+            Prelude.<*> (x Data..: "SourceParameterName")+            Prelude.<*> (x Data..: "MaximumValue")+            Prelude.<*> (x Data..: "MinimumValue")+            Prelude.<*> (x Data..: "StepSize")+      )++instance Prelude.Hashable ParameterSliderControl where+  hashWithSalt _salt ParameterSliderControl' {..} =+    _salt+      `Prelude.hashWithSalt` displayOptions+      `Prelude.hashWithSalt` parameterControlId+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` sourceParameterName+      `Prelude.hashWithSalt` maximumValue+      `Prelude.hashWithSalt` minimumValue+      `Prelude.hashWithSalt` stepSize++instance Prelude.NFData ParameterSliderControl where+  rnf ParameterSliderControl' {..} =+    Prelude.rnf displayOptions+      `Prelude.seq` Prelude.rnf parameterControlId+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf sourceParameterName+      `Prelude.seq` Prelude.rnf maximumValue+      `Prelude.seq` Prelude.rnf minimumValue+      `Prelude.seq` Prelude.rnf stepSize++instance Data.ToJSON ParameterSliderControl where+  toJSON ParameterSliderControl' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DisplayOptions" Data..=)+              Prelude.<$> displayOptions,+            Prelude.Just+              ("ParameterControlId" Data..= parameterControlId),+            Prelude.Just ("Title" Data..= title),+            Prelude.Just+              ("SourceParameterName" Data..= sourceParameterName),+            Prelude.Just ("MaximumValue" Data..= maximumValue),+            Prelude.Just ("MinimumValue" Data..= minimumValue),+            Prelude.Just ("StepSize" Data..= stepSize)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ParameterTextAreaControl.hs view
@@ -0,0 +1,146 @@+{-# 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.QuickSight.Types.ParameterTextAreaControl+-- 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.QuickSight.Types.ParameterTextAreaControl where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TextAreaControlDisplayOptions++-- | A control to display a text box that is used to enter multiple entries.+--+-- /See:/ 'newParameterTextAreaControl' smart constructor.+data ParameterTextAreaControl = ParameterTextAreaControl'+  { -- | The delimiter that is used to separate the lines in text.+    delimiter :: Prelude.Maybe Prelude.Text,+    -- | The display options of a control.+    displayOptions :: Prelude.Maybe TextAreaControlDisplayOptions,+    -- | The ID of the @ParameterTextAreaControl@.+    parameterControlId :: Prelude.Text,+    -- | The title of the @ParameterTextAreaControl@.+    title :: Prelude.Text,+    -- | The source parameter name of the @ParameterTextAreaControl@.+    sourceParameterName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ParameterTextAreaControl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'delimiter', 'parameterTextAreaControl_delimiter' - The delimiter that is used to separate the lines in text.+--+-- 'displayOptions', 'parameterTextAreaControl_displayOptions' - The display options of a control.+--+-- 'parameterControlId', 'parameterTextAreaControl_parameterControlId' - The ID of the @ParameterTextAreaControl@.+--+-- 'title', 'parameterTextAreaControl_title' - The title of the @ParameterTextAreaControl@.+--+-- 'sourceParameterName', 'parameterTextAreaControl_sourceParameterName' - The source parameter name of the @ParameterTextAreaControl@.+newParameterTextAreaControl ::+  -- | 'parameterControlId'+  Prelude.Text ->+  -- | 'title'+  Prelude.Text ->+  -- | 'sourceParameterName'+  Prelude.Text ->+  ParameterTextAreaControl+newParameterTextAreaControl+  pParameterControlId_+  pTitle_+  pSourceParameterName_ =+    ParameterTextAreaControl'+      { delimiter =+          Prelude.Nothing,+        displayOptions = Prelude.Nothing,+        parameterControlId = pParameterControlId_,+        title = pTitle_,+        sourceParameterName = pSourceParameterName_+      }++-- | The delimiter that is used to separate the lines in text.+parameterTextAreaControl_delimiter :: Lens.Lens' ParameterTextAreaControl (Prelude.Maybe Prelude.Text)+parameterTextAreaControl_delimiter = Lens.lens (\ParameterTextAreaControl' {delimiter} -> delimiter) (\s@ParameterTextAreaControl' {} a -> s {delimiter = a} :: ParameterTextAreaControl)++-- | The display options of a control.+parameterTextAreaControl_displayOptions :: Lens.Lens' ParameterTextAreaControl (Prelude.Maybe TextAreaControlDisplayOptions)+parameterTextAreaControl_displayOptions = Lens.lens (\ParameterTextAreaControl' {displayOptions} -> displayOptions) (\s@ParameterTextAreaControl' {} a -> s {displayOptions = a} :: ParameterTextAreaControl)++-- | The ID of the @ParameterTextAreaControl@.+parameterTextAreaControl_parameterControlId :: Lens.Lens' ParameterTextAreaControl Prelude.Text+parameterTextAreaControl_parameterControlId = Lens.lens (\ParameterTextAreaControl' {parameterControlId} -> parameterControlId) (\s@ParameterTextAreaControl' {} a -> s {parameterControlId = a} :: ParameterTextAreaControl)++-- | The title of the @ParameterTextAreaControl@.+parameterTextAreaControl_title :: Lens.Lens' ParameterTextAreaControl Prelude.Text+parameterTextAreaControl_title = Lens.lens (\ParameterTextAreaControl' {title} -> title) (\s@ParameterTextAreaControl' {} a -> s {title = a} :: ParameterTextAreaControl)++-- | The source parameter name of the @ParameterTextAreaControl@.+parameterTextAreaControl_sourceParameterName :: Lens.Lens' ParameterTextAreaControl Prelude.Text+parameterTextAreaControl_sourceParameterName = Lens.lens (\ParameterTextAreaControl' {sourceParameterName} -> sourceParameterName) (\s@ParameterTextAreaControl' {} a -> s {sourceParameterName = a} :: ParameterTextAreaControl)++instance Data.FromJSON ParameterTextAreaControl where+  parseJSON =+    Data.withObject+      "ParameterTextAreaControl"+      ( \x ->+          ParameterTextAreaControl'+            Prelude.<$> (x Data..:? "Delimiter")+            Prelude.<*> (x Data..:? "DisplayOptions")+            Prelude.<*> (x Data..: "ParameterControlId")+            Prelude.<*> (x Data..: "Title")+            Prelude.<*> (x Data..: "SourceParameterName")+      )++instance Prelude.Hashable ParameterTextAreaControl where+  hashWithSalt _salt ParameterTextAreaControl' {..} =+    _salt+      `Prelude.hashWithSalt` delimiter+      `Prelude.hashWithSalt` displayOptions+      `Prelude.hashWithSalt` parameterControlId+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` sourceParameterName++instance Prelude.NFData ParameterTextAreaControl where+  rnf ParameterTextAreaControl' {..} =+    Prelude.rnf delimiter+      `Prelude.seq` Prelude.rnf displayOptions+      `Prelude.seq` Prelude.rnf parameterControlId+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf sourceParameterName++instance Data.ToJSON ParameterTextAreaControl where+  toJSON ParameterTextAreaControl' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Delimiter" Data..=) Prelude.<$> delimiter,+            ("DisplayOptions" Data..=)+              Prelude.<$> displayOptions,+            Prelude.Just+              ("ParameterControlId" Data..= parameterControlId),+            Prelude.Just ("Title" Data..= title),+            Prelude.Just+              ("SourceParameterName" Data..= sourceParameterName)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ParameterTextFieldControl.hs view
@@ -0,0 +1,133 @@+{-# 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.QuickSight.Types.ParameterTextFieldControl+-- 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.QuickSight.Types.ParameterTextFieldControl where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TextFieldControlDisplayOptions++-- | A control to display a text box that is used to enter a single entry.+--+-- /See:/ 'newParameterTextFieldControl' smart constructor.+data ParameterTextFieldControl = ParameterTextFieldControl'+  { -- | The display options of a control.+    displayOptions :: Prelude.Maybe TextFieldControlDisplayOptions,+    -- | The ID of the @ParameterTextFieldControl@.+    parameterControlId :: Prelude.Text,+    -- | The title of the @ParameterTextFieldControl@.+    title :: Prelude.Text,+    -- | The source parameter name of the @ParameterTextFieldControl@.+    sourceParameterName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ParameterTextFieldControl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'displayOptions', 'parameterTextFieldControl_displayOptions' - The display options of a control.+--+-- 'parameterControlId', 'parameterTextFieldControl_parameterControlId' - The ID of the @ParameterTextFieldControl@.+--+-- 'title', 'parameterTextFieldControl_title' - The title of the @ParameterTextFieldControl@.+--+-- 'sourceParameterName', 'parameterTextFieldControl_sourceParameterName' - The source parameter name of the @ParameterTextFieldControl@.+newParameterTextFieldControl ::+  -- | 'parameterControlId'+  Prelude.Text ->+  -- | 'title'+  Prelude.Text ->+  -- | 'sourceParameterName'+  Prelude.Text ->+  ParameterTextFieldControl+newParameterTextFieldControl+  pParameterControlId_+  pTitle_+  pSourceParameterName_ =+    ParameterTextFieldControl'+      { displayOptions =+          Prelude.Nothing,+        parameterControlId = pParameterControlId_,+        title = pTitle_,+        sourceParameterName = pSourceParameterName_+      }++-- | The display options of a control.+parameterTextFieldControl_displayOptions :: Lens.Lens' ParameterTextFieldControl (Prelude.Maybe TextFieldControlDisplayOptions)+parameterTextFieldControl_displayOptions = Lens.lens (\ParameterTextFieldControl' {displayOptions} -> displayOptions) (\s@ParameterTextFieldControl' {} a -> s {displayOptions = a} :: ParameterTextFieldControl)++-- | The ID of the @ParameterTextFieldControl@.+parameterTextFieldControl_parameterControlId :: Lens.Lens' ParameterTextFieldControl Prelude.Text+parameterTextFieldControl_parameterControlId = Lens.lens (\ParameterTextFieldControl' {parameterControlId} -> parameterControlId) (\s@ParameterTextFieldControl' {} a -> s {parameterControlId = a} :: ParameterTextFieldControl)++-- | The title of the @ParameterTextFieldControl@.+parameterTextFieldControl_title :: Lens.Lens' ParameterTextFieldControl Prelude.Text+parameterTextFieldControl_title = Lens.lens (\ParameterTextFieldControl' {title} -> title) (\s@ParameterTextFieldControl' {} a -> s {title = a} :: ParameterTextFieldControl)++-- | The source parameter name of the @ParameterTextFieldControl@.+parameterTextFieldControl_sourceParameterName :: Lens.Lens' ParameterTextFieldControl Prelude.Text+parameterTextFieldControl_sourceParameterName = Lens.lens (\ParameterTextFieldControl' {sourceParameterName} -> sourceParameterName) (\s@ParameterTextFieldControl' {} a -> s {sourceParameterName = a} :: ParameterTextFieldControl)++instance Data.FromJSON ParameterTextFieldControl where+  parseJSON =+    Data.withObject+      "ParameterTextFieldControl"+      ( \x ->+          ParameterTextFieldControl'+            Prelude.<$> (x Data..:? "DisplayOptions")+            Prelude.<*> (x Data..: "ParameterControlId")+            Prelude.<*> (x Data..: "Title")+            Prelude.<*> (x Data..: "SourceParameterName")+      )++instance Prelude.Hashable ParameterTextFieldControl where+  hashWithSalt _salt ParameterTextFieldControl' {..} =+    _salt+      `Prelude.hashWithSalt` displayOptions+      `Prelude.hashWithSalt` parameterControlId+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` sourceParameterName++instance Prelude.NFData ParameterTextFieldControl where+  rnf ParameterTextFieldControl' {..} =+    Prelude.rnf displayOptions+      `Prelude.seq` Prelude.rnf parameterControlId+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf sourceParameterName++instance Data.ToJSON ParameterTextFieldControl where+  toJSON ParameterTextFieldControl' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DisplayOptions" Data..=)+              Prelude.<$> displayOptions,+            Prelude.Just+              ("ParameterControlId" Data..= parameterControlId),+            Prelude.Just ("Title" Data..= title),+            Prelude.Just+              ("SourceParameterName" Data..= sourceParameterName)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ParameterValueType.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.QuickSight.Types.ParameterValueType+-- 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.QuickSight.Types.ParameterValueType+  ( ParameterValueType+      ( ..,+        ParameterValueType_MULTI_VALUED,+        ParameterValueType_SINGLE_VALUED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ParameterValueType = ParameterValueType'+  { fromParameterValueType ::+      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 ParameterValueType_MULTI_VALUED :: ParameterValueType+pattern ParameterValueType_MULTI_VALUED = ParameterValueType' "MULTI_VALUED"++pattern ParameterValueType_SINGLE_VALUED :: ParameterValueType+pattern ParameterValueType_SINGLE_VALUED = ParameterValueType' "SINGLE_VALUED"++{-# COMPLETE+  ParameterValueType_MULTI_VALUED,+  ParameterValueType_SINGLE_VALUED,+  ParameterValueType'+  #-}
+ gen/Amazonka/QuickSight/Types/Parameters.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.Parameters+-- 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.QuickSight.Types.Parameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DateTimeParameter+import Amazonka.QuickSight.Types.DecimalParameter+import Amazonka.QuickSight.Types.IntegerParameter+import Amazonka.QuickSight.Types.StringParameter++-- | A list of Amazon QuickSight parameters and the list\'s override values.+--+-- /See:/ 'newParameters' smart constructor.+data Parameters = Parameters'+  { -- | The parameters that have a data type of date-time.+    dateTimeParameters :: Prelude.Maybe [DateTimeParameter],+    -- | The parameters that have a data type of decimal.+    decimalParameters :: Prelude.Maybe [DecimalParameter],+    -- | The parameters that have a data type of integer.+    integerParameters :: Prelude.Maybe [IntegerParameter],+    -- | The parameters that have a data type of string.+    stringParameters :: Prelude.Maybe [StringParameter]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Parameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dateTimeParameters', 'parameters_dateTimeParameters' - The parameters that have a data type of date-time.+--+-- 'decimalParameters', 'parameters_decimalParameters' - The parameters that have a data type of decimal.+--+-- 'integerParameters', 'parameters_integerParameters' - The parameters that have a data type of integer.+--+-- 'stringParameters', 'parameters_stringParameters' - The parameters that have a data type of string.+newParameters ::+  Parameters+newParameters =+  Parameters'+    { dateTimeParameters = Prelude.Nothing,+      decimalParameters = Prelude.Nothing,+      integerParameters = Prelude.Nothing,+      stringParameters = Prelude.Nothing+    }++-- | The parameters that have a data type of date-time.+parameters_dateTimeParameters :: Lens.Lens' Parameters (Prelude.Maybe [DateTimeParameter])+parameters_dateTimeParameters = Lens.lens (\Parameters' {dateTimeParameters} -> dateTimeParameters) (\s@Parameters' {} a -> s {dateTimeParameters = a} :: Parameters) Prelude.. Lens.mapping Lens.coerced++-- | The parameters that have a data type of decimal.+parameters_decimalParameters :: Lens.Lens' Parameters (Prelude.Maybe [DecimalParameter])+parameters_decimalParameters = Lens.lens (\Parameters' {decimalParameters} -> decimalParameters) (\s@Parameters' {} a -> s {decimalParameters = a} :: Parameters) Prelude.. Lens.mapping Lens.coerced++-- | The parameters that have a data type of integer.+parameters_integerParameters :: Lens.Lens' Parameters (Prelude.Maybe [IntegerParameter])+parameters_integerParameters = Lens.lens (\Parameters' {integerParameters} -> integerParameters) (\s@Parameters' {} a -> s {integerParameters = a} :: Parameters) Prelude.. Lens.mapping Lens.coerced++-- | The parameters that have a data type of string.+parameters_stringParameters :: Lens.Lens' Parameters (Prelude.Maybe [StringParameter])+parameters_stringParameters = Lens.lens (\Parameters' {stringParameters} -> stringParameters) (\s@Parameters' {} a -> s {stringParameters = a} :: Parameters) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable Parameters where+  hashWithSalt _salt Parameters' {..} =+    _salt+      `Prelude.hashWithSalt` dateTimeParameters+      `Prelude.hashWithSalt` decimalParameters+      `Prelude.hashWithSalt` integerParameters+      `Prelude.hashWithSalt` stringParameters++instance Prelude.NFData Parameters where+  rnf Parameters' {..} =+    Prelude.rnf dateTimeParameters+      `Prelude.seq` Prelude.rnf decimalParameters+      `Prelude.seq` Prelude.rnf integerParameters+      `Prelude.seq` Prelude.rnf stringParameters++instance Data.ToJSON Parameters where+  toJSON Parameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DateTimeParameters" Data..=)+              Prelude.<$> dateTimeParameters,+            ("DecimalParameters" Data..=)+              Prelude.<$> decimalParameters,+            ("IntegerParameters" Data..=)+              Prelude.<$> integerParameters,+            ("StringParameters" Data..=)+              Prelude.<$> stringParameters+          ]+      )
+ gen/Amazonka/QuickSight/Types/PercentVisibleRange.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PercentVisibleRange+-- 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.QuickSight.Types.PercentVisibleRange 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 percent range in the visible range.+--+-- /See:/ 'newPercentVisibleRange' smart constructor.+data PercentVisibleRange = PercentVisibleRange'+  { -- | The lower bound of the range.+    from :: Prelude.Maybe Prelude.Double,+    -- | The top bound of the range.+    to :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PercentVisibleRange' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'percentVisibleRange_from' - The lower bound of the range.+--+-- 'to', 'percentVisibleRange_to' - The top bound of the range.+newPercentVisibleRange ::+  PercentVisibleRange+newPercentVisibleRange =+  PercentVisibleRange'+    { from = Prelude.Nothing,+      to = Prelude.Nothing+    }++-- | The lower bound of the range.+percentVisibleRange_from :: Lens.Lens' PercentVisibleRange (Prelude.Maybe Prelude.Double)+percentVisibleRange_from = Lens.lens (\PercentVisibleRange' {from} -> from) (\s@PercentVisibleRange' {} a -> s {from = a} :: PercentVisibleRange)++-- | The top bound of the range.+percentVisibleRange_to :: Lens.Lens' PercentVisibleRange (Prelude.Maybe Prelude.Double)+percentVisibleRange_to = Lens.lens (\PercentVisibleRange' {to} -> to) (\s@PercentVisibleRange' {} a -> s {to = a} :: PercentVisibleRange)++instance Data.FromJSON PercentVisibleRange where+  parseJSON =+    Data.withObject+      "PercentVisibleRange"+      ( \x ->+          PercentVisibleRange'+            Prelude.<$> (x Data..:? "From")+            Prelude.<*> (x Data..:? "To")+      )++instance Prelude.Hashable PercentVisibleRange where+  hashWithSalt _salt PercentVisibleRange' {..} =+    _salt+      `Prelude.hashWithSalt` from+      `Prelude.hashWithSalt` to++instance Prelude.NFData PercentVisibleRange where+  rnf PercentVisibleRange' {..} =+    Prelude.rnf from `Prelude.seq` Prelude.rnf to++instance Data.ToJSON PercentVisibleRange where+  toJSON PercentVisibleRange' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("From" Data..=) Prelude.<$> from,+            ("To" Data..=) Prelude.<$> to+          ]+      )
+ gen/Amazonka/QuickSight/Types/PercentageDisplayFormatConfiguration.hs view
@@ -0,0 +1,171 @@+{-# 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.QuickSight.Types.PercentageDisplayFormatConfiguration+-- 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.QuickSight.Types.PercentageDisplayFormatConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DecimalPlacesConfiguration+import Amazonka.QuickSight.Types.NegativeValueConfiguration+import Amazonka.QuickSight.Types.NullValueFormatConfiguration+import Amazonka.QuickSight.Types.NumericSeparatorConfiguration++-- | The options that determine the percentage display format configuration.+--+-- /See:/ 'newPercentageDisplayFormatConfiguration' smart constructor.+data PercentageDisplayFormatConfiguration = PercentageDisplayFormatConfiguration'+  { -- | The option that determines the decimal places configuration.+    decimalPlacesConfiguration :: Prelude.Maybe DecimalPlacesConfiguration,+    -- | The options that determine the negative value configuration.+    negativeValueConfiguration :: Prelude.Maybe NegativeValueConfiguration,+    -- | The options that determine the null value format configuration.+    nullValueFormatConfiguration :: Prelude.Maybe NullValueFormatConfiguration,+    -- | Determines the prefix value of the percentage format.+    prefix :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The options that determine the numeric separator configuration.+    separatorConfiguration :: Prelude.Maybe NumericSeparatorConfiguration,+    -- | Determines the suffix value of the percentage format.+    suffix :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PercentageDisplayFormatConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'decimalPlacesConfiguration', 'percentageDisplayFormatConfiguration_decimalPlacesConfiguration' - The option that determines the decimal places configuration.+--+-- 'negativeValueConfiguration', 'percentageDisplayFormatConfiguration_negativeValueConfiguration' - The options that determine the negative value configuration.+--+-- 'nullValueFormatConfiguration', 'percentageDisplayFormatConfiguration_nullValueFormatConfiguration' - The options that determine the null value format configuration.+--+-- 'prefix', 'percentageDisplayFormatConfiguration_prefix' - Determines the prefix value of the percentage format.+--+-- 'separatorConfiguration', 'percentageDisplayFormatConfiguration_separatorConfiguration' - The options that determine the numeric separator configuration.+--+-- 'suffix', 'percentageDisplayFormatConfiguration_suffix' - Determines the suffix value of the percentage format.+newPercentageDisplayFormatConfiguration ::+  PercentageDisplayFormatConfiguration+newPercentageDisplayFormatConfiguration =+  PercentageDisplayFormatConfiguration'+    { decimalPlacesConfiguration =+        Prelude.Nothing,+      negativeValueConfiguration =+        Prelude.Nothing,+      nullValueFormatConfiguration =+        Prelude.Nothing,+      prefix = Prelude.Nothing,+      separatorConfiguration =+        Prelude.Nothing,+      suffix = Prelude.Nothing+    }++-- | The option that determines the decimal places configuration.+percentageDisplayFormatConfiguration_decimalPlacesConfiguration :: Lens.Lens' PercentageDisplayFormatConfiguration (Prelude.Maybe DecimalPlacesConfiguration)+percentageDisplayFormatConfiguration_decimalPlacesConfiguration = Lens.lens (\PercentageDisplayFormatConfiguration' {decimalPlacesConfiguration} -> decimalPlacesConfiguration) (\s@PercentageDisplayFormatConfiguration' {} a -> s {decimalPlacesConfiguration = a} :: PercentageDisplayFormatConfiguration)++-- | The options that determine the negative value configuration.+percentageDisplayFormatConfiguration_negativeValueConfiguration :: Lens.Lens' PercentageDisplayFormatConfiguration (Prelude.Maybe NegativeValueConfiguration)+percentageDisplayFormatConfiguration_negativeValueConfiguration = Lens.lens (\PercentageDisplayFormatConfiguration' {negativeValueConfiguration} -> negativeValueConfiguration) (\s@PercentageDisplayFormatConfiguration' {} a -> s {negativeValueConfiguration = a} :: PercentageDisplayFormatConfiguration)++-- | The options that determine the null value format configuration.+percentageDisplayFormatConfiguration_nullValueFormatConfiguration :: Lens.Lens' PercentageDisplayFormatConfiguration (Prelude.Maybe NullValueFormatConfiguration)+percentageDisplayFormatConfiguration_nullValueFormatConfiguration = Lens.lens (\PercentageDisplayFormatConfiguration' {nullValueFormatConfiguration} -> nullValueFormatConfiguration) (\s@PercentageDisplayFormatConfiguration' {} a -> s {nullValueFormatConfiguration = a} :: PercentageDisplayFormatConfiguration)++-- | Determines the prefix value of the percentage format.+percentageDisplayFormatConfiguration_prefix :: Lens.Lens' PercentageDisplayFormatConfiguration (Prelude.Maybe Prelude.Text)+percentageDisplayFormatConfiguration_prefix = Lens.lens (\PercentageDisplayFormatConfiguration' {prefix} -> prefix) (\s@PercentageDisplayFormatConfiguration' {} a -> s {prefix = a} :: PercentageDisplayFormatConfiguration) Prelude.. Lens.mapping Data._Sensitive++-- | The options that determine the numeric separator configuration.+percentageDisplayFormatConfiguration_separatorConfiguration :: Lens.Lens' PercentageDisplayFormatConfiguration (Prelude.Maybe NumericSeparatorConfiguration)+percentageDisplayFormatConfiguration_separatorConfiguration = Lens.lens (\PercentageDisplayFormatConfiguration' {separatorConfiguration} -> separatorConfiguration) (\s@PercentageDisplayFormatConfiguration' {} a -> s {separatorConfiguration = a} :: PercentageDisplayFormatConfiguration)++-- | Determines the suffix value of the percentage format.+percentageDisplayFormatConfiguration_suffix :: Lens.Lens' PercentageDisplayFormatConfiguration (Prelude.Maybe Prelude.Text)+percentageDisplayFormatConfiguration_suffix = Lens.lens (\PercentageDisplayFormatConfiguration' {suffix} -> suffix) (\s@PercentageDisplayFormatConfiguration' {} a -> s {suffix = a} :: PercentageDisplayFormatConfiguration) Prelude.. Lens.mapping Data._Sensitive++instance+  Data.FromJSON+    PercentageDisplayFormatConfiguration+  where+  parseJSON =+    Data.withObject+      "PercentageDisplayFormatConfiguration"+      ( \x ->+          PercentageDisplayFormatConfiguration'+            Prelude.<$> (x Data..:? "DecimalPlacesConfiguration")+            Prelude.<*> (x Data..:? "NegativeValueConfiguration")+            Prelude.<*> (x Data..:? "NullValueFormatConfiguration")+            Prelude.<*> (x Data..:? "Prefix")+            Prelude.<*> (x Data..:? "SeparatorConfiguration")+            Prelude.<*> (x Data..:? "Suffix")+      )++instance+  Prelude.Hashable+    PercentageDisplayFormatConfiguration+  where+  hashWithSalt+    _salt+    PercentageDisplayFormatConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` decimalPlacesConfiguration+        `Prelude.hashWithSalt` negativeValueConfiguration+        `Prelude.hashWithSalt` nullValueFormatConfiguration+        `Prelude.hashWithSalt` prefix+        `Prelude.hashWithSalt` separatorConfiguration+        `Prelude.hashWithSalt` suffix++instance+  Prelude.NFData+    PercentageDisplayFormatConfiguration+  where+  rnf PercentageDisplayFormatConfiguration' {..} =+    Prelude.rnf decimalPlacesConfiguration+      `Prelude.seq` Prelude.rnf negativeValueConfiguration+      `Prelude.seq` Prelude.rnf nullValueFormatConfiguration+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf separatorConfiguration+      `Prelude.seq` Prelude.rnf suffix++instance+  Data.ToJSON+    PercentageDisplayFormatConfiguration+  where+  toJSON PercentageDisplayFormatConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DecimalPlacesConfiguration" Data..=)+              Prelude.<$> decimalPlacesConfiguration,+            ("NegativeValueConfiguration" Data..=)+              Prelude.<$> negativeValueConfiguration,+            ("NullValueFormatConfiguration" Data..=)+              Prelude.<$> nullValueFormatConfiguration,+            ("Prefix" Data..=) Prelude.<$> prefix,+            ("SeparatorConfiguration" Data..=)+              Prelude.<$> separatorConfiguration,+            ("Suffix" Data..=) Prelude.<$> suffix+          ]+      )
+ gen/Amazonka/QuickSight/Types/PercentileAggregation.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PercentileAggregation+-- 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.QuickSight.Types.PercentileAggregation 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 aggregation based on the percentile of values in a dimension or+-- measure.+--+-- /See:/ 'newPercentileAggregation' smart constructor.+data PercentileAggregation = PercentileAggregation'+  { -- | The percentile value. This value can be any numeric constant 0–100. A+    -- percentile value of 50 computes the median value of the measure.+    percentileValue :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PercentileAggregation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'percentileValue', 'percentileAggregation_percentileValue' - The percentile value. This value can be any numeric constant 0–100. A+-- percentile value of 50 computes the median value of the measure.+newPercentileAggregation ::+  PercentileAggregation+newPercentileAggregation =+  PercentileAggregation'+    { percentileValue =+        Prelude.Nothing+    }++-- | The percentile value. This value can be any numeric constant 0–100. A+-- percentile value of 50 computes the median value of the measure.+percentileAggregation_percentileValue :: Lens.Lens' PercentileAggregation (Prelude.Maybe Prelude.Double)+percentileAggregation_percentileValue = Lens.lens (\PercentileAggregation' {percentileValue} -> percentileValue) (\s@PercentileAggregation' {} a -> s {percentileValue = a} :: PercentileAggregation)++instance Data.FromJSON PercentileAggregation where+  parseJSON =+    Data.withObject+      "PercentileAggregation"+      ( \x ->+          PercentileAggregation'+            Prelude.<$> (x Data..:? "PercentileValue")+      )++instance Prelude.Hashable PercentileAggregation where+  hashWithSalt _salt PercentileAggregation' {..} =+    _salt `Prelude.hashWithSalt` percentileValue++instance Prelude.NFData PercentileAggregation where+  rnf PercentileAggregation' {..} =+    Prelude.rnf percentileValue++instance Data.ToJSON PercentileAggregation where+  toJSON PercentileAggregation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PercentileValue" Data..=)+              Prelude.<$> percentileValue+          ]+      )
+ gen/Amazonka/QuickSight/Types/PeriodOverPeriodComputation.hs view
@@ -0,0 +1,126 @@+{-# 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.QuickSight.Types.PeriodOverPeriodComputation+-- 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.QuickSight.Types.PeriodOverPeriodComputation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The period over period computation configuration.+--+-- /See:/ 'newPeriodOverPeriodComputation' smart constructor.+data PeriodOverPeriodComputation = PeriodOverPeriodComputation'+  { -- | The name of a computation.+    name :: Prelude.Maybe Prelude.Text,+    -- | The value field that is used in a computation.+    value :: Prelude.Maybe MeasureField,+    -- | The ID for a computation.+    computationId :: Prelude.Text,+    -- | The time field that is used in a computation.+    time :: DimensionField+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PeriodOverPeriodComputation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'periodOverPeriodComputation_name' - The name of a computation.+--+-- 'value', 'periodOverPeriodComputation_value' - The value field that is used in a computation.+--+-- 'computationId', 'periodOverPeriodComputation_computationId' - The ID for a computation.+--+-- 'time', 'periodOverPeriodComputation_time' - The time field that is used in a computation.+newPeriodOverPeriodComputation ::+  -- | 'computationId'+  Prelude.Text ->+  -- | 'time'+  DimensionField ->+  PeriodOverPeriodComputation+newPeriodOverPeriodComputation pComputationId_ pTime_ =+  PeriodOverPeriodComputation'+    { name =+        Prelude.Nothing,+      value = Prelude.Nothing,+      computationId = pComputationId_,+      time = pTime_+    }++-- | The name of a computation.+periodOverPeriodComputation_name :: Lens.Lens' PeriodOverPeriodComputation (Prelude.Maybe Prelude.Text)+periodOverPeriodComputation_name = Lens.lens (\PeriodOverPeriodComputation' {name} -> name) (\s@PeriodOverPeriodComputation' {} a -> s {name = a} :: PeriodOverPeriodComputation)++-- | The value field that is used in a computation.+periodOverPeriodComputation_value :: Lens.Lens' PeriodOverPeriodComputation (Prelude.Maybe MeasureField)+periodOverPeriodComputation_value = Lens.lens (\PeriodOverPeriodComputation' {value} -> value) (\s@PeriodOverPeriodComputation' {} a -> s {value = a} :: PeriodOverPeriodComputation)++-- | The ID for a computation.+periodOverPeriodComputation_computationId :: Lens.Lens' PeriodOverPeriodComputation Prelude.Text+periodOverPeriodComputation_computationId = Lens.lens (\PeriodOverPeriodComputation' {computationId} -> computationId) (\s@PeriodOverPeriodComputation' {} a -> s {computationId = a} :: PeriodOverPeriodComputation)++-- | The time field that is used in a computation.+periodOverPeriodComputation_time :: Lens.Lens' PeriodOverPeriodComputation DimensionField+periodOverPeriodComputation_time = Lens.lens (\PeriodOverPeriodComputation' {time} -> time) (\s@PeriodOverPeriodComputation' {} a -> s {time = a} :: PeriodOverPeriodComputation)++instance Data.FromJSON PeriodOverPeriodComputation where+  parseJSON =+    Data.withObject+      "PeriodOverPeriodComputation"+      ( \x ->+          PeriodOverPeriodComputation'+            Prelude.<$> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Value")+            Prelude.<*> (x Data..: "ComputationId")+            Prelude.<*> (x Data..: "Time")+      )++instance Prelude.Hashable PeriodOverPeriodComputation where+  hashWithSalt _salt PeriodOverPeriodComputation' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` computationId+      `Prelude.hashWithSalt` time++instance Prelude.NFData PeriodOverPeriodComputation where+  rnf PeriodOverPeriodComputation' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf value+      `Prelude.seq` Prelude.rnf computationId+      `Prelude.seq` Prelude.rnf time++instance Data.ToJSON PeriodOverPeriodComputation where+  toJSON PeriodOverPeriodComputation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Name" Data..=) Prelude.<$> name,+            ("Value" Data..=) Prelude.<$> value,+            Prelude.Just ("ComputationId" Data..= computationId),+            Prelude.Just ("Time" Data..= time)+          ]+      )
+ gen/Amazonka/QuickSight/Types/PeriodToDateComputation.hs view
@@ -0,0 +1,155 @@+{-# 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.QuickSight.Types.PeriodToDateComputation+-- 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.QuickSight.Types.PeriodToDateComputation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField+import Amazonka.QuickSight.Types.TimeGranularity++-- | The period to date computation configuration.+--+-- /See:/ 'newPeriodToDateComputation' smart constructor.+data PeriodToDateComputation = PeriodToDateComputation'+  { -- | The name of a computation.+    name :: Prelude.Maybe Prelude.Text,+    -- | The time granularity setup of period to date computation. Choose from+    -- the following options:+    --+    -- -   YEAR: Year to date.+    --+    -- -   MONTH: Month to date.+    periodTimeGranularity :: Prelude.Maybe TimeGranularity,+    -- | The value field that is used in a computation.+    value :: Prelude.Maybe MeasureField,+    -- | The ID for a computation.+    computationId :: Prelude.Text,+    -- | The time field that is used in a computation.+    time :: DimensionField+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PeriodToDateComputation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'periodToDateComputation_name' - The name of a computation.+--+-- 'periodTimeGranularity', 'periodToDateComputation_periodTimeGranularity' - The time granularity setup of period to date computation. Choose from+-- the following options:+--+-- -   YEAR: Year to date.+--+-- -   MONTH: Month to date.+--+-- 'value', 'periodToDateComputation_value' - The value field that is used in a computation.+--+-- 'computationId', 'periodToDateComputation_computationId' - The ID for a computation.+--+-- 'time', 'periodToDateComputation_time' - The time field that is used in a computation.+newPeriodToDateComputation ::+  -- | 'computationId'+  Prelude.Text ->+  -- | 'time'+  DimensionField ->+  PeriodToDateComputation+newPeriodToDateComputation pComputationId_ pTime_ =+  PeriodToDateComputation'+    { name = Prelude.Nothing,+      periodTimeGranularity = Prelude.Nothing,+      value = Prelude.Nothing,+      computationId = pComputationId_,+      time = pTime_+    }++-- | The name of a computation.+periodToDateComputation_name :: Lens.Lens' PeriodToDateComputation (Prelude.Maybe Prelude.Text)+periodToDateComputation_name = Lens.lens (\PeriodToDateComputation' {name} -> name) (\s@PeriodToDateComputation' {} a -> s {name = a} :: PeriodToDateComputation)++-- | The time granularity setup of period to date computation. Choose from+-- the following options:+--+-- -   YEAR: Year to date.+--+-- -   MONTH: Month to date.+periodToDateComputation_periodTimeGranularity :: Lens.Lens' PeriodToDateComputation (Prelude.Maybe TimeGranularity)+periodToDateComputation_periodTimeGranularity = Lens.lens (\PeriodToDateComputation' {periodTimeGranularity} -> periodTimeGranularity) (\s@PeriodToDateComputation' {} a -> s {periodTimeGranularity = a} :: PeriodToDateComputation)++-- | The value field that is used in a computation.+periodToDateComputation_value :: Lens.Lens' PeriodToDateComputation (Prelude.Maybe MeasureField)+periodToDateComputation_value = Lens.lens (\PeriodToDateComputation' {value} -> value) (\s@PeriodToDateComputation' {} a -> s {value = a} :: PeriodToDateComputation)++-- | The ID for a computation.+periodToDateComputation_computationId :: Lens.Lens' PeriodToDateComputation Prelude.Text+periodToDateComputation_computationId = Lens.lens (\PeriodToDateComputation' {computationId} -> computationId) (\s@PeriodToDateComputation' {} a -> s {computationId = a} :: PeriodToDateComputation)++-- | The time field that is used in a computation.+periodToDateComputation_time :: Lens.Lens' PeriodToDateComputation DimensionField+periodToDateComputation_time = Lens.lens (\PeriodToDateComputation' {time} -> time) (\s@PeriodToDateComputation' {} a -> s {time = a} :: PeriodToDateComputation)++instance Data.FromJSON PeriodToDateComputation where+  parseJSON =+    Data.withObject+      "PeriodToDateComputation"+      ( \x ->+          PeriodToDateComputation'+            Prelude.<$> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "PeriodTimeGranularity")+            Prelude.<*> (x Data..:? "Value")+            Prelude.<*> (x Data..: "ComputationId")+            Prelude.<*> (x Data..: "Time")+      )++instance Prelude.Hashable PeriodToDateComputation where+  hashWithSalt _salt PeriodToDateComputation' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` periodTimeGranularity+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` computationId+      `Prelude.hashWithSalt` time++instance Prelude.NFData PeriodToDateComputation where+  rnf PeriodToDateComputation' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf periodTimeGranularity+      `Prelude.seq` Prelude.rnf value+      `Prelude.seq` Prelude.rnf computationId+      `Prelude.seq` Prelude.rnf time++instance Data.ToJSON PeriodToDateComputation where+  toJSON PeriodToDateComputation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Name" Data..=) Prelude.<$> name,+            ("PeriodTimeGranularity" Data..=)+              Prelude.<$> periodTimeGranularity,+            ("Value" Data..=) Prelude.<$> value,+            Prelude.Just ("ComputationId" Data..= computationId),+            Prelude.Just ("Time" Data..= time)+          ]+      )
+ gen/Amazonka/QuickSight/Types/PhysicalTable.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PhysicalTable+-- 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.QuickSight.Types.PhysicalTable where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CustomSql+import Amazonka.QuickSight.Types.RelationalTable+import Amazonka.QuickSight.Types.S3Source++-- | A view of a data source that contains information about the shape of the+-- data in the underlying source. This is a variant type structure. For+-- this structure to be valid, only one of the attributes can be non-null.+--+-- /See:/ 'newPhysicalTable' smart constructor.+data PhysicalTable = PhysicalTable'+  { -- | A physical table type built from the results of the custom SQL query.+    customSql :: Prelude.Maybe CustomSql,+    -- | A physical table type for relational data sources.+    relationalTable :: Prelude.Maybe RelationalTable,+    -- | A physical table type for as S3 data source.+    s3Source :: Prelude.Maybe S3Source+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PhysicalTable' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customSql', 'physicalTable_customSql' - A physical table type built from the results of the custom SQL query.+--+-- 'relationalTable', 'physicalTable_relationalTable' - A physical table type for relational data sources.+--+-- 's3Source', 'physicalTable_s3Source' - A physical table type for as S3 data source.+newPhysicalTable ::+  PhysicalTable+newPhysicalTable =+  PhysicalTable'+    { customSql = Prelude.Nothing,+      relationalTable = Prelude.Nothing,+      s3Source = Prelude.Nothing+    }++-- | A physical table type built from the results of the custom SQL query.+physicalTable_customSql :: Lens.Lens' PhysicalTable (Prelude.Maybe CustomSql)+physicalTable_customSql = Lens.lens (\PhysicalTable' {customSql} -> customSql) (\s@PhysicalTable' {} a -> s {customSql = a} :: PhysicalTable)++-- | A physical table type for relational data sources.+physicalTable_relationalTable :: Lens.Lens' PhysicalTable (Prelude.Maybe RelationalTable)+physicalTable_relationalTable = Lens.lens (\PhysicalTable' {relationalTable} -> relationalTable) (\s@PhysicalTable' {} a -> s {relationalTable = a} :: PhysicalTable)++-- | A physical table type for as S3 data source.+physicalTable_s3Source :: Lens.Lens' PhysicalTable (Prelude.Maybe S3Source)+physicalTable_s3Source = Lens.lens (\PhysicalTable' {s3Source} -> s3Source) (\s@PhysicalTable' {} a -> s {s3Source = a} :: PhysicalTable)++instance Data.FromJSON PhysicalTable where+  parseJSON =+    Data.withObject+      "PhysicalTable"+      ( \x ->+          PhysicalTable'+            Prelude.<$> (x Data..:? "CustomSql")+            Prelude.<*> (x Data..:? "RelationalTable")+            Prelude.<*> (x Data..:? "S3Source")+      )++instance Prelude.Hashable PhysicalTable where+  hashWithSalt _salt PhysicalTable' {..} =+    _salt+      `Prelude.hashWithSalt` customSql+      `Prelude.hashWithSalt` relationalTable+      `Prelude.hashWithSalt` s3Source++instance Prelude.NFData PhysicalTable where+  rnf PhysicalTable' {..} =+    Prelude.rnf customSql+      `Prelude.seq` Prelude.rnf relationalTable+      `Prelude.seq` Prelude.rnf s3Source++instance Data.ToJSON PhysicalTable where+  toJSON PhysicalTable' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomSql" Data..=) Prelude.<$> customSql,+            ("RelationalTable" Data..=)+              Prelude.<$> relationalTable,+            ("S3Source" Data..=) Prelude.<$> s3Source+          ]+      )
+ gen/Amazonka/QuickSight/Types/PieChartAggregatedFieldWells.hs view
@@ -0,0 +1,116 @@+{-# 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.QuickSight.Types.PieChartAggregatedFieldWells+-- 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.QuickSight.Types.PieChartAggregatedFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The field well configuration of a pie chart.+--+-- /See:/ 'newPieChartAggregatedFieldWells' smart constructor.+data PieChartAggregatedFieldWells = PieChartAggregatedFieldWells'+  { -- | The category (group\/color) field wells of a pie chart.+    category :: Prelude.Maybe [DimensionField],+    -- | The small multiples field well of a pie chart.+    smallMultiples :: Prelude.Maybe [DimensionField],+    -- | The value field wells of a pie chart. Values are aggregated based on+    -- categories.+    values :: Prelude.Maybe [MeasureField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PieChartAggregatedFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'category', 'pieChartAggregatedFieldWells_category' - The category (group\/color) field wells of a pie chart.+--+-- 'smallMultiples', 'pieChartAggregatedFieldWells_smallMultiples' - The small multiples field well of a pie chart.+--+-- 'values', 'pieChartAggregatedFieldWells_values' - The value field wells of a pie chart. Values are aggregated based on+-- categories.+newPieChartAggregatedFieldWells ::+  PieChartAggregatedFieldWells+newPieChartAggregatedFieldWells =+  PieChartAggregatedFieldWells'+    { category =+        Prelude.Nothing,+      smallMultiples = Prelude.Nothing,+      values = Prelude.Nothing+    }++-- | The category (group\/color) field wells of a pie chart.+pieChartAggregatedFieldWells_category :: Lens.Lens' PieChartAggregatedFieldWells (Prelude.Maybe [DimensionField])+pieChartAggregatedFieldWells_category = Lens.lens (\PieChartAggregatedFieldWells' {category} -> category) (\s@PieChartAggregatedFieldWells' {} a -> s {category = a} :: PieChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The small multiples field well of a pie chart.+pieChartAggregatedFieldWells_smallMultiples :: Lens.Lens' PieChartAggregatedFieldWells (Prelude.Maybe [DimensionField])+pieChartAggregatedFieldWells_smallMultiples = Lens.lens (\PieChartAggregatedFieldWells' {smallMultiples} -> smallMultiples) (\s@PieChartAggregatedFieldWells' {} a -> s {smallMultiples = a} :: PieChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The value field wells of a pie chart. Values are aggregated based on+-- categories.+pieChartAggregatedFieldWells_values :: Lens.Lens' PieChartAggregatedFieldWells (Prelude.Maybe [MeasureField])+pieChartAggregatedFieldWells_values = Lens.lens (\PieChartAggregatedFieldWells' {values} -> values) (\s@PieChartAggregatedFieldWells' {} a -> s {values = a} :: PieChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON PieChartAggregatedFieldWells where+  parseJSON =+    Data.withObject+      "PieChartAggregatedFieldWells"+      ( \x ->+          PieChartAggregatedFieldWells'+            Prelude.<$> (x Data..:? "Category" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "SmallMultiples" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Values" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    PieChartAggregatedFieldWells+  where+  hashWithSalt _salt PieChartAggregatedFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` category+      `Prelude.hashWithSalt` smallMultiples+      `Prelude.hashWithSalt` values++instance Prelude.NFData PieChartAggregatedFieldWells where+  rnf PieChartAggregatedFieldWells' {..} =+    Prelude.rnf category+      `Prelude.seq` Prelude.rnf smallMultiples+      `Prelude.seq` Prelude.rnf values++instance Data.ToJSON PieChartAggregatedFieldWells where+  toJSON PieChartAggregatedFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Category" Data..=) Prelude.<$> category,+            ("SmallMultiples" Data..=)+              Prelude.<$> smallMultiples,+            ("Values" Data..=) Prelude.<$> values+          ]+      )
+ gen/Amazonka/QuickSight/Types/PieChartConfiguration.hs view
@@ -0,0 +1,229 @@+{-# 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.QuickSight.Types.PieChartConfiguration+-- 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.QuickSight.Types.PieChartConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ChartAxisLabelOptions+import Amazonka.QuickSight.Types.ContributionAnalysisDefault+import Amazonka.QuickSight.Types.DataLabelOptions+import Amazonka.QuickSight.Types.DonutOptions+import Amazonka.QuickSight.Types.LegendOptions+import Amazonka.QuickSight.Types.PieChartFieldWells+import Amazonka.QuickSight.Types.PieChartSortConfiguration+import Amazonka.QuickSight.Types.SmallMultiplesOptions+import Amazonka.QuickSight.Types.TooltipOptions+import Amazonka.QuickSight.Types.VisualPalette++-- | The configuration of a pie chart.+--+-- /See:/ 'newPieChartConfiguration' smart constructor.+data PieChartConfiguration = PieChartConfiguration'+  { -- | The label options of the group\/color that is displayed in a pie chart.+    categoryLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The contribution analysis (anomaly configuration) setup of the visual.+    contributionAnalysisDefaults :: Prelude.Maybe (Prelude.NonEmpty ContributionAnalysisDefault),+    -- | The options that determine if visual data labels are displayed.+    dataLabels :: Prelude.Maybe DataLabelOptions,+    -- | The options that determine the shape of the chart. This option+    -- determines whether the chart is a pie chart or a donut chart.+    donutOptions :: Prelude.Maybe DonutOptions,+    -- | The field wells of the visual.+    fieldWells :: Prelude.Maybe PieChartFieldWells,+    -- | The legend display setup of the visual.+    legend :: Prelude.Maybe LegendOptions,+    -- | The small multiples setup for the visual.+    smallMultiplesOptions :: Prelude.Maybe SmallMultiplesOptions,+    -- | The sort configuration of a pie chart.+    sortConfiguration :: Prelude.Maybe PieChartSortConfiguration,+    -- | The tooltip display setup of the visual.+    tooltip :: Prelude.Maybe TooltipOptions,+    -- | The label options for the value that is displayed in a pie chart.+    valueLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The palette (chart color) display setup of the visual.+    visualPalette :: Prelude.Maybe VisualPalette+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PieChartConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categoryLabelOptions', 'pieChartConfiguration_categoryLabelOptions' - The label options of the group\/color that is displayed in a pie chart.+--+-- 'contributionAnalysisDefaults', 'pieChartConfiguration_contributionAnalysisDefaults' - The contribution analysis (anomaly configuration) setup of the visual.+--+-- 'dataLabels', 'pieChartConfiguration_dataLabels' - The options that determine if visual data labels are displayed.+--+-- 'donutOptions', 'pieChartConfiguration_donutOptions' - The options that determine the shape of the chart. This option+-- determines whether the chart is a pie chart or a donut chart.+--+-- 'fieldWells', 'pieChartConfiguration_fieldWells' - The field wells of the visual.+--+-- 'legend', 'pieChartConfiguration_legend' - The legend display setup of the visual.+--+-- 'smallMultiplesOptions', 'pieChartConfiguration_smallMultiplesOptions' - The small multiples setup for the visual.+--+-- 'sortConfiguration', 'pieChartConfiguration_sortConfiguration' - The sort configuration of a pie chart.+--+-- 'tooltip', 'pieChartConfiguration_tooltip' - The tooltip display setup of the visual.+--+-- 'valueLabelOptions', 'pieChartConfiguration_valueLabelOptions' - The label options for the value that is displayed in a pie chart.+--+-- 'visualPalette', 'pieChartConfiguration_visualPalette' - The palette (chart color) display setup of the visual.+newPieChartConfiguration ::+  PieChartConfiguration+newPieChartConfiguration =+  PieChartConfiguration'+    { categoryLabelOptions =+        Prelude.Nothing,+      contributionAnalysisDefaults = Prelude.Nothing,+      dataLabels = Prelude.Nothing,+      donutOptions = Prelude.Nothing,+      fieldWells = Prelude.Nothing,+      legend = Prelude.Nothing,+      smallMultiplesOptions = Prelude.Nothing,+      sortConfiguration = Prelude.Nothing,+      tooltip = Prelude.Nothing,+      valueLabelOptions = Prelude.Nothing,+      visualPalette = Prelude.Nothing+    }++-- | The label options of the group\/color that is displayed in a pie chart.+pieChartConfiguration_categoryLabelOptions :: Lens.Lens' PieChartConfiguration (Prelude.Maybe ChartAxisLabelOptions)+pieChartConfiguration_categoryLabelOptions = Lens.lens (\PieChartConfiguration' {categoryLabelOptions} -> categoryLabelOptions) (\s@PieChartConfiguration' {} a -> s {categoryLabelOptions = a} :: PieChartConfiguration)++-- | The contribution analysis (anomaly configuration) setup of the visual.+pieChartConfiguration_contributionAnalysisDefaults :: Lens.Lens' PieChartConfiguration (Prelude.Maybe (Prelude.NonEmpty ContributionAnalysisDefault))+pieChartConfiguration_contributionAnalysisDefaults = Lens.lens (\PieChartConfiguration' {contributionAnalysisDefaults} -> contributionAnalysisDefaults) (\s@PieChartConfiguration' {} a -> s {contributionAnalysisDefaults = a} :: PieChartConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The options that determine if visual data labels are displayed.+pieChartConfiguration_dataLabels :: Lens.Lens' PieChartConfiguration (Prelude.Maybe DataLabelOptions)+pieChartConfiguration_dataLabels = Lens.lens (\PieChartConfiguration' {dataLabels} -> dataLabels) (\s@PieChartConfiguration' {} a -> s {dataLabels = a} :: PieChartConfiguration)++-- | The options that determine the shape of the chart. This option+-- determines whether the chart is a pie chart or a donut chart.+pieChartConfiguration_donutOptions :: Lens.Lens' PieChartConfiguration (Prelude.Maybe DonutOptions)+pieChartConfiguration_donutOptions = Lens.lens (\PieChartConfiguration' {donutOptions} -> donutOptions) (\s@PieChartConfiguration' {} a -> s {donutOptions = a} :: PieChartConfiguration)++-- | The field wells of the visual.+pieChartConfiguration_fieldWells :: Lens.Lens' PieChartConfiguration (Prelude.Maybe PieChartFieldWells)+pieChartConfiguration_fieldWells = Lens.lens (\PieChartConfiguration' {fieldWells} -> fieldWells) (\s@PieChartConfiguration' {} a -> s {fieldWells = a} :: PieChartConfiguration)++-- | The legend display setup of the visual.+pieChartConfiguration_legend :: Lens.Lens' PieChartConfiguration (Prelude.Maybe LegendOptions)+pieChartConfiguration_legend = Lens.lens (\PieChartConfiguration' {legend} -> legend) (\s@PieChartConfiguration' {} a -> s {legend = a} :: PieChartConfiguration)++-- | The small multiples setup for the visual.+pieChartConfiguration_smallMultiplesOptions :: Lens.Lens' PieChartConfiguration (Prelude.Maybe SmallMultiplesOptions)+pieChartConfiguration_smallMultiplesOptions = Lens.lens (\PieChartConfiguration' {smallMultiplesOptions} -> smallMultiplesOptions) (\s@PieChartConfiguration' {} a -> s {smallMultiplesOptions = a} :: PieChartConfiguration)++-- | The sort configuration of a pie chart.+pieChartConfiguration_sortConfiguration :: Lens.Lens' PieChartConfiguration (Prelude.Maybe PieChartSortConfiguration)+pieChartConfiguration_sortConfiguration = Lens.lens (\PieChartConfiguration' {sortConfiguration} -> sortConfiguration) (\s@PieChartConfiguration' {} a -> s {sortConfiguration = a} :: PieChartConfiguration)++-- | The tooltip display setup of the visual.+pieChartConfiguration_tooltip :: Lens.Lens' PieChartConfiguration (Prelude.Maybe TooltipOptions)+pieChartConfiguration_tooltip = Lens.lens (\PieChartConfiguration' {tooltip} -> tooltip) (\s@PieChartConfiguration' {} a -> s {tooltip = a} :: PieChartConfiguration)++-- | The label options for the value that is displayed in a pie chart.+pieChartConfiguration_valueLabelOptions :: Lens.Lens' PieChartConfiguration (Prelude.Maybe ChartAxisLabelOptions)+pieChartConfiguration_valueLabelOptions = Lens.lens (\PieChartConfiguration' {valueLabelOptions} -> valueLabelOptions) (\s@PieChartConfiguration' {} a -> s {valueLabelOptions = a} :: PieChartConfiguration)++-- | The palette (chart color) display setup of the visual.+pieChartConfiguration_visualPalette :: Lens.Lens' PieChartConfiguration (Prelude.Maybe VisualPalette)+pieChartConfiguration_visualPalette = Lens.lens (\PieChartConfiguration' {visualPalette} -> visualPalette) (\s@PieChartConfiguration' {} a -> s {visualPalette = a} :: PieChartConfiguration)++instance Data.FromJSON PieChartConfiguration where+  parseJSON =+    Data.withObject+      "PieChartConfiguration"+      ( \x ->+          PieChartConfiguration'+            Prelude.<$> (x Data..:? "CategoryLabelOptions")+            Prelude.<*> (x Data..:? "ContributionAnalysisDefaults")+            Prelude.<*> (x Data..:? "DataLabels")+            Prelude.<*> (x Data..:? "DonutOptions")+            Prelude.<*> (x Data..:? "FieldWells")+            Prelude.<*> (x Data..:? "Legend")+            Prelude.<*> (x Data..:? "SmallMultiplesOptions")+            Prelude.<*> (x Data..:? "SortConfiguration")+            Prelude.<*> (x Data..:? "Tooltip")+            Prelude.<*> (x Data..:? "ValueLabelOptions")+            Prelude.<*> (x Data..:? "VisualPalette")+      )++instance Prelude.Hashable PieChartConfiguration where+  hashWithSalt _salt PieChartConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` categoryLabelOptions+      `Prelude.hashWithSalt` contributionAnalysisDefaults+      `Prelude.hashWithSalt` dataLabels+      `Prelude.hashWithSalt` donutOptions+      `Prelude.hashWithSalt` fieldWells+      `Prelude.hashWithSalt` legend+      `Prelude.hashWithSalt` smallMultiplesOptions+      `Prelude.hashWithSalt` sortConfiguration+      `Prelude.hashWithSalt` tooltip+      `Prelude.hashWithSalt` valueLabelOptions+      `Prelude.hashWithSalt` visualPalette++instance Prelude.NFData PieChartConfiguration where+  rnf PieChartConfiguration' {..} =+    Prelude.rnf categoryLabelOptions+      `Prelude.seq` Prelude.rnf contributionAnalysisDefaults+      `Prelude.seq` Prelude.rnf dataLabels+      `Prelude.seq` Prelude.rnf donutOptions+      `Prelude.seq` Prelude.rnf fieldWells+      `Prelude.seq` Prelude.rnf legend+      `Prelude.seq` Prelude.rnf smallMultiplesOptions+      `Prelude.seq` Prelude.rnf sortConfiguration+      `Prelude.seq` Prelude.rnf tooltip+      `Prelude.seq` Prelude.rnf valueLabelOptions+      `Prelude.seq` Prelude.rnf visualPalette++instance Data.ToJSON PieChartConfiguration where+  toJSON PieChartConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoryLabelOptions" Data..=)+              Prelude.<$> categoryLabelOptions,+            ("ContributionAnalysisDefaults" Data..=)+              Prelude.<$> contributionAnalysisDefaults,+            ("DataLabels" Data..=) Prelude.<$> dataLabels,+            ("DonutOptions" Data..=) Prelude.<$> donutOptions,+            ("FieldWells" Data..=) Prelude.<$> fieldWells,+            ("Legend" Data..=) Prelude.<$> legend,+            ("SmallMultiplesOptions" Data..=)+              Prelude.<$> smallMultiplesOptions,+            ("SortConfiguration" Data..=)+              Prelude.<$> sortConfiguration,+            ("Tooltip" Data..=) Prelude.<$> tooltip,+            ("ValueLabelOptions" Data..=)+              Prelude.<$> valueLabelOptions,+            ("VisualPalette" Data..=) Prelude.<$> visualPalette+          ]+      )
+ gen/Amazonka/QuickSight/Types/PieChartFieldWells.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.QuickSight.Types.PieChartFieldWells+-- 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.QuickSight.Types.PieChartFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.PieChartAggregatedFieldWells++-- | The field well configuration of a pie chart.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newPieChartFieldWells' smart constructor.+data PieChartFieldWells = PieChartFieldWells'+  { -- | The field well configuration of a pie chart.+    pieChartAggregatedFieldWells :: Prelude.Maybe PieChartAggregatedFieldWells+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PieChartFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pieChartAggregatedFieldWells', 'pieChartFieldWells_pieChartAggregatedFieldWells' - The field well configuration of a pie chart.+newPieChartFieldWells ::+  PieChartFieldWells+newPieChartFieldWells =+  PieChartFieldWells'+    { pieChartAggregatedFieldWells =+        Prelude.Nothing+    }++-- | The field well configuration of a pie chart.+pieChartFieldWells_pieChartAggregatedFieldWells :: Lens.Lens' PieChartFieldWells (Prelude.Maybe PieChartAggregatedFieldWells)+pieChartFieldWells_pieChartAggregatedFieldWells = Lens.lens (\PieChartFieldWells' {pieChartAggregatedFieldWells} -> pieChartAggregatedFieldWells) (\s@PieChartFieldWells' {} a -> s {pieChartAggregatedFieldWells = a} :: PieChartFieldWells)++instance Data.FromJSON PieChartFieldWells where+  parseJSON =+    Data.withObject+      "PieChartFieldWells"+      ( \x ->+          PieChartFieldWells'+            Prelude.<$> (x Data..:? "PieChartAggregatedFieldWells")+      )++instance Prelude.Hashable PieChartFieldWells where+  hashWithSalt _salt PieChartFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` pieChartAggregatedFieldWells++instance Prelude.NFData PieChartFieldWells where+  rnf PieChartFieldWells' {..} =+    Prelude.rnf pieChartAggregatedFieldWells++instance Data.ToJSON PieChartFieldWells where+  toJSON PieChartFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PieChartAggregatedFieldWells" Data..=)+              Prelude.<$> pieChartAggregatedFieldWells+          ]+      )
+ gen/Amazonka/QuickSight/Types/PieChartSortConfiguration.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.QuickSight.Types.PieChartSortConfiguration+-- 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.QuickSight.Types.PieChartSortConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FieldSortOptions+import Amazonka.QuickSight.Types.ItemsLimitConfiguration++-- | The sort configuration of a pie chart.+--+-- /See:/ 'newPieChartSortConfiguration' smart constructor.+data PieChartSortConfiguration = PieChartSortConfiguration'+  { -- | The limit on the number of categories that are displayed in a pie chart.+    categoryItemsLimit :: Prelude.Maybe ItemsLimitConfiguration,+    -- | The sort configuration of the category fields.+    categorySort :: Prelude.Maybe [FieldSortOptions],+    -- | The limit on the number of small multiples panels that are displayed.+    smallMultiplesLimitConfiguration :: Prelude.Maybe ItemsLimitConfiguration,+    -- | The sort configuration of the small multiples field.+    smallMultiplesSort :: Prelude.Maybe [FieldSortOptions]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PieChartSortConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categoryItemsLimit', 'pieChartSortConfiguration_categoryItemsLimit' - The limit on the number of categories that are displayed in a pie chart.+--+-- 'categorySort', 'pieChartSortConfiguration_categorySort' - The sort configuration of the category fields.+--+-- 'smallMultiplesLimitConfiguration', 'pieChartSortConfiguration_smallMultiplesLimitConfiguration' - The limit on the number of small multiples panels that are displayed.+--+-- 'smallMultiplesSort', 'pieChartSortConfiguration_smallMultiplesSort' - The sort configuration of the small multiples field.+newPieChartSortConfiguration ::+  PieChartSortConfiguration+newPieChartSortConfiguration =+  PieChartSortConfiguration'+    { categoryItemsLimit =+        Prelude.Nothing,+      categorySort = Prelude.Nothing,+      smallMultiplesLimitConfiguration =+        Prelude.Nothing,+      smallMultiplesSort = Prelude.Nothing+    }++-- | The limit on the number of categories that are displayed in a pie chart.+pieChartSortConfiguration_categoryItemsLimit :: Lens.Lens' PieChartSortConfiguration (Prelude.Maybe ItemsLimitConfiguration)+pieChartSortConfiguration_categoryItemsLimit = Lens.lens (\PieChartSortConfiguration' {categoryItemsLimit} -> categoryItemsLimit) (\s@PieChartSortConfiguration' {} a -> s {categoryItemsLimit = a} :: PieChartSortConfiguration)++-- | The sort configuration of the category fields.+pieChartSortConfiguration_categorySort :: Lens.Lens' PieChartSortConfiguration (Prelude.Maybe [FieldSortOptions])+pieChartSortConfiguration_categorySort = Lens.lens (\PieChartSortConfiguration' {categorySort} -> categorySort) (\s@PieChartSortConfiguration' {} a -> s {categorySort = a} :: PieChartSortConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The limit on the number of small multiples panels that are displayed.+pieChartSortConfiguration_smallMultiplesLimitConfiguration :: Lens.Lens' PieChartSortConfiguration (Prelude.Maybe ItemsLimitConfiguration)+pieChartSortConfiguration_smallMultiplesLimitConfiguration = Lens.lens (\PieChartSortConfiguration' {smallMultiplesLimitConfiguration} -> smallMultiplesLimitConfiguration) (\s@PieChartSortConfiguration' {} a -> s {smallMultiplesLimitConfiguration = a} :: PieChartSortConfiguration)++-- | The sort configuration of the small multiples field.+pieChartSortConfiguration_smallMultiplesSort :: Lens.Lens' PieChartSortConfiguration (Prelude.Maybe [FieldSortOptions])+pieChartSortConfiguration_smallMultiplesSort = Lens.lens (\PieChartSortConfiguration' {smallMultiplesSort} -> smallMultiplesSort) (\s@PieChartSortConfiguration' {} a -> s {smallMultiplesSort = a} :: PieChartSortConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON PieChartSortConfiguration where+  parseJSON =+    Data.withObject+      "PieChartSortConfiguration"+      ( \x ->+          PieChartSortConfiguration'+            Prelude.<$> (x Data..:? "CategoryItemsLimit")+            Prelude.<*> (x Data..:? "CategorySort" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "SmallMultiplesLimitConfiguration")+            Prelude.<*> ( x+                            Data..:? "SmallMultiplesSort"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable PieChartSortConfiguration where+  hashWithSalt _salt PieChartSortConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` categoryItemsLimit+      `Prelude.hashWithSalt` categorySort+      `Prelude.hashWithSalt` smallMultiplesLimitConfiguration+      `Prelude.hashWithSalt` smallMultiplesSort++instance Prelude.NFData PieChartSortConfiguration where+  rnf PieChartSortConfiguration' {..} =+    Prelude.rnf categoryItemsLimit+      `Prelude.seq` Prelude.rnf categorySort+      `Prelude.seq` Prelude.rnf smallMultiplesLimitConfiguration+      `Prelude.seq` Prelude.rnf smallMultiplesSort++instance Data.ToJSON PieChartSortConfiguration where+  toJSON PieChartSortConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoryItemsLimit" Data..=)+              Prelude.<$> categoryItemsLimit,+            ("CategorySort" Data..=) Prelude.<$> categorySort,+            ("SmallMultiplesLimitConfiguration" Data..=)+              Prelude.<$> smallMultiplesLimitConfiguration,+            ("SmallMultiplesSort" Data..=)+              Prelude.<$> smallMultiplesSort+          ]+      )
+ gen/Amazonka/QuickSight/Types/PieChartVisual.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PieChartVisual+-- 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.QuickSight.Types.PieChartVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnHierarchy+import Amazonka.QuickSight.Types.PieChartConfiguration+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions++-- | A pie or donut chart.+--+-- The @PieChartVisual@ structure describes a visual that is a member of+-- the pie chart family.+--+-- The following charts can be described by using this structure:+--+-- -   Pie charts+--+-- -   Donut charts+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/pie-chart.html Using pie charts>+-- in the /Amazon QuickSight User Guide/.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/donut-chart.html Using donut charts>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newPieChartVisual' smart constructor.+data PieChartVisual = PieChartVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration of a pie chart.+    chartConfiguration :: Prelude.Maybe PieChartConfiguration,+    -- | The column hierarchy that is used during drill-downs and drill-ups.+    columnHierarchies :: Prelude.Maybe [ColumnHierarchy],+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers.+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PieChartVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'pieChartVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'pieChartVisual_chartConfiguration' - The configuration of a pie chart.+--+-- 'columnHierarchies', 'pieChartVisual_columnHierarchies' - The column hierarchy that is used during drill-downs and drill-ups.+--+-- 'subtitle', 'pieChartVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'pieChartVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'pieChartVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+newPieChartVisual ::+  -- | 'visualId'+  Prelude.Text ->+  PieChartVisual+newPieChartVisual pVisualId_ =+  PieChartVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      columnHierarchies = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_+    }++-- | The list of custom actions that are configured for a visual.+pieChartVisual_actions :: Lens.Lens' PieChartVisual (Prelude.Maybe [VisualCustomAction])+pieChartVisual_actions = Lens.lens (\PieChartVisual' {actions} -> actions) (\s@PieChartVisual' {} a -> s {actions = a} :: PieChartVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration of a pie chart.+pieChartVisual_chartConfiguration :: Lens.Lens' PieChartVisual (Prelude.Maybe PieChartConfiguration)+pieChartVisual_chartConfiguration = Lens.lens (\PieChartVisual' {chartConfiguration} -> chartConfiguration) (\s@PieChartVisual' {} a -> s {chartConfiguration = a} :: PieChartVisual)++-- | The column hierarchy that is used during drill-downs and drill-ups.+pieChartVisual_columnHierarchies :: Lens.Lens' PieChartVisual (Prelude.Maybe [ColumnHierarchy])+pieChartVisual_columnHierarchies = Lens.lens (\PieChartVisual' {columnHierarchies} -> columnHierarchies) (\s@PieChartVisual' {} a -> s {columnHierarchies = a} :: PieChartVisual) Prelude.. Lens.mapping Lens.coerced++-- | The subtitle that is displayed on the visual.+pieChartVisual_subtitle :: Lens.Lens' PieChartVisual (Prelude.Maybe VisualSubtitleLabelOptions)+pieChartVisual_subtitle = Lens.lens (\PieChartVisual' {subtitle} -> subtitle) (\s@PieChartVisual' {} a -> s {subtitle = a} :: PieChartVisual)++-- | The title that is displayed on the visual.+pieChartVisual_title :: Lens.Lens' PieChartVisual (Prelude.Maybe VisualTitleLabelOptions)+pieChartVisual_title = Lens.lens (\PieChartVisual' {title} -> title) (\s@PieChartVisual' {} a -> s {title = a} :: PieChartVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+pieChartVisual_visualId :: Lens.Lens' PieChartVisual Prelude.Text+pieChartVisual_visualId = Lens.lens (\PieChartVisual' {visualId} -> visualId) (\s@PieChartVisual' {} a -> s {visualId = a} :: PieChartVisual)++instance Data.FromJSON PieChartVisual where+  parseJSON =+    Data.withObject+      "PieChartVisual"+      ( \x ->+          PieChartVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> ( x+                            Data..:? "ColumnHierarchies"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+      )++instance Prelude.Hashable PieChartVisual where+  hashWithSalt _salt PieChartVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` columnHierarchies+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData PieChartVisual where+  rnf PieChartVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf columnHierarchies+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON PieChartVisual where+  toJSON PieChartVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("ColumnHierarchies" Data..=)+              Prelude.<$> columnHierarchies,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/PivotFieldSortOptions.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.QuickSight.Types.PivotFieldSortOptions+-- 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.QuickSight.Types.PivotFieldSortOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.PivotTableSortBy++-- | The field sort options for a pivot table sort configuration.+--+-- /See:/ 'newPivotFieldSortOptions' smart constructor.+data PivotFieldSortOptions = PivotFieldSortOptions'+  { -- | The field ID for the field sort options.+    fieldId :: Prelude.Text,+    -- | The sort by field for the field sort options.+    sortBy :: PivotTableSortBy+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PivotFieldSortOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldId', 'pivotFieldSortOptions_fieldId' - The field ID for the field sort options.+--+-- 'sortBy', 'pivotFieldSortOptions_sortBy' - The sort by field for the field sort options.+newPivotFieldSortOptions ::+  -- | 'fieldId'+  Prelude.Text ->+  -- | 'sortBy'+  PivotTableSortBy ->+  PivotFieldSortOptions+newPivotFieldSortOptions pFieldId_ pSortBy_ =+  PivotFieldSortOptions'+    { fieldId = pFieldId_,+      sortBy = pSortBy_+    }++-- | The field ID for the field sort options.+pivotFieldSortOptions_fieldId :: Lens.Lens' PivotFieldSortOptions Prelude.Text+pivotFieldSortOptions_fieldId = Lens.lens (\PivotFieldSortOptions' {fieldId} -> fieldId) (\s@PivotFieldSortOptions' {} a -> s {fieldId = a} :: PivotFieldSortOptions)++-- | The sort by field for the field sort options.+pivotFieldSortOptions_sortBy :: Lens.Lens' PivotFieldSortOptions PivotTableSortBy+pivotFieldSortOptions_sortBy = Lens.lens (\PivotFieldSortOptions' {sortBy} -> sortBy) (\s@PivotFieldSortOptions' {} a -> s {sortBy = a} :: PivotFieldSortOptions)++instance Data.FromJSON PivotFieldSortOptions where+  parseJSON =+    Data.withObject+      "PivotFieldSortOptions"+      ( \x ->+          PivotFieldSortOptions'+            Prelude.<$> (x Data..: "FieldId")+            Prelude.<*> (x Data..: "SortBy")+      )++instance Prelude.Hashable PivotFieldSortOptions where+  hashWithSalt _salt PivotFieldSortOptions' {..} =+    _salt+      `Prelude.hashWithSalt` fieldId+      `Prelude.hashWithSalt` sortBy++instance Prelude.NFData PivotFieldSortOptions where+  rnf PivotFieldSortOptions' {..} =+    Prelude.rnf fieldId+      `Prelude.seq` Prelude.rnf sortBy++instance Data.ToJSON PivotFieldSortOptions where+  toJSON PivotFieldSortOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("FieldId" Data..= fieldId),+            Prelude.Just ("SortBy" Data..= sortBy)+          ]+      )
+ gen/Amazonka/QuickSight/Types/PivotTableAggregatedFieldWells.hs view
@@ -0,0 +1,126 @@+{-# 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.QuickSight.Types.PivotTableAggregatedFieldWells+-- 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.QuickSight.Types.PivotTableAggregatedFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The aggregated field well for the pivot table.+--+-- /See:/ 'newPivotTableAggregatedFieldWells' smart constructor.+data PivotTableAggregatedFieldWells = PivotTableAggregatedFieldWells'+  { -- | The columns field well for a pivot table. Values are grouped by columns+    -- fields.+    columns :: Prelude.Maybe [DimensionField],+    -- | The rows field well for a pivot table. Values are grouped by rows+    -- fields.+    rows :: Prelude.Maybe [DimensionField],+    -- | The values field well for a pivot table. Values are aggregated based on+    -- rows and columns fields.+    values :: Prelude.Maybe [MeasureField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PivotTableAggregatedFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columns', 'pivotTableAggregatedFieldWells_columns' - The columns field well for a pivot table. Values are grouped by columns+-- fields.+--+-- 'rows', 'pivotTableAggregatedFieldWells_rows' - The rows field well for a pivot table. Values are grouped by rows+-- fields.+--+-- 'values', 'pivotTableAggregatedFieldWells_values' - The values field well for a pivot table. Values are aggregated based on+-- rows and columns fields.+newPivotTableAggregatedFieldWells ::+  PivotTableAggregatedFieldWells+newPivotTableAggregatedFieldWells =+  PivotTableAggregatedFieldWells'+    { columns =+        Prelude.Nothing,+      rows = Prelude.Nothing,+      values = Prelude.Nothing+    }++-- | The columns field well for a pivot table. Values are grouped by columns+-- fields.+pivotTableAggregatedFieldWells_columns :: Lens.Lens' PivotTableAggregatedFieldWells (Prelude.Maybe [DimensionField])+pivotTableAggregatedFieldWells_columns = Lens.lens (\PivotTableAggregatedFieldWells' {columns} -> columns) (\s@PivotTableAggregatedFieldWells' {} a -> s {columns = a} :: PivotTableAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The rows field well for a pivot table. Values are grouped by rows+-- fields.+pivotTableAggregatedFieldWells_rows :: Lens.Lens' PivotTableAggregatedFieldWells (Prelude.Maybe [DimensionField])+pivotTableAggregatedFieldWells_rows = Lens.lens (\PivotTableAggregatedFieldWells' {rows} -> rows) (\s@PivotTableAggregatedFieldWells' {} a -> s {rows = a} :: PivotTableAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The values field well for a pivot table. Values are aggregated based on+-- rows and columns fields.+pivotTableAggregatedFieldWells_values :: Lens.Lens' PivotTableAggregatedFieldWells (Prelude.Maybe [MeasureField])+pivotTableAggregatedFieldWells_values = Lens.lens (\PivotTableAggregatedFieldWells' {values} -> values) (\s@PivotTableAggregatedFieldWells' {} a -> s {values = a} :: PivotTableAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON PivotTableAggregatedFieldWells where+  parseJSON =+    Data.withObject+      "PivotTableAggregatedFieldWells"+      ( \x ->+          PivotTableAggregatedFieldWells'+            Prelude.<$> (x Data..:? "Columns" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Rows" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Values" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    PivotTableAggregatedFieldWells+  where+  hashWithSalt+    _salt+    PivotTableAggregatedFieldWells' {..} =+      _salt+        `Prelude.hashWithSalt` columns+        `Prelude.hashWithSalt` rows+        `Prelude.hashWithSalt` values++instance+  Prelude.NFData+    PivotTableAggregatedFieldWells+  where+  rnf PivotTableAggregatedFieldWells' {..} =+    Prelude.rnf columns+      `Prelude.seq` Prelude.rnf rows+      `Prelude.seq` Prelude.rnf values++instance Data.ToJSON PivotTableAggregatedFieldWells where+  toJSON PivotTableAggregatedFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Columns" Data..=) Prelude.<$> columns,+            ("Rows" Data..=) Prelude.<$> rows,+            ("Values" Data..=) Prelude.<$> values+          ]+      )
+ gen/Amazonka/QuickSight/Types/PivotTableCellConditionalFormatting.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PivotTableCellConditionalFormatting+-- 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.QuickSight.Types.PivotTableCellConditionalFormatting where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.PivotTableConditionalFormattingScope+import Amazonka.QuickSight.Types.TextConditionalFormat++-- | The cell conditional formatting option for a pivot table.+--+-- /See:/ 'newPivotTableCellConditionalFormatting' smart constructor.+data PivotTableCellConditionalFormatting = PivotTableCellConditionalFormatting'+  { -- | The scope of the cell for conditional formatting.+    scope :: Prelude.Maybe PivotTableConditionalFormattingScope,+    -- | The text format of the cell for conditional formatting.+    textFormat :: Prelude.Maybe TextConditionalFormat,+    -- | The field ID of the cell for conditional formatting.+    fieldId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PivotTableCellConditionalFormatting' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'scope', 'pivotTableCellConditionalFormatting_scope' - The scope of the cell for conditional formatting.+--+-- 'textFormat', 'pivotTableCellConditionalFormatting_textFormat' - The text format of the cell for conditional formatting.+--+-- 'fieldId', 'pivotTableCellConditionalFormatting_fieldId' - The field ID of the cell for conditional formatting.+newPivotTableCellConditionalFormatting ::+  -- | 'fieldId'+  Prelude.Text ->+  PivotTableCellConditionalFormatting+newPivotTableCellConditionalFormatting pFieldId_ =+  PivotTableCellConditionalFormatting'+    { scope =+        Prelude.Nothing,+      textFormat = Prelude.Nothing,+      fieldId = pFieldId_+    }++-- | The scope of the cell for conditional formatting.+pivotTableCellConditionalFormatting_scope :: Lens.Lens' PivotTableCellConditionalFormatting (Prelude.Maybe PivotTableConditionalFormattingScope)+pivotTableCellConditionalFormatting_scope = Lens.lens (\PivotTableCellConditionalFormatting' {scope} -> scope) (\s@PivotTableCellConditionalFormatting' {} a -> s {scope = a} :: PivotTableCellConditionalFormatting)++-- | The text format of the cell for conditional formatting.+pivotTableCellConditionalFormatting_textFormat :: Lens.Lens' PivotTableCellConditionalFormatting (Prelude.Maybe TextConditionalFormat)+pivotTableCellConditionalFormatting_textFormat = Lens.lens (\PivotTableCellConditionalFormatting' {textFormat} -> textFormat) (\s@PivotTableCellConditionalFormatting' {} a -> s {textFormat = a} :: PivotTableCellConditionalFormatting)++-- | The field ID of the cell for conditional formatting.+pivotTableCellConditionalFormatting_fieldId :: Lens.Lens' PivotTableCellConditionalFormatting Prelude.Text+pivotTableCellConditionalFormatting_fieldId = Lens.lens (\PivotTableCellConditionalFormatting' {fieldId} -> fieldId) (\s@PivotTableCellConditionalFormatting' {} a -> s {fieldId = a} :: PivotTableCellConditionalFormatting)++instance+  Data.FromJSON+    PivotTableCellConditionalFormatting+  where+  parseJSON =+    Data.withObject+      "PivotTableCellConditionalFormatting"+      ( \x ->+          PivotTableCellConditionalFormatting'+            Prelude.<$> (x Data..:? "Scope")+            Prelude.<*> (x Data..:? "TextFormat")+            Prelude.<*> (x Data..: "FieldId")+      )++instance+  Prelude.Hashable+    PivotTableCellConditionalFormatting+  where+  hashWithSalt+    _salt+    PivotTableCellConditionalFormatting' {..} =+      _salt+        `Prelude.hashWithSalt` scope+        `Prelude.hashWithSalt` textFormat+        `Prelude.hashWithSalt` fieldId++instance+  Prelude.NFData+    PivotTableCellConditionalFormatting+  where+  rnf PivotTableCellConditionalFormatting' {..} =+    Prelude.rnf scope+      `Prelude.seq` Prelude.rnf textFormat+      `Prelude.seq` Prelude.rnf fieldId++instance+  Data.ToJSON+    PivotTableCellConditionalFormatting+  where+  toJSON PivotTableCellConditionalFormatting' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Scope" Data..=) Prelude.<$> scope,+            ("TextFormat" Data..=) Prelude.<$> textFormat,+            Prelude.Just ("FieldId" Data..= fieldId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/PivotTableConditionalFormatting.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PivotTableConditionalFormatting+-- 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.QuickSight.Types.PivotTableConditionalFormatting where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.PivotTableConditionalFormattingOption++-- | The conditional formatting for a @PivotTableVisual@.+--+-- /See:/ 'newPivotTableConditionalFormatting' smart constructor.+data PivotTableConditionalFormatting = PivotTableConditionalFormatting'+  { -- | Conditional formatting options for a @PivotTableVisual@.+    conditionalFormattingOptions :: Prelude.Maybe [PivotTableConditionalFormattingOption]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PivotTableConditionalFormatting' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'conditionalFormattingOptions', 'pivotTableConditionalFormatting_conditionalFormattingOptions' - Conditional formatting options for a @PivotTableVisual@.+newPivotTableConditionalFormatting ::+  PivotTableConditionalFormatting+newPivotTableConditionalFormatting =+  PivotTableConditionalFormatting'+    { conditionalFormattingOptions =+        Prelude.Nothing+    }++-- | Conditional formatting options for a @PivotTableVisual@.+pivotTableConditionalFormatting_conditionalFormattingOptions :: Lens.Lens' PivotTableConditionalFormatting (Prelude.Maybe [PivotTableConditionalFormattingOption])+pivotTableConditionalFormatting_conditionalFormattingOptions = Lens.lens (\PivotTableConditionalFormatting' {conditionalFormattingOptions} -> conditionalFormattingOptions) (\s@PivotTableConditionalFormatting' {} a -> s {conditionalFormattingOptions = a} :: PivotTableConditionalFormatting) Prelude.. Lens.mapping Lens.coerced++instance+  Data.FromJSON+    PivotTableConditionalFormatting+  where+  parseJSON =+    Data.withObject+      "PivotTableConditionalFormatting"+      ( \x ->+          PivotTableConditionalFormatting'+            Prelude.<$> ( x+                            Data..:? "ConditionalFormattingOptions"+                            Data..!= Prelude.mempty+                        )+      )++instance+  Prelude.Hashable+    PivotTableConditionalFormatting+  where+  hashWithSalt+    _salt+    PivotTableConditionalFormatting' {..} =+      _salt+        `Prelude.hashWithSalt` conditionalFormattingOptions++instance+  Prelude.NFData+    PivotTableConditionalFormatting+  where+  rnf PivotTableConditionalFormatting' {..} =+    Prelude.rnf conditionalFormattingOptions++instance Data.ToJSON PivotTableConditionalFormatting where+  toJSON PivotTableConditionalFormatting' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ConditionalFormattingOptions" Data..=)+              Prelude.<$> conditionalFormattingOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/PivotTableConditionalFormattingOption.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PivotTableConditionalFormattingOption+-- 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.QuickSight.Types.PivotTableConditionalFormattingOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.PivotTableCellConditionalFormatting++-- | Conditional formatting options for a @PivotTableVisual@.+--+-- /See:/ 'newPivotTableConditionalFormattingOption' smart constructor.+data PivotTableConditionalFormattingOption = PivotTableConditionalFormattingOption'+  { -- | The cell conditional formatting option for a pivot table.+    cell :: Prelude.Maybe PivotTableCellConditionalFormatting+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PivotTableConditionalFormattingOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cell', 'pivotTableConditionalFormattingOption_cell' - The cell conditional formatting option for a pivot table.+newPivotTableConditionalFormattingOption ::+  PivotTableConditionalFormattingOption+newPivotTableConditionalFormattingOption =+  PivotTableConditionalFormattingOption'+    { cell =+        Prelude.Nothing+    }++-- | The cell conditional formatting option for a pivot table.+pivotTableConditionalFormattingOption_cell :: Lens.Lens' PivotTableConditionalFormattingOption (Prelude.Maybe PivotTableCellConditionalFormatting)+pivotTableConditionalFormattingOption_cell = Lens.lens (\PivotTableConditionalFormattingOption' {cell} -> cell) (\s@PivotTableConditionalFormattingOption' {} a -> s {cell = a} :: PivotTableConditionalFormattingOption)++instance+  Data.FromJSON+    PivotTableConditionalFormattingOption+  where+  parseJSON =+    Data.withObject+      "PivotTableConditionalFormattingOption"+      ( \x ->+          PivotTableConditionalFormattingOption'+            Prelude.<$> (x Data..:? "Cell")+      )++instance+  Prelude.Hashable+    PivotTableConditionalFormattingOption+  where+  hashWithSalt+    _salt+    PivotTableConditionalFormattingOption' {..} =+      _salt `Prelude.hashWithSalt` cell++instance+  Prelude.NFData+    PivotTableConditionalFormattingOption+  where+  rnf PivotTableConditionalFormattingOption' {..} =+    Prelude.rnf cell++instance+  Data.ToJSON+    PivotTableConditionalFormattingOption+  where+  toJSON PivotTableConditionalFormattingOption' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Cell" Data..=) Prelude.<$> cell]+      )
+ gen/Amazonka/QuickSight/Types/PivotTableConditionalFormattingScope.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PivotTableConditionalFormattingScope+-- 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.QuickSight.Types.PivotTableConditionalFormattingScope where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.PivotTableConditionalFormattingScopeRole++-- | The scope of the cell for conditional formatting.+--+-- /See:/ 'newPivotTableConditionalFormattingScope' smart constructor.+data PivotTableConditionalFormattingScope = PivotTableConditionalFormattingScope'+  { -- | The role (field, field total, grand total) of the cell for conditional+    -- formatting.+    role' :: Prelude.Maybe PivotTableConditionalFormattingScopeRole+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PivotTableConditionalFormattingScope' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'role'', 'pivotTableConditionalFormattingScope_role' - The role (field, field total, grand total) of the cell for conditional+-- formatting.+newPivotTableConditionalFormattingScope ::+  PivotTableConditionalFormattingScope+newPivotTableConditionalFormattingScope =+  PivotTableConditionalFormattingScope'+    { role' =+        Prelude.Nothing+    }++-- | The role (field, field total, grand total) of the cell for conditional+-- formatting.+pivotTableConditionalFormattingScope_role :: Lens.Lens' PivotTableConditionalFormattingScope (Prelude.Maybe PivotTableConditionalFormattingScopeRole)+pivotTableConditionalFormattingScope_role = Lens.lens (\PivotTableConditionalFormattingScope' {role'} -> role') (\s@PivotTableConditionalFormattingScope' {} a -> s {role' = a} :: PivotTableConditionalFormattingScope)++instance+  Data.FromJSON+    PivotTableConditionalFormattingScope+  where+  parseJSON =+    Data.withObject+      "PivotTableConditionalFormattingScope"+      ( \x ->+          PivotTableConditionalFormattingScope'+            Prelude.<$> (x Data..:? "Role")+      )++instance+  Prelude.Hashable+    PivotTableConditionalFormattingScope+  where+  hashWithSalt+    _salt+    PivotTableConditionalFormattingScope' {..} =+      _salt `Prelude.hashWithSalt` role'++instance+  Prelude.NFData+    PivotTableConditionalFormattingScope+  where+  rnf PivotTableConditionalFormattingScope' {..} =+    Prelude.rnf role'++instance+  Data.ToJSON+    PivotTableConditionalFormattingScope+  where+  toJSON PivotTableConditionalFormattingScope' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Role" Data..=) Prelude.<$> role']+      )
+ gen/Amazonka/QuickSight/Types/PivotTableConditionalFormattingScopeRole.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PivotTableConditionalFormattingScopeRole+-- 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.QuickSight.Types.PivotTableConditionalFormattingScopeRole+  ( PivotTableConditionalFormattingScopeRole+      ( ..,+        PivotTableConditionalFormattingScopeRole_FIELD,+        PivotTableConditionalFormattingScopeRole_FIELD_TOTAL,+        PivotTableConditionalFormattingScopeRole_GRAND_TOTAL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PivotTableConditionalFormattingScopeRole = PivotTableConditionalFormattingScopeRole'+  { fromPivotTableConditionalFormattingScopeRole ::+      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 PivotTableConditionalFormattingScopeRole_FIELD :: PivotTableConditionalFormattingScopeRole+pattern PivotTableConditionalFormattingScopeRole_FIELD = PivotTableConditionalFormattingScopeRole' "FIELD"++pattern PivotTableConditionalFormattingScopeRole_FIELD_TOTAL :: PivotTableConditionalFormattingScopeRole+pattern PivotTableConditionalFormattingScopeRole_FIELD_TOTAL = PivotTableConditionalFormattingScopeRole' "FIELD_TOTAL"++pattern PivotTableConditionalFormattingScopeRole_GRAND_TOTAL :: PivotTableConditionalFormattingScopeRole+pattern PivotTableConditionalFormattingScopeRole_GRAND_TOTAL = PivotTableConditionalFormattingScopeRole' "GRAND_TOTAL"++{-# COMPLETE+  PivotTableConditionalFormattingScopeRole_FIELD,+  PivotTableConditionalFormattingScopeRole_FIELD_TOTAL,+  PivotTableConditionalFormattingScopeRole_GRAND_TOTAL,+  PivotTableConditionalFormattingScopeRole'+  #-}
+ gen/Amazonka/QuickSight/Types/PivotTableConfiguration.hs view
@@ -0,0 +1,154 @@+{-# 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.QuickSight.Types.PivotTableConfiguration+-- 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.QuickSight.Types.PivotTableConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.PivotTableFieldOptions+import Amazonka.QuickSight.Types.PivotTableFieldWells+import Amazonka.QuickSight.Types.PivotTableOptions+import Amazonka.QuickSight.Types.PivotTablePaginatedReportOptions+import Amazonka.QuickSight.Types.PivotTableSortConfiguration+import Amazonka.QuickSight.Types.PivotTableTotalOptions++-- | The configuration for a @PivotTableVisual@.+--+-- /See:/ 'newPivotTableConfiguration' smart constructor.+data PivotTableConfiguration = PivotTableConfiguration'+  { -- | The field options for a pivot table visual.+    fieldOptions :: Prelude.Maybe PivotTableFieldOptions,+    -- | The field wells of the visual.+    fieldWells :: Prelude.Maybe PivotTableFieldWells,+    -- | The paginated report options for a pivot table visual.+    paginatedReportOptions :: Prelude.Maybe PivotTablePaginatedReportOptions,+    -- | The sort configuration for a @PivotTableVisual@.+    sortConfiguration :: Prelude.Maybe PivotTableSortConfiguration,+    -- | The table options for a pivot table visual.+    tableOptions :: Prelude.Maybe PivotTableOptions,+    -- | The total options for a pivot table visual.+    totalOptions :: Prelude.Maybe PivotTableTotalOptions+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PivotTableConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldOptions', 'pivotTableConfiguration_fieldOptions' - The field options for a pivot table visual.+--+-- 'fieldWells', 'pivotTableConfiguration_fieldWells' - The field wells of the visual.+--+-- 'paginatedReportOptions', 'pivotTableConfiguration_paginatedReportOptions' - The paginated report options for a pivot table visual.+--+-- 'sortConfiguration', 'pivotTableConfiguration_sortConfiguration' - The sort configuration for a @PivotTableVisual@.+--+-- 'tableOptions', 'pivotTableConfiguration_tableOptions' - The table options for a pivot table visual.+--+-- 'totalOptions', 'pivotTableConfiguration_totalOptions' - The total options for a pivot table visual.+newPivotTableConfiguration ::+  PivotTableConfiguration+newPivotTableConfiguration =+  PivotTableConfiguration'+    { fieldOptions =+        Prelude.Nothing,+      fieldWells = Prelude.Nothing,+      paginatedReportOptions = Prelude.Nothing,+      sortConfiguration = Prelude.Nothing,+      tableOptions = Prelude.Nothing,+      totalOptions = Prelude.Nothing+    }++-- | The field options for a pivot table visual.+pivotTableConfiguration_fieldOptions :: Lens.Lens' PivotTableConfiguration (Prelude.Maybe PivotTableFieldOptions)+pivotTableConfiguration_fieldOptions = Lens.lens (\PivotTableConfiguration' {fieldOptions} -> fieldOptions) (\s@PivotTableConfiguration' {} a -> s {fieldOptions = a} :: PivotTableConfiguration)++-- | The field wells of the visual.+pivotTableConfiguration_fieldWells :: Lens.Lens' PivotTableConfiguration (Prelude.Maybe PivotTableFieldWells)+pivotTableConfiguration_fieldWells = Lens.lens (\PivotTableConfiguration' {fieldWells} -> fieldWells) (\s@PivotTableConfiguration' {} a -> s {fieldWells = a} :: PivotTableConfiguration)++-- | The paginated report options for a pivot table visual.+pivotTableConfiguration_paginatedReportOptions :: Lens.Lens' PivotTableConfiguration (Prelude.Maybe PivotTablePaginatedReportOptions)+pivotTableConfiguration_paginatedReportOptions = Lens.lens (\PivotTableConfiguration' {paginatedReportOptions} -> paginatedReportOptions) (\s@PivotTableConfiguration' {} a -> s {paginatedReportOptions = a} :: PivotTableConfiguration)++-- | The sort configuration for a @PivotTableVisual@.+pivotTableConfiguration_sortConfiguration :: Lens.Lens' PivotTableConfiguration (Prelude.Maybe PivotTableSortConfiguration)+pivotTableConfiguration_sortConfiguration = Lens.lens (\PivotTableConfiguration' {sortConfiguration} -> sortConfiguration) (\s@PivotTableConfiguration' {} a -> s {sortConfiguration = a} :: PivotTableConfiguration)++-- | The table options for a pivot table visual.+pivotTableConfiguration_tableOptions :: Lens.Lens' PivotTableConfiguration (Prelude.Maybe PivotTableOptions)+pivotTableConfiguration_tableOptions = Lens.lens (\PivotTableConfiguration' {tableOptions} -> tableOptions) (\s@PivotTableConfiguration' {} a -> s {tableOptions = a} :: PivotTableConfiguration)++-- | The total options for a pivot table visual.+pivotTableConfiguration_totalOptions :: Lens.Lens' PivotTableConfiguration (Prelude.Maybe PivotTableTotalOptions)+pivotTableConfiguration_totalOptions = Lens.lens (\PivotTableConfiguration' {totalOptions} -> totalOptions) (\s@PivotTableConfiguration' {} a -> s {totalOptions = a} :: PivotTableConfiguration)++instance Data.FromJSON PivotTableConfiguration where+  parseJSON =+    Data.withObject+      "PivotTableConfiguration"+      ( \x ->+          PivotTableConfiguration'+            Prelude.<$> (x Data..:? "FieldOptions")+            Prelude.<*> (x Data..:? "FieldWells")+            Prelude.<*> (x Data..:? "PaginatedReportOptions")+            Prelude.<*> (x Data..:? "SortConfiguration")+            Prelude.<*> (x Data..:? "TableOptions")+            Prelude.<*> (x Data..:? "TotalOptions")+      )++instance Prelude.Hashable PivotTableConfiguration where+  hashWithSalt _salt PivotTableConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` fieldOptions+      `Prelude.hashWithSalt` fieldWells+      `Prelude.hashWithSalt` paginatedReportOptions+      `Prelude.hashWithSalt` sortConfiguration+      `Prelude.hashWithSalt` tableOptions+      `Prelude.hashWithSalt` totalOptions++instance Prelude.NFData PivotTableConfiguration where+  rnf PivotTableConfiguration' {..} =+    Prelude.rnf fieldOptions+      `Prelude.seq` Prelude.rnf fieldWells+      `Prelude.seq` Prelude.rnf paginatedReportOptions+      `Prelude.seq` Prelude.rnf sortConfiguration+      `Prelude.seq` Prelude.rnf tableOptions+      `Prelude.seq` Prelude.rnf totalOptions++instance Data.ToJSON PivotTableConfiguration where+  toJSON PivotTableConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FieldOptions" Data..=) Prelude.<$> fieldOptions,+            ("FieldWells" Data..=) Prelude.<$> fieldWells,+            ("PaginatedReportOptions" Data..=)+              Prelude.<$> paginatedReportOptions,+            ("SortConfiguration" Data..=)+              Prelude.<$> sortConfiguration,+            ("TableOptions" Data..=) Prelude.<$> tableOptions,+            ("TotalOptions" Data..=) Prelude.<$> totalOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/PivotTableDataPathOption.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PivotTableDataPathOption+-- 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.QuickSight.Types.PivotTableDataPathOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataPathValue++-- | The data path options for the pivot table field options.+--+-- /See:/ 'newPivotTableDataPathOption' smart constructor.+data PivotTableDataPathOption = PivotTableDataPathOption'+  { -- | The width of the data path option.+    width :: Prelude.Maybe Prelude.Text,+    -- | The list of data path values for the data path options.+    dataPathList :: [DataPathValue]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PivotTableDataPathOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'width', 'pivotTableDataPathOption_width' - The width of the data path option.+--+-- 'dataPathList', 'pivotTableDataPathOption_dataPathList' - The list of data path values for the data path options.+newPivotTableDataPathOption ::+  PivotTableDataPathOption+newPivotTableDataPathOption =+  PivotTableDataPathOption'+    { width = Prelude.Nothing,+      dataPathList = Prelude.mempty+    }++-- | The width of the data path option.+pivotTableDataPathOption_width :: Lens.Lens' PivotTableDataPathOption (Prelude.Maybe Prelude.Text)+pivotTableDataPathOption_width = Lens.lens (\PivotTableDataPathOption' {width} -> width) (\s@PivotTableDataPathOption' {} a -> s {width = a} :: PivotTableDataPathOption)++-- | The list of data path values for the data path options.+pivotTableDataPathOption_dataPathList :: Lens.Lens' PivotTableDataPathOption [DataPathValue]+pivotTableDataPathOption_dataPathList = Lens.lens (\PivotTableDataPathOption' {dataPathList} -> dataPathList) (\s@PivotTableDataPathOption' {} a -> s {dataPathList = a} :: PivotTableDataPathOption) Prelude.. Lens.coerced++instance Data.FromJSON PivotTableDataPathOption where+  parseJSON =+    Data.withObject+      "PivotTableDataPathOption"+      ( \x ->+          PivotTableDataPathOption'+            Prelude.<$> (x Data..:? "Width")+            Prelude.<*> (x Data..:? "DataPathList" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable PivotTableDataPathOption where+  hashWithSalt _salt PivotTableDataPathOption' {..} =+    _salt+      `Prelude.hashWithSalt` width+      `Prelude.hashWithSalt` dataPathList++instance Prelude.NFData PivotTableDataPathOption where+  rnf PivotTableDataPathOption' {..} =+    Prelude.rnf width+      `Prelude.seq` Prelude.rnf dataPathList++instance Data.ToJSON PivotTableDataPathOption where+  toJSON PivotTableDataPathOption' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Width" Data..=) Prelude.<$> width,+            Prelude.Just ("DataPathList" Data..= dataPathList)+          ]+      )
+ gen/Amazonka/QuickSight/Types/PivotTableFieldOption.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PivotTableFieldOption+-- 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.QuickSight.Types.PivotTableFieldOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The selected field options for the pivot table field options.+--+-- /See:/ 'newPivotTableFieldOption' smart constructor.+data PivotTableFieldOption = PivotTableFieldOption'+  { -- | The custom label of the pivot table field.+    customLabel :: Prelude.Maybe Prelude.Text,+    -- | The visibility of the pivot table field.+    visibility :: Prelude.Maybe Visibility,+    -- | The field ID of the pivot table field.+    fieldId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PivotTableFieldOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customLabel', 'pivotTableFieldOption_customLabel' - The custom label of the pivot table field.+--+-- 'visibility', 'pivotTableFieldOption_visibility' - The visibility of the pivot table field.+--+-- 'fieldId', 'pivotTableFieldOption_fieldId' - The field ID of the pivot table field.+newPivotTableFieldOption ::+  -- | 'fieldId'+  Prelude.Text ->+  PivotTableFieldOption+newPivotTableFieldOption pFieldId_ =+  PivotTableFieldOption'+    { customLabel =+        Prelude.Nothing,+      visibility = Prelude.Nothing,+      fieldId = pFieldId_+    }++-- | The custom label of the pivot table field.+pivotTableFieldOption_customLabel :: Lens.Lens' PivotTableFieldOption (Prelude.Maybe Prelude.Text)+pivotTableFieldOption_customLabel = Lens.lens (\PivotTableFieldOption' {customLabel} -> customLabel) (\s@PivotTableFieldOption' {} a -> s {customLabel = a} :: PivotTableFieldOption)++-- | The visibility of the pivot table field.+pivotTableFieldOption_visibility :: Lens.Lens' PivotTableFieldOption (Prelude.Maybe Visibility)+pivotTableFieldOption_visibility = Lens.lens (\PivotTableFieldOption' {visibility} -> visibility) (\s@PivotTableFieldOption' {} a -> s {visibility = a} :: PivotTableFieldOption)++-- | The field ID of the pivot table field.+pivotTableFieldOption_fieldId :: Lens.Lens' PivotTableFieldOption Prelude.Text+pivotTableFieldOption_fieldId = Lens.lens (\PivotTableFieldOption' {fieldId} -> fieldId) (\s@PivotTableFieldOption' {} a -> s {fieldId = a} :: PivotTableFieldOption)++instance Data.FromJSON PivotTableFieldOption where+  parseJSON =+    Data.withObject+      "PivotTableFieldOption"+      ( \x ->+          PivotTableFieldOption'+            Prelude.<$> (x Data..:? "CustomLabel")+            Prelude.<*> (x Data..:? "Visibility")+            Prelude.<*> (x Data..: "FieldId")+      )++instance Prelude.Hashable PivotTableFieldOption where+  hashWithSalt _salt PivotTableFieldOption' {..} =+    _salt+      `Prelude.hashWithSalt` customLabel+      `Prelude.hashWithSalt` visibility+      `Prelude.hashWithSalt` fieldId++instance Prelude.NFData PivotTableFieldOption where+  rnf PivotTableFieldOption' {..} =+    Prelude.rnf customLabel+      `Prelude.seq` Prelude.rnf visibility+      `Prelude.seq` Prelude.rnf fieldId++instance Data.ToJSON PivotTableFieldOption where+  toJSON PivotTableFieldOption' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomLabel" Data..=) Prelude.<$> customLabel,+            ("Visibility" Data..=) Prelude.<$> visibility,+            Prelude.Just ("FieldId" Data..= fieldId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/PivotTableFieldOptions.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.QuickSight.Types.PivotTableFieldOptions+-- 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.QuickSight.Types.PivotTableFieldOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.PivotTableDataPathOption+import Amazonka.QuickSight.Types.PivotTableFieldOption++-- | The field options for a pivot table visual.+--+-- /See:/ 'newPivotTableFieldOptions' smart constructor.+data PivotTableFieldOptions = PivotTableFieldOptions'+  { -- | The data path options for the pivot table field options.+    dataPathOptions :: Prelude.Maybe [PivotTableDataPathOption],+    -- | The selected field options for the pivot table field options.+    selectedFieldOptions :: Prelude.Maybe [PivotTableFieldOption]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PivotTableFieldOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataPathOptions', 'pivotTableFieldOptions_dataPathOptions' - The data path options for the pivot table field options.+--+-- 'selectedFieldOptions', 'pivotTableFieldOptions_selectedFieldOptions' - The selected field options for the pivot table field options.+newPivotTableFieldOptions ::+  PivotTableFieldOptions+newPivotTableFieldOptions =+  PivotTableFieldOptions'+    { dataPathOptions =+        Prelude.Nothing,+      selectedFieldOptions = Prelude.Nothing+    }++-- | The data path options for the pivot table field options.+pivotTableFieldOptions_dataPathOptions :: Lens.Lens' PivotTableFieldOptions (Prelude.Maybe [PivotTableDataPathOption])+pivotTableFieldOptions_dataPathOptions = Lens.lens (\PivotTableFieldOptions' {dataPathOptions} -> dataPathOptions) (\s@PivotTableFieldOptions' {} a -> s {dataPathOptions = a} :: PivotTableFieldOptions) Prelude.. Lens.mapping Lens.coerced++-- | The selected field options for the pivot table field options.+pivotTableFieldOptions_selectedFieldOptions :: Lens.Lens' PivotTableFieldOptions (Prelude.Maybe [PivotTableFieldOption])+pivotTableFieldOptions_selectedFieldOptions = Lens.lens (\PivotTableFieldOptions' {selectedFieldOptions} -> selectedFieldOptions) (\s@PivotTableFieldOptions' {} a -> s {selectedFieldOptions = a} :: PivotTableFieldOptions) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON PivotTableFieldOptions where+  parseJSON =+    Data.withObject+      "PivotTableFieldOptions"+      ( \x ->+          PivotTableFieldOptions'+            Prelude.<$> ( x+                            Data..:? "DataPathOptions"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "SelectedFieldOptions"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable PivotTableFieldOptions where+  hashWithSalt _salt PivotTableFieldOptions' {..} =+    _salt+      `Prelude.hashWithSalt` dataPathOptions+      `Prelude.hashWithSalt` selectedFieldOptions++instance Prelude.NFData PivotTableFieldOptions where+  rnf PivotTableFieldOptions' {..} =+    Prelude.rnf dataPathOptions+      `Prelude.seq` Prelude.rnf selectedFieldOptions++instance Data.ToJSON PivotTableFieldOptions where+  toJSON PivotTableFieldOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DataPathOptions" Data..=)+              Prelude.<$> dataPathOptions,+            ("SelectedFieldOptions" Data..=)+              Prelude.<$> selectedFieldOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/PivotTableFieldSubtotalOptions.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.QuickSight.Types.PivotTableFieldSubtotalOptions+-- 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.QuickSight.Types.PivotTableFieldSubtotalOptions 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 optional configuration of subtotals cells.+--+-- /See:/ 'newPivotTableFieldSubtotalOptions' smart constructor.+data PivotTableFieldSubtotalOptions = PivotTableFieldSubtotalOptions'+  { -- | The field ID of the subtotal options.+    fieldId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PivotTableFieldSubtotalOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldId', 'pivotTableFieldSubtotalOptions_fieldId' - The field ID of the subtotal options.+newPivotTableFieldSubtotalOptions ::+  PivotTableFieldSubtotalOptions+newPivotTableFieldSubtotalOptions =+  PivotTableFieldSubtotalOptions'+    { fieldId =+        Prelude.Nothing+    }++-- | The field ID of the subtotal options.+pivotTableFieldSubtotalOptions_fieldId :: Lens.Lens' PivotTableFieldSubtotalOptions (Prelude.Maybe Prelude.Text)+pivotTableFieldSubtotalOptions_fieldId = Lens.lens (\PivotTableFieldSubtotalOptions' {fieldId} -> fieldId) (\s@PivotTableFieldSubtotalOptions' {} a -> s {fieldId = a} :: PivotTableFieldSubtotalOptions)++instance Data.FromJSON PivotTableFieldSubtotalOptions where+  parseJSON =+    Data.withObject+      "PivotTableFieldSubtotalOptions"+      ( \x ->+          PivotTableFieldSubtotalOptions'+            Prelude.<$> (x Data..:? "FieldId")+      )++instance+  Prelude.Hashable+    PivotTableFieldSubtotalOptions+  where+  hashWithSalt+    _salt+    PivotTableFieldSubtotalOptions' {..} =+      _salt `Prelude.hashWithSalt` fieldId++instance+  Prelude.NFData+    PivotTableFieldSubtotalOptions+  where+  rnf PivotTableFieldSubtotalOptions' {..} =+    Prelude.rnf fieldId++instance Data.ToJSON PivotTableFieldSubtotalOptions where+  toJSON PivotTableFieldSubtotalOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [("FieldId" Data..=) Prelude.<$> fieldId]+      )
+ gen/Amazonka/QuickSight/Types/PivotTableFieldWells.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.QuickSight.Types.PivotTableFieldWells+-- 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.QuickSight.Types.PivotTableFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.PivotTableAggregatedFieldWells++-- | The field wells for a pivot table visual.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newPivotTableFieldWells' smart constructor.+data PivotTableFieldWells = PivotTableFieldWells'+  { -- | The aggregated field well for the pivot table.+    pivotTableAggregatedFieldWells :: Prelude.Maybe PivotTableAggregatedFieldWells+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PivotTableFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pivotTableAggregatedFieldWells', 'pivotTableFieldWells_pivotTableAggregatedFieldWells' - The aggregated field well for the pivot table.+newPivotTableFieldWells ::+  PivotTableFieldWells+newPivotTableFieldWells =+  PivotTableFieldWells'+    { pivotTableAggregatedFieldWells =+        Prelude.Nothing+    }++-- | The aggregated field well for the pivot table.+pivotTableFieldWells_pivotTableAggregatedFieldWells :: Lens.Lens' PivotTableFieldWells (Prelude.Maybe PivotTableAggregatedFieldWells)+pivotTableFieldWells_pivotTableAggregatedFieldWells = Lens.lens (\PivotTableFieldWells' {pivotTableAggregatedFieldWells} -> pivotTableAggregatedFieldWells) (\s@PivotTableFieldWells' {} a -> s {pivotTableAggregatedFieldWells = a} :: PivotTableFieldWells)++instance Data.FromJSON PivotTableFieldWells where+  parseJSON =+    Data.withObject+      "PivotTableFieldWells"+      ( \x ->+          PivotTableFieldWells'+            Prelude.<$> (x Data..:? "PivotTableAggregatedFieldWells")+      )++instance Prelude.Hashable PivotTableFieldWells where+  hashWithSalt _salt PivotTableFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` pivotTableAggregatedFieldWells++instance Prelude.NFData PivotTableFieldWells where+  rnf PivotTableFieldWells' {..} =+    Prelude.rnf pivotTableAggregatedFieldWells++instance Data.ToJSON PivotTableFieldWells where+  toJSON PivotTableFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PivotTableAggregatedFieldWells" Data..=)+              Prelude.<$> pivotTableAggregatedFieldWells+          ]+      )
+ gen/Amazonka/QuickSight/Types/PivotTableMetricPlacement.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.QuickSight.Types.PivotTableMetricPlacement+-- 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.QuickSight.Types.PivotTableMetricPlacement+  ( PivotTableMetricPlacement+      ( ..,+        PivotTableMetricPlacement_COLUMN,+        PivotTableMetricPlacement_ROW+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PivotTableMetricPlacement = PivotTableMetricPlacement'+  { fromPivotTableMetricPlacement ::+      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 PivotTableMetricPlacement_COLUMN :: PivotTableMetricPlacement+pattern PivotTableMetricPlacement_COLUMN = PivotTableMetricPlacement' "COLUMN"++pattern PivotTableMetricPlacement_ROW :: PivotTableMetricPlacement+pattern PivotTableMetricPlacement_ROW = PivotTableMetricPlacement' "ROW"++{-# COMPLETE+  PivotTableMetricPlacement_COLUMN,+  PivotTableMetricPlacement_ROW,+  PivotTableMetricPlacement'+  #-}
+ gen/Amazonka/QuickSight/Types/PivotTableOptions.hs view
@@ -0,0 +1,196 @@+{-# 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.QuickSight.Types.PivotTableOptions+-- 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.QuickSight.Types.PivotTableOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.PivotTableMetricPlacement+import Amazonka.QuickSight.Types.RowAlternateColorOptions+import Amazonka.QuickSight.Types.TableCellStyle+import Amazonka.QuickSight.Types.Visibility++-- | The table options for a pivot table visual.+--+-- /See:/ 'newPivotTableOptions' smart constructor.+data PivotTableOptions = PivotTableOptions'+  { -- | The table cell style of cells.+    cellStyle :: Prelude.Maybe TableCellStyle,+    -- | The table cell style of the column header.+    columnHeaderStyle :: Prelude.Maybe TableCellStyle,+    -- | The visibility of the column names.+    columnNamesVisibility :: Prelude.Maybe Visibility,+    -- | The metric placement (row, column) options.+    metricPlacement :: Prelude.Maybe PivotTableMetricPlacement,+    -- | The row alternate color options (widget status, row alternate colors).+    rowAlternateColorOptions :: Prelude.Maybe RowAlternateColorOptions,+    -- | The table cell style of row field names.+    rowFieldNamesStyle :: Prelude.Maybe TableCellStyle,+    -- | The table cell style of the row headers.+    rowHeaderStyle :: Prelude.Maybe TableCellStyle,+    -- | The visibility of the single metric options.+    singleMetricVisibility :: Prelude.Maybe Visibility,+    -- | Determines the visibility of the pivot table.+    toggleButtonsVisibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PivotTableOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cellStyle', 'pivotTableOptions_cellStyle' - The table cell style of cells.+--+-- 'columnHeaderStyle', 'pivotTableOptions_columnHeaderStyle' - The table cell style of the column header.+--+-- 'columnNamesVisibility', 'pivotTableOptions_columnNamesVisibility' - The visibility of the column names.+--+-- 'metricPlacement', 'pivotTableOptions_metricPlacement' - The metric placement (row, column) options.+--+-- 'rowAlternateColorOptions', 'pivotTableOptions_rowAlternateColorOptions' - The row alternate color options (widget status, row alternate colors).+--+-- 'rowFieldNamesStyle', 'pivotTableOptions_rowFieldNamesStyle' - The table cell style of row field names.+--+-- 'rowHeaderStyle', 'pivotTableOptions_rowHeaderStyle' - The table cell style of the row headers.+--+-- 'singleMetricVisibility', 'pivotTableOptions_singleMetricVisibility' - The visibility of the single metric options.+--+-- 'toggleButtonsVisibility', 'pivotTableOptions_toggleButtonsVisibility' - Determines the visibility of the pivot table.+newPivotTableOptions ::+  PivotTableOptions+newPivotTableOptions =+  PivotTableOptions'+    { cellStyle = Prelude.Nothing,+      columnHeaderStyle = Prelude.Nothing,+      columnNamesVisibility = Prelude.Nothing,+      metricPlacement = Prelude.Nothing,+      rowAlternateColorOptions = Prelude.Nothing,+      rowFieldNamesStyle = Prelude.Nothing,+      rowHeaderStyle = Prelude.Nothing,+      singleMetricVisibility = Prelude.Nothing,+      toggleButtonsVisibility = Prelude.Nothing+    }++-- | The table cell style of cells.+pivotTableOptions_cellStyle :: Lens.Lens' PivotTableOptions (Prelude.Maybe TableCellStyle)+pivotTableOptions_cellStyle = Lens.lens (\PivotTableOptions' {cellStyle} -> cellStyle) (\s@PivotTableOptions' {} a -> s {cellStyle = a} :: PivotTableOptions)++-- | The table cell style of the column header.+pivotTableOptions_columnHeaderStyle :: Lens.Lens' PivotTableOptions (Prelude.Maybe TableCellStyle)+pivotTableOptions_columnHeaderStyle = Lens.lens (\PivotTableOptions' {columnHeaderStyle} -> columnHeaderStyle) (\s@PivotTableOptions' {} a -> s {columnHeaderStyle = a} :: PivotTableOptions)++-- | The visibility of the column names.+pivotTableOptions_columnNamesVisibility :: Lens.Lens' PivotTableOptions (Prelude.Maybe Visibility)+pivotTableOptions_columnNamesVisibility = Lens.lens (\PivotTableOptions' {columnNamesVisibility} -> columnNamesVisibility) (\s@PivotTableOptions' {} a -> s {columnNamesVisibility = a} :: PivotTableOptions)++-- | The metric placement (row, column) options.+pivotTableOptions_metricPlacement :: Lens.Lens' PivotTableOptions (Prelude.Maybe PivotTableMetricPlacement)+pivotTableOptions_metricPlacement = Lens.lens (\PivotTableOptions' {metricPlacement} -> metricPlacement) (\s@PivotTableOptions' {} a -> s {metricPlacement = a} :: PivotTableOptions)++-- | The row alternate color options (widget status, row alternate colors).+pivotTableOptions_rowAlternateColorOptions :: Lens.Lens' PivotTableOptions (Prelude.Maybe RowAlternateColorOptions)+pivotTableOptions_rowAlternateColorOptions = Lens.lens (\PivotTableOptions' {rowAlternateColorOptions} -> rowAlternateColorOptions) (\s@PivotTableOptions' {} a -> s {rowAlternateColorOptions = a} :: PivotTableOptions)++-- | The table cell style of row field names.+pivotTableOptions_rowFieldNamesStyle :: Lens.Lens' PivotTableOptions (Prelude.Maybe TableCellStyle)+pivotTableOptions_rowFieldNamesStyle = Lens.lens (\PivotTableOptions' {rowFieldNamesStyle} -> rowFieldNamesStyle) (\s@PivotTableOptions' {} a -> s {rowFieldNamesStyle = a} :: PivotTableOptions)++-- | The table cell style of the row headers.+pivotTableOptions_rowHeaderStyle :: Lens.Lens' PivotTableOptions (Prelude.Maybe TableCellStyle)+pivotTableOptions_rowHeaderStyle = Lens.lens (\PivotTableOptions' {rowHeaderStyle} -> rowHeaderStyle) (\s@PivotTableOptions' {} a -> s {rowHeaderStyle = a} :: PivotTableOptions)++-- | The visibility of the single metric options.+pivotTableOptions_singleMetricVisibility :: Lens.Lens' PivotTableOptions (Prelude.Maybe Visibility)+pivotTableOptions_singleMetricVisibility = Lens.lens (\PivotTableOptions' {singleMetricVisibility} -> singleMetricVisibility) (\s@PivotTableOptions' {} a -> s {singleMetricVisibility = a} :: PivotTableOptions)++-- | Determines the visibility of the pivot table.+pivotTableOptions_toggleButtonsVisibility :: Lens.Lens' PivotTableOptions (Prelude.Maybe Visibility)+pivotTableOptions_toggleButtonsVisibility = Lens.lens (\PivotTableOptions' {toggleButtonsVisibility} -> toggleButtonsVisibility) (\s@PivotTableOptions' {} a -> s {toggleButtonsVisibility = a} :: PivotTableOptions)++instance Data.FromJSON PivotTableOptions where+  parseJSON =+    Data.withObject+      "PivotTableOptions"+      ( \x ->+          PivotTableOptions'+            Prelude.<$> (x Data..:? "CellStyle")+            Prelude.<*> (x Data..:? "ColumnHeaderStyle")+            Prelude.<*> (x Data..:? "ColumnNamesVisibility")+            Prelude.<*> (x Data..:? "MetricPlacement")+            Prelude.<*> (x Data..:? "RowAlternateColorOptions")+            Prelude.<*> (x Data..:? "RowFieldNamesStyle")+            Prelude.<*> (x Data..:? "RowHeaderStyle")+            Prelude.<*> (x Data..:? "SingleMetricVisibility")+            Prelude.<*> (x Data..:? "ToggleButtonsVisibility")+      )++instance Prelude.Hashable PivotTableOptions where+  hashWithSalt _salt PivotTableOptions' {..} =+    _salt+      `Prelude.hashWithSalt` cellStyle+      `Prelude.hashWithSalt` columnHeaderStyle+      `Prelude.hashWithSalt` columnNamesVisibility+      `Prelude.hashWithSalt` metricPlacement+      `Prelude.hashWithSalt` rowAlternateColorOptions+      `Prelude.hashWithSalt` rowFieldNamesStyle+      `Prelude.hashWithSalt` rowHeaderStyle+      `Prelude.hashWithSalt` singleMetricVisibility+      `Prelude.hashWithSalt` toggleButtonsVisibility++instance Prelude.NFData PivotTableOptions where+  rnf PivotTableOptions' {..} =+    Prelude.rnf cellStyle+      `Prelude.seq` Prelude.rnf columnHeaderStyle+      `Prelude.seq` Prelude.rnf columnNamesVisibility+      `Prelude.seq` Prelude.rnf metricPlacement+      `Prelude.seq` Prelude.rnf rowAlternateColorOptions+      `Prelude.seq` Prelude.rnf rowFieldNamesStyle+      `Prelude.seq` Prelude.rnf rowHeaderStyle+      `Prelude.seq` Prelude.rnf singleMetricVisibility+      `Prelude.seq` Prelude.rnf toggleButtonsVisibility++instance Data.ToJSON PivotTableOptions where+  toJSON PivotTableOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CellStyle" Data..=) Prelude.<$> cellStyle,+            ("ColumnHeaderStyle" Data..=)+              Prelude.<$> columnHeaderStyle,+            ("ColumnNamesVisibility" Data..=)+              Prelude.<$> columnNamesVisibility,+            ("MetricPlacement" Data..=)+              Prelude.<$> metricPlacement,+            ("RowAlternateColorOptions" Data..=)+              Prelude.<$> rowAlternateColorOptions,+            ("RowFieldNamesStyle" Data..=)+              Prelude.<$> rowFieldNamesStyle,+            ("RowHeaderStyle" Data..=)+              Prelude.<$> rowHeaderStyle,+            ("SingleMetricVisibility" Data..=)+              Prelude.<$> singleMetricVisibility,+            ("ToggleButtonsVisibility" Data..=)+              Prelude.<$> toggleButtonsVisibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/PivotTablePaginatedReportOptions.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.QuickSight.Types.PivotTablePaginatedReportOptions+-- 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.QuickSight.Types.PivotTablePaginatedReportOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The paginated report options for a pivot table visual.+--+-- /See:/ 'newPivotTablePaginatedReportOptions' smart constructor.+data PivotTablePaginatedReportOptions = PivotTablePaginatedReportOptions'+  { -- | The visibility of the repeating header rows on each page.+    overflowColumnHeaderVisibility :: Prelude.Maybe Visibility,+    -- | The visibility of the printing table overflow across pages.+    verticalOverflowVisibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PivotTablePaginatedReportOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'overflowColumnHeaderVisibility', 'pivotTablePaginatedReportOptions_overflowColumnHeaderVisibility' - The visibility of the repeating header rows on each page.+--+-- 'verticalOverflowVisibility', 'pivotTablePaginatedReportOptions_verticalOverflowVisibility' - The visibility of the printing table overflow across pages.+newPivotTablePaginatedReportOptions ::+  PivotTablePaginatedReportOptions+newPivotTablePaginatedReportOptions =+  PivotTablePaginatedReportOptions'+    { overflowColumnHeaderVisibility =+        Prelude.Nothing,+      verticalOverflowVisibility =+        Prelude.Nothing+    }++-- | The visibility of the repeating header rows on each page.+pivotTablePaginatedReportOptions_overflowColumnHeaderVisibility :: Lens.Lens' PivotTablePaginatedReportOptions (Prelude.Maybe Visibility)+pivotTablePaginatedReportOptions_overflowColumnHeaderVisibility = Lens.lens (\PivotTablePaginatedReportOptions' {overflowColumnHeaderVisibility} -> overflowColumnHeaderVisibility) (\s@PivotTablePaginatedReportOptions' {} a -> s {overflowColumnHeaderVisibility = a} :: PivotTablePaginatedReportOptions)++-- | The visibility of the printing table overflow across pages.+pivotTablePaginatedReportOptions_verticalOverflowVisibility :: Lens.Lens' PivotTablePaginatedReportOptions (Prelude.Maybe Visibility)+pivotTablePaginatedReportOptions_verticalOverflowVisibility = Lens.lens (\PivotTablePaginatedReportOptions' {verticalOverflowVisibility} -> verticalOverflowVisibility) (\s@PivotTablePaginatedReportOptions' {} a -> s {verticalOverflowVisibility = a} :: PivotTablePaginatedReportOptions)++instance+  Data.FromJSON+    PivotTablePaginatedReportOptions+  where+  parseJSON =+    Data.withObject+      "PivotTablePaginatedReportOptions"+      ( \x ->+          PivotTablePaginatedReportOptions'+            Prelude.<$> (x Data..:? "OverflowColumnHeaderVisibility")+            Prelude.<*> (x Data..:? "VerticalOverflowVisibility")+      )++instance+  Prelude.Hashable+    PivotTablePaginatedReportOptions+  where+  hashWithSalt+    _salt+    PivotTablePaginatedReportOptions' {..} =+      _salt+        `Prelude.hashWithSalt` overflowColumnHeaderVisibility+        `Prelude.hashWithSalt` verticalOverflowVisibility++instance+  Prelude.NFData+    PivotTablePaginatedReportOptions+  where+  rnf PivotTablePaginatedReportOptions' {..} =+    Prelude.rnf overflowColumnHeaderVisibility+      `Prelude.seq` Prelude.rnf verticalOverflowVisibility++instance Data.ToJSON PivotTablePaginatedReportOptions where+  toJSON PivotTablePaginatedReportOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("OverflowColumnHeaderVisibility" Data..=)+              Prelude.<$> overflowColumnHeaderVisibility,+            ("VerticalOverflowVisibility" Data..=)+              Prelude.<$> verticalOverflowVisibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/PivotTableSortBy.hs view
@@ -0,0 +1,118 @@+{-# 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.QuickSight.Types.PivotTableSortBy+-- 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.QuickSight.Types.PivotTableSortBy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnSort+import Amazonka.QuickSight.Types.DataPathSort+import Amazonka.QuickSight.Types.FieldSort++-- | The sort by field for the field sort options.+--+-- /See:/ 'newPivotTableSortBy' smart constructor.+data PivotTableSortBy = PivotTableSortBy'+  { -- | The column sort (field id, direction) for the pivot table sort by+    -- options.+    column :: Prelude.Maybe ColumnSort,+    -- | The data path sort (data path value, direction) for the pivot table sort+    -- by options.+    dataPath :: Prelude.Maybe DataPathSort,+    -- | The field sort (field id, direction) for the pivot table sort by+    -- options.+    field :: Prelude.Maybe FieldSort+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PivotTableSortBy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'column', 'pivotTableSortBy_column' - The column sort (field id, direction) for the pivot table sort by+-- options.+--+-- 'dataPath', 'pivotTableSortBy_dataPath' - The data path sort (data path value, direction) for the pivot table sort+-- by options.+--+-- 'field', 'pivotTableSortBy_field' - The field sort (field id, direction) for the pivot table sort by+-- options.+newPivotTableSortBy ::+  PivotTableSortBy+newPivotTableSortBy =+  PivotTableSortBy'+    { column = Prelude.Nothing,+      dataPath = Prelude.Nothing,+      field = Prelude.Nothing+    }++-- | The column sort (field id, direction) for the pivot table sort by+-- options.+pivotTableSortBy_column :: Lens.Lens' PivotTableSortBy (Prelude.Maybe ColumnSort)+pivotTableSortBy_column = Lens.lens (\PivotTableSortBy' {column} -> column) (\s@PivotTableSortBy' {} a -> s {column = a} :: PivotTableSortBy)++-- | The data path sort (data path value, direction) for the pivot table sort+-- by options.+pivotTableSortBy_dataPath :: Lens.Lens' PivotTableSortBy (Prelude.Maybe DataPathSort)+pivotTableSortBy_dataPath = Lens.lens (\PivotTableSortBy' {dataPath} -> dataPath) (\s@PivotTableSortBy' {} a -> s {dataPath = a} :: PivotTableSortBy)++-- | The field sort (field id, direction) for the pivot table sort by+-- options.+pivotTableSortBy_field :: Lens.Lens' PivotTableSortBy (Prelude.Maybe FieldSort)+pivotTableSortBy_field = Lens.lens (\PivotTableSortBy' {field} -> field) (\s@PivotTableSortBy' {} a -> s {field = a} :: PivotTableSortBy)++instance Data.FromJSON PivotTableSortBy where+  parseJSON =+    Data.withObject+      "PivotTableSortBy"+      ( \x ->+          PivotTableSortBy'+            Prelude.<$> (x Data..:? "Column")+            Prelude.<*> (x Data..:? "DataPath")+            Prelude.<*> (x Data..:? "Field")+      )++instance Prelude.Hashable PivotTableSortBy where+  hashWithSalt _salt PivotTableSortBy' {..} =+    _salt+      `Prelude.hashWithSalt` column+      `Prelude.hashWithSalt` dataPath+      `Prelude.hashWithSalt` field++instance Prelude.NFData PivotTableSortBy where+  rnf PivotTableSortBy' {..} =+    Prelude.rnf column+      `Prelude.seq` Prelude.rnf dataPath+      `Prelude.seq` Prelude.rnf field++instance Data.ToJSON PivotTableSortBy where+  toJSON PivotTableSortBy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Column" Data..=) Prelude.<$> column,+            ("DataPath" Data..=) Prelude.<$> dataPath,+            ("Field" Data..=) Prelude.<$> field+          ]+      )
+ gen/Amazonka/QuickSight/Types/PivotTableSortConfiguration.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PivotTableSortConfiguration+-- 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.QuickSight.Types.PivotTableSortConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.PivotFieldSortOptions++-- | The sort configuration for a @PivotTableVisual@.+--+-- /See:/ 'newPivotTableSortConfiguration' smart constructor.+data PivotTableSortConfiguration = PivotTableSortConfiguration'+  { -- | The field sort options for a pivot table sort configuration.+    fieldSortOptions :: Prelude.Maybe [PivotFieldSortOptions]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PivotTableSortConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldSortOptions', 'pivotTableSortConfiguration_fieldSortOptions' - The field sort options for a pivot table sort configuration.+newPivotTableSortConfiguration ::+  PivotTableSortConfiguration+newPivotTableSortConfiguration =+  PivotTableSortConfiguration'+    { fieldSortOptions =+        Prelude.Nothing+    }++-- | The field sort options for a pivot table sort configuration.+pivotTableSortConfiguration_fieldSortOptions :: Lens.Lens' PivotTableSortConfiguration (Prelude.Maybe [PivotFieldSortOptions])+pivotTableSortConfiguration_fieldSortOptions = Lens.lens (\PivotTableSortConfiguration' {fieldSortOptions} -> fieldSortOptions) (\s@PivotTableSortConfiguration' {} a -> s {fieldSortOptions = a} :: PivotTableSortConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON PivotTableSortConfiguration where+  parseJSON =+    Data.withObject+      "PivotTableSortConfiguration"+      ( \x ->+          PivotTableSortConfiguration'+            Prelude.<$> ( x+                            Data..:? "FieldSortOptions"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable PivotTableSortConfiguration where+  hashWithSalt _salt PivotTableSortConfiguration' {..} =+    _salt `Prelude.hashWithSalt` fieldSortOptions++instance Prelude.NFData PivotTableSortConfiguration where+  rnf PivotTableSortConfiguration' {..} =+    Prelude.rnf fieldSortOptions++instance Data.ToJSON PivotTableSortConfiguration where+  toJSON PivotTableSortConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FieldSortOptions" Data..=)+              Prelude.<$> fieldSortOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/PivotTableSubtotalLevel.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PivotTableSubtotalLevel+-- 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.QuickSight.Types.PivotTableSubtotalLevel+  ( PivotTableSubtotalLevel+      ( ..,+        PivotTableSubtotalLevel_ALL,+        PivotTableSubtotalLevel_CUSTOM,+        PivotTableSubtotalLevel_LAST+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PivotTableSubtotalLevel = PivotTableSubtotalLevel'+  { fromPivotTableSubtotalLevel ::+      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 PivotTableSubtotalLevel_ALL :: PivotTableSubtotalLevel+pattern PivotTableSubtotalLevel_ALL = PivotTableSubtotalLevel' "ALL"++pattern PivotTableSubtotalLevel_CUSTOM :: PivotTableSubtotalLevel+pattern PivotTableSubtotalLevel_CUSTOM = PivotTableSubtotalLevel' "CUSTOM"++pattern PivotTableSubtotalLevel_LAST :: PivotTableSubtotalLevel+pattern PivotTableSubtotalLevel_LAST = PivotTableSubtotalLevel' "LAST"++{-# COMPLETE+  PivotTableSubtotalLevel_ALL,+  PivotTableSubtotalLevel_CUSTOM,+  PivotTableSubtotalLevel_LAST,+  PivotTableSubtotalLevel'+  #-}
+ gen/Amazonka/QuickSight/Types/PivotTableTotalOptions.hs view
@@ -0,0 +1,126 @@+{-# 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.QuickSight.Types.PivotTableTotalOptions+-- 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.QuickSight.Types.PivotTableTotalOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.PivotTotalOptions+import Amazonka.QuickSight.Types.SubtotalOptions++-- | The total options for a pivot table visual.+--+-- /See:/ 'newPivotTableTotalOptions' smart constructor.+data PivotTableTotalOptions = PivotTableTotalOptions'+  { -- | The column subtotal options.+    columnSubtotalOptions :: Prelude.Maybe SubtotalOptions,+    -- | The column total options.+    columnTotalOptions :: Prelude.Maybe PivotTotalOptions,+    -- | The row subtotal options.+    rowSubtotalOptions :: Prelude.Maybe SubtotalOptions,+    -- | The row total options.+    rowTotalOptions :: Prelude.Maybe PivotTotalOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PivotTableTotalOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columnSubtotalOptions', 'pivotTableTotalOptions_columnSubtotalOptions' - The column subtotal options.+--+-- 'columnTotalOptions', 'pivotTableTotalOptions_columnTotalOptions' - The column total options.+--+-- 'rowSubtotalOptions', 'pivotTableTotalOptions_rowSubtotalOptions' - The row subtotal options.+--+-- 'rowTotalOptions', 'pivotTableTotalOptions_rowTotalOptions' - The row total options.+newPivotTableTotalOptions ::+  PivotTableTotalOptions+newPivotTableTotalOptions =+  PivotTableTotalOptions'+    { columnSubtotalOptions =+        Prelude.Nothing,+      columnTotalOptions = Prelude.Nothing,+      rowSubtotalOptions = Prelude.Nothing,+      rowTotalOptions = Prelude.Nothing+    }++-- | The column subtotal options.+pivotTableTotalOptions_columnSubtotalOptions :: Lens.Lens' PivotTableTotalOptions (Prelude.Maybe SubtotalOptions)+pivotTableTotalOptions_columnSubtotalOptions = Lens.lens (\PivotTableTotalOptions' {columnSubtotalOptions} -> columnSubtotalOptions) (\s@PivotTableTotalOptions' {} a -> s {columnSubtotalOptions = a} :: PivotTableTotalOptions)++-- | The column total options.+pivotTableTotalOptions_columnTotalOptions :: Lens.Lens' PivotTableTotalOptions (Prelude.Maybe PivotTotalOptions)+pivotTableTotalOptions_columnTotalOptions = Lens.lens (\PivotTableTotalOptions' {columnTotalOptions} -> columnTotalOptions) (\s@PivotTableTotalOptions' {} a -> s {columnTotalOptions = a} :: PivotTableTotalOptions)++-- | The row subtotal options.+pivotTableTotalOptions_rowSubtotalOptions :: Lens.Lens' PivotTableTotalOptions (Prelude.Maybe SubtotalOptions)+pivotTableTotalOptions_rowSubtotalOptions = Lens.lens (\PivotTableTotalOptions' {rowSubtotalOptions} -> rowSubtotalOptions) (\s@PivotTableTotalOptions' {} a -> s {rowSubtotalOptions = a} :: PivotTableTotalOptions)++-- | The row total options.+pivotTableTotalOptions_rowTotalOptions :: Lens.Lens' PivotTableTotalOptions (Prelude.Maybe PivotTotalOptions)+pivotTableTotalOptions_rowTotalOptions = Lens.lens (\PivotTableTotalOptions' {rowTotalOptions} -> rowTotalOptions) (\s@PivotTableTotalOptions' {} a -> s {rowTotalOptions = a} :: PivotTableTotalOptions)++instance Data.FromJSON PivotTableTotalOptions where+  parseJSON =+    Data.withObject+      "PivotTableTotalOptions"+      ( \x ->+          PivotTableTotalOptions'+            Prelude.<$> (x Data..:? "ColumnSubtotalOptions")+            Prelude.<*> (x Data..:? "ColumnTotalOptions")+            Prelude.<*> (x Data..:? "RowSubtotalOptions")+            Prelude.<*> (x Data..:? "RowTotalOptions")+      )++instance Prelude.Hashable PivotTableTotalOptions where+  hashWithSalt _salt PivotTableTotalOptions' {..} =+    _salt+      `Prelude.hashWithSalt` columnSubtotalOptions+      `Prelude.hashWithSalt` columnTotalOptions+      `Prelude.hashWithSalt` rowSubtotalOptions+      `Prelude.hashWithSalt` rowTotalOptions++instance Prelude.NFData PivotTableTotalOptions where+  rnf PivotTableTotalOptions' {..} =+    Prelude.rnf columnSubtotalOptions+      `Prelude.seq` Prelude.rnf columnTotalOptions+      `Prelude.seq` Prelude.rnf rowSubtotalOptions+      `Prelude.seq` Prelude.rnf rowTotalOptions++instance Data.ToJSON PivotTableTotalOptions where+  toJSON PivotTableTotalOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ColumnSubtotalOptions" Data..=)+              Prelude.<$> columnSubtotalOptions,+            ("ColumnTotalOptions" Data..=)+              Prelude.<$> columnTotalOptions,+            ("RowSubtotalOptions" Data..=)+              Prelude.<$> rowSubtotalOptions,+            ("RowTotalOptions" Data..=)+              Prelude.<$> rowTotalOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/PivotTableVisual.hs view
@@ -0,0 +1,164 @@+{-# 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.QuickSight.Types.PivotTableVisual+-- 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.QuickSight.Types.PivotTableVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.PivotTableConditionalFormatting+import Amazonka.QuickSight.Types.PivotTableConfiguration+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions++-- | A pivot table.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/pivot-table.html Using pivot tables>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newPivotTableVisual' smart constructor.+data PivotTableVisual = PivotTableVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration settings of the visual.+    chartConfiguration :: Prelude.Maybe PivotTableConfiguration,+    -- | The conditional formatting for a @PivotTableVisual@.+    conditionalFormatting :: Prelude.Maybe PivotTableConditionalFormatting,+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers..+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PivotTableVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'pivotTableVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'pivotTableVisual_chartConfiguration' - The configuration settings of the visual.+--+-- 'conditionalFormatting', 'pivotTableVisual_conditionalFormatting' - The conditional formatting for a @PivotTableVisual@.+--+-- 'subtitle', 'pivotTableVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'pivotTableVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'pivotTableVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers..+newPivotTableVisual ::+  -- | 'visualId'+  Prelude.Text ->+  PivotTableVisual+newPivotTableVisual pVisualId_ =+  PivotTableVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      conditionalFormatting = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_+    }++-- | The list of custom actions that are configured for a visual.+pivotTableVisual_actions :: Lens.Lens' PivotTableVisual (Prelude.Maybe [VisualCustomAction])+pivotTableVisual_actions = Lens.lens (\PivotTableVisual' {actions} -> actions) (\s@PivotTableVisual' {} a -> s {actions = a} :: PivotTableVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration settings of the visual.+pivotTableVisual_chartConfiguration :: Lens.Lens' PivotTableVisual (Prelude.Maybe PivotTableConfiguration)+pivotTableVisual_chartConfiguration = Lens.lens (\PivotTableVisual' {chartConfiguration} -> chartConfiguration) (\s@PivotTableVisual' {} a -> s {chartConfiguration = a} :: PivotTableVisual)++-- | The conditional formatting for a @PivotTableVisual@.+pivotTableVisual_conditionalFormatting :: Lens.Lens' PivotTableVisual (Prelude.Maybe PivotTableConditionalFormatting)+pivotTableVisual_conditionalFormatting = Lens.lens (\PivotTableVisual' {conditionalFormatting} -> conditionalFormatting) (\s@PivotTableVisual' {} a -> s {conditionalFormatting = a} :: PivotTableVisual)++-- | The subtitle that is displayed on the visual.+pivotTableVisual_subtitle :: Lens.Lens' PivotTableVisual (Prelude.Maybe VisualSubtitleLabelOptions)+pivotTableVisual_subtitle = Lens.lens (\PivotTableVisual' {subtitle} -> subtitle) (\s@PivotTableVisual' {} a -> s {subtitle = a} :: PivotTableVisual)++-- | The title that is displayed on the visual.+pivotTableVisual_title :: Lens.Lens' PivotTableVisual (Prelude.Maybe VisualTitleLabelOptions)+pivotTableVisual_title = Lens.lens (\PivotTableVisual' {title} -> title) (\s@PivotTableVisual' {} a -> s {title = a} :: PivotTableVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers..+pivotTableVisual_visualId :: Lens.Lens' PivotTableVisual Prelude.Text+pivotTableVisual_visualId = Lens.lens (\PivotTableVisual' {visualId} -> visualId) (\s@PivotTableVisual' {} a -> s {visualId = a} :: PivotTableVisual)++instance Data.FromJSON PivotTableVisual where+  parseJSON =+    Data.withObject+      "PivotTableVisual"+      ( \x ->+          PivotTableVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> (x Data..:? "ConditionalFormatting")+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+      )++instance Prelude.Hashable PivotTableVisual where+  hashWithSalt _salt PivotTableVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` conditionalFormatting+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData PivotTableVisual where+  rnf PivotTableVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf conditionalFormatting+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON PivotTableVisual where+  toJSON PivotTableVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("ConditionalFormatting" Data..=)+              Prelude.<$> conditionalFormatting,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/PivotTotalOptions.hs view
@@ -0,0 +1,166 @@+{-# 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.QuickSight.Types.PivotTotalOptions+-- 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.QuickSight.Types.PivotTotalOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TableCellStyle+import Amazonka.QuickSight.Types.TableTotalsPlacement+import Amazonka.QuickSight.Types.TableTotalsScrollStatus+import Amazonka.QuickSight.Types.Visibility++-- | The optional configuration of totals cells in a @PivotTableVisual@.+--+-- /See:/ 'newPivotTotalOptions' smart constructor.+data PivotTotalOptions = PivotTotalOptions'+  { -- | The custom label string for the total cells.+    customLabel :: Prelude.Maybe Prelude.Text,+    -- | The cell styling options for the total of header cells.+    metricHeaderCellStyle :: Prelude.Maybe TableCellStyle,+    -- | The placement (start, end) for the total cells.+    placement :: Prelude.Maybe TableTotalsPlacement,+    -- | The scroll status (pinned, scrolled) for the total cells.+    scrollStatus :: Prelude.Maybe TableTotalsScrollStatus,+    -- | The cell styling options for the total cells.+    totalCellStyle :: Prelude.Maybe TableCellStyle,+    -- | The visibility configuration for the total cells.+    totalsVisibility :: Prelude.Maybe Visibility,+    -- | The cell styling options for the totals of value cells.+    valueCellStyle :: Prelude.Maybe TableCellStyle+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PivotTotalOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customLabel', 'pivotTotalOptions_customLabel' - The custom label string for the total cells.+--+-- 'metricHeaderCellStyle', 'pivotTotalOptions_metricHeaderCellStyle' - The cell styling options for the total of header cells.+--+-- 'placement', 'pivotTotalOptions_placement' - The placement (start, end) for the total cells.+--+-- 'scrollStatus', 'pivotTotalOptions_scrollStatus' - The scroll status (pinned, scrolled) for the total cells.+--+-- 'totalCellStyle', 'pivotTotalOptions_totalCellStyle' - The cell styling options for the total cells.+--+-- 'totalsVisibility', 'pivotTotalOptions_totalsVisibility' - The visibility configuration for the total cells.+--+-- 'valueCellStyle', 'pivotTotalOptions_valueCellStyle' - The cell styling options for the totals of value cells.+newPivotTotalOptions ::+  PivotTotalOptions+newPivotTotalOptions =+  PivotTotalOptions'+    { customLabel = Prelude.Nothing,+      metricHeaderCellStyle = Prelude.Nothing,+      placement = Prelude.Nothing,+      scrollStatus = Prelude.Nothing,+      totalCellStyle = Prelude.Nothing,+      totalsVisibility = Prelude.Nothing,+      valueCellStyle = Prelude.Nothing+    }++-- | The custom label string for the total cells.+pivotTotalOptions_customLabel :: Lens.Lens' PivotTotalOptions (Prelude.Maybe Prelude.Text)+pivotTotalOptions_customLabel = Lens.lens (\PivotTotalOptions' {customLabel} -> customLabel) (\s@PivotTotalOptions' {} a -> s {customLabel = a} :: PivotTotalOptions)++-- | The cell styling options for the total of header cells.+pivotTotalOptions_metricHeaderCellStyle :: Lens.Lens' PivotTotalOptions (Prelude.Maybe TableCellStyle)+pivotTotalOptions_metricHeaderCellStyle = Lens.lens (\PivotTotalOptions' {metricHeaderCellStyle} -> metricHeaderCellStyle) (\s@PivotTotalOptions' {} a -> s {metricHeaderCellStyle = a} :: PivotTotalOptions)++-- | The placement (start, end) for the total cells.+pivotTotalOptions_placement :: Lens.Lens' PivotTotalOptions (Prelude.Maybe TableTotalsPlacement)+pivotTotalOptions_placement = Lens.lens (\PivotTotalOptions' {placement} -> placement) (\s@PivotTotalOptions' {} a -> s {placement = a} :: PivotTotalOptions)++-- | The scroll status (pinned, scrolled) for the total cells.+pivotTotalOptions_scrollStatus :: Lens.Lens' PivotTotalOptions (Prelude.Maybe TableTotalsScrollStatus)+pivotTotalOptions_scrollStatus = Lens.lens (\PivotTotalOptions' {scrollStatus} -> scrollStatus) (\s@PivotTotalOptions' {} a -> s {scrollStatus = a} :: PivotTotalOptions)++-- | The cell styling options for the total cells.+pivotTotalOptions_totalCellStyle :: Lens.Lens' PivotTotalOptions (Prelude.Maybe TableCellStyle)+pivotTotalOptions_totalCellStyle = Lens.lens (\PivotTotalOptions' {totalCellStyle} -> totalCellStyle) (\s@PivotTotalOptions' {} a -> s {totalCellStyle = a} :: PivotTotalOptions)++-- | The visibility configuration for the total cells.+pivotTotalOptions_totalsVisibility :: Lens.Lens' PivotTotalOptions (Prelude.Maybe Visibility)+pivotTotalOptions_totalsVisibility = Lens.lens (\PivotTotalOptions' {totalsVisibility} -> totalsVisibility) (\s@PivotTotalOptions' {} a -> s {totalsVisibility = a} :: PivotTotalOptions)++-- | The cell styling options for the totals of value cells.+pivotTotalOptions_valueCellStyle :: Lens.Lens' PivotTotalOptions (Prelude.Maybe TableCellStyle)+pivotTotalOptions_valueCellStyle = Lens.lens (\PivotTotalOptions' {valueCellStyle} -> valueCellStyle) (\s@PivotTotalOptions' {} a -> s {valueCellStyle = a} :: PivotTotalOptions)++instance Data.FromJSON PivotTotalOptions where+  parseJSON =+    Data.withObject+      "PivotTotalOptions"+      ( \x ->+          PivotTotalOptions'+            Prelude.<$> (x Data..:? "CustomLabel")+            Prelude.<*> (x Data..:? "MetricHeaderCellStyle")+            Prelude.<*> (x Data..:? "Placement")+            Prelude.<*> (x Data..:? "ScrollStatus")+            Prelude.<*> (x Data..:? "TotalCellStyle")+            Prelude.<*> (x Data..:? "TotalsVisibility")+            Prelude.<*> (x Data..:? "ValueCellStyle")+      )++instance Prelude.Hashable PivotTotalOptions where+  hashWithSalt _salt PivotTotalOptions' {..} =+    _salt+      `Prelude.hashWithSalt` customLabel+      `Prelude.hashWithSalt` metricHeaderCellStyle+      `Prelude.hashWithSalt` placement+      `Prelude.hashWithSalt` scrollStatus+      `Prelude.hashWithSalt` totalCellStyle+      `Prelude.hashWithSalt` totalsVisibility+      `Prelude.hashWithSalt` valueCellStyle++instance Prelude.NFData PivotTotalOptions where+  rnf PivotTotalOptions' {..} =+    Prelude.rnf customLabel+      `Prelude.seq` Prelude.rnf metricHeaderCellStyle+      `Prelude.seq` Prelude.rnf placement+      `Prelude.seq` Prelude.rnf scrollStatus+      `Prelude.seq` Prelude.rnf totalCellStyle+      `Prelude.seq` Prelude.rnf totalsVisibility+      `Prelude.seq` Prelude.rnf valueCellStyle++instance Data.ToJSON PivotTotalOptions where+  toJSON PivotTotalOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomLabel" Data..=) Prelude.<$> customLabel,+            ("MetricHeaderCellStyle" Data..=)+              Prelude.<$> metricHeaderCellStyle,+            ("Placement" Data..=) Prelude.<$> placement,+            ("ScrollStatus" Data..=) Prelude.<$> scrollStatus,+            ("TotalCellStyle" Data..=)+              Prelude.<$> totalCellStyle,+            ("TotalsVisibility" Data..=)+              Prelude.<$> totalsVisibility,+            ("ValueCellStyle" Data..=)+              Prelude.<$> valueCellStyle+          ]+      )
+ gen/Amazonka/QuickSight/Types/PostgreSqlParameters.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PostgreSqlParameters+-- 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.QuickSight.Types.PostgreSqlParameters 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 parameters for PostgreSQL.+--+-- /See:/ 'newPostgreSqlParameters' smart constructor.+data PostgreSqlParameters = PostgreSqlParameters'+  { -- | Host.+    host :: Prelude.Text,+    -- | Port.+    port :: Prelude.Natural,+    -- | Database.+    database :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PostgreSqlParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'host', 'postgreSqlParameters_host' - Host.+--+-- 'port', 'postgreSqlParameters_port' - Port.+--+-- 'database', 'postgreSqlParameters_database' - Database.+newPostgreSqlParameters ::+  -- | 'host'+  Prelude.Text ->+  -- | 'port'+  Prelude.Natural ->+  -- | 'database'+  Prelude.Text ->+  PostgreSqlParameters+newPostgreSqlParameters pHost_ pPort_ pDatabase_ =+  PostgreSqlParameters'+    { host = pHost_,+      port = pPort_,+      database = pDatabase_+    }++-- | Host.+postgreSqlParameters_host :: Lens.Lens' PostgreSqlParameters Prelude.Text+postgreSqlParameters_host = Lens.lens (\PostgreSqlParameters' {host} -> host) (\s@PostgreSqlParameters' {} a -> s {host = a} :: PostgreSqlParameters)++-- | Port.+postgreSqlParameters_port :: Lens.Lens' PostgreSqlParameters Prelude.Natural+postgreSqlParameters_port = Lens.lens (\PostgreSqlParameters' {port} -> port) (\s@PostgreSqlParameters' {} a -> s {port = a} :: PostgreSqlParameters)++-- | Database.+postgreSqlParameters_database :: Lens.Lens' PostgreSqlParameters Prelude.Text+postgreSqlParameters_database = Lens.lens (\PostgreSqlParameters' {database} -> database) (\s@PostgreSqlParameters' {} a -> s {database = a} :: PostgreSqlParameters)++instance Data.FromJSON PostgreSqlParameters where+  parseJSON =+    Data.withObject+      "PostgreSqlParameters"+      ( \x ->+          PostgreSqlParameters'+            Prelude.<$> (x Data..: "Host")+            Prelude.<*> (x Data..: "Port")+            Prelude.<*> (x Data..: "Database")+      )++instance Prelude.Hashable PostgreSqlParameters where+  hashWithSalt _salt PostgreSqlParameters' {..} =+    _salt+      `Prelude.hashWithSalt` host+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` database++instance Prelude.NFData PostgreSqlParameters where+  rnf PostgreSqlParameters' {..} =+    Prelude.rnf host+      `Prelude.seq` Prelude.rnf port+      `Prelude.seq` Prelude.rnf database++instance Data.ToJSON PostgreSqlParameters where+  toJSON PostgreSqlParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Host" Data..= host),+            Prelude.Just ("Port" Data..= port),+            Prelude.Just ("Database" Data..= database)+          ]+      )
+ gen/Amazonka/QuickSight/Types/PredefinedHierarchy.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PredefinedHierarchy+-- 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.QuickSight.Types.PredefinedHierarchy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.DrillDownFilter++-- | The option that determines the hierarchy of the fields that are defined+-- during data preparation. These fields are available to use in any+-- analysis that uses the data source.+--+-- /See:/ 'newPredefinedHierarchy' smart constructor.+data PredefinedHierarchy = PredefinedHierarchy'+  { -- | The option that determines the drill down filters for the predefined+    -- hierarchy.+    drillDownFilters :: Prelude.Maybe [DrillDownFilter],+    -- | The hierarchy ID of the predefined hierarchy.+    hierarchyId :: Prelude.Text,+    -- | The list of columns that define the predefined hierarchy.+    columns :: Prelude.NonEmpty ColumnIdentifier+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PredefinedHierarchy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'drillDownFilters', 'predefinedHierarchy_drillDownFilters' - The option that determines the drill down filters for the predefined+-- hierarchy.+--+-- 'hierarchyId', 'predefinedHierarchy_hierarchyId' - The hierarchy ID of the predefined hierarchy.+--+-- 'columns', 'predefinedHierarchy_columns' - The list of columns that define the predefined hierarchy.+newPredefinedHierarchy ::+  -- | 'hierarchyId'+  Prelude.Text ->+  -- | 'columns'+  Prelude.NonEmpty ColumnIdentifier ->+  PredefinedHierarchy+newPredefinedHierarchy pHierarchyId_ pColumns_ =+  PredefinedHierarchy'+    { drillDownFilters =+        Prelude.Nothing,+      hierarchyId = pHierarchyId_,+      columns = Lens.coerced Lens.# pColumns_+    }++-- | The option that determines the drill down filters for the predefined+-- hierarchy.+predefinedHierarchy_drillDownFilters :: Lens.Lens' PredefinedHierarchy (Prelude.Maybe [DrillDownFilter])+predefinedHierarchy_drillDownFilters = Lens.lens (\PredefinedHierarchy' {drillDownFilters} -> drillDownFilters) (\s@PredefinedHierarchy' {} a -> s {drillDownFilters = a} :: PredefinedHierarchy) Prelude.. Lens.mapping Lens.coerced++-- | The hierarchy ID of the predefined hierarchy.+predefinedHierarchy_hierarchyId :: Lens.Lens' PredefinedHierarchy Prelude.Text+predefinedHierarchy_hierarchyId = Lens.lens (\PredefinedHierarchy' {hierarchyId} -> hierarchyId) (\s@PredefinedHierarchy' {} a -> s {hierarchyId = a} :: PredefinedHierarchy)++-- | The list of columns that define the predefined hierarchy.+predefinedHierarchy_columns :: Lens.Lens' PredefinedHierarchy (Prelude.NonEmpty ColumnIdentifier)+predefinedHierarchy_columns = Lens.lens (\PredefinedHierarchy' {columns} -> columns) (\s@PredefinedHierarchy' {} a -> s {columns = a} :: PredefinedHierarchy) Prelude.. Lens.coerced++instance Data.FromJSON PredefinedHierarchy where+  parseJSON =+    Data.withObject+      "PredefinedHierarchy"+      ( \x ->+          PredefinedHierarchy'+            Prelude.<$> ( x+                            Data..:? "DrillDownFilters"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "HierarchyId")+            Prelude.<*> (x Data..: "Columns")+      )++instance Prelude.Hashable PredefinedHierarchy where+  hashWithSalt _salt PredefinedHierarchy' {..} =+    _salt+      `Prelude.hashWithSalt` drillDownFilters+      `Prelude.hashWithSalt` hierarchyId+      `Prelude.hashWithSalt` columns++instance Prelude.NFData PredefinedHierarchy where+  rnf PredefinedHierarchy' {..} =+    Prelude.rnf drillDownFilters+      `Prelude.seq` Prelude.rnf hierarchyId+      `Prelude.seq` Prelude.rnf columns++instance Data.ToJSON PredefinedHierarchy where+  toJSON PredefinedHierarchy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DrillDownFilters" Data..=)+              Prelude.<$> drillDownFilters,+            Prelude.Just ("HierarchyId" Data..= hierarchyId),+            Prelude.Just ("Columns" Data..= columns)+          ]+      )
+ gen/Amazonka/QuickSight/Types/PrestoParameters.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PrestoParameters+-- 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.QuickSight.Types.PrestoParameters 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 parameters for Presto.+--+-- /See:/ 'newPrestoParameters' smart constructor.+data PrestoParameters = PrestoParameters'+  { -- | Host.+    host :: Prelude.Text,+    -- | Port.+    port :: Prelude.Natural,+    -- | Catalog.+    catalog :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PrestoParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'host', 'prestoParameters_host' - Host.+--+-- 'port', 'prestoParameters_port' - Port.+--+-- 'catalog', 'prestoParameters_catalog' - Catalog.+newPrestoParameters ::+  -- | 'host'+  Prelude.Text ->+  -- | 'port'+  Prelude.Natural ->+  -- | 'catalog'+  Prelude.Text ->+  PrestoParameters+newPrestoParameters pHost_ pPort_ pCatalog_ =+  PrestoParameters'+    { host = pHost_,+      port = pPort_,+      catalog = pCatalog_+    }++-- | Host.+prestoParameters_host :: Lens.Lens' PrestoParameters Prelude.Text+prestoParameters_host = Lens.lens (\PrestoParameters' {host} -> host) (\s@PrestoParameters' {} a -> s {host = a} :: PrestoParameters)++-- | Port.+prestoParameters_port :: Lens.Lens' PrestoParameters Prelude.Natural+prestoParameters_port = Lens.lens (\PrestoParameters' {port} -> port) (\s@PrestoParameters' {} a -> s {port = a} :: PrestoParameters)++-- | Catalog.+prestoParameters_catalog :: Lens.Lens' PrestoParameters Prelude.Text+prestoParameters_catalog = Lens.lens (\PrestoParameters' {catalog} -> catalog) (\s@PrestoParameters' {} a -> s {catalog = a} :: PrestoParameters)++instance Data.FromJSON PrestoParameters where+  parseJSON =+    Data.withObject+      "PrestoParameters"+      ( \x ->+          PrestoParameters'+            Prelude.<$> (x Data..: "Host")+            Prelude.<*> (x Data..: "Port")+            Prelude.<*> (x Data..: "Catalog")+      )++instance Prelude.Hashable PrestoParameters where+  hashWithSalt _salt PrestoParameters' {..} =+    _salt+      `Prelude.hashWithSalt` host+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` catalog++instance Prelude.NFData PrestoParameters where+  rnf PrestoParameters' {..} =+    Prelude.rnf host+      `Prelude.seq` Prelude.rnf port+      `Prelude.seq` Prelude.rnf catalog++instance Data.ToJSON PrestoParameters where+  toJSON PrestoParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Host" Data..= host),+            Prelude.Just ("Port" Data..= port),+            Prelude.Just ("Catalog" Data..= catalog)+          ]+      )
+ gen/Amazonka/QuickSight/Types/PrimaryValueDisplayType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.PrimaryValueDisplayType+-- 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.QuickSight.Types.PrimaryValueDisplayType+  ( PrimaryValueDisplayType+      ( ..,+        PrimaryValueDisplayType_ACTUAL,+        PrimaryValueDisplayType_COMPARISON,+        PrimaryValueDisplayType_HIDDEN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PrimaryValueDisplayType = PrimaryValueDisplayType'+  { fromPrimaryValueDisplayType ::+      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 PrimaryValueDisplayType_ACTUAL :: PrimaryValueDisplayType+pattern PrimaryValueDisplayType_ACTUAL = PrimaryValueDisplayType' "ACTUAL"++pattern PrimaryValueDisplayType_COMPARISON :: PrimaryValueDisplayType+pattern PrimaryValueDisplayType_COMPARISON = PrimaryValueDisplayType' "COMPARISON"++pattern PrimaryValueDisplayType_HIDDEN :: PrimaryValueDisplayType+pattern PrimaryValueDisplayType_HIDDEN = PrimaryValueDisplayType' "HIDDEN"++{-# COMPLETE+  PrimaryValueDisplayType_ACTUAL,+  PrimaryValueDisplayType_COMPARISON,+  PrimaryValueDisplayType_HIDDEN,+  PrimaryValueDisplayType'+  #-}
+ gen/Amazonka/QuickSight/Types/ProgressBarOptions.hs view
@@ -0,0 +1,77 @@+{-# 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.QuickSight.Types.ProgressBarOptions+-- 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.QuickSight.Types.ProgressBarOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The options that determine the presentation of the progress bar of a KPI+-- visual.+--+-- /See:/ 'newProgressBarOptions' smart constructor.+data ProgressBarOptions = ProgressBarOptions'+  { -- | The visibility of the progress bar.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProgressBarOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'visibility', 'progressBarOptions_visibility' - The visibility of the progress bar.+newProgressBarOptions ::+  ProgressBarOptions+newProgressBarOptions =+  ProgressBarOptions' {visibility = Prelude.Nothing}++-- | The visibility of the progress bar.+progressBarOptions_visibility :: Lens.Lens' ProgressBarOptions (Prelude.Maybe Visibility)+progressBarOptions_visibility = Lens.lens (\ProgressBarOptions' {visibility} -> visibility) (\s@ProgressBarOptions' {} a -> s {visibility = a} :: ProgressBarOptions)++instance Data.FromJSON ProgressBarOptions where+  parseJSON =+    Data.withObject+      "ProgressBarOptions"+      ( \x ->+          ProgressBarOptions'+            Prelude.<$> (x Data..:? "Visibility")+      )++instance Prelude.Hashable ProgressBarOptions where+  hashWithSalt _salt ProgressBarOptions' {..} =+    _salt `Prelude.hashWithSalt` visibility++instance Prelude.NFData ProgressBarOptions where+  rnf ProgressBarOptions' {..} = Prelude.rnf visibility++instance Data.ToJSON ProgressBarOptions where+  toJSON ProgressBarOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Visibility" Data..=) Prelude.<$> visibility]+      )
+ gen/Amazonka/QuickSight/Types/ProjectOperation.hs view
@@ -0,0 +1,84 @@+{-# 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.QuickSight.Types.ProjectOperation+-- 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.QuickSight.Types.ProjectOperation 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 transform operation that projects columns. Operations that come after+-- a projection can only refer to projected columns.+--+-- /See:/ 'newProjectOperation' smart constructor.+data ProjectOperation = ProjectOperation'+  { -- | Projected columns.+    projectedColumns :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProjectOperation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'projectedColumns', 'projectOperation_projectedColumns' - Projected columns.+newProjectOperation ::+  -- | 'projectedColumns'+  Prelude.NonEmpty Prelude.Text ->+  ProjectOperation+newProjectOperation pProjectedColumns_ =+  ProjectOperation'+    { projectedColumns =+        Lens.coerced Lens.# pProjectedColumns_+    }++-- | Projected columns.+projectOperation_projectedColumns :: Lens.Lens' ProjectOperation (Prelude.NonEmpty Prelude.Text)+projectOperation_projectedColumns = Lens.lens (\ProjectOperation' {projectedColumns} -> projectedColumns) (\s@ProjectOperation' {} a -> s {projectedColumns = a} :: ProjectOperation) Prelude.. Lens.coerced++instance Data.FromJSON ProjectOperation where+  parseJSON =+    Data.withObject+      "ProjectOperation"+      ( \x ->+          ProjectOperation'+            Prelude.<$> (x Data..: "ProjectedColumns")+      )++instance Prelude.Hashable ProjectOperation where+  hashWithSalt _salt ProjectOperation' {..} =+    _salt `Prelude.hashWithSalt` projectedColumns++instance Prelude.NFData ProjectOperation where+  rnf ProjectOperation' {..} =+    Prelude.rnf projectedColumns++instance Data.ToJSON ProjectOperation where+  toJSON ProjectOperation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ProjectedColumns" Data..= projectedColumns)+          ]+      )
+ gen/Amazonka/QuickSight/Types/QueueInfo.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.QueueInfo+-- 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.QuickSight.Types.QueueInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about a queued dataset SPICE ingestion.+--+-- /See:/ 'newQueueInfo' smart constructor.+data QueueInfo = QueueInfo'+  { -- | The ID of the queued ingestion.+    waitingOnIngestion :: Prelude.Text,+    -- | The ID of the ongoing ingestion. The queued ingestion is waiting for the+    -- ongoing ingestion to complete.+    queuedIngestion :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'QueueInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'waitingOnIngestion', 'queueInfo_waitingOnIngestion' - The ID of the queued ingestion.+--+-- 'queuedIngestion', 'queueInfo_queuedIngestion' - The ID of the ongoing ingestion. The queued ingestion is waiting for the+-- ongoing ingestion to complete.+newQueueInfo ::+  -- | 'waitingOnIngestion'+  Prelude.Text ->+  -- | 'queuedIngestion'+  Prelude.Text ->+  QueueInfo+newQueueInfo pWaitingOnIngestion_ pQueuedIngestion_ =+  QueueInfo'+    { waitingOnIngestion =+        pWaitingOnIngestion_,+      queuedIngestion = pQueuedIngestion_+    }++-- | The ID of the queued ingestion.+queueInfo_waitingOnIngestion :: Lens.Lens' QueueInfo Prelude.Text+queueInfo_waitingOnIngestion = Lens.lens (\QueueInfo' {waitingOnIngestion} -> waitingOnIngestion) (\s@QueueInfo' {} a -> s {waitingOnIngestion = a} :: QueueInfo)++-- | The ID of the ongoing ingestion. The queued ingestion is waiting for the+-- ongoing ingestion to complete.+queueInfo_queuedIngestion :: Lens.Lens' QueueInfo Prelude.Text+queueInfo_queuedIngestion = Lens.lens (\QueueInfo' {queuedIngestion} -> queuedIngestion) (\s@QueueInfo' {} a -> s {queuedIngestion = a} :: QueueInfo)++instance Data.FromJSON QueueInfo where+  parseJSON =+    Data.withObject+      "QueueInfo"+      ( \x ->+          QueueInfo'+            Prelude.<$> (x Data..: "WaitingOnIngestion")+            Prelude.<*> (x Data..: "QueuedIngestion")+      )++instance Prelude.Hashable QueueInfo where+  hashWithSalt _salt QueueInfo' {..} =+    _salt+      `Prelude.hashWithSalt` waitingOnIngestion+      `Prelude.hashWithSalt` queuedIngestion++instance Prelude.NFData QueueInfo where+  rnf QueueInfo' {..} =+    Prelude.rnf waitingOnIngestion+      `Prelude.seq` Prelude.rnf queuedIngestion
+ gen/Amazonka/QuickSight/Types/RangeEndsLabelType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.RangeEndsLabelType+-- 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.QuickSight.Types.RangeEndsLabelType where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The range ends label type of a data path label.+--+-- /See:/ 'newRangeEndsLabelType' smart constructor.+data RangeEndsLabelType = RangeEndsLabelType'+  { -- | The visibility of the range ends label.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RangeEndsLabelType' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'visibility', 'rangeEndsLabelType_visibility' - The visibility of the range ends label.+newRangeEndsLabelType ::+  RangeEndsLabelType+newRangeEndsLabelType =+  RangeEndsLabelType' {visibility = Prelude.Nothing}++-- | The visibility of the range ends label.+rangeEndsLabelType_visibility :: Lens.Lens' RangeEndsLabelType (Prelude.Maybe Visibility)+rangeEndsLabelType_visibility = Lens.lens (\RangeEndsLabelType' {visibility} -> visibility) (\s@RangeEndsLabelType' {} a -> s {visibility = a} :: RangeEndsLabelType)++instance Data.FromJSON RangeEndsLabelType where+  parseJSON =+    Data.withObject+      "RangeEndsLabelType"+      ( \x ->+          RangeEndsLabelType'+            Prelude.<$> (x Data..:? "Visibility")+      )++instance Prelude.Hashable RangeEndsLabelType where+  hashWithSalt _salt RangeEndsLabelType' {..} =+    _salt `Prelude.hashWithSalt` visibility++instance Prelude.NFData RangeEndsLabelType where+  rnf RangeEndsLabelType' {..} = Prelude.rnf visibility++instance Data.ToJSON RangeEndsLabelType where+  toJSON RangeEndsLabelType' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Visibility" Data..=) Prelude.<$> visibility]+      )
+ gen/Amazonka/QuickSight/Types/RdsParameters.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.RdsParameters+-- 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.QuickSight.Types.RdsParameters 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 parameters for Amazon RDS.+--+-- /See:/ 'newRdsParameters' smart constructor.+data RdsParameters = RdsParameters'+  { -- | Instance ID.+    instanceId :: Prelude.Text,+    -- | Database.+    database :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RdsParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'instanceId', 'rdsParameters_instanceId' - Instance ID.+--+-- 'database', 'rdsParameters_database' - Database.+newRdsParameters ::+  -- | 'instanceId'+  Prelude.Text ->+  -- | 'database'+  Prelude.Text ->+  RdsParameters+newRdsParameters pInstanceId_ pDatabase_ =+  RdsParameters'+    { instanceId = pInstanceId_,+      database = pDatabase_+    }++-- | Instance ID.+rdsParameters_instanceId :: Lens.Lens' RdsParameters Prelude.Text+rdsParameters_instanceId = Lens.lens (\RdsParameters' {instanceId} -> instanceId) (\s@RdsParameters' {} a -> s {instanceId = a} :: RdsParameters)++-- | Database.+rdsParameters_database :: Lens.Lens' RdsParameters Prelude.Text+rdsParameters_database = Lens.lens (\RdsParameters' {database} -> database) (\s@RdsParameters' {} a -> s {database = a} :: RdsParameters)++instance Data.FromJSON RdsParameters where+  parseJSON =+    Data.withObject+      "RdsParameters"+      ( \x ->+          RdsParameters'+            Prelude.<$> (x Data..: "InstanceId")+            Prelude.<*> (x Data..: "Database")+      )++instance Prelude.Hashable RdsParameters where+  hashWithSalt _salt RdsParameters' {..} =+    _salt+      `Prelude.hashWithSalt` instanceId+      `Prelude.hashWithSalt` database++instance Prelude.NFData RdsParameters where+  rnf RdsParameters' {..} =+    Prelude.rnf instanceId+      `Prelude.seq` Prelude.rnf database++instance Data.ToJSON RdsParameters where+  toJSON RdsParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("InstanceId" Data..= instanceId),+            Prelude.Just ("Database" Data..= database)+          ]+      )
+ gen/Amazonka/QuickSight/Types/RedshiftParameters.hs view
@@ -0,0 +1,126 @@+{-# 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.QuickSight.Types.RedshiftParameters+-- 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.QuickSight.Types.RedshiftParameters 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 parameters for Amazon Redshift. The @ClusterId@ field can be blank+-- if @Host@ and @Port@ are both set. The @Host@ and @Port@ fields can be+-- blank if the @ClusterId@ field is set.+--+-- /See:/ 'newRedshiftParameters' smart constructor.+data RedshiftParameters = RedshiftParameters'+  { -- | Cluster ID. This field can be blank if the @Host@ and @Port@ are+    -- provided.+    clusterId :: Prelude.Maybe Prelude.Text,+    -- | Host. This field can be blank if @ClusterId@ is provided.+    host :: Prelude.Maybe Prelude.Text,+    -- | Port. This field can be blank if the @ClusterId@ is provided.+    port :: Prelude.Maybe Prelude.Natural,+    -- | Database.+    database :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RedshiftParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clusterId', 'redshiftParameters_clusterId' - Cluster ID. This field can be blank if the @Host@ and @Port@ are+-- provided.+--+-- 'host', 'redshiftParameters_host' - Host. This field can be blank if @ClusterId@ is provided.+--+-- 'port', 'redshiftParameters_port' - Port. This field can be blank if the @ClusterId@ is provided.+--+-- 'database', 'redshiftParameters_database' - Database.+newRedshiftParameters ::+  -- | 'database'+  Prelude.Text ->+  RedshiftParameters+newRedshiftParameters pDatabase_ =+  RedshiftParameters'+    { clusterId = Prelude.Nothing,+      host = Prelude.Nothing,+      port = Prelude.Nothing,+      database = pDatabase_+    }++-- | Cluster ID. This field can be blank if the @Host@ and @Port@ are+-- provided.+redshiftParameters_clusterId :: Lens.Lens' RedshiftParameters (Prelude.Maybe Prelude.Text)+redshiftParameters_clusterId = Lens.lens (\RedshiftParameters' {clusterId} -> clusterId) (\s@RedshiftParameters' {} a -> s {clusterId = a} :: RedshiftParameters)++-- | Host. This field can be blank if @ClusterId@ is provided.+redshiftParameters_host :: Lens.Lens' RedshiftParameters (Prelude.Maybe Prelude.Text)+redshiftParameters_host = Lens.lens (\RedshiftParameters' {host} -> host) (\s@RedshiftParameters' {} a -> s {host = a} :: RedshiftParameters)++-- | Port. This field can be blank if the @ClusterId@ is provided.+redshiftParameters_port :: Lens.Lens' RedshiftParameters (Prelude.Maybe Prelude.Natural)+redshiftParameters_port = Lens.lens (\RedshiftParameters' {port} -> port) (\s@RedshiftParameters' {} a -> s {port = a} :: RedshiftParameters)++-- | Database.+redshiftParameters_database :: Lens.Lens' RedshiftParameters Prelude.Text+redshiftParameters_database = Lens.lens (\RedshiftParameters' {database} -> database) (\s@RedshiftParameters' {} a -> s {database = a} :: RedshiftParameters)++instance Data.FromJSON RedshiftParameters where+  parseJSON =+    Data.withObject+      "RedshiftParameters"+      ( \x ->+          RedshiftParameters'+            Prelude.<$> (x Data..:? "ClusterId")+            Prelude.<*> (x Data..:? "Host")+            Prelude.<*> (x Data..:? "Port")+            Prelude.<*> (x Data..: "Database")+      )++instance Prelude.Hashable RedshiftParameters where+  hashWithSalt _salt RedshiftParameters' {..} =+    _salt+      `Prelude.hashWithSalt` clusterId+      `Prelude.hashWithSalt` host+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` database++instance Prelude.NFData RedshiftParameters where+  rnf RedshiftParameters' {..} =+    Prelude.rnf clusterId+      `Prelude.seq` Prelude.rnf host+      `Prelude.seq` Prelude.rnf port+      `Prelude.seq` Prelude.rnf database++instance Data.ToJSON RedshiftParameters where+  toJSON RedshiftParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClusterId" Data..=) Prelude.<$> clusterId,+            ("Host" Data..=) Prelude.<$> host,+            ("Port" Data..=) Prelude.<$> port,+            Prelude.Just ("Database" Data..= database)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ReferenceLine.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.QuickSight.Types.ReferenceLine+-- 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.QuickSight.Types.ReferenceLine where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ReferenceLineDataConfiguration+import Amazonka.QuickSight.Types.ReferenceLineLabelConfiguration+import Amazonka.QuickSight.Types.ReferenceLineStyleConfiguration+import Amazonka.QuickSight.Types.WidgetStatus++-- | The reference line visual display options.+--+-- /See:/ 'newReferenceLine' smart constructor.+data ReferenceLine = ReferenceLine'+  { -- | The label configuration of the reference line.+    labelConfiguration :: Prelude.Maybe ReferenceLineLabelConfiguration,+    -- | The status of the reference line. Choose one of the following options:+    --+    -- -   @ENABLE@+    --+    -- -   @DISABLE@+    status :: Prelude.Maybe WidgetStatus,+    -- | The style configuration of the reference line.+    styleConfiguration :: Prelude.Maybe ReferenceLineStyleConfiguration,+    -- | The data configuration of the reference line.+    dataConfiguration :: ReferenceLineDataConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReferenceLine' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'labelConfiguration', 'referenceLine_labelConfiguration' - The label configuration of the reference line.+--+-- 'status', 'referenceLine_status' - The status of the reference line. Choose one of the following options:+--+-- -   @ENABLE@+--+-- -   @DISABLE@+--+-- 'styleConfiguration', 'referenceLine_styleConfiguration' - The style configuration of the reference line.+--+-- 'dataConfiguration', 'referenceLine_dataConfiguration' - The data configuration of the reference line.+newReferenceLine ::+  -- | 'dataConfiguration'+  ReferenceLineDataConfiguration ->+  ReferenceLine+newReferenceLine pDataConfiguration_ =+  ReferenceLine'+    { labelConfiguration =+        Prelude.Nothing,+      status = Prelude.Nothing,+      styleConfiguration = Prelude.Nothing,+      dataConfiguration = pDataConfiguration_+    }++-- | The label configuration of the reference line.+referenceLine_labelConfiguration :: Lens.Lens' ReferenceLine (Prelude.Maybe ReferenceLineLabelConfiguration)+referenceLine_labelConfiguration = Lens.lens (\ReferenceLine' {labelConfiguration} -> labelConfiguration) (\s@ReferenceLine' {} a -> s {labelConfiguration = a} :: ReferenceLine)++-- | The status of the reference line. Choose one of the following options:+--+-- -   @ENABLE@+--+-- -   @DISABLE@+referenceLine_status :: Lens.Lens' ReferenceLine (Prelude.Maybe WidgetStatus)+referenceLine_status = Lens.lens (\ReferenceLine' {status} -> status) (\s@ReferenceLine' {} a -> s {status = a} :: ReferenceLine)++-- | The style configuration of the reference line.+referenceLine_styleConfiguration :: Lens.Lens' ReferenceLine (Prelude.Maybe ReferenceLineStyleConfiguration)+referenceLine_styleConfiguration = Lens.lens (\ReferenceLine' {styleConfiguration} -> styleConfiguration) (\s@ReferenceLine' {} a -> s {styleConfiguration = a} :: ReferenceLine)++-- | The data configuration of the reference line.+referenceLine_dataConfiguration :: Lens.Lens' ReferenceLine ReferenceLineDataConfiguration+referenceLine_dataConfiguration = Lens.lens (\ReferenceLine' {dataConfiguration} -> dataConfiguration) (\s@ReferenceLine' {} a -> s {dataConfiguration = a} :: ReferenceLine)++instance Data.FromJSON ReferenceLine where+  parseJSON =+    Data.withObject+      "ReferenceLine"+      ( \x ->+          ReferenceLine'+            Prelude.<$> (x Data..:? "LabelConfiguration")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "StyleConfiguration")+            Prelude.<*> (x Data..: "DataConfiguration")+      )++instance Prelude.Hashable ReferenceLine where+  hashWithSalt _salt ReferenceLine' {..} =+    _salt+      `Prelude.hashWithSalt` labelConfiguration+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` styleConfiguration+      `Prelude.hashWithSalt` dataConfiguration++instance Prelude.NFData ReferenceLine where+  rnf ReferenceLine' {..} =+    Prelude.rnf labelConfiguration+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf styleConfiguration+      `Prelude.seq` Prelude.rnf dataConfiguration++instance Data.ToJSON ReferenceLine where+  toJSON ReferenceLine' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LabelConfiguration" Data..=)+              Prelude.<$> labelConfiguration,+            ("Status" Data..=) Prelude.<$> status,+            ("StyleConfiguration" Data..=)+              Prelude.<$> styleConfiguration,+            Prelude.Just+              ("DataConfiguration" Data..= dataConfiguration)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ReferenceLineCustomLabelConfiguration.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.QuickSight.Types.ReferenceLineCustomLabelConfiguration+-- 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.QuickSight.Types.ReferenceLineCustomLabelConfiguration 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 for a custom label on a @ReferenceLine@.+--+-- /See:/ 'newReferenceLineCustomLabelConfiguration' smart constructor.+data ReferenceLineCustomLabelConfiguration = ReferenceLineCustomLabelConfiguration'+  { -- | The string text of the custom label.+    customLabel :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReferenceLineCustomLabelConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customLabel', 'referenceLineCustomLabelConfiguration_customLabel' - The string text of the custom label.+newReferenceLineCustomLabelConfiguration ::+  -- | 'customLabel'+  Prelude.Text ->+  ReferenceLineCustomLabelConfiguration+newReferenceLineCustomLabelConfiguration+  pCustomLabel_ =+    ReferenceLineCustomLabelConfiguration'+      { customLabel =+          pCustomLabel_+      }++-- | The string text of the custom label.+referenceLineCustomLabelConfiguration_customLabel :: Lens.Lens' ReferenceLineCustomLabelConfiguration Prelude.Text+referenceLineCustomLabelConfiguration_customLabel = Lens.lens (\ReferenceLineCustomLabelConfiguration' {customLabel} -> customLabel) (\s@ReferenceLineCustomLabelConfiguration' {} a -> s {customLabel = a} :: ReferenceLineCustomLabelConfiguration)++instance+  Data.FromJSON+    ReferenceLineCustomLabelConfiguration+  where+  parseJSON =+    Data.withObject+      "ReferenceLineCustomLabelConfiguration"+      ( \x ->+          ReferenceLineCustomLabelConfiguration'+            Prelude.<$> (x Data..: "CustomLabel")+      )++instance+  Prelude.Hashable+    ReferenceLineCustomLabelConfiguration+  where+  hashWithSalt+    _salt+    ReferenceLineCustomLabelConfiguration' {..} =+      _salt `Prelude.hashWithSalt` customLabel++instance+  Prelude.NFData+    ReferenceLineCustomLabelConfiguration+  where+  rnf ReferenceLineCustomLabelConfiguration' {..} =+    Prelude.rnf customLabel++instance+  Data.ToJSON+    ReferenceLineCustomLabelConfiguration+  where+  toJSON ReferenceLineCustomLabelConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("CustomLabel" Data..= customLabel)]+      )
+ gen/Amazonka/QuickSight/Types/ReferenceLineDataConfiguration.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.QuickSight.Types.ReferenceLineDataConfiguration+-- 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.QuickSight.Types.ReferenceLineDataConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AxisBinding+import Amazonka.QuickSight.Types.ReferenceLineDynamicDataConfiguration+import Amazonka.QuickSight.Types.ReferenceLineStaticDataConfiguration++-- | The data configuration of the reference line.+--+-- /See:/ 'newReferenceLineDataConfiguration' smart constructor.+data ReferenceLineDataConfiguration = ReferenceLineDataConfiguration'+  { -- | The axis binding type of the reference line. Choose one of the following+    -- options:+    --+    -- -   PrimaryY+    --+    -- -   SecondaryY+    axisBinding :: Prelude.Maybe AxisBinding,+    -- | The dynamic configuration of the reference line data configuration.+    dynamicConfiguration :: Prelude.Maybe ReferenceLineDynamicDataConfiguration,+    -- | The static data configuration of the reference line data configuration.+    staticConfiguration :: Prelude.Maybe ReferenceLineStaticDataConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReferenceLineDataConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'axisBinding', 'referenceLineDataConfiguration_axisBinding' - The axis binding type of the reference line. Choose one of the following+-- options:+--+-- -   PrimaryY+--+-- -   SecondaryY+--+-- 'dynamicConfiguration', 'referenceLineDataConfiguration_dynamicConfiguration' - The dynamic configuration of the reference line data configuration.+--+-- 'staticConfiguration', 'referenceLineDataConfiguration_staticConfiguration' - The static data configuration of the reference line data configuration.+newReferenceLineDataConfiguration ::+  ReferenceLineDataConfiguration+newReferenceLineDataConfiguration =+  ReferenceLineDataConfiguration'+    { axisBinding =+        Prelude.Nothing,+      dynamicConfiguration = Prelude.Nothing,+      staticConfiguration = Prelude.Nothing+    }++-- | The axis binding type of the reference line. Choose one of the following+-- options:+--+-- -   PrimaryY+--+-- -   SecondaryY+referenceLineDataConfiguration_axisBinding :: Lens.Lens' ReferenceLineDataConfiguration (Prelude.Maybe AxisBinding)+referenceLineDataConfiguration_axisBinding = Lens.lens (\ReferenceLineDataConfiguration' {axisBinding} -> axisBinding) (\s@ReferenceLineDataConfiguration' {} a -> s {axisBinding = a} :: ReferenceLineDataConfiguration)++-- | The dynamic configuration of the reference line data configuration.+referenceLineDataConfiguration_dynamicConfiguration :: Lens.Lens' ReferenceLineDataConfiguration (Prelude.Maybe ReferenceLineDynamicDataConfiguration)+referenceLineDataConfiguration_dynamicConfiguration = Lens.lens (\ReferenceLineDataConfiguration' {dynamicConfiguration} -> dynamicConfiguration) (\s@ReferenceLineDataConfiguration' {} a -> s {dynamicConfiguration = a} :: ReferenceLineDataConfiguration)++-- | The static data configuration of the reference line data configuration.+referenceLineDataConfiguration_staticConfiguration :: Lens.Lens' ReferenceLineDataConfiguration (Prelude.Maybe ReferenceLineStaticDataConfiguration)+referenceLineDataConfiguration_staticConfiguration = Lens.lens (\ReferenceLineDataConfiguration' {staticConfiguration} -> staticConfiguration) (\s@ReferenceLineDataConfiguration' {} a -> s {staticConfiguration = a} :: ReferenceLineDataConfiguration)++instance Data.FromJSON ReferenceLineDataConfiguration where+  parseJSON =+    Data.withObject+      "ReferenceLineDataConfiguration"+      ( \x ->+          ReferenceLineDataConfiguration'+            Prelude.<$> (x Data..:? "AxisBinding")+            Prelude.<*> (x Data..:? "DynamicConfiguration")+            Prelude.<*> (x Data..:? "StaticConfiguration")+      )++instance+  Prelude.Hashable+    ReferenceLineDataConfiguration+  where+  hashWithSalt+    _salt+    ReferenceLineDataConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` axisBinding+        `Prelude.hashWithSalt` dynamicConfiguration+        `Prelude.hashWithSalt` staticConfiguration++instance+  Prelude.NFData+    ReferenceLineDataConfiguration+  where+  rnf ReferenceLineDataConfiguration' {..} =+    Prelude.rnf axisBinding+      `Prelude.seq` Prelude.rnf dynamicConfiguration+      `Prelude.seq` Prelude.rnf staticConfiguration++instance Data.ToJSON ReferenceLineDataConfiguration where+  toJSON ReferenceLineDataConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AxisBinding" Data..=) Prelude.<$> axisBinding,+            ("DynamicConfiguration" Data..=)+              Prelude.<$> dynamicConfiguration,+            ("StaticConfiguration" Data..=)+              Prelude.<$> staticConfiguration+          ]+      )
+ gen/Amazonka/QuickSight/Types/ReferenceLineDynamicDataConfiguration.hs view
@@ -0,0 +1,137 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ReferenceLineDynamicDataConfiguration+-- 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.QuickSight.Types.ReferenceLineDynamicDataConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AggregationFunction+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.NumericalAggregationFunction++-- | The dynamic configuration of the reference line data configuration.+--+-- /See:/ 'newReferenceLineDynamicDataConfiguration' smart constructor.+data ReferenceLineDynamicDataConfiguration = ReferenceLineDynamicDataConfiguration'+  { -- | The column that the dynamic data targets.+    column :: ColumnIdentifier,+    -- | The aggregation function that is used in the dynamic data.+    measureAggregationFunction :: AggregationFunction,+    -- | The calculation that is used in the dynamic data.+    calculation :: NumericalAggregationFunction+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReferenceLineDynamicDataConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'column', 'referenceLineDynamicDataConfiguration_column' - The column that the dynamic data targets.+--+-- 'measureAggregationFunction', 'referenceLineDynamicDataConfiguration_measureAggregationFunction' - The aggregation function that is used in the dynamic data.+--+-- 'calculation', 'referenceLineDynamicDataConfiguration_calculation' - The calculation that is used in the dynamic data.+newReferenceLineDynamicDataConfiguration ::+  -- | 'column'+  ColumnIdentifier ->+  -- | 'measureAggregationFunction'+  AggregationFunction ->+  -- | 'calculation'+  NumericalAggregationFunction ->+  ReferenceLineDynamicDataConfiguration+newReferenceLineDynamicDataConfiguration+  pColumn_+  pMeasureAggregationFunction_+  pCalculation_ =+    ReferenceLineDynamicDataConfiguration'+      { column =+          pColumn_,+        measureAggregationFunction =+          pMeasureAggregationFunction_,+        calculation = pCalculation_+      }++-- | The column that the dynamic data targets.+referenceLineDynamicDataConfiguration_column :: Lens.Lens' ReferenceLineDynamicDataConfiguration ColumnIdentifier+referenceLineDynamicDataConfiguration_column = Lens.lens (\ReferenceLineDynamicDataConfiguration' {column} -> column) (\s@ReferenceLineDynamicDataConfiguration' {} a -> s {column = a} :: ReferenceLineDynamicDataConfiguration)++-- | The aggregation function that is used in the dynamic data.+referenceLineDynamicDataConfiguration_measureAggregationFunction :: Lens.Lens' ReferenceLineDynamicDataConfiguration AggregationFunction+referenceLineDynamicDataConfiguration_measureAggregationFunction = Lens.lens (\ReferenceLineDynamicDataConfiguration' {measureAggregationFunction} -> measureAggregationFunction) (\s@ReferenceLineDynamicDataConfiguration' {} a -> s {measureAggregationFunction = a} :: ReferenceLineDynamicDataConfiguration)++-- | The calculation that is used in the dynamic data.+referenceLineDynamicDataConfiguration_calculation :: Lens.Lens' ReferenceLineDynamicDataConfiguration NumericalAggregationFunction+referenceLineDynamicDataConfiguration_calculation = Lens.lens (\ReferenceLineDynamicDataConfiguration' {calculation} -> calculation) (\s@ReferenceLineDynamicDataConfiguration' {} a -> s {calculation = a} :: ReferenceLineDynamicDataConfiguration)++instance+  Data.FromJSON+    ReferenceLineDynamicDataConfiguration+  where+  parseJSON =+    Data.withObject+      "ReferenceLineDynamicDataConfiguration"+      ( \x ->+          ReferenceLineDynamicDataConfiguration'+            Prelude.<$> (x Data..: "Column")+            Prelude.<*> (x Data..: "MeasureAggregationFunction")+            Prelude.<*> (x Data..: "Calculation")+      )++instance+  Prelude.Hashable+    ReferenceLineDynamicDataConfiguration+  where+  hashWithSalt+    _salt+    ReferenceLineDynamicDataConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` column+        `Prelude.hashWithSalt` measureAggregationFunction+        `Prelude.hashWithSalt` calculation++instance+  Prelude.NFData+    ReferenceLineDynamicDataConfiguration+  where+  rnf ReferenceLineDynamicDataConfiguration' {..} =+    Prelude.rnf column+      `Prelude.seq` Prelude.rnf measureAggregationFunction+      `Prelude.seq` Prelude.rnf calculation++instance+  Data.ToJSON+    ReferenceLineDynamicDataConfiguration+  where+  toJSON ReferenceLineDynamicDataConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Column" Data..= column),+            Prelude.Just+              ( "MeasureAggregationFunction"+                  Data..= measureAggregationFunction+              ),+            Prelude.Just ("Calculation" Data..= calculation)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ReferenceLineLabelConfiguration.hs view
@@ -0,0 +1,203 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ReferenceLineLabelConfiguration+-- 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.QuickSight.Types.ReferenceLineLabelConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FontConfiguration+import Amazonka.QuickSight.Types.ReferenceLineCustomLabelConfiguration+import Amazonka.QuickSight.Types.ReferenceLineLabelHorizontalPosition+import Amazonka.QuickSight.Types.ReferenceLineLabelVerticalPosition+import Amazonka.QuickSight.Types.ReferenceLineValueLabelConfiguration++-- | The label configuration of a reference line.+--+-- /See:/ 'newReferenceLineLabelConfiguration' smart constructor.+data ReferenceLineLabelConfiguration = ReferenceLineLabelConfiguration'+  { -- | The custom label configuration of the label in a reference line.+    customLabelConfiguration :: Prelude.Maybe ReferenceLineCustomLabelConfiguration,+    -- | The font color configuration of the label in a reference line.+    fontColor :: Prelude.Maybe Prelude.Text,+    -- | The font configuration of the label in a reference line.+    fontConfiguration :: Prelude.Maybe FontConfiguration,+    -- | The horizontal position configuration of the label in a reference line.+    -- Choose one of the following options:+    --+    -- -   @LEFT@+    --+    -- -   @CENTER@+    --+    -- -   @RIGHT@+    horizontalPosition :: Prelude.Maybe ReferenceLineLabelHorizontalPosition,+    -- | The value label configuration of the label in a reference line.+    valueLabelConfiguration :: Prelude.Maybe ReferenceLineValueLabelConfiguration,+    -- | The vertical position configuration of the label in a reference line.+    -- Choose one of the following options:+    --+    -- -   @ABOVE@+    --+    -- -   @BELOW@+    verticalPosition :: Prelude.Maybe ReferenceLineLabelVerticalPosition+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReferenceLineLabelConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customLabelConfiguration', 'referenceLineLabelConfiguration_customLabelConfiguration' - The custom label configuration of the label in a reference line.+--+-- 'fontColor', 'referenceLineLabelConfiguration_fontColor' - The font color configuration of the label in a reference line.+--+-- 'fontConfiguration', 'referenceLineLabelConfiguration_fontConfiguration' - The font configuration of the label in a reference line.+--+-- 'horizontalPosition', 'referenceLineLabelConfiguration_horizontalPosition' - The horizontal position configuration of the label in a reference line.+-- Choose one of the following options:+--+-- -   @LEFT@+--+-- -   @CENTER@+--+-- -   @RIGHT@+--+-- 'valueLabelConfiguration', 'referenceLineLabelConfiguration_valueLabelConfiguration' - The value label configuration of the label in a reference line.+--+-- 'verticalPosition', 'referenceLineLabelConfiguration_verticalPosition' - The vertical position configuration of the label in a reference line.+-- Choose one of the following options:+--+-- -   @ABOVE@+--+-- -   @BELOW@+newReferenceLineLabelConfiguration ::+  ReferenceLineLabelConfiguration+newReferenceLineLabelConfiguration =+  ReferenceLineLabelConfiguration'+    { customLabelConfiguration =+        Prelude.Nothing,+      fontColor = Prelude.Nothing,+      fontConfiguration = Prelude.Nothing,+      horizontalPosition = Prelude.Nothing,+      valueLabelConfiguration = Prelude.Nothing,+      verticalPosition = Prelude.Nothing+    }++-- | The custom label configuration of the label in a reference line.+referenceLineLabelConfiguration_customLabelConfiguration :: Lens.Lens' ReferenceLineLabelConfiguration (Prelude.Maybe ReferenceLineCustomLabelConfiguration)+referenceLineLabelConfiguration_customLabelConfiguration = Lens.lens (\ReferenceLineLabelConfiguration' {customLabelConfiguration} -> customLabelConfiguration) (\s@ReferenceLineLabelConfiguration' {} a -> s {customLabelConfiguration = a} :: ReferenceLineLabelConfiguration)++-- | The font color configuration of the label in a reference line.+referenceLineLabelConfiguration_fontColor :: Lens.Lens' ReferenceLineLabelConfiguration (Prelude.Maybe Prelude.Text)+referenceLineLabelConfiguration_fontColor = Lens.lens (\ReferenceLineLabelConfiguration' {fontColor} -> fontColor) (\s@ReferenceLineLabelConfiguration' {} a -> s {fontColor = a} :: ReferenceLineLabelConfiguration)++-- | The font configuration of the label in a reference line.+referenceLineLabelConfiguration_fontConfiguration :: Lens.Lens' ReferenceLineLabelConfiguration (Prelude.Maybe FontConfiguration)+referenceLineLabelConfiguration_fontConfiguration = Lens.lens (\ReferenceLineLabelConfiguration' {fontConfiguration} -> fontConfiguration) (\s@ReferenceLineLabelConfiguration' {} a -> s {fontConfiguration = a} :: ReferenceLineLabelConfiguration)++-- | The horizontal position configuration of the label in a reference line.+-- Choose one of the following options:+--+-- -   @LEFT@+--+-- -   @CENTER@+--+-- -   @RIGHT@+referenceLineLabelConfiguration_horizontalPosition :: Lens.Lens' ReferenceLineLabelConfiguration (Prelude.Maybe ReferenceLineLabelHorizontalPosition)+referenceLineLabelConfiguration_horizontalPosition = Lens.lens (\ReferenceLineLabelConfiguration' {horizontalPosition} -> horizontalPosition) (\s@ReferenceLineLabelConfiguration' {} a -> s {horizontalPosition = a} :: ReferenceLineLabelConfiguration)++-- | The value label configuration of the label in a reference line.+referenceLineLabelConfiguration_valueLabelConfiguration :: Lens.Lens' ReferenceLineLabelConfiguration (Prelude.Maybe ReferenceLineValueLabelConfiguration)+referenceLineLabelConfiguration_valueLabelConfiguration = Lens.lens (\ReferenceLineLabelConfiguration' {valueLabelConfiguration} -> valueLabelConfiguration) (\s@ReferenceLineLabelConfiguration' {} a -> s {valueLabelConfiguration = a} :: ReferenceLineLabelConfiguration)++-- | The vertical position configuration of the label in a reference line.+-- Choose one of the following options:+--+-- -   @ABOVE@+--+-- -   @BELOW@+referenceLineLabelConfiguration_verticalPosition :: Lens.Lens' ReferenceLineLabelConfiguration (Prelude.Maybe ReferenceLineLabelVerticalPosition)+referenceLineLabelConfiguration_verticalPosition = Lens.lens (\ReferenceLineLabelConfiguration' {verticalPosition} -> verticalPosition) (\s@ReferenceLineLabelConfiguration' {} a -> s {verticalPosition = a} :: ReferenceLineLabelConfiguration)++instance+  Data.FromJSON+    ReferenceLineLabelConfiguration+  where+  parseJSON =+    Data.withObject+      "ReferenceLineLabelConfiguration"+      ( \x ->+          ReferenceLineLabelConfiguration'+            Prelude.<$> (x Data..:? "CustomLabelConfiguration")+            Prelude.<*> (x Data..:? "FontColor")+            Prelude.<*> (x Data..:? "FontConfiguration")+            Prelude.<*> (x Data..:? "HorizontalPosition")+            Prelude.<*> (x Data..:? "ValueLabelConfiguration")+            Prelude.<*> (x Data..:? "VerticalPosition")+      )++instance+  Prelude.Hashable+    ReferenceLineLabelConfiguration+  where+  hashWithSalt+    _salt+    ReferenceLineLabelConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` customLabelConfiguration+        `Prelude.hashWithSalt` fontColor+        `Prelude.hashWithSalt` fontConfiguration+        `Prelude.hashWithSalt` horizontalPosition+        `Prelude.hashWithSalt` valueLabelConfiguration+        `Prelude.hashWithSalt` verticalPosition++instance+  Prelude.NFData+    ReferenceLineLabelConfiguration+  where+  rnf ReferenceLineLabelConfiguration' {..} =+    Prelude.rnf customLabelConfiguration+      `Prelude.seq` Prelude.rnf fontColor+      `Prelude.seq` Prelude.rnf fontConfiguration+      `Prelude.seq` Prelude.rnf horizontalPosition+      `Prelude.seq` Prelude.rnf valueLabelConfiguration+      `Prelude.seq` Prelude.rnf verticalPosition++instance Data.ToJSON ReferenceLineLabelConfiguration where+  toJSON ReferenceLineLabelConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomLabelConfiguration" Data..=)+              Prelude.<$> customLabelConfiguration,+            ("FontColor" Data..=) Prelude.<$> fontColor,+            ("FontConfiguration" Data..=)+              Prelude.<$> fontConfiguration,+            ("HorizontalPosition" Data..=)+              Prelude.<$> horizontalPosition,+            ("ValueLabelConfiguration" Data..=)+              Prelude.<$> valueLabelConfiguration,+            ("VerticalPosition" Data..=)+              Prelude.<$> verticalPosition+          ]+      )
+ gen/Amazonka/QuickSight/Types/ReferenceLineLabelHorizontalPosition.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ReferenceLineLabelHorizontalPosition+-- 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.QuickSight.Types.ReferenceLineLabelHorizontalPosition+  ( ReferenceLineLabelHorizontalPosition+      ( ..,+        ReferenceLineLabelHorizontalPosition_CENTER,+        ReferenceLineLabelHorizontalPosition_LEFT,+        ReferenceLineLabelHorizontalPosition_RIGHT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ReferenceLineLabelHorizontalPosition = ReferenceLineLabelHorizontalPosition'+  { fromReferenceLineLabelHorizontalPosition ::+      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 ReferenceLineLabelHorizontalPosition_CENTER :: ReferenceLineLabelHorizontalPosition+pattern ReferenceLineLabelHorizontalPosition_CENTER = ReferenceLineLabelHorizontalPosition' "CENTER"++pattern ReferenceLineLabelHorizontalPosition_LEFT :: ReferenceLineLabelHorizontalPosition+pattern ReferenceLineLabelHorizontalPosition_LEFT = ReferenceLineLabelHorizontalPosition' "LEFT"++pattern ReferenceLineLabelHorizontalPosition_RIGHT :: ReferenceLineLabelHorizontalPosition+pattern ReferenceLineLabelHorizontalPosition_RIGHT = ReferenceLineLabelHorizontalPosition' "RIGHT"++{-# COMPLETE+  ReferenceLineLabelHorizontalPosition_CENTER,+  ReferenceLineLabelHorizontalPosition_LEFT,+  ReferenceLineLabelHorizontalPosition_RIGHT,+  ReferenceLineLabelHorizontalPosition'+  #-}
+ gen/Amazonka/QuickSight/Types/ReferenceLineLabelVerticalPosition.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.QuickSight.Types.ReferenceLineLabelVerticalPosition+-- 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.QuickSight.Types.ReferenceLineLabelVerticalPosition+  ( ReferenceLineLabelVerticalPosition+      ( ..,+        ReferenceLineLabelVerticalPosition_ABOVE,+        ReferenceLineLabelVerticalPosition_BELOW+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ReferenceLineLabelVerticalPosition = ReferenceLineLabelVerticalPosition'+  { fromReferenceLineLabelVerticalPosition ::+      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 ReferenceLineLabelVerticalPosition_ABOVE :: ReferenceLineLabelVerticalPosition+pattern ReferenceLineLabelVerticalPosition_ABOVE = ReferenceLineLabelVerticalPosition' "ABOVE"++pattern ReferenceLineLabelVerticalPosition_BELOW :: ReferenceLineLabelVerticalPosition+pattern ReferenceLineLabelVerticalPosition_BELOW = ReferenceLineLabelVerticalPosition' "BELOW"++{-# COMPLETE+  ReferenceLineLabelVerticalPosition_ABOVE,+  ReferenceLineLabelVerticalPosition_BELOW,+  ReferenceLineLabelVerticalPosition'+  #-}
+ gen/Amazonka/QuickSight/Types/ReferenceLinePatternType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ReferenceLinePatternType+-- 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.QuickSight.Types.ReferenceLinePatternType+  ( ReferenceLinePatternType+      ( ..,+        ReferenceLinePatternType_DASHED,+        ReferenceLinePatternType_DOTTED,+        ReferenceLinePatternType_SOLID+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ReferenceLinePatternType = ReferenceLinePatternType'+  { fromReferenceLinePatternType ::+      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 ReferenceLinePatternType_DASHED :: ReferenceLinePatternType+pattern ReferenceLinePatternType_DASHED = ReferenceLinePatternType' "DASHED"++pattern ReferenceLinePatternType_DOTTED :: ReferenceLinePatternType+pattern ReferenceLinePatternType_DOTTED = ReferenceLinePatternType' "DOTTED"++pattern ReferenceLinePatternType_SOLID :: ReferenceLinePatternType+pattern ReferenceLinePatternType_SOLID = ReferenceLinePatternType' "SOLID"++{-# COMPLETE+  ReferenceLinePatternType_DASHED,+  ReferenceLinePatternType_DOTTED,+  ReferenceLinePatternType_SOLID,+  ReferenceLinePatternType'+  #-}
+ gen/Amazonka/QuickSight/Types/ReferenceLineStaticDataConfiguration.hs view
@@ -0,0 +1,95 @@+{-# 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.QuickSight.Types.ReferenceLineStaticDataConfiguration+-- 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.QuickSight.Types.ReferenceLineStaticDataConfiguration 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 static data configuration of the reference line data configuration.+--+-- /See:/ 'newReferenceLineStaticDataConfiguration' smart constructor.+data ReferenceLineStaticDataConfiguration = ReferenceLineStaticDataConfiguration'+  { -- | The double input of the static data.+    value :: Data.Sensitive Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReferenceLineStaticDataConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'value', 'referenceLineStaticDataConfiguration_value' - The double input of the static data.+newReferenceLineStaticDataConfiguration ::+  -- | 'value'+  Prelude.Double ->+  ReferenceLineStaticDataConfiguration+newReferenceLineStaticDataConfiguration pValue_ =+  ReferenceLineStaticDataConfiguration'+    { value =+        Data._Sensitive Lens.# pValue_+    }++-- | The double input of the static data.+referenceLineStaticDataConfiguration_value :: Lens.Lens' ReferenceLineStaticDataConfiguration Prelude.Double+referenceLineStaticDataConfiguration_value = Lens.lens (\ReferenceLineStaticDataConfiguration' {value} -> value) (\s@ReferenceLineStaticDataConfiguration' {} a -> s {value = a} :: ReferenceLineStaticDataConfiguration) Prelude.. Data._Sensitive++instance+  Data.FromJSON+    ReferenceLineStaticDataConfiguration+  where+  parseJSON =+    Data.withObject+      "ReferenceLineStaticDataConfiguration"+      ( \x ->+          ReferenceLineStaticDataConfiguration'+            Prelude.<$> (x Data..: "Value")+      )++instance+  Prelude.Hashable+    ReferenceLineStaticDataConfiguration+  where+  hashWithSalt+    _salt+    ReferenceLineStaticDataConfiguration' {..} =+      _salt `Prelude.hashWithSalt` value++instance+  Prelude.NFData+    ReferenceLineStaticDataConfiguration+  where+  rnf ReferenceLineStaticDataConfiguration' {..} =+    Prelude.rnf value++instance+  Data.ToJSON+    ReferenceLineStaticDataConfiguration+  where+  toJSON ReferenceLineStaticDataConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Value" Data..= value)]+      )
+ gen/Amazonka/QuickSight/Types/ReferenceLineStyleConfiguration.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ReferenceLineStyleConfiguration+-- 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.QuickSight.Types.ReferenceLineStyleConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ReferenceLinePatternType++-- | The style configuration of the reference line.+--+-- /See:/ 'newReferenceLineStyleConfiguration' smart constructor.+data ReferenceLineStyleConfiguration = ReferenceLineStyleConfiguration'+  { -- | The hex color of the reference line.+    color :: Prelude.Maybe Prelude.Text,+    -- | The pattern type of the line style. Choose one of the following options:+    --+    -- -   @SOLID@+    --+    -- -   @DASHED@+    --+    -- -   @DOTTED@+    pattern' :: Prelude.Maybe ReferenceLinePatternType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReferenceLineStyleConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'color', 'referenceLineStyleConfiguration_color' - The hex color of the reference line.+--+-- 'pattern'', 'referenceLineStyleConfiguration_pattern' - The pattern type of the line style. Choose one of the following options:+--+-- -   @SOLID@+--+-- -   @DASHED@+--+-- -   @DOTTED@+newReferenceLineStyleConfiguration ::+  ReferenceLineStyleConfiguration+newReferenceLineStyleConfiguration =+  ReferenceLineStyleConfiguration'+    { color =+        Prelude.Nothing,+      pattern' = Prelude.Nothing+    }++-- | The hex color of the reference line.+referenceLineStyleConfiguration_color :: Lens.Lens' ReferenceLineStyleConfiguration (Prelude.Maybe Prelude.Text)+referenceLineStyleConfiguration_color = Lens.lens (\ReferenceLineStyleConfiguration' {color} -> color) (\s@ReferenceLineStyleConfiguration' {} a -> s {color = a} :: ReferenceLineStyleConfiguration)++-- | The pattern type of the line style. Choose one of the following options:+--+-- -   @SOLID@+--+-- -   @DASHED@+--+-- -   @DOTTED@+referenceLineStyleConfiguration_pattern :: Lens.Lens' ReferenceLineStyleConfiguration (Prelude.Maybe ReferenceLinePatternType)+referenceLineStyleConfiguration_pattern = Lens.lens (\ReferenceLineStyleConfiguration' {pattern'} -> pattern') (\s@ReferenceLineStyleConfiguration' {} a -> s {pattern' = a} :: ReferenceLineStyleConfiguration)++instance+  Data.FromJSON+    ReferenceLineStyleConfiguration+  where+  parseJSON =+    Data.withObject+      "ReferenceLineStyleConfiguration"+      ( \x ->+          ReferenceLineStyleConfiguration'+            Prelude.<$> (x Data..:? "Color")+            Prelude.<*> (x Data..:? "Pattern")+      )++instance+  Prelude.Hashable+    ReferenceLineStyleConfiguration+  where+  hashWithSalt+    _salt+    ReferenceLineStyleConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` color+        `Prelude.hashWithSalt` pattern'++instance+  Prelude.NFData+    ReferenceLineStyleConfiguration+  where+  rnf ReferenceLineStyleConfiguration' {..} =+    Prelude.rnf color+      `Prelude.seq` Prelude.rnf pattern'++instance Data.ToJSON ReferenceLineStyleConfiguration where+  toJSON ReferenceLineStyleConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Color" Data..=) Prelude.<$> color,+            ("Pattern" Data..=) Prelude.<$> pattern'+          ]+      )
+ gen/Amazonka/QuickSight/Types/ReferenceLineValueLabelConfiguration.hs view
@@ -0,0 +1,127 @@+{-# 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.QuickSight.Types.ReferenceLineValueLabelConfiguration+-- 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.QuickSight.Types.ReferenceLineValueLabelConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.NumericFormatConfiguration+import Amazonka.QuickSight.Types.ReferenceLineValueLabelRelativePosition++-- | The value label configuration of the label in a reference line.+--+-- /See:/ 'newReferenceLineValueLabelConfiguration' smart constructor.+data ReferenceLineValueLabelConfiguration = ReferenceLineValueLabelConfiguration'+  { -- | The format configuration of the value label.+    formatConfiguration :: Prelude.Maybe NumericFormatConfiguration,+    -- | The relative position of the value label. Choose one of the following+    -- options:+    --+    -- -   @BEFORE_CUSTOM_LABEL@+    --+    -- -   @AFTER_CUSTOM_LABEL@+    relativePosition :: Prelude.Maybe ReferenceLineValueLabelRelativePosition+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReferenceLineValueLabelConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'formatConfiguration', 'referenceLineValueLabelConfiguration_formatConfiguration' - The format configuration of the value label.+--+-- 'relativePosition', 'referenceLineValueLabelConfiguration_relativePosition' - The relative position of the value label. Choose one of the following+-- options:+--+-- -   @BEFORE_CUSTOM_LABEL@+--+-- -   @AFTER_CUSTOM_LABEL@+newReferenceLineValueLabelConfiguration ::+  ReferenceLineValueLabelConfiguration+newReferenceLineValueLabelConfiguration =+  ReferenceLineValueLabelConfiguration'+    { formatConfiguration =+        Prelude.Nothing,+      relativePosition = Prelude.Nothing+    }++-- | The format configuration of the value label.+referenceLineValueLabelConfiguration_formatConfiguration :: Lens.Lens' ReferenceLineValueLabelConfiguration (Prelude.Maybe NumericFormatConfiguration)+referenceLineValueLabelConfiguration_formatConfiguration = Lens.lens (\ReferenceLineValueLabelConfiguration' {formatConfiguration} -> formatConfiguration) (\s@ReferenceLineValueLabelConfiguration' {} a -> s {formatConfiguration = a} :: ReferenceLineValueLabelConfiguration)++-- | The relative position of the value label. Choose one of the following+-- options:+--+-- -   @BEFORE_CUSTOM_LABEL@+--+-- -   @AFTER_CUSTOM_LABEL@+referenceLineValueLabelConfiguration_relativePosition :: Lens.Lens' ReferenceLineValueLabelConfiguration (Prelude.Maybe ReferenceLineValueLabelRelativePosition)+referenceLineValueLabelConfiguration_relativePosition = Lens.lens (\ReferenceLineValueLabelConfiguration' {relativePosition} -> relativePosition) (\s@ReferenceLineValueLabelConfiguration' {} a -> s {relativePosition = a} :: ReferenceLineValueLabelConfiguration)++instance+  Data.FromJSON+    ReferenceLineValueLabelConfiguration+  where+  parseJSON =+    Data.withObject+      "ReferenceLineValueLabelConfiguration"+      ( \x ->+          ReferenceLineValueLabelConfiguration'+            Prelude.<$> (x Data..:? "FormatConfiguration")+            Prelude.<*> (x Data..:? "RelativePosition")+      )++instance+  Prelude.Hashable+    ReferenceLineValueLabelConfiguration+  where+  hashWithSalt+    _salt+    ReferenceLineValueLabelConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` formatConfiguration+        `Prelude.hashWithSalt` relativePosition++instance+  Prelude.NFData+    ReferenceLineValueLabelConfiguration+  where+  rnf ReferenceLineValueLabelConfiguration' {..} =+    Prelude.rnf formatConfiguration+      `Prelude.seq` Prelude.rnf relativePosition++instance+  Data.ToJSON+    ReferenceLineValueLabelConfiguration+  where+  toJSON ReferenceLineValueLabelConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FormatConfiguration" Data..=)+              Prelude.<$> formatConfiguration,+            ("RelativePosition" Data..=)+              Prelude.<$> relativePosition+          ]+      )
+ gen/Amazonka/QuickSight/Types/ReferenceLineValueLabelRelativePosition.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.QuickSight.Types.ReferenceLineValueLabelRelativePosition+-- 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.QuickSight.Types.ReferenceLineValueLabelRelativePosition+  ( ReferenceLineValueLabelRelativePosition+      ( ..,+        ReferenceLineValueLabelRelativePosition_AFTER_CUSTOM_LABEL,+        ReferenceLineValueLabelRelativePosition_BEFORE_CUSTOM_LABEL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ReferenceLineValueLabelRelativePosition = ReferenceLineValueLabelRelativePosition'+  { fromReferenceLineValueLabelRelativePosition ::+      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 ReferenceLineValueLabelRelativePosition_AFTER_CUSTOM_LABEL :: ReferenceLineValueLabelRelativePosition+pattern ReferenceLineValueLabelRelativePosition_AFTER_CUSTOM_LABEL = ReferenceLineValueLabelRelativePosition' "AFTER_CUSTOM_LABEL"++pattern ReferenceLineValueLabelRelativePosition_BEFORE_CUSTOM_LABEL :: ReferenceLineValueLabelRelativePosition+pattern ReferenceLineValueLabelRelativePosition_BEFORE_CUSTOM_LABEL = ReferenceLineValueLabelRelativePosition' "BEFORE_CUSTOM_LABEL"++{-# COMPLETE+  ReferenceLineValueLabelRelativePosition_AFTER_CUSTOM_LABEL,+  ReferenceLineValueLabelRelativePosition_BEFORE_CUSTOM_LABEL,+  ReferenceLineValueLabelRelativePosition'+  #-}
+ gen/Amazonka/QuickSight/Types/RegisteredUserDashboardEmbeddingConfiguration.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.RegisteredUserDashboardEmbeddingConfiguration+-- 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.QuickSight.Types.RegisteredUserDashboardEmbeddingConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about the dashboard you want to embed.+--+-- /See:/ 'newRegisteredUserDashboardEmbeddingConfiguration' smart constructor.+data RegisteredUserDashboardEmbeddingConfiguration = RegisteredUserDashboardEmbeddingConfiguration'+  { -- | The dashboard ID for the dashboard that you want the user to see first.+    -- This ID is included in the output URL. When the URL in response is+    -- accessed, Amazon QuickSight renders this dashboard if the user has+    -- permissions to view it.+    --+    -- If the user does not have permission to view this dashboard, they see a+    -- permissions error message.+    initialDashboardId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegisteredUserDashboardEmbeddingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'initialDashboardId', 'registeredUserDashboardEmbeddingConfiguration_initialDashboardId' - The dashboard ID for the dashboard that you want the user to see first.+-- This ID is included in the output URL. When the URL in response is+-- accessed, Amazon QuickSight renders this dashboard if the user has+-- permissions to view it.+--+-- If the user does not have permission to view this dashboard, they see a+-- permissions error message.+newRegisteredUserDashboardEmbeddingConfiguration ::+  -- | 'initialDashboardId'+  Prelude.Text ->+  RegisteredUserDashboardEmbeddingConfiguration+newRegisteredUserDashboardEmbeddingConfiguration+  pInitialDashboardId_ =+    RegisteredUserDashboardEmbeddingConfiguration'+      { initialDashboardId =+          pInitialDashboardId_+      }++-- | The dashboard ID for the dashboard that you want the user to see first.+-- This ID is included in the output URL. When the URL in response is+-- accessed, Amazon QuickSight renders this dashboard if the user has+-- permissions to view it.+--+-- If the user does not have permission to view this dashboard, they see a+-- permissions error message.+registeredUserDashboardEmbeddingConfiguration_initialDashboardId :: Lens.Lens' RegisteredUserDashboardEmbeddingConfiguration Prelude.Text+registeredUserDashboardEmbeddingConfiguration_initialDashboardId = Lens.lens (\RegisteredUserDashboardEmbeddingConfiguration' {initialDashboardId} -> initialDashboardId) (\s@RegisteredUserDashboardEmbeddingConfiguration' {} a -> s {initialDashboardId = a} :: RegisteredUserDashboardEmbeddingConfiguration)++instance+  Prelude.Hashable+    RegisteredUserDashboardEmbeddingConfiguration+  where+  hashWithSalt+    _salt+    RegisteredUserDashboardEmbeddingConfiguration' {..} =+      _salt `Prelude.hashWithSalt` initialDashboardId++instance+  Prelude.NFData+    RegisteredUserDashboardEmbeddingConfiguration+  where+  rnf+    RegisteredUserDashboardEmbeddingConfiguration' {..} =+      Prelude.rnf initialDashboardId++instance+  Data.ToJSON+    RegisteredUserDashboardEmbeddingConfiguration+  where+  toJSON+    RegisteredUserDashboardEmbeddingConfiguration' {..} =+      Data.object+        ( Prelude.catMaybes+            [ Prelude.Just+                ("InitialDashboardId" Data..= initialDashboardId)+            ]+        )
+ gen/Amazonka/QuickSight/Types/RegisteredUserDashboardVisualEmbeddingConfiguration.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.QuickSight.Types.RegisteredUserDashboardVisualEmbeddingConfiguration+-- 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.QuickSight.Types.RegisteredUserDashboardVisualEmbeddingConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DashboardVisualId++-- | The experience that you are embedding. You can use this object to+-- generate a url that embeds a visual into your application.+--+-- /See:/ 'newRegisteredUserDashboardVisualEmbeddingConfiguration' smart constructor.+data RegisteredUserDashboardVisualEmbeddingConfiguration = RegisteredUserDashboardVisualEmbeddingConfiguration'+  { -- | The visual ID for the visual that you want the user to embed. This ID is+    -- included in the output URL. When the URL in response is accessed, Amazon+    -- QuickSight renders this visual.+    --+    -- The Amazon Resource Name (ARN) of the dashboard that the visual belongs+    -- to must be included in the @AuthorizedResourceArns@ parameter.+    -- Otherwise, the request will fail with @InvalidParameterValueException@.+    initialDashboardVisualId :: DashboardVisualId+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegisteredUserDashboardVisualEmbeddingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'initialDashboardVisualId', 'registeredUserDashboardVisualEmbeddingConfiguration_initialDashboardVisualId' - The visual ID for the visual that you want the user to embed. This ID is+-- included in the output URL. When the URL in response is accessed, Amazon+-- QuickSight renders this visual.+--+-- The Amazon Resource Name (ARN) of the dashboard that the visual belongs+-- to must be included in the @AuthorizedResourceArns@ parameter.+-- Otherwise, the request will fail with @InvalidParameterValueException@.+newRegisteredUserDashboardVisualEmbeddingConfiguration ::+  -- | 'initialDashboardVisualId'+  DashboardVisualId ->+  RegisteredUserDashboardVisualEmbeddingConfiguration+newRegisteredUserDashboardVisualEmbeddingConfiguration+  pInitialDashboardVisualId_ =+    RegisteredUserDashboardVisualEmbeddingConfiguration'+      { initialDashboardVisualId =+          pInitialDashboardVisualId_+      }++-- | The visual ID for the visual that you want the user to embed. This ID is+-- included in the output URL. When the URL in response is accessed, Amazon+-- QuickSight renders this visual.+--+-- The Amazon Resource Name (ARN) of the dashboard that the visual belongs+-- to must be included in the @AuthorizedResourceArns@ parameter.+-- Otherwise, the request will fail with @InvalidParameterValueException@.+registeredUserDashboardVisualEmbeddingConfiguration_initialDashboardVisualId :: Lens.Lens' RegisteredUserDashboardVisualEmbeddingConfiguration DashboardVisualId+registeredUserDashboardVisualEmbeddingConfiguration_initialDashboardVisualId = Lens.lens (\RegisteredUserDashboardVisualEmbeddingConfiguration' {initialDashboardVisualId} -> initialDashboardVisualId) (\s@RegisteredUserDashboardVisualEmbeddingConfiguration' {} a -> s {initialDashboardVisualId = a} :: RegisteredUserDashboardVisualEmbeddingConfiguration)++instance+  Prelude.Hashable+    RegisteredUserDashboardVisualEmbeddingConfiguration+  where+  hashWithSalt+    _salt+    RegisteredUserDashboardVisualEmbeddingConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` initialDashboardVisualId++instance+  Prelude.NFData+    RegisteredUserDashboardVisualEmbeddingConfiguration+  where+  rnf+    RegisteredUserDashboardVisualEmbeddingConfiguration' {..} =+      Prelude.rnf initialDashboardVisualId++instance+  Data.ToJSON+    RegisteredUserDashboardVisualEmbeddingConfiguration+  where+  toJSON+    RegisteredUserDashboardVisualEmbeddingConfiguration' {..} =+      Data.object+        ( Prelude.catMaybes+            [ Prelude.Just+                ( "InitialDashboardVisualId"+                    Data..= initialDashboardVisualId+                )+            ]+        )
+ gen/Amazonka/QuickSight/Types/RegisteredUserEmbeddingExperienceConfiguration.hs view
@@ -0,0 +1,234 @@+{-# 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.QuickSight.Types.RegisteredUserEmbeddingExperienceConfiguration+-- 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.QuickSight.Types.RegisteredUserEmbeddingExperienceConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.RegisteredUserDashboardEmbeddingConfiguration+import Amazonka.QuickSight.Types.RegisteredUserDashboardVisualEmbeddingConfiguration+import Amazonka.QuickSight.Types.RegisteredUserQSearchBarEmbeddingConfiguration+import Amazonka.QuickSight.Types.RegisteredUserQuickSightConsoleEmbeddingConfiguration++-- | The type of experience you want to embed. For registered users, you can+-- embed Amazon QuickSight dashboards or the Amazon QuickSight console.+--+-- Exactly one of the experience configurations is required. You can choose+-- @Dashboard@ or @QuickSightConsole@. You cannot choose more than one+-- experience configuration.+--+-- /See:/ 'newRegisteredUserEmbeddingExperienceConfiguration' smart constructor.+data RegisteredUserEmbeddingExperienceConfiguration = RegisteredUserEmbeddingExperienceConfiguration'+  { -- | The configuration details for providing a dashboard embedding+    -- experience.+    dashboard :: Prelude.Maybe RegisteredUserDashboardEmbeddingConfiguration,+    -- | The type of embedding experience. In this case, Amazon QuickSight+    -- visuals.+    dashboardVisual :: Prelude.Maybe RegisteredUserDashboardVisualEmbeddingConfiguration,+    -- | The configuration details for embedding the Q search bar.+    --+    -- For more information about embedding the Q search bar, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/embedding-overview.html Embedding Overview>+    -- in the /Amazon QuickSight User Guide/.+    qSearchBar :: Prelude.Maybe RegisteredUserQSearchBarEmbeddingConfiguration,+    -- | The configuration details for providing each Amazon QuickSight console+    -- embedding experience. This can be used along with custom permissions to+    -- restrict access to certain features. For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/customizing-permissions-to-the-quicksight-console.html Customizing Access to the Amazon QuickSight Console>+    -- in the /Amazon QuickSight User Guide/.+    --+    -- Use+    -- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html GenerateEmbedUrlForRegisteredUser>@ @+    -- where you want to provide an authoring portal that allows users to+    -- create data sources, datasets, analyses, and dashboards. The users who+    -- accesses an embedded Amazon QuickSight console needs to belong to the+    -- author or admin security cohort. If you want to restrict permissions to+    -- some of these features, add a custom permissions profile to the user+    -- with the+    -- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateUser.html UpdateUser>@ @+    -- API operation. Use the+    -- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html RegisterUser>@ @+    -- API operation to add a new user with a custom permission profile+    -- attached. For more information, see the following sections in the+    -- /Amazon QuickSight User Guide/:+    --+    -- -   <https://docs.aws.amazon.com/quicksight/latest/user/embedded-analytics-full-console-for-authenticated-users.html Embedding the Full Functionality of the Amazon QuickSight Console for Authenticated Users>+    --+    -- -   <https://docs.aws.amazon.com/quicksight/latest/user/customizing-permissions-to-the-quicksight-console.html Customizing Access to the Amazon QuickSight Console>+    --+    -- For more information about the high-level steps for embedding and for an+    -- interactive demo of the ways you can customize embedding, visit the+    -- <https://docs.aws.amazon.com/quicksight/latest/user/quicksight-dev-portal.html Amazon QuickSight Developer Portal>.+    quickSightConsole :: Prelude.Maybe RegisteredUserQuickSightConsoleEmbeddingConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegisteredUserEmbeddingExperienceConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dashboard', 'registeredUserEmbeddingExperienceConfiguration_dashboard' - The configuration details for providing a dashboard embedding+-- experience.+--+-- 'dashboardVisual', 'registeredUserEmbeddingExperienceConfiguration_dashboardVisual' - The type of embedding experience. In this case, Amazon QuickSight+-- visuals.+--+-- 'qSearchBar', 'registeredUserEmbeddingExperienceConfiguration_qSearchBar' - The configuration details for embedding the Q search bar.+--+-- For more information about embedding the Q search bar, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/embedding-overview.html Embedding Overview>+-- in the /Amazon QuickSight User Guide/.+--+-- 'quickSightConsole', 'registeredUserEmbeddingExperienceConfiguration_quickSightConsole' - The configuration details for providing each Amazon QuickSight console+-- embedding experience. This can be used along with custom permissions to+-- restrict access to certain features. For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/customizing-permissions-to-the-quicksight-console.html Customizing Access to the Amazon QuickSight Console>+-- in the /Amazon QuickSight User Guide/.+--+-- Use+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html GenerateEmbedUrlForRegisteredUser>@ @+-- where you want to provide an authoring portal that allows users to+-- create data sources, datasets, analyses, and dashboards. The users who+-- accesses an embedded Amazon QuickSight console needs to belong to the+-- author or admin security cohort. If you want to restrict permissions to+-- some of these features, add a custom permissions profile to the user+-- with the+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateUser.html UpdateUser>@ @+-- API operation. Use the+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html RegisterUser>@ @+-- API operation to add a new user with a custom permission profile+-- attached. For more information, see the following sections in the+-- /Amazon QuickSight User Guide/:+--+-- -   <https://docs.aws.amazon.com/quicksight/latest/user/embedded-analytics-full-console-for-authenticated-users.html Embedding the Full Functionality of the Amazon QuickSight Console for Authenticated Users>+--+-- -   <https://docs.aws.amazon.com/quicksight/latest/user/customizing-permissions-to-the-quicksight-console.html Customizing Access to the Amazon QuickSight Console>+--+-- For more information about the high-level steps for embedding and for an+-- interactive demo of the ways you can customize embedding, visit the+-- <https://docs.aws.amazon.com/quicksight/latest/user/quicksight-dev-portal.html Amazon QuickSight Developer Portal>.+newRegisteredUserEmbeddingExperienceConfiguration ::+  RegisteredUserEmbeddingExperienceConfiguration+newRegisteredUserEmbeddingExperienceConfiguration =+  RegisteredUserEmbeddingExperienceConfiguration'+    { dashboard =+        Prelude.Nothing,+      dashboardVisual =+        Prelude.Nothing,+      qSearchBar =+        Prelude.Nothing,+      quickSightConsole =+        Prelude.Nothing+    }++-- | The configuration details for providing a dashboard embedding+-- experience.+registeredUserEmbeddingExperienceConfiguration_dashboard :: Lens.Lens' RegisteredUserEmbeddingExperienceConfiguration (Prelude.Maybe RegisteredUserDashboardEmbeddingConfiguration)+registeredUserEmbeddingExperienceConfiguration_dashboard = Lens.lens (\RegisteredUserEmbeddingExperienceConfiguration' {dashboard} -> dashboard) (\s@RegisteredUserEmbeddingExperienceConfiguration' {} a -> s {dashboard = a} :: RegisteredUserEmbeddingExperienceConfiguration)++-- | The type of embedding experience. In this case, Amazon QuickSight+-- visuals.+registeredUserEmbeddingExperienceConfiguration_dashboardVisual :: Lens.Lens' RegisteredUserEmbeddingExperienceConfiguration (Prelude.Maybe RegisteredUserDashboardVisualEmbeddingConfiguration)+registeredUserEmbeddingExperienceConfiguration_dashboardVisual = Lens.lens (\RegisteredUserEmbeddingExperienceConfiguration' {dashboardVisual} -> dashboardVisual) (\s@RegisteredUserEmbeddingExperienceConfiguration' {} a -> s {dashboardVisual = a} :: RegisteredUserEmbeddingExperienceConfiguration)++-- | The configuration details for embedding the Q search bar.+--+-- For more information about embedding the Q search bar, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/embedding-overview.html Embedding Overview>+-- in the /Amazon QuickSight User Guide/.+registeredUserEmbeddingExperienceConfiguration_qSearchBar :: Lens.Lens' RegisteredUserEmbeddingExperienceConfiguration (Prelude.Maybe RegisteredUserQSearchBarEmbeddingConfiguration)+registeredUserEmbeddingExperienceConfiguration_qSearchBar = Lens.lens (\RegisteredUserEmbeddingExperienceConfiguration' {qSearchBar} -> qSearchBar) (\s@RegisteredUserEmbeddingExperienceConfiguration' {} a -> s {qSearchBar = a} :: RegisteredUserEmbeddingExperienceConfiguration)++-- | The configuration details for providing each Amazon QuickSight console+-- embedding experience. This can be used along with custom permissions to+-- restrict access to certain features. For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/customizing-permissions-to-the-quicksight-console.html Customizing Access to the Amazon QuickSight Console>+-- in the /Amazon QuickSight User Guide/.+--+-- Use+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForRegisteredUser.html GenerateEmbedUrlForRegisteredUser>@ @+-- where you want to provide an authoring portal that allows users to+-- create data sources, datasets, analyses, and dashboards. The users who+-- accesses an embedded Amazon QuickSight console needs to belong to the+-- author or admin security cohort. If you want to restrict permissions to+-- some of these features, add a custom permissions profile to the user+-- with the+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateUser.html UpdateUser>@ @+-- API operation. Use the+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html RegisterUser>@ @+-- API operation to add a new user with a custom permission profile+-- attached. For more information, see the following sections in the+-- /Amazon QuickSight User Guide/:+--+-- -   <https://docs.aws.amazon.com/quicksight/latest/user/embedded-analytics-full-console-for-authenticated-users.html Embedding the Full Functionality of the Amazon QuickSight Console for Authenticated Users>+--+-- -   <https://docs.aws.amazon.com/quicksight/latest/user/customizing-permissions-to-the-quicksight-console.html Customizing Access to the Amazon QuickSight Console>+--+-- For more information about the high-level steps for embedding and for an+-- interactive demo of the ways you can customize embedding, visit the+-- <https://docs.aws.amazon.com/quicksight/latest/user/quicksight-dev-portal.html Amazon QuickSight Developer Portal>.+registeredUserEmbeddingExperienceConfiguration_quickSightConsole :: Lens.Lens' RegisteredUserEmbeddingExperienceConfiguration (Prelude.Maybe RegisteredUserQuickSightConsoleEmbeddingConfiguration)+registeredUserEmbeddingExperienceConfiguration_quickSightConsole = Lens.lens (\RegisteredUserEmbeddingExperienceConfiguration' {quickSightConsole} -> quickSightConsole) (\s@RegisteredUserEmbeddingExperienceConfiguration' {} a -> s {quickSightConsole = a} :: RegisteredUserEmbeddingExperienceConfiguration)++instance+  Prelude.Hashable+    RegisteredUserEmbeddingExperienceConfiguration+  where+  hashWithSalt+    _salt+    RegisteredUserEmbeddingExperienceConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` dashboard+        `Prelude.hashWithSalt` dashboardVisual+        `Prelude.hashWithSalt` qSearchBar+        `Prelude.hashWithSalt` quickSightConsole++instance+  Prelude.NFData+    RegisteredUserEmbeddingExperienceConfiguration+  where+  rnf+    RegisteredUserEmbeddingExperienceConfiguration' {..} =+      Prelude.rnf dashboard+        `Prelude.seq` Prelude.rnf dashboardVisual+        `Prelude.seq` Prelude.rnf qSearchBar+        `Prelude.seq` Prelude.rnf quickSightConsole++instance+  Data.ToJSON+    RegisteredUserEmbeddingExperienceConfiguration+  where+  toJSON+    RegisteredUserEmbeddingExperienceConfiguration' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("Dashboard" Data..=) Prelude.<$> dashboard,+              ("DashboardVisual" Data..=)+                Prelude.<$> dashboardVisual,+              ("QSearchBar" Data..=) Prelude.<$> qSearchBar,+              ("QuickSightConsole" Data..=)+                Prelude.<$> quickSightConsole+            ]+        )
+ gen/Amazonka/QuickSight/Types/RegisteredUserQSearchBarEmbeddingConfiguration.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.QuickSight.Types.RegisteredUserQSearchBarEmbeddingConfiguration+-- 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.QuickSight.Types.RegisteredUserQSearchBarEmbeddingConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about the Q search bar embedding experience.+--+-- /See:/ 'newRegisteredUserQSearchBarEmbeddingConfiguration' smart constructor.+data RegisteredUserQSearchBarEmbeddingConfiguration = RegisteredUserQSearchBarEmbeddingConfiguration'+  { -- | The ID of the Q topic that you want to make the starting topic in the Q+    -- search bar. You can find a topic ID by navigating to the Topics pane in+    -- the Amazon QuickSight application and opening a topic. The ID is in the+    -- URL for the topic that you open.+    --+    -- If you don\'t specify an initial topic, a list of all shared topics is+    -- shown in the Q bar for your readers. When you select an initial topic,+    -- you can specify whether or not readers are allowed to select other+    -- topics from the available ones in the list.+    initialTopicId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegisteredUserQSearchBarEmbeddingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'initialTopicId', 'registeredUserQSearchBarEmbeddingConfiguration_initialTopicId' - The ID of the Q topic that you want to make the starting topic in the Q+-- search bar. You can find a topic ID by navigating to the Topics pane in+-- the Amazon QuickSight application and opening a topic. The ID is in the+-- URL for the topic that you open.+--+-- If you don\'t specify an initial topic, a list of all shared topics is+-- shown in the Q bar for your readers. When you select an initial topic,+-- you can specify whether or not readers are allowed to select other+-- topics from the available ones in the list.+newRegisteredUserQSearchBarEmbeddingConfiguration ::+  RegisteredUserQSearchBarEmbeddingConfiguration+newRegisteredUserQSearchBarEmbeddingConfiguration =+  RegisteredUserQSearchBarEmbeddingConfiguration'+    { initialTopicId =+        Prelude.Nothing+    }++-- | The ID of the Q topic that you want to make the starting topic in the Q+-- search bar. You can find a topic ID by navigating to the Topics pane in+-- the Amazon QuickSight application and opening a topic. The ID is in the+-- URL for the topic that you open.+--+-- If you don\'t specify an initial topic, a list of all shared topics is+-- shown in the Q bar for your readers. When you select an initial topic,+-- you can specify whether or not readers are allowed to select other+-- topics from the available ones in the list.+registeredUserQSearchBarEmbeddingConfiguration_initialTopicId :: Lens.Lens' RegisteredUserQSearchBarEmbeddingConfiguration (Prelude.Maybe Prelude.Text)+registeredUserQSearchBarEmbeddingConfiguration_initialTopicId = Lens.lens (\RegisteredUserQSearchBarEmbeddingConfiguration' {initialTopicId} -> initialTopicId) (\s@RegisteredUserQSearchBarEmbeddingConfiguration' {} a -> s {initialTopicId = a} :: RegisteredUserQSearchBarEmbeddingConfiguration)++instance+  Prelude.Hashable+    RegisteredUserQSearchBarEmbeddingConfiguration+  where+  hashWithSalt+    _salt+    RegisteredUserQSearchBarEmbeddingConfiguration' {..} =+      _salt `Prelude.hashWithSalt` initialTopicId++instance+  Prelude.NFData+    RegisteredUserQSearchBarEmbeddingConfiguration+  where+  rnf+    RegisteredUserQSearchBarEmbeddingConfiguration' {..} =+      Prelude.rnf initialTopicId++instance+  Data.ToJSON+    RegisteredUserQSearchBarEmbeddingConfiguration+  where+  toJSON+    RegisteredUserQSearchBarEmbeddingConfiguration' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("InitialTopicId" Data..=)+                Prelude.<$> initialTopicId+            ]+        )
+ gen/Amazonka/QuickSight/Types/RegisteredUserQuickSightConsoleEmbeddingConfiguration.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.QuickSight.Types.RegisteredUserQuickSightConsoleEmbeddingConfiguration+-- 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.QuickSight.Types.RegisteredUserQuickSightConsoleEmbeddingConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about the Amazon QuickSight console that you want to embed.+--+-- /See:/ 'newRegisteredUserQuickSightConsoleEmbeddingConfiguration' smart constructor.+data RegisteredUserQuickSightConsoleEmbeddingConfiguration = RegisteredUserQuickSightConsoleEmbeddingConfiguration'+  { -- | The initial URL path for the Amazon QuickSight console. @InitialPath@ is+    -- required.+    --+    -- The entry point URL is constrained to the following paths:+    --+    -- -   @\/start@+    --+    -- -   @\/start\/analyses@+    --+    -- -   @\/start\/dashboards@+    --+    -- -   @\/start\/favorites@+    --+    -- -   @\/dashboards\/DashboardId@. /DashboardId/ is the actual ID key from+    --     the Amazon QuickSight console URL of the dashboard.+    --+    -- -   @\/analyses\/AnalysisId@. /AnalysisId/ is the actual ID key from the+    --     Amazon QuickSight console URL of the analysis.+    initialPath :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegisteredUserQuickSightConsoleEmbeddingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'initialPath', 'registeredUserQuickSightConsoleEmbeddingConfiguration_initialPath' - The initial URL path for the Amazon QuickSight console. @InitialPath@ is+-- required.+--+-- The entry point URL is constrained to the following paths:+--+-- -   @\/start@+--+-- -   @\/start\/analyses@+--+-- -   @\/start\/dashboards@+--+-- -   @\/start\/favorites@+--+-- -   @\/dashboards\/DashboardId@. /DashboardId/ is the actual ID key from+--     the Amazon QuickSight console URL of the dashboard.+--+-- -   @\/analyses\/AnalysisId@. /AnalysisId/ is the actual ID key from the+--     Amazon QuickSight console URL of the analysis.+newRegisteredUserQuickSightConsoleEmbeddingConfiguration ::+  RegisteredUserQuickSightConsoleEmbeddingConfiguration+newRegisteredUserQuickSightConsoleEmbeddingConfiguration =+  RegisteredUserQuickSightConsoleEmbeddingConfiguration'+    { initialPath =+        Prelude.Nothing+    }++-- | The initial URL path for the Amazon QuickSight console. @InitialPath@ is+-- required.+--+-- The entry point URL is constrained to the following paths:+--+-- -   @\/start@+--+-- -   @\/start\/analyses@+--+-- -   @\/start\/dashboards@+--+-- -   @\/start\/favorites@+--+-- -   @\/dashboards\/DashboardId@. /DashboardId/ is the actual ID key from+--     the Amazon QuickSight console URL of the dashboard.+--+-- -   @\/analyses\/AnalysisId@. /AnalysisId/ is the actual ID key from the+--     Amazon QuickSight console URL of the analysis.+registeredUserQuickSightConsoleEmbeddingConfiguration_initialPath :: Lens.Lens' RegisteredUserQuickSightConsoleEmbeddingConfiguration (Prelude.Maybe Prelude.Text)+registeredUserQuickSightConsoleEmbeddingConfiguration_initialPath = Lens.lens (\RegisteredUserQuickSightConsoleEmbeddingConfiguration' {initialPath} -> initialPath) (\s@RegisteredUserQuickSightConsoleEmbeddingConfiguration' {} a -> s {initialPath = a} :: RegisteredUserQuickSightConsoleEmbeddingConfiguration)++instance+  Prelude.Hashable+    RegisteredUserQuickSightConsoleEmbeddingConfiguration+  where+  hashWithSalt+    _salt+    RegisteredUserQuickSightConsoleEmbeddingConfiguration' {..} =+      _salt `Prelude.hashWithSalt` initialPath++instance+  Prelude.NFData+    RegisteredUserQuickSightConsoleEmbeddingConfiguration+  where+  rnf+    RegisteredUserQuickSightConsoleEmbeddingConfiguration' {..} =+      Prelude.rnf initialPath++instance+  Data.ToJSON+    RegisteredUserQuickSightConsoleEmbeddingConfiguration+  where+  toJSON+    RegisteredUserQuickSightConsoleEmbeddingConfiguration' {..} =+      Data.object+        ( Prelude.catMaybes+            [("InitialPath" Data..=) Prelude.<$> initialPath]+        )
+ gen/Amazonka/QuickSight/Types/RelationalTable.hs view
@@ -0,0 +1,145 @@+{-# 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.QuickSight.Types.RelationalTable+-- 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.QuickSight.Types.RelationalTable where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.InputColumn++-- | A physical table type for relational data sources.+--+-- /See:/ 'newRelationalTable' smart constructor.+data RelationalTable = RelationalTable'+  { -- | The catalog associated with a table.+    catalog :: Prelude.Maybe Prelude.Text,+    -- | The schema name. This name applies to certain relational database+    -- engines.+    schema :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) for the data source.+    dataSourceArn :: Prelude.Text,+    -- | The name of the relational table.+    name :: Prelude.Text,+    -- | The column schema of the table.+    inputColumns :: Prelude.NonEmpty InputColumn+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RelationalTable' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'catalog', 'relationalTable_catalog' - The catalog associated with a table.+--+-- 'schema', 'relationalTable_schema' - The schema name. This name applies to certain relational database+-- engines.+--+-- 'dataSourceArn', 'relationalTable_dataSourceArn' - The Amazon Resource Name (ARN) for the data source.+--+-- 'name', 'relationalTable_name' - The name of the relational table.+--+-- 'inputColumns', 'relationalTable_inputColumns' - The column schema of the table.+newRelationalTable ::+  -- | 'dataSourceArn'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'inputColumns'+  Prelude.NonEmpty InputColumn ->+  RelationalTable+newRelationalTable+  pDataSourceArn_+  pName_+  pInputColumns_ =+    RelationalTable'+      { catalog = Prelude.Nothing,+        schema = Prelude.Nothing,+        dataSourceArn = pDataSourceArn_,+        name = pName_,+        inputColumns = Lens.coerced Lens.# pInputColumns_+      }++-- | The catalog associated with a table.+relationalTable_catalog :: Lens.Lens' RelationalTable (Prelude.Maybe Prelude.Text)+relationalTable_catalog = Lens.lens (\RelationalTable' {catalog} -> catalog) (\s@RelationalTable' {} a -> s {catalog = a} :: RelationalTable)++-- | The schema name. This name applies to certain relational database+-- engines.+relationalTable_schema :: Lens.Lens' RelationalTable (Prelude.Maybe Prelude.Text)+relationalTable_schema = Lens.lens (\RelationalTable' {schema} -> schema) (\s@RelationalTable' {} a -> s {schema = a} :: RelationalTable)++-- | The Amazon Resource Name (ARN) for the data source.+relationalTable_dataSourceArn :: Lens.Lens' RelationalTable Prelude.Text+relationalTable_dataSourceArn = Lens.lens (\RelationalTable' {dataSourceArn} -> dataSourceArn) (\s@RelationalTable' {} a -> s {dataSourceArn = a} :: RelationalTable)++-- | The name of the relational table.+relationalTable_name :: Lens.Lens' RelationalTable Prelude.Text+relationalTable_name = Lens.lens (\RelationalTable' {name} -> name) (\s@RelationalTable' {} a -> s {name = a} :: RelationalTable)++-- | The column schema of the table.+relationalTable_inputColumns :: Lens.Lens' RelationalTable (Prelude.NonEmpty InputColumn)+relationalTable_inputColumns = Lens.lens (\RelationalTable' {inputColumns} -> inputColumns) (\s@RelationalTable' {} a -> s {inputColumns = a} :: RelationalTable) Prelude.. Lens.coerced++instance Data.FromJSON RelationalTable where+  parseJSON =+    Data.withObject+      "RelationalTable"+      ( \x ->+          RelationalTable'+            Prelude.<$> (x Data..:? "Catalog")+            Prelude.<*> (x Data..:? "Schema")+            Prelude.<*> (x Data..: "DataSourceArn")+            Prelude.<*> (x Data..: "Name")+            Prelude.<*> (x Data..: "InputColumns")+      )++instance Prelude.Hashable RelationalTable where+  hashWithSalt _salt RelationalTable' {..} =+    _salt+      `Prelude.hashWithSalt` catalog+      `Prelude.hashWithSalt` schema+      `Prelude.hashWithSalt` dataSourceArn+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` inputColumns++instance Prelude.NFData RelationalTable where+  rnf RelationalTable' {..} =+    Prelude.rnf catalog+      `Prelude.seq` Prelude.rnf schema+      `Prelude.seq` Prelude.rnf dataSourceArn+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf inputColumns++instance Data.ToJSON RelationalTable where+  toJSON RelationalTable' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Catalog" Data..=) Prelude.<$> catalog,+            ("Schema" Data..=) Prelude.<$> schema,+            Prelude.Just ("DataSourceArn" Data..= dataSourceArn),+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("InputColumns" Data..= inputColumns)+          ]+      )
+ gen/Amazonka/QuickSight/Types/RelativeDateTimeControlDisplayOptions.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.RelativeDateTimeControlDisplayOptions+-- 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.QuickSight.Types.RelativeDateTimeControlDisplayOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.LabelOptions++-- | The display options of a control.+--+-- /See:/ 'newRelativeDateTimeControlDisplayOptions' smart constructor.+data RelativeDateTimeControlDisplayOptions = RelativeDateTimeControlDisplayOptions'+  { -- | Customize how dates are formatted in controls.+    dateTimeFormat :: Prelude.Maybe Prelude.Text,+    -- | The options to configure the title visibility, name, and font size.+    titleOptions :: Prelude.Maybe LabelOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RelativeDateTimeControlDisplayOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dateTimeFormat', 'relativeDateTimeControlDisplayOptions_dateTimeFormat' - Customize how dates are formatted in controls.+--+-- 'titleOptions', 'relativeDateTimeControlDisplayOptions_titleOptions' - The options to configure the title visibility, name, and font size.+newRelativeDateTimeControlDisplayOptions ::+  RelativeDateTimeControlDisplayOptions+newRelativeDateTimeControlDisplayOptions =+  RelativeDateTimeControlDisplayOptions'+    { dateTimeFormat =+        Prelude.Nothing,+      titleOptions = Prelude.Nothing+    }++-- | Customize how dates are formatted in controls.+relativeDateTimeControlDisplayOptions_dateTimeFormat :: Lens.Lens' RelativeDateTimeControlDisplayOptions (Prelude.Maybe Prelude.Text)+relativeDateTimeControlDisplayOptions_dateTimeFormat = Lens.lens (\RelativeDateTimeControlDisplayOptions' {dateTimeFormat} -> dateTimeFormat) (\s@RelativeDateTimeControlDisplayOptions' {} a -> s {dateTimeFormat = a} :: RelativeDateTimeControlDisplayOptions)++-- | The options to configure the title visibility, name, and font size.+relativeDateTimeControlDisplayOptions_titleOptions :: Lens.Lens' RelativeDateTimeControlDisplayOptions (Prelude.Maybe LabelOptions)+relativeDateTimeControlDisplayOptions_titleOptions = Lens.lens (\RelativeDateTimeControlDisplayOptions' {titleOptions} -> titleOptions) (\s@RelativeDateTimeControlDisplayOptions' {} a -> s {titleOptions = a} :: RelativeDateTimeControlDisplayOptions)++instance+  Data.FromJSON+    RelativeDateTimeControlDisplayOptions+  where+  parseJSON =+    Data.withObject+      "RelativeDateTimeControlDisplayOptions"+      ( \x ->+          RelativeDateTimeControlDisplayOptions'+            Prelude.<$> (x Data..:? "DateTimeFormat")+            Prelude.<*> (x Data..:? "TitleOptions")+      )++instance+  Prelude.Hashable+    RelativeDateTimeControlDisplayOptions+  where+  hashWithSalt+    _salt+    RelativeDateTimeControlDisplayOptions' {..} =+      _salt+        `Prelude.hashWithSalt` dateTimeFormat+        `Prelude.hashWithSalt` titleOptions++instance+  Prelude.NFData+    RelativeDateTimeControlDisplayOptions+  where+  rnf RelativeDateTimeControlDisplayOptions' {..} =+    Prelude.rnf dateTimeFormat+      `Prelude.seq` Prelude.rnf titleOptions++instance+  Data.ToJSON+    RelativeDateTimeControlDisplayOptions+  where+  toJSON RelativeDateTimeControlDisplayOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DateTimeFormat" Data..=)+              Prelude.<$> dateTimeFormat,+            ("TitleOptions" Data..=) Prelude.<$> titleOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/RelativeDateType.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.RelativeDateType+-- 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.QuickSight.Types.RelativeDateType+  ( RelativeDateType+      ( ..,+        RelativeDateType_LAST,+        RelativeDateType_NEXT,+        RelativeDateType_NOW,+        RelativeDateType_PREVIOUS,+        RelativeDateType_THIS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RelativeDateType = RelativeDateType'+  { fromRelativeDateType ::+      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 RelativeDateType_LAST :: RelativeDateType+pattern RelativeDateType_LAST = RelativeDateType' "LAST"++pattern RelativeDateType_NEXT :: RelativeDateType+pattern RelativeDateType_NEXT = RelativeDateType' "NEXT"++pattern RelativeDateType_NOW :: RelativeDateType+pattern RelativeDateType_NOW = RelativeDateType' "NOW"++pattern RelativeDateType_PREVIOUS :: RelativeDateType+pattern RelativeDateType_PREVIOUS = RelativeDateType' "PREVIOUS"++pattern RelativeDateType_THIS :: RelativeDateType+pattern RelativeDateType_THIS = RelativeDateType' "THIS"++{-# COMPLETE+  RelativeDateType_LAST,+  RelativeDateType_NEXT,+  RelativeDateType_NOW,+  RelativeDateType_PREVIOUS,+  RelativeDateType_THIS,+  RelativeDateType'+  #-}
+ gen/Amazonka/QuickSight/Types/RelativeDatesFilter.hs view
@@ -0,0 +1,287 @@+{-# 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.QuickSight.Types.RelativeDatesFilter+-- 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.QuickSight.Types.RelativeDatesFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AnchorDateConfiguration+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.ExcludePeriodConfiguration+import Amazonka.QuickSight.Types.FilterNullOption+import Amazonka.QuickSight.Types.RelativeDateType+import Amazonka.QuickSight.Types.TimeGranularity++-- | A @RelativeDatesFilter@ filters relative dates values.+--+-- /See:/ 'newRelativeDatesFilter' smart constructor.+data RelativeDatesFilter = RelativeDatesFilter'+  { -- | The configuration for the exclude period of the filter.+    excludePeriodConfiguration :: Prelude.Maybe ExcludePeriodConfiguration,+    -- | The minimum granularity (period granularity) of the relative dates+    -- filter.+    minimumGranularity :: Prelude.Maybe TimeGranularity,+    -- | The parameter whose value should be used for the filter value.+    parameterName :: Prelude.Maybe Prelude.Text,+    -- | The date value of the filter.+    relativeDateValue :: Prelude.Maybe Prelude.Int,+    -- | An identifier that uniquely identifies a filter within a dashboard,+    -- analysis, or template.+    filterId :: Prelude.Text,+    -- | The column that the filter is applied to.+    column :: ColumnIdentifier,+    -- | The date configuration of the filter.+    anchorDateConfiguration :: AnchorDateConfiguration,+    -- | The level of time precision that is used to aggregate @DateTime@ values.+    timeGranularity :: TimeGranularity,+    -- | The range date type of the filter. Choose one of the options below:+    --+    -- -   @PREVIOUS@+    --+    -- -   @THIS@+    --+    -- -   @LAST@+    --+    -- -   @NOW@+    --+    -- -   @NEXT@+    relativeDateType :: RelativeDateType,+    -- | This option determines how null values should be treated when filtering+    -- data.+    --+    -- -   @ALL_VALUES@: Include null values in filtered results.+    --+    -- -   @NULLS_ONLY@: Only include null values in filtered results.+    --+    -- -   @NON_NULLS_ONLY@: Exclude null values from filtered results.+    nullOption :: FilterNullOption+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RelativeDatesFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'excludePeriodConfiguration', 'relativeDatesFilter_excludePeriodConfiguration' - The configuration for the exclude period of the filter.+--+-- 'minimumGranularity', 'relativeDatesFilter_minimumGranularity' - The minimum granularity (period granularity) of the relative dates+-- filter.+--+-- 'parameterName', 'relativeDatesFilter_parameterName' - The parameter whose value should be used for the filter value.+--+-- 'relativeDateValue', 'relativeDatesFilter_relativeDateValue' - The date value of the filter.+--+-- 'filterId', 'relativeDatesFilter_filterId' - An identifier that uniquely identifies a filter within a dashboard,+-- analysis, or template.+--+-- 'column', 'relativeDatesFilter_column' - The column that the filter is applied to.+--+-- 'anchorDateConfiguration', 'relativeDatesFilter_anchorDateConfiguration' - The date configuration of the filter.+--+-- 'timeGranularity', 'relativeDatesFilter_timeGranularity' - The level of time precision that is used to aggregate @DateTime@ values.+--+-- 'relativeDateType', 'relativeDatesFilter_relativeDateType' - The range date type of the filter. Choose one of the options below:+--+-- -   @PREVIOUS@+--+-- -   @THIS@+--+-- -   @LAST@+--+-- -   @NOW@+--+-- -   @NEXT@+--+-- 'nullOption', 'relativeDatesFilter_nullOption' - This option determines how null values should be treated when filtering+-- data.+--+-- -   @ALL_VALUES@: Include null values in filtered results.+--+-- -   @NULLS_ONLY@: Only include null values in filtered results.+--+-- -   @NON_NULLS_ONLY@: Exclude null values from filtered results.+newRelativeDatesFilter ::+  -- | 'filterId'+  Prelude.Text ->+  -- | 'column'+  ColumnIdentifier ->+  -- | 'anchorDateConfiguration'+  AnchorDateConfiguration ->+  -- | 'timeGranularity'+  TimeGranularity ->+  -- | 'relativeDateType'+  RelativeDateType ->+  -- | 'nullOption'+  FilterNullOption ->+  RelativeDatesFilter+newRelativeDatesFilter+  pFilterId_+  pColumn_+  pAnchorDateConfiguration_+  pTimeGranularity_+  pRelativeDateType_+  pNullOption_ =+    RelativeDatesFilter'+      { excludePeriodConfiguration =+          Prelude.Nothing,+        minimumGranularity = Prelude.Nothing,+        parameterName = Prelude.Nothing,+        relativeDateValue = Prelude.Nothing,+        filterId = pFilterId_,+        column = pColumn_,+        anchorDateConfiguration = pAnchorDateConfiguration_,+        timeGranularity = pTimeGranularity_,+        relativeDateType = pRelativeDateType_,+        nullOption = pNullOption_+      }++-- | The configuration for the exclude period of the filter.+relativeDatesFilter_excludePeriodConfiguration :: Lens.Lens' RelativeDatesFilter (Prelude.Maybe ExcludePeriodConfiguration)+relativeDatesFilter_excludePeriodConfiguration = Lens.lens (\RelativeDatesFilter' {excludePeriodConfiguration} -> excludePeriodConfiguration) (\s@RelativeDatesFilter' {} a -> s {excludePeriodConfiguration = a} :: RelativeDatesFilter)++-- | The minimum granularity (period granularity) of the relative dates+-- filter.+relativeDatesFilter_minimumGranularity :: Lens.Lens' RelativeDatesFilter (Prelude.Maybe TimeGranularity)+relativeDatesFilter_minimumGranularity = Lens.lens (\RelativeDatesFilter' {minimumGranularity} -> minimumGranularity) (\s@RelativeDatesFilter' {} a -> s {minimumGranularity = a} :: RelativeDatesFilter)++-- | The parameter whose value should be used for the filter value.+relativeDatesFilter_parameterName :: Lens.Lens' RelativeDatesFilter (Prelude.Maybe Prelude.Text)+relativeDatesFilter_parameterName = Lens.lens (\RelativeDatesFilter' {parameterName} -> parameterName) (\s@RelativeDatesFilter' {} a -> s {parameterName = a} :: RelativeDatesFilter)++-- | The date value of the filter.+relativeDatesFilter_relativeDateValue :: Lens.Lens' RelativeDatesFilter (Prelude.Maybe Prelude.Int)+relativeDatesFilter_relativeDateValue = Lens.lens (\RelativeDatesFilter' {relativeDateValue} -> relativeDateValue) (\s@RelativeDatesFilter' {} a -> s {relativeDateValue = a} :: RelativeDatesFilter)++-- | An identifier that uniquely identifies a filter within a dashboard,+-- analysis, or template.+relativeDatesFilter_filterId :: Lens.Lens' RelativeDatesFilter Prelude.Text+relativeDatesFilter_filterId = Lens.lens (\RelativeDatesFilter' {filterId} -> filterId) (\s@RelativeDatesFilter' {} a -> s {filterId = a} :: RelativeDatesFilter)++-- | The column that the filter is applied to.+relativeDatesFilter_column :: Lens.Lens' RelativeDatesFilter ColumnIdentifier+relativeDatesFilter_column = Lens.lens (\RelativeDatesFilter' {column} -> column) (\s@RelativeDatesFilter' {} a -> s {column = a} :: RelativeDatesFilter)++-- | The date configuration of the filter.+relativeDatesFilter_anchorDateConfiguration :: Lens.Lens' RelativeDatesFilter AnchorDateConfiguration+relativeDatesFilter_anchorDateConfiguration = Lens.lens (\RelativeDatesFilter' {anchorDateConfiguration} -> anchorDateConfiguration) (\s@RelativeDatesFilter' {} a -> s {anchorDateConfiguration = a} :: RelativeDatesFilter)++-- | The level of time precision that is used to aggregate @DateTime@ values.+relativeDatesFilter_timeGranularity :: Lens.Lens' RelativeDatesFilter TimeGranularity+relativeDatesFilter_timeGranularity = Lens.lens (\RelativeDatesFilter' {timeGranularity} -> timeGranularity) (\s@RelativeDatesFilter' {} a -> s {timeGranularity = a} :: RelativeDatesFilter)++-- | The range date type of the filter. Choose one of the options below:+--+-- -   @PREVIOUS@+--+-- -   @THIS@+--+-- -   @LAST@+--+-- -   @NOW@+--+-- -   @NEXT@+relativeDatesFilter_relativeDateType :: Lens.Lens' RelativeDatesFilter RelativeDateType+relativeDatesFilter_relativeDateType = Lens.lens (\RelativeDatesFilter' {relativeDateType} -> relativeDateType) (\s@RelativeDatesFilter' {} a -> s {relativeDateType = a} :: RelativeDatesFilter)++-- | This option determines how null values should be treated when filtering+-- data.+--+-- -   @ALL_VALUES@: Include null values in filtered results.+--+-- -   @NULLS_ONLY@: Only include null values in filtered results.+--+-- -   @NON_NULLS_ONLY@: Exclude null values from filtered results.+relativeDatesFilter_nullOption :: Lens.Lens' RelativeDatesFilter FilterNullOption+relativeDatesFilter_nullOption = Lens.lens (\RelativeDatesFilter' {nullOption} -> nullOption) (\s@RelativeDatesFilter' {} a -> s {nullOption = a} :: RelativeDatesFilter)++instance Data.FromJSON RelativeDatesFilter where+  parseJSON =+    Data.withObject+      "RelativeDatesFilter"+      ( \x ->+          RelativeDatesFilter'+            Prelude.<$> (x Data..:? "ExcludePeriodConfiguration")+            Prelude.<*> (x Data..:? "MinimumGranularity")+            Prelude.<*> (x Data..:? "ParameterName")+            Prelude.<*> (x Data..:? "RelativeDateValue")+            Prelude.<*> (x Data..: "FilterId")+            Prelude.<*> (x Data..: "Column")+            Prelude.<*> (x Data..: "AnchorDateConfiguration")+            Prelude.<*> (x Data..: "TimeGranularity")+            Prelude.<*> (x Data..: "RelativeDateType")+            Prelude.<*> (x Data..: "NullOption")+      )++instance Prelude.Hashable RelativeDatesFilter where+  hashWithSalt _salt RelativeDatesFilter' {..} =+    _salt+      `Prelude.hashWithSalt` excludePeriodConfiguration+      `Prelude.hashWithSalt` minimumGranularity+      `Prelude.hashWithSalt` parameterName+      `Prelude.hashWithSalt` relativeDateValue+      `Prelude.hashWithSalt` filterId+      `Prelude.hashWithSalt` column+      `Prelude.hashWithSalt` anchorDateConfiguration+      `Prelude.hashWithSalt` timeGranularity+      `Prelude.hashWithSalt` relativeDateType+      `Prelude.hashWithSalt` nullOption++instance Prelude.NFData RelativeDatesFilter where+  rnf RelativeDatesFilter' {..} =+    Prelude.rnf excludePeriodConfiguration+      `Prelude.seq` Prelude.rnf minimumGranularity+      `Prelude.seq` Prelude.rnf parameterName+      `Prelude.seq` Prelude.rnf relativeDateValue+      `Prelude.seq` Prelude.rnf filterId+      `Prelude.seq` Prelude.rnf column+      `Prelude.seq` Prelude.rnf anchorDateConfiguration+      `Prelude.seq` Prelude.rnf timeGranularity+      `Prelude.seq` Prelude.rnf relativeDateType+      `Prelude.seq` Prelude.rnf nullOption++instance Data.ToJSON RelativeDatesFilter where+  toJSON RelativeDatesFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ExcludePeriodConfiguration" Data..=)+              Prelude.<$> excludePeriodConfiguration,+            ("MinimumGranularity" Data..=)+              Prelude.<$> minimumGranularity,+            ("ParameterName" Data..=) Prelude.<$> parameterName,+            ("RelativeDateValue" Data..=)+              Prelude.<$> relativeDateValue,+            Prelude.Just ("FilterId" Data..= filterId),+            Prelude.Just ("Column" Data..= column),+            Prelude.Just+              ( "AnchorDateConfiguration"+                  Data..= anchorDateConfiguration+              ),+            Prelude.Just+              ("TimeGranularity" Data..= timeGranularity),+            Prelude.Just+              ("RelativeDateType" Data..= relativeDateType),+            Prelude.Just ("NullOption" Data..= nullOption)+          ]+      )
+ gen/Amazonka/QuickSight/Types/RelativeFontSize.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.RelativeFontSize+-- 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.QuickSight.Types.RelativeFontSize+  ( RelativeFontSize+      ( ..,+        RelativeFontSize_EXTRA_LARGE,+        RelativeFontSize_EXTRA_SMALL,+        RelativeFontSize_LARGE,+        RelativeFontSize_MEDIUM,+        RelativeFontSize_SMALL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RelativeFontSize = RelativeFontSize'+  { fromRelativeFontSize ::+      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 RelativeFontSize_EXTRA_LARGE :: RelativeFontSize+pattern RelativeFontSize_EXTRA_LARGE = RelativeFontSize' "EXTRA_LARGE"++pattern RelativeFontSize_EXTRA_SMALL :: RelativeFontSize+pattern RelativeFontSize_EXTRA_SMALL = RelativeFontSize' "EXTRA_SMALL"++pattern RelativeFontSize_LARGE :: RelativeFontSize+pattern RelativeFontSize_LARGE = RelativeFontSize' "LARGE"++pattern RelativeFontSize_MEDIUM :: RelativeFontSize+pattern RelativeFontSize_MEDIUM = RelativeFontSize' "MEDIUM"++pattern RelativeFontSize_SMALL :: RelativeFontSize+pattern RelativeFontSize_SMALL = RelativeFontSize' "SMALL"++{-# COMPLETE+  RelativeFontSize_EXTRA_LARGE,+  RelativeFontSize_EXTRA_SMALL,+  RelativeFontSize_LARGE,+  RelativeFontSize_MEDIUM,+  RelativeFontSize_SMALL,+  RelativeFontSize'+  #-}
+ gen/Amazonka/QuickSight/Types/RenameColumnOperation.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.QuickSight.Types.RenameColumnOperation+-- 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.QuickSight.Types.RenameColumnOperation 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 transform operation that renames a column.+--+-- /See:/ 'newRenameColumnOperation' smart constructor.+data RenameColumnOperation = RenameColumnOperation'+  { -- | The name of the column to be renamed.+    columnName :: Prelude.Text,+    -- | The new name for the column.+    newColumnName' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RenameColumnOperation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columnName', 'renameColumnOperation_columnName' - The name of the column to be renamed.+--+-- 'newColumnName'', 'renameColumnOperation_newColumnName' - The new name for the column.+newRenameColumnOperation ::+  -- | 'columnName'+  Prelude.Text ->+  -- | 'newColumnName''+  Prelude.Text ->+  RenameColumnOperation+newRenameColumnOperation pColumnName_ pNewColumnName_ =+  RenameColumnOperation'+    { columnName = pColumnName_,+      newColumnName' = pNewColumnName_+    }++-- | The name of the column to be renamed.+renameColumnOperation_columnName :: Lens.Lens' RenameColumnOperation Prelude.Text+renameColumnOperation_columnName = Lens.lens (\RenameColumnOperation' {columnName} -> columnName) (\s@RenameColumnOperation' {} a -> s {columnName = a} :: RenameColumnOperation)++-- | The new name for the column.+renameColumnOperation_newColumnName :: Lens.Lens' RenameColumnOperation Prelude.Text+renameColumnOperation_newColumnName = Lens.lens (\RenameColumnOperation' {newColumnName'} -> newColumnName') (\s@RenameColumnOperation' {} a -> s {newColumnName' = a} :: RenameColumnOperation)++instance Data.FromJSON RenameColumnOperation where+  parseJSON =+    Data.withObject+      "RenameColumnOperation"+      ( \x ->+          RenameColumnOperation'+            Prelude.<$> (x Data..: "ColumnName")+            Prelude.<*> (x Data..: "NewColumnName")+      )++instance Prelude.Hashable RenameColumnOperation where+  hashWithSalt _salt RenameColumnOperation' {..} =+    _salt+      `Prelude.hashWithSalt` columnName+      `Prelude.hashWithSalt` newColumnName'++instance Prelude.NFData RenameColumnOperation where+  rnf RenameColumnOperation' {..} =+    Prelude.rnf columnName+      `Prelude.seq` Prelude.rnf newColumnName'++instance Data.ToJSON RenameColumnOperation where+  toJSON RenameColumnOperation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ColumnName" Data..= columnName),+            Prelude.Just+              ("NewColumnName" Data..= newColumnName')+          ]+      )
+ gen/Amazonka/QuickSight/Types/ResizeOption.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.QuickSight.Types.ResizeOption+-- 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.QuickSight.Types.ResizeOption+  ( ResizeOption+      ( ..,+        ResizeOption_FIXED,+        ResizeOption_RESPONSIVE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResizeOption = ResizeOption'+  { fromResizeOption ::+      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 ResizeOption_FIXED :: ResizeOption+pattern ResizeOption_FIXED = ResizeOption' "FIXED"++pattern ResizeOption_RESPONSIVE :: ResizeOption+pattern ResizeOption_RESPONSIVE = ResizeOption' "RESPONSIVE"++{-# COMPLETE+  ResizeOption_FIXED,+  ResizeOption_RESPONSIVE,+  ResizeOption'+  #-}
+ gen/Amazonka/QuickSight/Types/ResourcePermission.hs view
@@ -0,0 +1,133 @@+{-# 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.QuickSight.Types.ResourcePermission+-- 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.QuickSight.Types.ResourcePermission 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++-- | Permission for the resource.+--+-- /See:/ 'newResourcePermission' smart constructor.+data ResourcePermission = ResourcePermission'+  { -- | The Amazon Resource Name (ARN) of the principal. This can be one of the+    -- following:+    --+    -- -   The ARN of an Amazon QuickSight user or group associated with a data+    --     source or dataset. (This is common.)+    --+    -- -   The ARN of an Amazon QuickSight user, group, or namespace associated+    --     with an analysis, dashboard, template, or theme. (This is common.)+    --+    -- -   The ARN of an Amazon Web Services account root: This is an IAM ARN+    --     rather than a QuickSight ARN. Use this option only to share+    --     resources (templates) across Amazon Web Services accounts. (This is+    --     less common.)+    principal :: Prelude.Text,+    -- | The IAM action to grant or revoke permissions on.+    actions :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourcePermission' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'principal', 'resourcePermission_principal' - The Amazon Resource Name (ARN) of the principal. This can be one of the+-- following:+--+-- -   The ARN of an Amazon QuickSight user or group associated with a data+--     source or dataset. (This is common.)+--+-- -   The ARN of an Amazon QuickSight user, group, or namespace associated+--     with an analysis, dashboard, template, or theme. (This is common.)+--+-- -   The ARN of an Amazon Web Services account root: This is an IAM ARN+--     rather than a QuickSight ARN. Use this option only to share+--     resources (templates) across Amazon Web Services accounts. (This is+--     less common.)+--+-- 'actions', 'resourcePermission_actions' - The IAM action to grant or revoke permissions on.+newResourcePermission ::+  -- | 'principal'+  Prelude.Text ->+  -- | 'actions'+  Prelude.NonEmpty Prelude.Text ->+  ResourcePermission+newResourcePermission pPrincipal_ pActions_ =+  ResourcePermission'+    { principal = pPrincipal_,+      actions = Lens.coerced Lens.# pActions_+    }++-- | The Amazon Resource Name (ARN) of the principal. This can be one of the+-- following:+--+-- -   The ARN of an Amazon QuickSight user or group associated with a data+--     source or dataset. (This is common.)+--+-- -   The ARN of an Amazon QuickSight user, group, or namespace associated+--     with an analysis, dashboard, template, or theme. (This is common.)+--+-- -   The ARN of an Amazon Web Services account root: This is an IAM ARN+--     rather than a QuickSight ARN. Use this option only to share+--     resources (templates) across Amazon Web Services accounts. (This is+--     less common.)+resourcePermission_principal :: Lens.Lens' ResourcePermission Prelude.Text+resourcePermission_principal = Lens.lens (\ResourcePermission' {principal} -> principal) (\s@ResourcePermission' {} a -> s {principal = a} :: ResourcePermission)++-- | The IAM action to grant or revoke permissions on.+resourcePermission_actions :: Lens.Lens' ResourcePermission (Prelude.NonEmpty Prelude.Text)+resourcePermission_actions = Lens.lens (\ResourcePermission' {actions} -> actions) (\s@ResourcePermission' {} a -> s {actions = a} :: ResourcePermission) Prelude.. Lens.coerced++instance Data.FromJSON ResourcePermission where+  parseJSON =+    Data.withObject+      "ResourcePermission"+      ( \x ->+          ResourcePermission'+            Prelude.<$> (x Data..: "Principal")+            Prelude.<*> (x Data..: "Actions")+      )++instance Prelude.Hashable ResourcePermission where+  hashWithSalt _salt ResourcePermission' {..} =+    _salt+      `Prelude.hashWithSalt` principal+      `Prelude.hashWithSalt` actions++instance Prelude.NFData ResourcePermission where+  rnf ResourcePermission' {..} =+    Prelude.rnf principal+      `Prelude.seq` Prelude.rnf actions++instance Data.ToJSON ResourcePermission where+  toJSON ResourcePermission' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Principal" Data..= principal),+            Prelude.Just ("Actions" Data..= actions)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ResourceStatus.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ResourceStatus+-- 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.QuickSight.Types.ResourceStatus+  ( ResourceStatus+      ( ..,+        ResourceStatus_CREATION_FAILED,+        ResourceStatus_CREATION_IN_PROGRESS,+        ResourceStatus_CREATION_SUCCESSFUL,+        ResourceStatus_DELETED,+        ResourceStatus_UPDATE_FAILED,+        ResourceStatus_UPDATE_IN_PROGRESS,+        ResourceStatus_UPDATE_SUCCESSFUL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResourceStatus = ResourceStatus'+  { fromResourceStatus ::+      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 ResourceStatus_CREATION_FAILED :: ResourceStatus+pattern ResourceStatus_CREATION_FAILED = ResourceStatus' "CREATION_FAILED"++pattern ResourceStatus_CREATION_IN_PROGRESS :: ResourceStatus+pattern ResourceStatus_CREATION_IN_PROGRESS = ResourceStatus' "CREATION_IN_PROGRESS"++pattern ResourceStatus_CREATION_SUCCESSFUL :: ResourceStatus+pattern ResourceStatus_CREATION_SUCCESSFUL = ResourceStatus' "CREATION_SUCCESSFUL"++pattern ResourceStatus_DELETED :: ResourceStatus+pattern ResourceStatus_DELETED = ResourceStatus' "DELETED"++pattern ResourceStatus_UPDATE_FAILED :: ResourceStatus+pattern ResourceStatus_UPDATE_FAILED = ResourceStatus' "UPDATE_FAILED"++pattern ResourceStatus_UPDATE_IN_PROGRESS :: ResourceStatus+pattern ResourceStatus_UPDATE_IN_PROGRESS = ResourceStatus' "UPDATE_IN_PROGRESS"++pattern ResourceStatus_UPDATE_SUCCESSFUL :: ResourceStatus+pattern ResourceStatus_UPDATE_SUCCESSFUL = ResourceStatus' "UPDATE_SUCCESSFUL"++{-# COMPLETE+  ResourceStatus_CREATION_FAILED,+  ResourceStatus_CREATION_IN_PROGRESS,+  ResourceStatus_CREATION_SUCCESSFUL,+  ResourceStatus_DELETED,+  ResourceStatus_UPDATE_FAILED,+  ResourceStatus_UPDATE_IN_PROGRESS,+  ResourceStatus_UPDATE_SUCCESSFUL,+  ResourceStatus'+  #-}
+ gen/Amazonka/QuickSight/Types/RollingDateConfiguration.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.RollingDateConfiguration+-- 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.QuickSight.Types.RollingDateConfiguration 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 rolling date configuration of a date time filter.+--+-- /See:/ 'newRollingDateConfiguration' smart constructor.+data RollingDateConfiguration = RollingDateConfiguration'+  { -- | The data set that is used in the rolling date configuration.+    dataSetIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The expression of the rolling date configuration.+    expression :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RollingDateConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSetIdentifier', 'rollingDateConfiguration_dataSetIdentifier' - The data set that is used in the rolling date configuration.+--+-- 'expression', 'rollingDateConfiguration_expression' - The expression of the rolling date configuration.+newRollingDateConfiguration ::+  -- | 'expression'+  Prelude.Text ->+  RollingDateConfiguration+newRollingDateConfiguration pExpression_ =+  RollingDateConfiguration'+    { dataSetIdentifier =+        Prelude.Nothing,+      expression = Data._Sensitive Lens.# pExpression_+    }++-- | The data set that is used in the rolling date configuration.+rollingDateConfiguration_dataSetIdentifier :: Lens.Lens' RollingDateConfiguration (Prelude.Maybe Prelude.Text)+rollingDateConfiguration_dataSetIdentifier = Lens.lens (\RollingDateConfiguration' {dataSetIdentifier} -> dataSetIdentifier) (\s@RollingDateConfiguration' {} a -> s {dataSetIdentifier = a} :: RollingDateConfiguration)++-- | The expression of the rolling date configuration.+rollingDateConfiguration_expression :: Lens.Lens' RollingDateConfiguration Prelude.Text+rollingDateConfiguration_expression = Lens.lens (\RollingDateConfiguration' {expression} -> expression) (\s@RollingDateConfiguration' {} a -> s {expression = a} :: RollingDateConfiguration) Prelude.. Data._Sensitive++instance Data.FromJSON RollingDateConfiguration where+  parseJSON =+    Data.withObject+      "RollingDateConfiguration"+      ( \x ->+          RollingDateConfiguration'+            Prelude.<$> (x Data..:? "DataSetIdentifier")+            Prelude.<*> (x Data..: "Expression")+      )++instance Prelude.Hashable RollingDateConfiguration where+  hashWithSalt _salt RollingDateConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` dataSetIdentifier+      `Prelude.hashWithSalt` expression++instance Prelude.NFData RollingDateConfiguration where+  rnf RollingDateConfiguration' {..} =+    Prelude.rnf dataSetIdentifier+      `Prelude.seq` Prelude.rnf expression++instance Data.ToJSON RollingDateConfiguration where+  toJSON RollingDateConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DataSetIdentifier" Data..=)+              Prelude.<$> dataSetIdentifier,+            Prelude.Just ("Expression" Data..= expression)+          ]+      )
+ gen/Amazonka/QuickSight/Types/RowAlternateColorOptions.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.RowAlternateColorOptions+-- 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.QuickSight.Types.RowAlternateColorOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.WidgetStatus++-- | Determines the row alternate color options.+--+-- /See:/ 'newRowAlternateColorOptions' smart constructor.+data RowAlternateColorOptions = RowAlternateColorOptions'+  { -- | Determines the list of row alternate colors.+    rowAlternateColors :: Prelude.Maybe [Prelude.Text],+    -- | Determines the widget status.+    status :: Prelude.Maybe WidgetStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RowAlternateColorOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'rowAlternateColors', 'rowAlternateColorOptions_rowAlternateColors' - Determines the list of row alternate colors.+--+-- 'status', 'rowAlternateColorOptions_status' - Determines the widget status.+newRowAlternateColorOptions ::+  RowAlternateColorOptions+newRowAlternateColorOptions =+  RowAlternateColorOptions'+    { rowAlternateColors =+        Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | Determines the list of row alternate colors.+rowAlternateColorOptions_rowAlternateColors :: Lens.Lens' RowAlternateColorOptions (Prelude.Maybe [Prelude.Text])+rowAlternateColorOptions_rowAlternateColors = Lens.lens (\RowAlternateColorOptions' {rowAlternateColors} -> rowAlternateColors) (\s@RowAlternateColorOptions' {} a -> s {rowAlternateColors = a} :: RowAlternateColorOptions) Prelude.. Lens.mapping Lens.coerced++-- | Determines the widget status.+rowAlternateColorOptions_status :: Lens.Lens' RowAlternateColorOptions (Prelude.Maybe WidgetStatus)+rowAlternateColorOptions_status = Lens.lens (\RowAlternateColorOptions' {status} -> status) (\s@RowAlternateColorOptions' {} a -> s {status = a} :: RowAlternateColorOptions)++instance Data.FromJSON RowAlternateColorOptions where+  parseJSON =+    Data.withObject+      "RowAlternateColorOptions"+      ( \x ->+          RowAlternateColorOptions'+            Prelude.<$> ( x+                            Data..:? "RowAlternateColors"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable RowAlternateColorOptions where+  hashWithSalt _salt RowAlternateColorOptions' {..} =+    _salt+      `Prelude.hashWithSalt` rowAlternateColors+      `Prelude.hashWithSalt` status++instance Prelude.NFData RowAlternateColorOptions where+  rnf RowAlternateColorOptions' {..} =+    Prelude.rnf rowAlternateColors+      `Prelude.seq` Prelude.rnf status++instance Data.ToJSON RowAlternateColorOptions where+  toJSON RowAlternateColorOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("RowAlternateColors" Data..=)+              Prelude.<$> rowAlternateColors,+            ("Status" Data..=) Prelude.<$> status+          ]+      )
+ gen/Amazonka/QuickSight/Types/RowInfo.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.QuickSight.Types.RowInfo+-- 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.QuickSight.Types.RowInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about rows for a data set SPICE ingestion.+--+-- /See:/ 'newRowInfo' smart constructor.+data RowInfo = RowInfo'+  { -- | The number of rows that were not ingested.+    rowsDropped :: Prelude.Maybe Prelude.Integer,+    -- | The number of rows that were ingested.+    rowsIngested :: Prelude.Maybe Prelude.Integer,+    -- | The total number of rows in the dataset.+    totalRowsInDataset :: Prelude.Maybe Prelude.Integer+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RowInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'rowsDropped', 'rowInfo_rowsDropped' - The number of rows that were not ingested.+--+-- 'rowsIngested', 'rowInfo_rowsIngested' - The number of rows that were ingested.+--+-- 'totalRowsInDataset', 'rowInfo_totalRowsInDataset' - The total number of rows in the dataset.+newRowInfo ::+  RowInfo+newRowInfo =+  RowInfo'+    { rowsDropped = Prelude.Nothing,+      rowsIngested = Prelude.Nothing,+      totalRowsInDataset = Prelude.Nothing+    }++-- | The number of rows that were not ingested.+rowInfo_rowsDropped :: Lens.Lens' RowInfo (Prelude.Maybe Prelude.Integer)+rowInfo_rowsDropped = Lens.lens (\RowInfo' {rowsDropped} -> rowsDropped) (\s@RowInfo' {} a -> s {rowsDropped = a} :: RowInfo)++-- | The number of rows that were ingested.+rowInfo_rowsIngested :: Lens.Lens' RowInfo (Prelude.Maybe Prelude.Integer)+rowInfo_rowsIngested = Lens.lens (\RowInfo' {rowsIngested} -> rowsIngested) (\s@RowInfo' {} a -> s {rowsIngested = a} :: RowInfo)++-- | The total number of rows in the dataset.+rowInfo_totalRowsInDataset :: Lens.Lens' RowInfo (Prelude.Maybe Prelude.Integer)+rowInfo_totalRowsInDataset = Lens.lens (\RowInfo' {totalRowsInDataset} -> totalRowsInDataset) (\s@RowInfo' {} a -> s {totalRowsInDataset = a} :: RowInfo)++instance Data.FromJSON RowInfo where+  parseJSON =+    Data.withObject+      "RowInfo"+      ( \x ->+          RowInfo'+            Prelude.<$> (x Data..:? "RowsDropped")+            Prelude.<*> (x Data..:? "RowsIngested")+            Prelude.<*> (x Data..:? "TotalRowsInDataset")+      )++instance Prelude.Hashable RowInfo where+  hashWithSalt _salt RowInfo' {..} =+    _salt+      `Prelude.hashWithSalt` rowsDropped+      `Prelude.hashWithSalt` rowsIngested+      `Prelude.hashWithSalt` totalRowsInDataset++instance Prelude.NFData RowInfo where+  rnf RowInfo' {..} =+    Prelude.rnf rowsDropped+      `Prelude.seq` Prelude.rnf rowsIngested+      `Prelude.seq` Prelude.rnf totalRowsInDataset
+ gen/Amazonka/QuickSight/Types/RowLevelPermissionDataSet.hs view
@@ -0,0 +1,178 @@+{-# 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.QuickSight.Types.RowLevelPermissionDataSet+-- 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.QuickSight.Types.RowLevelPermissionDataSet where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.RowLevelPermissionFormatVersion+import Amazonka.QuickSight.Types.RowLevelPermissionPolicy+import Amazonka.QuickSight.Types.Status++-- | Information about a dataset that contains permissions for row-level+-- security (RLS). The permissions dataset maps fields to users or groups.+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/restrict-access-to-a-data-set-using-row-level-security.html Using Row-Level Security (RLS) to Restrict Access to a Dataset>+-- in the /Amazon QuickSight User Guide/.+--+-- The option to deny permissions by setting @PermissionPolicy@ to+-- @DENY_ACCESS@ is not supported for new RLS datasets.+--+-- /See:/ 'newRowLevelPermissionDataSet' smart constructor.+data RowLevelPermissionDataSet = RowLevelPermissionDataSet'+  { -- | The user or group rules associated with the dataset that contains+    -- permissions for RLS.+    --+    -- By default, @FormatVersion@ is @VERSION_1@. When @FormatVersion@ is+    -- @VERSION_1@, @UserName@ and @GroupName@ are required. When+    -- @FormatVersion@ is @VERSION_2@, @UserARN@ and @GroupARN@ are required,+    -- and @Namespace@ must not exist.+    formatVersion :: Prelude.Maybe RowLevelPermissionFormatVersion,+    -- | The namespace associated with the dataset that contains permissions for+    -- RLS.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The status of the row-level security permission dataset. If enabled, the+    -- status is @ENABLED@. If disabled, the status is @DISABLED@.+    status :: Prelude.Maybe Status,+    -- | The Amazon Resource Name (ARN) of the dataset that contains permissions+    -- for RLS.+    arn :: Prelude.Text,+    -- | The type of permissions to use when interpreting the permissions for+    -- RLS. @DENY_ACCESS@ is included for backward compatibility only.+    permissionPolicy :: RowLevelPermissionPolicy+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RowLevelPermissionDataSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'formatVersion', 'rowLevelPermissionDataSet_formatVersion' - The user or group rules associated with the dataset that contains+-- permissions for RLS.+--+-- By default, @FormatVersion@ is @VERSION_1@. When @FormatVersion@ is+-- @VERSION_1@, @UserName@ and @GroupName@ are required. When+-- @FormatVersion@ is @VERSION_2@, @UserARN@ and @GroupARN@ are required,+-- and @Namespace@ must not exist.+--+-- 'namespace', 'rowLevelPermissionDataSet_namespace' - The namespace associated with the dataset that contains permissions for+-- RLS.+--+-- 'status', 'rowLevelPermissionDataSet_status' - The status of the row-level security permission dataset. If enabled, the+-- status is @ENABLED@. If disabled, the status is @DISABLED@.+--+-- 'arn', 'rowLevelPermissionDataSet_arn' - The Amazon Resource Name (ARN) of the dataset that contains permissions+-- for RLS.+--+-- 'permissionPolicy', 'rowLevelPermissionDataSet_permissionPolicy' - The type of permissions to use when interpreting the permissions for+-- RLS. @DENY_ACCESS@ is included for backward compatibility only.+newRowLevelPermissionDataSet ::+  -- | 'arn'+  Prelude.Text ->+  -- | 'permissionPolicy'+  RowLevelPermissionPolicy ->+  RowLevelPermissionDataSet+newRowLevelPermissionDataSet pArn_ pPermissionPolicy_ =+  RowLevelPermissionDataSet'+    { formatVersion =+        Prelude.Nothing,+      namespace = Prelude.Nothing,+      status = Prelude.Nothing,+      arn = pArn_,+      permissionPolicy = pPermissionPolicy_+    }++-- | The user or group rules associated with the dataset that contains+-- permissions for RLS.+--+-- By default, @FormatVersion@ is @VERSION_1@. When @FormatVersion@ is+-- @VERSION_1@, @UserName@ and @GroupName@ are required. When+-- @FormatVersion@ is @VERSION_2@, @UserARN@ and @GroupARN@ are required,+-- and @Namespace@ must not exist.+rowLevelPermissionDataSet_formatVersion :: Lens.Lens' RowLevelPermissionDataSet (Prelude.Maybe RowLevelPermissionFormatVersion)+rowLevelPermissionDataSet_formatVersion = Lens.lens (\RowLevelPermissionDataSet' {formatVersion} -> formatVersion) (\s@RowLevelPermissionDataSet' {} a -> s {formatVersion = a} :: RowLevelPermissionDataSet)++-- | The namespace associated with the dataset that contains permissions for+-- RLS.+rowLevelPermissionDataSet_namespace :: Lens.Lens' RowLevelPermissionDataSet (Prelude.Maybe Prelude.Text)+rowLevelPermissionDataSet_namespace = Lens.lens (\RowLevelPermissionDataSet' {namespace} -> namespace) (\s@RowLevelPermissionDataSet' {} a -> s {namespace = a} :: RowLevelPermissionDataSet)++-- | The status of the row-level security permission dataset. If enabled, the+-- status is @ENABLED@. If disabled, the status is @DISABLED@.+rowLevelPermissionDataSet_status :: Lens.Lens' RowLevelPermissionDataSet (Prelude.Maybe Status)+rowLevelPermissionDataSet_status = Lens.lens (\RowLevelPermissionDataSet' {status} -> status) (\s@RowLevelPermissionDataSet' {} a -> s {status = a} :: RowLevelPermissionDataSet)++-- | The Amazon Resource Name (ARN) of the dataset that contains permissions+-- for RLS.+rowLevelPermissionDataSet_arn :: Lens.Lens' RowLevelPermissionDataSet Prelude.Text+rowLevelPermissionDataSet_arn = Lens.lens (\RowLevelPermissionDataSet' {arn} -> arn) (\s@RowLevelPermissionDataSet' {} a -> s {arn = a} :: RowLevelPermissionDataSet)++-- | The type of permissions to use when interpreting the permissions for+-- RLS. @DENY_ACCESS@ is included for backward compatibility only.+rowLevelPermissionDataSet_permissionPolicy :: Lens.Lens' RowLevelPermissionDataSet RowLevelPermissionPolicy+rowLevelPermissionDataSet_permissionPolicy = Lens.lens (\RowLevelPermissionDataSet' {permissionPolicy} -> permissionPolicy) (\s@RowLevelPermissionDataSet' {} a -> s {permissionPolicy = a} :: RowLevelPermissionDataSet)++instance Data.FromJSON RowLevelPermissionDataSet where+  parseJSON =+    Data.withObject+      "RowLevelPermissionDataSet"+      ( \x ->+          RowLevelPermissionDataSet'+            Prelude.<$> (x Data..:? "FormatVersion")+            Prelude.<*> (x Data..:? "Namespace")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..: "Arn")+            Prelude.<*> (x Data..: "PermissionPolicy")+      )++instance Prelude.Hashable RowLevelPermissionDataSet where+  hashWithSalt _salt RowLevelPermissionDataSet' {..} =+    _salt+      `Prelude.hashWithSalt` formatVersion+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` permissionPolicy++instance Prelude.NFData RowLevelPermissionDataSet where+  rnf RowLevelPermissionDataSet' {..} =+    Prelude.rnf formatVersion+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf permissionPolicy++instance Data.ToJSON RowLevelPermissionDataSet where+  toJSON RowLevelPermissionDataSet' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FormatVersion" Data..=) Prelude.<$> formatVersion,+            ("Namespace" Data..=) Prelude.<$> namespace,+            ("Status" Data..=) Prelude.<$> status,+            Prelude.Just ("Arn" Data..= arn),+            Prelude.Just+              ("PermissionPolicy" Data..= permissionPolicy)+          ]+      )
+ gen/Amazonka/QuickSight/Types/RowLevelPermissionFormatVersion.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.QuickSight.Types.RowLevelPermissionFormatVersion+-- 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.QuickSight.Types.RowLevelPermissionFormatVersion+  ( RowLevelPermissionFormatVersion+      ( ..,+        RowLevelPermissionFormatVersion_VERSION_1,+        RowLevelPermissionFormatVersion_VERSION_2+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RowLevelPermissionFormatVersion = RowLevelPermissionFormatVersion'+  { fromRowLevelPermissionFormatVersion ::+      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 RowLevelPermissionFormatVersion_VERSION_1 :: RowLevelPermissionFormatVersion+pattern RowLevelPermissionFormatVersion_VERSION_1 = RowLevelPermissionFormatVersion' "VERSION_1"++pattern RowLevelPermissionFormatVersion_VERSION_2 :: RowLevelPermissionFormatVersion+pattern RowLevelPermissionFormatVersion_VERSION_2 = RowLevelPermissionFormatVersion' "VERSION_2"++{-# COMPLETE+  RowLevelPermissionFormatVersion_VERSION_1,+  RowLevelPermissionFormatVersion_VERSION_2,+  RowLevelPermissionFormatVersion'+  #-}
+ gen/Amazonka/QuickSight/Types/RowLevelPermissionPolicy.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.QuickSight.Types.RowLevelPermissionPolicy+-- 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.QuickSight.Types.RowLevelPermissionPolicy+  ( RowLevelPermissionPolicy+      ( ..,+        RowLevelPermissionPolicy_DENY_ACCESS,+        RowLevelPermissionPolicy_GRANT_ACCESS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RowLevelPermissionPolicy = RowLevelPermissionPolicy'+  { fromRowLevelPermissionPolicy ::+      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 RowLevelPermissionPolicy_DENY_ACCESS :: RowLevelPermissionPolicy+pattern RowLevelPermissionPolicy_DENY_ACCESS = RowLevelPermissionPolicy' "DENY_ACCESS"++pattern RowLevelPermissionPolicy_GRANT_ACCESS :: RowLevelPermissionPolicy+pattern RowLevelPermissionPolicy_GRANT_ACCESS = RowLevelPermissionPolicy' "GRANT_ACCESS"++{-# COMPLETE+  RowLevelPermissionPolicy_DENY_ACCESS,+  RowLevelPermissionPolicy_GRANT_ACCESS,+  RowLevelPermissionPolicy'+  #-}
+ gen/Amazonka/QuickSight/Types/RowLevelPermissionTagConfiguration.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.QuickSight.Types.RowLevelPermissionTagConfiguration+-- 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.QuickSight.Types.RowLevelPermissionTagConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.RowLevelPermissionTagRule+import Amazonka.QuickSight.Types.Status++-- | The configuration of tags on a dataset to set row-level security.+--+-- /See:/ 'newRowLevelPermissionTagConfiguration' smart constructor.+data RowLevelPermissionTagConfiguration = RowLevelPermissionTagConfiguration'+  { -- | The status of row-level security tags. If enabled, the status is+    -- @ENABLED@. If disabled, the status is @DISABLED@.+    status :: Prelude.Maybe Status,+    -- | A set of rules associated with row-level security, such as the tag names+    -- and columns that they are assigned to.+    tagRules :: Prelude.NonEmpty RowLevelPermissionTagRule+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RowLevelPermissionTagConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'rowLevelPermissionTagConfiguration_status' - The status of row-level security tags. If enabled, the status is+-- @ENABLED@. If disabled, the status is @DISABLED@.+--+-- 'tagRules', 'rowLevelPermissionTagConfiguration_tagRules' - A set of rules associated with row-level security, such as the tag names+-- and columns that they are assigned to.+newRowLevelPermissionTagConfiguration ::+  -- | 'tagRules'+  Prelude.NonEmpty RowLevelPermissionTagRule ->+  RowLevelPermissionTagConfiguration+newRowLevelPermissionTagConfiguration pTagRules_ =+  RowLevelPermissionTagConfiguration'+    { status =+        Prelude.Nothing,+      tagRules =+        Lens.coerced Lens.# pTagRules_+    }++-- | The status of row-level security tags. If enabled, the status is+-- @ENABLED@. If disabled, the status is @DISABLED@.+rowLevelPermissionTagConfiguration_status :: Lens.Lens' RowLevelPermissionTagConfiguration (Prelude.Maybe Status)+rowLevelPermissionTagConfiguration_status = Lens.lens (\RowLevelPermissionTagConfiguration' {status} -> status) (\s@RowLevelPermissionTagConfiguration' {} a -> s {status = a} :: RowLevelPermissionTagConfiguration)++-- | A set of rules associated with row-level security, such as the tag names+-- and columns that they are assigned to.+rowLevelPermissionTagConfiguration_tagRules :: Lens.Lens' RowLevelPermissionTagConfiguration (Prelude.NonEmpty RowLevelPermissionTagRule)+rowLevelPermissionTagConfiguration_tagRules = Lens.lens (\RowLevelPermissionTagConfiguration' {tagRules} -> tagRules) (\s@RowLevelPermissionTagConfiguration' {} a -> s {tagRules = a} :: RowLevelPermissionTagConfiguration) Prelude.. Lens.coerced++instance+  Data.FromJSON+    RowLevelPermissionTagConfiguration+  where+  parseJSON =+    Data.withObject+      "RowLevelPermissionTagConfiguration"+      ( \x ->+          RowLevelPermissionTagConfiguration'+            Prelude.<$> (x Data..:? "Status")+            Prelude.<*> (x Data..: "TagRules")+      )++instance+  Prelude.Hashable+    RowLevelPermissionTagConfiguration+  where+  hashWithSalt+    _salt+    RowLevelPermissionTagConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` status+        `Prelude.hashWithSalt` tagRules++instance+  Prelude.NFData+    RowLevelPermissionTagConfiguration+  where+  rnf RowLevelPermissionTagConfiguration' {..} =+    Prelude.rnf status+      `Prelude.seq` Prelude.rnf tagRules++instance+  Data.ToJSON+    RowLevelPermissionTagConfiguration+  where+  toJSON RowLevelPermissionTagConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Status" Data..=) Prelude.<$> status,+            Prelude.Just ("TagRules" Data..= tagRules)+          ]+      )
+ gen/Amazonka/QuickSight/Types/RowLevelPermissionTagRule.hs view
@@ -0,0 +1,137 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.RowLevelPermissionTagRule+-- 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.QuickSight.Types.RowLevelPermissionTagRule 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 set of rules associated with a tag.+--+-- /See:/ 'newRowLevelPermissionTagRule' smart constructor.+data RowLevelPermissionTagRule = RowLevelPermissionTagRule'+  { -- | A string that you want to use to filter by all the values in a column in+    -- the dataset and don’t want to list the values one by one. For example,+    -- you can use an asterisk as your match all value.+    matchAllValue :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | A string that you want to use to delimit the values when you pass the+    -- values at run time. For example, you can delimit the values with a+    -- comma.+    tagMultiValueDelimiter :: Prelude.Maybe Prelude.Text,+    -- | The unique key for a tag.+    tagKey :: Prelude.Text,+    -- | The column name that a tag key is assigned to.+    columnName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RowLevelPermissionTagRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'matchAllValue', 'rowLevelPermissionTagRule_matchAllValue' - A string that you want to use to filter by all the values in a column in+-- the dataset and don’t want to list the values one by one. For example,+-- you can use an asterisk as your match all value.+--+-- 'tagMultiValueDelimiter', 'rowLevelPermissionTagRule_tagMultiValueDelimiter' - A string that you want to use to delimit the values when you pass the+-- values at run time. For example, you can delimit the values with a+-- comma.+--+-- 'tagKey', 'rowLevelPermissionTagRule_tagKey' - The unique key for a tag.+--+-- 'columnName', 'rowLevelPermissionTagRule_columnName' - The column name that a tag key is assigned to.+newRowLevelPermissionTagRule ::+  -- | 'tagKey'+  Prelude.Text ->+  -- | 'columnName'+  Prelude.Text ->+  RowLevelPermissionTagRule+newRowLevelPermissionTagRule pTagKey_ pColumnName_ =+  RowLevelPermissionTagRule'+    { matchAllValue =+        Prelude.Nothing,+      tagMultiValueDelimiter = Prelude.Nothing,+      tagKey = pTagKey_,+      columnName = pColumnName_+    }++-- | A string that you want to use to filter by all the values in a column in+-- the dataset and don’t want to list the values one by one. For example,+-- you can use an asterisk as your match all value.+rowLevelPermissionTagRule_matchAllValue :: Lens.Lens' RowLevelPermissionTagRule (Prelude.Maybe Prelude.Text)+rowLevelPermissionTagRule_matchAllValue = Lens.lens (\RowLevelPermissionTagRule' {matchAllValue} -> matchAllValue) (\s@RowLevelPermissionTagRule' {} a -> s {matchAllValue = a} :: RowLevelPermissionTagRule) Prelude.. Lens.mapping Data._Sensitive++-- | A string that you want to use to delimit the values when you pass the+-- values at run time. For example, you can delimit the values with a+-- comma.+rowLevelPermissionTagRule_tagMultiValueDelimiter :: Lens.Lens' RowLevelPermissionTagRule (Prelude.Maybe Prelude.Text)+rowLevelPermissionTagRule_tagMultiValueDelimiter = Lens.lens (\RowLevelPermissionTagRule' {tagMultiValueDelimiter} -> tagMultiValueDelimiter) (\s@RowLevelPermissionTagRule' {} a -> s {tagMultiValueDelimiter = a} :: RowLevelPermissionTagRule)++-- | The unique key for a tag.+rowLevelPermissionTagRule_tagKey :: Lens.Lens' RowLevelPermissionTagRule Prelude.Text+rowLevelPermissionTagRule_tagKey = Lens.lens (\RowLevelPermissionTagRule' {tagKey} -> tagKey) (\s@RowLevelPermissionTagRule' {} a -> s {tagKey = a} :: RowLevelPermissionTagRule)++-- | The column name that a tag key is assigned to.+rowLevelPermissionTagRule_columnName :: Lens.Lens' RowLevelPermissionTagRule Prelude.Text+rowLevelPermissionTagRule_columnName = Lens.lens (\RowLevelPermissionTagRule' {columnName} -> columnName) (\s@RowLevelPermissionTagRule' {} a -> s {columnName = a} :: RowLevelPermissionTagRule)++instance Data.FromJSON RowLevelPermissionTagRule where+  parseJSON =+    Data.withObject+      "RowLevelPermissionTagRule"+      ( \x ->+          RowLevelPermissionTagRule'+            Prelude.<$> (x Data..:? "MatchAllValue")+            Prelude.<*> (x Data..:? "TagMultiValueDelimiter")+            Prelude.<*> (x Data..: "TagKey")+            Prelude.<*> (x Data..: "ColumnName")+      )++instance Prelude.Hashable RowLevelPermissionTagRule where+  hashWithSalt _salt RowLevelPermissionTagRule' {..} =+    _salt+      `Prelude.hashWithSalt` matchAllValue+      `Prelude.hashWithSalt` tagMultiValueDelimiter+      `Prelude.hashWithSalt` tagKey+      `Prelude.hashWithSalt` columnName++instance Prelude.NFData RowLevelPermissionTagRule where+  rnf RowLevelPermissionTagRule' {..} =+    Prelude.rnf matchAllValue+      `Prelude.seq` Prelude.rnf tagMultiValueDelimiter+      `Prelude.seq` Prelude.rnf tagKey+      `Prelude.seq` Prelude.rnf columnName++instance Data.ToJSON RowLevelPermissionTagRule where+  toJSON RowLevelPermissionTagRule' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MatchAllValue" Data..=) Prelude.<$> matchAllValue,+            ("TagMultiValueDelimiter" Data..=)+              Prelude.<$> tagMultiValueDelimiter,+            Prelude.Just ("TagKey" Data..= tagKey),+            Prelude.Just ("ColumnName" Data..= columnName)+          ]+      )
+ gen/Amazonka/QuickSight/Types/S3Parameters.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.S3Parameters+-- 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.QuickSight.Types.S3Parameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ManifestFileLocation++-- | The parameters for S3.+--+-- /See:/ 'newS3Parameters' smart constructor.+data S3Parameters = S3Parameters'+  { -- | Location of the Amazon S3 manifest file. This is NULL if the manifest+    -- file was uploaded into Amazon QuickSight.+    manifestFileLocation :: ManifestFileLocation+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3Parameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'manifestFileLocation', 's3Parameters_manifestFileLocation' - Location of the Amazon S3 manifest file. This is NULL if the manifest+-- file was uploaded into Amazon QuickSight.+newS3Parameters ::+  -- | 'manifestFileLocation'+  ManifestFileLocation ->+  S3Parameters+newS3Parameters pManifestFileLocation_ =+  S3Parameters'+    { manifestFileLocation =+        pManifestFileLocation_+    }++-- | Location of the Amazon S3 manifest file. This is NULL if the manifest+-- file was uploaded into Amazon QuickSight.+s3Parameters_manifestFileLocation :: Lens.Lens' S3Parameters ManifestFileLocation+s3Parameters_manifestFileLocation = Lens.lens (\S3Parameters' {manifestFileLocation} -> manifestFileLocation) (\s@S3Parameters' {} a -> s {manifestFileLocation = a} :: S3Parameters)++instance Data.FromJSON S3Parameters where+  parseJSON =+    Data.withObject+      "S3Parameters"+      ( \x ->+          S3Parameters'+            Prelude.<$> (x Data..: "ManifestFileLocation")+      )++instance Prelude.Hashable S3Parameters where+  hashWithSalt _salt S3Parameters' {..} =+    _salt `Prelude.hashWithSalt` manifestFileLocation++instance Prelude.NFData S3Parameters where+  rnf S3Parameters' {..} =+    Prelude.rnf manifestFileLocation++instance Data.ToJSON S3Parameters where+  toJSON S3Parameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "ManifestFileLocation"+                  Data..= manifestFileLocation+              )+          ]+      )
+ gen/Amazonka/QuickSight/Types/S3Source.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.S3Source+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QuickSight.Types.S3Source where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.InputColumn+import Amazonka.QuickSight.Types.UploadSettings++-- | A physical table type for an S3 data source.+--+-- /See:/ 'newS3Source' smart constructor.+data S3Source = S3Source'+  { -- | Information about the format for the S3 source file or files.+    uploadSettings :: Prelude.Maybe UploadSettings,+    -- | The Amazon Resource Name (ARN) for the data source.+    dataSourceArn :: Prelude.Text,+    -- | A physical table type for an S3 data source.+    --+    -- For files that aren\'t JSON, only @STRING@ data types are supported in+    -- input columns.+    inputColumns :: Prelude.NonEmpty InputColumn+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3Source' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'uploadSettings', 's3Source_uploadSettings' - Information about the format for the S3 source file or files.+--+-- 'dataSourceArn', 's3Source_dataSourceArn' - The Amazon Resource Name (ARN) for the data source.+--+-- 'inputColumns', 's3Source_inputColumns' - A physical table type for an S3 data source.+--+-- For files that aren\'t JSON, only @STRING@ data types are supported in+-- input columns.+newS3Source ::+  -- | 'dataSourceArn'+  Prelude.Text ->+  -- | 'inputColumns'+  Prelude.NonEmpty InputColumn ->+  S3Source+newS3Source pDataSourceArn_ pInputColumns_ =+  S3Source'+    { uploadSettings = Prelude.Nothing,+      dataSourceArn = pDataSourceArn_,+      inputColumns = Lens.coerced Lens.# pInputColumns_+    }++-- | Information about the format for the S3 source file or files.+s3Source_uploadSettings :: Lens.Lens' S3Source (Prelude.Maybe UploadSettings)+s3Source_uploadSettings = Lens.lens (\S3Source' {uploadSettings} -> uploadSettings) (\s@S3Source' {} a -> s {uploadSettings = a} :: S3Source)++-- | The Amazon Resource Name (ARN) for the data source.+s3Source_dataSourceArn :: Lens.Lens' S3Source Prelude.Text+s3Source_dataSourceArn = Lens.lens (\S3Source' {dataSourceArn} -> dataSourceArn) (\s@S3Source' {} a -> s {dataSourceArn = a} :: S3Source)++-- | A physical table type for an S3 data source.+--+-- For files that aren\'t JSON, only @STRING@ data types are supported in+-- input columns.+s3Source_inputColumns :: Lens.Lens' S3Source (Prelude.NonEmpty InputColumn)+s3Source_inputColumns = Lens.lens (\S3Source' {inputColumns} -> inputColumns) (\s@S3Source' {} a -> s {inputColumns = a} :: S3Source) Prelude.. Lens.coerced++instance Data.FromJSON S3Source where+  parseJSON =+    Data.withObject+      "S3Source"+      ( \x ->+          S3Source'+            Prelude.<$> (x Data..:? "UploadSettings")+            Prelude.<*> (x Data..: "DataSourceArn")+            Prelude.<*> (x Data..: "InputColumns")+      )++instance Prelude.Hashable S3Source where+  hashWithSalt _salt S3Source' {..} =+    _salt+      `Prelude.hashWithSalt` uploadSettings+      `Prelude.hashWithSalt` dataSourceArn+      `Prelude.hashWithSalt` inputColumns++instance Prelude.NFData S3Source where+  rnf S3Source' {..} =+    Prelude.rnf uploadSettings+      `Prelude.seq` Prelude.rnf dataSourceArn+      `Prelude.seq` Prelude.rnf inputColumns++instance Data.ToJSON S3Source where+  toJSON S3Source' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("UploadSettings" Data..=)+              Prelude.<$> uploadSettings,+            Prelude.Just ("DataSourceArn" Data..= dataSourceArn),+            Prelude.Just ("InputColumns" Data..= inputColumns)+          ]+      )
+ gen/Amazonka/QuickSight/Types/SameSheetTargetVisualConfiguration.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.SameSheetTargetVisualConfiguration+-- 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.QuickSight.Types.SameSheetTargetVisualConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TargetVisualOptions++-- | The configuration of the same-sheet target visuals that you want to be+-- filtered.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newSameSheetTargetVisualConfiguration' smart constructor.+data SameSheetTargetVisualConfiguration = SameSheetTargetVisualConfiguration'+  { -- | The options that choose the target visual in the same sheet.+    --+    -- Valid values are defined as follows:+    --+    -- -   @ALL_VISUALS@: Applies the filter operation to all visuals in the+    --     same sheet.+    targetVisualOptions :: Prelude.Maybe TargetVisualOptions,+    -- | A list of the target visual IDs that are located in the same sheet of+    -- the analysis.+    targetVisuals :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SameSheetTargetVisualConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'targetVisualOptions', 'sameSheetTargetVisualConfiguration_targetVisualOptions' - The options that choose the target visual in the same sheet.+--+-- Valid values are defined as follows:+--+-- -   @ALL_VISUALS@: Applies the filter operation to all visuals in the+--     same sheet.+--+-- 'targetVisuals', 'sameSheetTargetVisualConfiguration_targetVisuals' - A list of the target visual IDs that are located in the same sheet of+-- the analysis.+newSameSheetTargetVisualConfiguration ::+  SameSheetTargetVisualConfiguration+newSameSheetTargetVisualConfiguration =+  SameSheetTargetVisualConfiguration'+    { targetVisualOptions =+        Prelude.Nothing,+      targetVisuals = Prelude.Nothing+    }++-- | The options that choose the target visual in the same sheet.+--+-- Valid values are defined as follows:+--+-- -   @ALL_VISUALS@: Applies the filter operation to all visuals in the+--     same sheet.+sameSheetTargetVisualConfiguration_targetVisualOptions :: Lens.Lens' SameSheetTargetVisualConfiguration (Prelude.Maybe TargetVisualOptions)+sameSheetTargetVisualConfiguration_targetVisualOptions = Lens.lens (\SameSheetTargetVisualConfiguration' {targetVisualOptions} -> targetVisualOptions) (\s@SameSheetTargetVisualConfiguration' {} a -> s {targetVisualOptions = a} :: SameSheetTargetVisualConfiguration)++-- | A list of the target visual IDs that are located in the same sheet of+-- the analysis.+sameSheetTargetVisualConfiguration_targetVisuals :: Lens.Lens' SameSheetTargetVisualConfiguration (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+sameSheetTargetVisualConfiguration_targetVisuals = Lens.lens (\SameSheetTargetVisualConfiguration' {targetVisuals} -> targetVisuals) (\s@SameSheetTargetVisualConfiguration' {} a -> s {targetVisuals = a} :: SameSheetTargetVisualConfiguration) Prelude.. Lens.mapping Lens.coerced++instance+  Data.FromJSON+    SameSheetTargetVisualConfiguration+  where+  parseJSON =+    Data.withObject+      "SameSheetTargetVisualConfiguration"+      ( \x ->+          SameSheetTargetVisualConfiguration'+            Prelude.<$> (x Data..:? "TargetVisualOptions")+            Prelude.<*> (x Data..:? "TargetVisuals")+      )++instance+  Prelude.Hashable+    SameSheetTargetVisualConfiguration+  where+  hashWithSalt+    _salt+    SameSheetTargetVisualConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` targetVisualOptions+        `Prelude.hashWithSalt` targetVisuals++instance+  Prelude.NFData+    SameSheetTargetVisualConfiguration+  where+  rnf SameSheetTargetVisualConfiguration' {..} =+    Prelude.rnf targetVisualOptions+      `Prelude.seq` Prelude.rnf targetVisuals++instance+  Data.ToJSON+    SameSheetTargetVisualConfiguration+  where+  toJSON SameSheetTargetVisualConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TargetVisualOptions" Data..=)+              Prelude.<$> targetVisualOptions,+            ("TargetVisuals" Data..=) Prelude.<$> targetVisuals+          ]+      )
+ gen/Amazonka/QuickSight/Types/SankeyDiagramAggregatedFieldWells.hs view
@@ -0,0 +1,123 @@+{-# 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.QuickSight.Types.SankeyDiagramAggregatedFieldWells+-- 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.QuickSight.Types.SankeyDiagramAggregatedFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The field well configuration of a sankey diagram.+--+-- /See:/ 'newSankeyDiagramAggregatedFieldWells' smart constructor.+data SankeyDiagramAggregatedFieldWells = SankeyDiagramAggregatedFieldWells'+  { -- | The destination field wells of a sankey diagram.+    destination :: Prelude.Maybe [DimensionField],+    -- | The source field wells of a sankey diagram.+    source :: Prelude.Maybe [DimensionField],+    -- | The weight field wells of a sankey diagram.+    weight :: Prelude.Maybe [MeasureField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SankeyDiagramAggregatedFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destination', 'sankeyDiagramAggregatedFieldWells_destination' - The destination field wells of a sankey diagram.+--+-- 'source', 'sankeyDiagramAggregatedFieldWells_source' - The source field wells of a sankey diagram.+--+-- 'weight', 'sankeyDiagramAggregatedFieldWells_weight' - The weight field wells of a sankey diagram.+newSankeyDiagramAggregatedFieldWells ::+  SankeyDiagramAggregatedFieldWells+newSankeyDiagramAggregatedFieldWells =+  SankeyDiagramAggregatedFieldWells'+    { destination =+        Prelude.Nothing,+      source = Prelude.Nothing,+      weight = Prelude.Nothing+    }++-- | The destination field wells of a sankey diagram.+sankeyDiagramAggregatedFieldWells_destination :: Lens.Lens' SankeyDiagramAggregatedFieldWells (Prelude.Maybe [DimensionField])+sankeyDiagramAggregatedFieldWells_destination = Lens.lens (\SankeyDiagramAggregatedFieldWells' {destination} -> destination) (\s@SankeyDiagramAggregatedFieldWells' {} a -> s {destination = a} :: SankeyDiagramAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The source field wells of a sankey diagram.+sankeyDiagramAggregatedFieldWells_source :: Lens.Lens' SankeyDiagramAggregatedFieldWells (Prelude.Maybe [DimensionField])+sankeyDiagramAggregatedFieldWells_source = Lens.lens (\SankeyDiagramAggregatedFieldWells' {source} -> source) (\s@SankeyDiagramAggregatedFieldWells' {} a -> s {source = a} :: SankeyDiagramAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The weight field wells of a sankey diagram.+sankeyDiagramAggregatedFieldWells_weight :: Lens.Lens' SankeyDiagramAggregatedFieldWells (Prelude.Maybe [MeasureField])+sankeyDiagramAggregatedFieldWells_weight = Lens.lens (\SankeyDiagramAggregatedFieldWells' {weight} -> weight) (\s@SankeyDiagramAggregatedFieldWells' {} a -> s {weight = a} :: SankeyDiagramAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++instance+  Data.FromJSON+    SankeyDiagramAggregatedFieldWells+  where+  parseJSON =+    Data.withObject+      "SankeyDiagramAggregatedFieldWells"+      ( \x ->+          SankeyDiagramAggregatedFieldWells'+            Prelude.<$> (x Data..:? "Destination" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Source" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Weight" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    SankeyDiagramAggregatedFieldWells+  where+  hashWithSalt+    _salt+    SankeyDiagramAggregatedFieldWells' {..} =+      _salt+        `Prelude.hashWithSalt` destination+        `Prelude.hashWithSalt` source+        `Prelude.hashWithSalt` weight++instance+  Prelude.NFData+    SankeyDiagramAggregatedFieldWells+  where+  rnf SankeyDiagramAggregatedFieldWells' {..} =+    Prelude.rnf destination+      `Prelude.seq` Prelude.rnf source+      `Prelude.seq` Prelude.rnf weight++instance+  Data.ToJSON+    SankeyDiagramAggregatedFieldWells+  where+  toJSON SankeyDiagramAggregatedFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Destination" Data..=) Prelude.<$> destination,+            ("Source" Data..=) Prelude.<$> source,+            ("Weight" Data..=) Prelude.<$> weight+          ]+      )
+ gen/Amazonka/QuickSight/Types/SankeyDiagramChartConfiguration.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.SankeyDiagramChartConfiguration+-- 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.QuickSight.Types.SankeyDiagramChartConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataLabelOptions+import Amazonka.QuickSight.Types.SankeyDiagramFieldWells+import Amazonka.QuickSight.Types.SankeyDiagramSortConfiguration++-- | The configuration of a sankey diagram.+--+-- /See:/ 'newSankeyDiagramChartConfiguration' smart constructor.+data SankeyDiagramChartConfiguration = SankeyDiagramChartConfiguration'+  { -- | The data label configuration of a sankey diagram.+    dataLabels :: Prelude.Maybe DataLabelOptions,+    -- | The field well configuration of a sankey diagram.+    fieldWells :: Prelude.Maybe SankeyDiagramFieldWells,+    -- | The sort configuration of a sankey diagram.+    sortConfiguration :: Prelude.Maybe SankeyDiagramSortConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SankeyDiagramChartConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataLabels', 'sankeyDiagramChartConfiguration_dataLabels' - The data label configuration of a sankey diagram.+--+-- 'fieldWells', 'sankeyDiagramChartConfiguration_fieldWells' - The field well configuration of a sankey diagram.+--+-- 'sortConfiguration', 'sankeyDiagramChartConfiguration_sortConfiguration' - The sort configuration of a sankey diagram.+newSankeyDiagramChartConfiguration ::+  SankeyDiagramChartConfiguration+newSankeyDiagramChartConfiguration =+  SankeyDiagramChartConfiguration'+    { dataLabels =+        Prelude.Nothing,+      fieldWells = Prelude.Nothing,+      sortConfiguration = Prelude.Nothing+    }++-- | The data label configuration of a sankey diagram.+sankeyDiagramChartConfiguration_dataLabels :: Lens.Lens' SankeyDiagramChartConfiguration (Prelude.Maybe DataLabelOptions)+sankeyDiagramChartConfiguration_dataLabels = Lens.lens (\SankeyDiagramChartConfiguration' {dataLabels} -> dataLabels) (\s@SankeyDiagramChartConfiguration' {} a -> s {dataLabels = a} :: SankeyDiagramChartConfiguration)++-- | The field well configuration of a sankey diagram.+sankeyDiagramChartConfiguration_fieldWells :: Lens.Lens' SankeyDiagramChartConfiguration (Prelude.Maybe SankeyDiagramFieldWells)+sankeyDiagramChartConfiguration_fieldWells = Lens.lens (\SankeyDiagramChartConfiguration' {fieldWells} -> fieldWells) (\s@SankeyDiagramChartConfiguration' {} a -> s {fieldWells = a} :: SankeyDiagramChartConfiguration)++-- | The sort configuration of a sankey diagram.+sankeyDiagramChartConfiguration_sortConfiguration :: Lens.Lens' SankeyDiagramChartConfiguration (Prelude.Maybe SankeyDiagramSortConfiguration)+sankeyDiagramChartConfiguration_sortConfiguration = Lens.lens (\SankeyDiagramChartConfiguration' {sortConfiguration} -> sortConfiguration) (\s@SankeyDiagramChartConfiguration' {} a -> s {sortConfiguration = a} :: SankeyDiagramChartConfiguration)++instance+  Data.FromJSON+    SankeyDiagramChartConfiguration+  where+  parseJSON =+    Data.withObject+      "SankeyDiagramChartConfiguration"+      ( \x ->+          SankeyDiagramChartConfiguration'+            Prelude.<$> (x Data..:? "DataLabels")+            Prelude.<*> (x Data..:? "FieldWells")+            Prelude.<*> (x Data..:? "SortConfiguration")+      )++instance+  Prelude.Hashable+    SankeyDiagramChartConfiguration+  where+  hashWithSalt+    _salt+    SankeyDiagramChartConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` dataLabels+        `Prelude.hashWithSalt` fieldWells+        `Prelude.hashWithSalt` sortConfiguration++instance+  Prelude.NFData+    SankeyDiagramChartConfiguration+  where+  rnf SankeyDiagramChartConfiguration' {..} =+    Prelude.rnf dataLabels+      `Prelude.seq` Prelude.rnf fieldWells+      `Prelude.seq` Prelude.rnf sortConfiguration++instance Data.ToJSON SankeyDiagramChartConfiguration where+  toJSON SankeyDiagramChartConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DataLabels" Data..=) Prelude.<$> dataLabels,+            ("FieldWells" Data..=) Prelude.<$> fieldWells,+            ("SortConfiguration" Data..=)+              Prelude.<$> sortConfiguration+          ]+      )
+ gen/Amazonka/QuickSight/Types/SankeyDiagramFieldWells.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.SankeyDiagramFieldWells+-- 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.QuickSight.Types.SankeyDiagramFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.SankeyDiagramAggregatedFieldWells++-- | The field well configuration of a sankey diagram.+--+-- /See:/ 'newSankeyDiagramFieldWells' smart constructor.+data SankeyDiagramFieldWells = SankeyDiagramFieldWells'+  { -- | The field well configuration of a sankey diagram.+    sankeyDiagramAggregatedFieldWells :: Prelude.Maybe SankeyDiagramAggregatedFieldWells+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SankeyDiagramFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sankeyDiagramAggregatedFieldWells', 'sankeyDiagramFieldWells_sankeyDiagramAggregatedFieldWells' - The field well configuration of a sankey diagram.+newSankeyDiagramFieldWells ::+  SankeyDiagramFieldWells+newSankeyDiagramFieldWells =+  SankeyDiagramFieldWells'+    { sankeyDiagramAggregatedFieldWells =+        Prelude.Nothing+    }++-- | The field well configuration of a sankey diagram.+sankeyDiagramFieldWells_sankeyDiagramAggregatedFieldWells :: Lens.Lens' SankeyDiagramFieldWells (Prelude.Maybe SankeyDiagramAggregatedFieldWells)+sankeyDiagramFieldWells_sankeyDiagramAggregatedFieldWells = Lens.lens (\SankeyDiagramFieldWells' {sankeyDiagramAggregatedFieldWells} -> sankeyDiagramAggregatedFieldWells) (\s@SankeyDiagramFieldWells' {} a -> s {sankeyDiagramAggregatedFieldWells = a} :: SankeyDiagramFieldWells)++instance Data.FromJSON SankeyDiagramFieldWells where+  parseJSON =+    Data.withObject+      "SankeyDiagramFieldWells"+      ( \x ->+          SankeyDiagramFieldWells'+            Prelude.<$> (x Data..:? "SankeyDiagramAggregatedFieldWells")+      )++instance Prelude.Hashable SankeyDiagramFieldWells where+  hashWithSalt _salt SankeyDiagramFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` sankeyDiagramAggregatedFieldWells++instance Prelude.NFData SankeyDiagramFieldWells where+  rnf SankeyDiagramFieldWells' {..} =+    Prelude.rnf sankeyDiagramAggregatedFieldWells++instance Data.ToJSON SankeyDiagramFieldWells where+  toJSON SankeyDiagramFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SankeyDiagramAggregatedFieldWells" Data..=)+              Prelude.<$> sankeyDiagramAggregatedFieldWells+          ]+      )
+ gen/Amazonka/QuickSight/Types/SankeyDiagramSortConfiguration.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.SankeyDiagramSortConfiguration+-- 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.QuickSight.Types.SankeyDiagramSortConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FieldSortOptions+import Amazonka.QuickSight.Types.ItemsLimitConfiguration++-- | The sort configuration of a sankey diagram.+--+-- /See:/ 'newSankeyDiagramSortConfiguration' smart constructor.+data SankeyDiagramSortConfiguration = SankeyDiagramSortConfiguration'+  { -- | The limit on the number of destination nodes that are displayed in a+    -- sankey diagram.+    destinationItemsLimit :: Prelude.Maybe ItemsLimitConfiguration,+    -- | The limit on the number of source nodes that are displayed in a sankey+    -- diagram.+    sourceItemsLimit :: Prelude.Maybe ItemsLimitConfiguration,+    -- | The sort configuration of the weight fields.+    weightSort :: Prelude.Maybe [FieldSortOptions]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SankeyDiagramSortConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destinationItemsLimit', 'sankeyDiagramSortConfiguration_destinationItemsLimit' - The limit on the number of destination nodes that are displayed in a+-- sankey diagram.+--+-- 'sourceItemsLimit', 'sankeyDiagramSortConfiguration_sourceItemsLimit' - The limit on the number of source nodes that are displayed in a sankey+-- diagram.+--+-- 'weightSort', 'sankeyDiagramSortConfiguration_weightSort' - The sort configuration of the weight fields.+newSankeyDiagramSortConfiguration ::+  SankeyDiagramSortConfiguration+newSankeyDiagramSortConfiguration =+  SankeyDiagramSortConfiguration'+    { destinationItemsLimit =+        Prelude.Nothing,+      sourceItemsLimit = Prelude.Nothing,+      weightSort = Prelude.Nothing+    }++-- | The limit on the number of destination nodes that are displayed in a+-- sankey diagram.+sankeyDiagramSortConfiguration_destinationItemsLimit :: Lens.Lens' SankeyDiagramSortConfiguration (Prelude.Maybe ItemsLimitConfiguration)+sankeyDiagramSortConfiguration_destinationItemsLimit = Lens.lens (\SankeyDiagramSortConfiguration' {destinationItemsLimit} -> destinationItemsLimit) (\s@SankeyDiagramSortConfiguration' {} a -> s {destinationItemsLimit = a} :: SankeyDiagramSortConfiguration)++-- | The limit on the number of source nodes that are displayed in a sankey+-- diagram.+sankeyDiagramSortConfiguration_sourceItemsLimit :: Lens.Lens' SankeyDiagramSortConfiguration (Prelude.Maybe ItemsLimitConfiguration)+sankeyDiagramSortConfiguration_sourceItemsLimit = Lens.lens (\SankeyDiagramSortConfiguration' {sourceItemsLimit} -> sourceItemsLimit) (\s@SankeyDiagramSortConfiguration' {} a -> s {sourceItemsLimit = a} :: SankeyDiagramSortConfiguration)++-- | The sort configuration of the weight fields.+sankeyDiagramSortConfiguration_weightSort :: Lens.Lens' SankeyDiagramSortConfiguration (Prelude.Maybe [FieldSortOptions])+sankeyDiagramSortConfiguration_weightSort = Lens.lens (\SankeyDiagramSortConfiguration' {weightSort} -> weightSort) (\s@SankeyDiagramSortConfiguration' {} a -> s {weightSort = a} :: SankeyDiagramSortConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON SankeyDiagramSortConfiguration where+  parseJSON =+    Data.withObject+      "SankeyDiagramSortConfiguration"+      ( \x ->+          SankeyDiagramSortConfiguration'+            Prelude.<$> (x Data..:? "DestinationItemsLimit")+            Prelude.<*> (x Data..:? "SourceItemsLimit")+            Prelude.<*> (x Data..:? "WeightSort" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    SankeyDiagramSortConfiguration+  where+  hashWithSalt+    _salt+    SankeyDiagramSortConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` destinationItemsLimit+        `Prelude.hashWithSalt` sourceItemsLimit+        `Prelude.hashWithSalt` weightSort++instance+  Prelude.NFData+    SankeyDiagramSortConfiguration+  where+  rnf SankeyDiagramSortConfiguration' {..} =+    Prelude.rnf destinationItemsLimit+      `Prelude.seq` Prelude.rnf sourceItemsLimit+      `Prelude.seq` Prelude.rnf weightSort++instance Data.ToJSON SankeyDiagramSortConfiguration where+  toJSON SankeyDiagramSortConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DestinationItemsLimit" Data..=)+              Prelude.<$> destinationItemsLimit,+            ("SourceItemsLimit" Data..=)+              Prelude.<$> sourceItemsLimit,+            ("WeightSort" Data..=) Prelude.<$> weightSort+          ]+      )
+ gen/Amazonka/QuickSight/Types/SankeyDiagramVisual.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.SankeyDiagramVisual+-- 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.QuickSight.Types.SankeyDiagramVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.SankeyDiagramChartConfiguration+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions++-- | A sankey diagram.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/sankey-diagram.html Using Sankey diagrams>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newSankeyDiagramVisual' smart constructor.+data SankeyDiagramVisual = SankeyDiagramVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration of a sankey diagram.+    chartConfiguration :: Prelude.Maybe SankeyDiagramChartConfiguration,+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers.+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SankeyDiagramVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'sankeyDiagramVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'sankeyDiagramVisual_chartConfiguration' - The configuration of a sankey diagram.+--+-- 'subtitle', 'sankeyDiagramVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'sankeyDiagramVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'sankeyDiagramVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+newSankeyDiagramVisual ::+  -- | 'visualId'+  Prelude.Text ->+  SankeyDiagramVisual+newSankeyDiagramVisual pVisualId_ =+  SankeyDiagramVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_+    }++-- | The list of custom actions that are configured for a visual.+sankeyDiagramVisual_actions :: Lens.Lens' SankeyDiagramVisual (Prelude.Maybe [VisualCustomAction])+sankeyDiagramVisual_actions = Lens.lens (\SankeyDiagramVisual' {actions} -> actions) (\s@SankeyDiagramVisual' {} a -> s {actions = a} :: SankeyDiagramVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration of a sankey diagram.+sankeyDiagramVisual_chartConfiguration :: Lens.Lens' SankeyDiagramVisual (Prelude.Maybe SankeyDiagramChartConfiguration)+sankeyDiagramVisual_chartConfiguration = Lens.lens (\SankeyDiagramVisual' {chartConfiguration} -> chartConfiguration) (\s@SankeyDiagramVisual' {} a -> s {chartConfiguration = a} :: SankeyDiagramVisual)++-- | The subtitle that is displayed on the visual.+sankeyDiagramVisual_subtitle :: Lens.Lens' SankeyDiagramVisual (Prelude.Maybe VisualSubtitleLabelOptions)+sankeyDiagramVisual_subtitle = Lens.lens (\SankeyDiagramVisual' {subtitle} -> subtitle) (\s@SankeyDiagramVisual' {} a -> s {subtitle = a} :: SankeyDiagramVisual)++-- | The title that is displayed on the visual.+sankeyDiagramVisual_title :: Lens.Lens' SankeyDiagramVisual (Prelude.Maybe VisualTitleLabelOptions)+sankeyDiagramVisual_title = Lens.lens (\SankeyDiagramVisual' {title} -> title) (\s@SankeyDiagramVisual' {} a -> s {title = a} :: SankeyDiagramVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+sankeyDiagramVisual_visualId :: Lens.Lens' SankeyDiagramVisual Prelude.Text+sankeyDiagramVisual_visualId = Lens.lens (\SankeyDiagramVisual' {visualId} -> visualId) (\s@SankeyDiagramVisual' {} a -> s {visualId = a} :: SankeyDiagramVisual)++instance Data.FromJSON SankeyDiagramVisual where+  parseJSON =+    Data.withObject+      "SankeyDiagramVisual"+      ( \x ->+          SankeyDiagramVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+      )++instance Prelude.Hashable SankeyDiagramVisual where+  hashWithSalt _salt SankeyDiagramVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData SankeyDiagramVisual where+  rnf SankeyDiagramVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON SankeyDiagramVisual where+  toJSON SankeyDiagramVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ScatterPlotCategoricallyAggregatedFieldWells.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ScatterPlotCategoricallyAggregatedFieldWells+-- 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.QuickSight.Types.ScatterPlotCategoricallyAggregatedFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The aggregated field well of a scatter plot.+--+-- /See:/ 'newScatterPlotCategoricallyAggregatedFieldWells' smart constructor.+data ScatterPlotCategoricallyAggregatedFieldWells = ScatterPlotCategoricallyAggregatedFieldWells'+  { -- | The category field well of a scatter plot.+    category :: Prelude.Maybe [DimensionField],+    -- | The size field well of a scatter plot.+    size :: Prelude.Maybe [MeasureField],+    -- | The x-axis field well of a scatter plot.+    --+    -- The x-axis is aggregated by category.+    xAxis :: Prelude.Maybe [MeasureField],+    -- | The y-axis field well of a scatter plot.+    --+    -- The y-axis is aggregated by category.+    yAxis :: Prelude.Maybe [MeasureField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScatterPlotCategoricallyAggregatedFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'category', 'scatterPlotCategoricallyAggregatedFieldWells_category' - The category field well of a scatter plot.+--+-- 'size', 'scatterPlotCategoricallyAggregatedFieldWells_size' - The size field well of a scatter plot.+--+-- 'xAxis', 'scatterPlotCategoricallyAggregatedFieldWells_xAxis' - The x-axis field well of a scatter plot.+--+-- The x-axis is aggregated by category.+--+-- 'yAxis', 'scatterPlotCategoricallyAggregatedFieldWells_yAxis' - The y-axis field well of a scatter plot.+--+-- The y-axis is aggregated by category.+newScatterPlotCategoricallyAggregatedFieldWells ::+  ScatterPlotCategoricallyAggregatedFieldWells+newScatterPlotCategoricallyAggregatedFieldWells =+  ScatterPlotCategoricallyAggregatedFieldWells'+    { category =+        Prelude.Nothing,+      size = Prelude.Nothing,+      xAxis = Prelude.Nothing,+      yAxis = Prelude.Nothing+    }++-- | The category field well of a scatter plot.+scatterPlotCategoricallyAggregatedFieldWells_category :: Lens.Lens' ScatterPlotCategoricallyAggregatedFieldWells (Prelude.Maybe [DimensionField])+scatterPlotCategoricallyAggregatedFieldWells_category = Lens.lens (\ScatterPlotCategoricallyAggregatedFieldWells' {category} -> category) (\s@ScatterPlotCategoricallyAggregatedFieldWells' {} a -> s {category = a} :: ScatterPlotCategoricallyAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The size field well of a scatter plot.+scatterPlotCategoricallyAggregatedFieldWells_size :: Lens.Lens' ScatterPlotCategoricallyAggregatedFieldWells (Prelude.Maybe [MeasureField])+scatterPlotCategoricallyAggregatedFieldWells_size = Lens.lens (\ScatterPlotCategoricallyAggregatedFieldWells' {size} -> size) (\s@ScatterPlotCategoricallyAggregatedFieldWells' {} a -> s {size = a} :: ScatterPlotCategoricallyAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The x-axis field well of a scatter plot.+--+-- The x-axis is aggregated by category.+scatterPlotCategoricallyAggregatedFieldWells_xAxis :: Lens.Lens' ScatterPlotCategoricallyAggregatedFieldWells (Prelude.Maybe [MeasureField])+scatterPlotCategoricallyAggregatedFieldWells_xAxis = Lens.lens (\ScatterPlotCategoricallyAggregatedFieldWells' {xAxis} -> xAxis) (\s@ScatterPlotCategoricallyAggregatedFieldWells' {} a -> s {xAxis = a} :: ScatterPlotCategoricallyAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The y-axis field well of a scatter plot.+--+-- The y-axis is aggregated by category.+scatterPlotCategoricallyAggregatedFieldWells_yAxis :: Lens.Lens' ScatterPlotCategoricallyAggregatedFieldWells (Prelude.Maybe [MeasureField])+scatterPlotCategoricallyAggregatedFieldWells_yAxis = Lens.lens (\ScatterPlotCategoricallyAggregatedFieldWells' {yAxis} -> yAxis) (\s@ScatterPlotCategoricallyAggregatedFieldWells' {} a -> s {yAxis = a} :: ScatterPlotCategoricallyAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++instance+  Data.FromJSON+    ScatterPlotCategoricallyAggregatedFieldWells+  where+  parseJSON =+    Data.withObject+      "ScatterPlotCategoricallyAggregatedFieldWells"+      ( \x ->+          ScatterPlotCategoricallyAggregatedFieldWells'+            Prelude.<$> (x Data..:? "Category" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Size" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "XAxis" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "YAxis" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    ScatterPlotCategoricallyAggregatedFieldWells+  where+  hashWithSalt+    _salt+    ScatterPlotCategoricallyAggregatedFieldWells' {..} =+      _salt+        `Prelude.hashWithSalt` category+        `Prelude.hashWithSalt` size+        `Prelude.hashWithSalt` xAxis+        `Prelude.hashWithSalt` yAxis++instance+  Prelude.NFData+    ScatterPlotCategoricallyAggregatedFieldWells+  where+  rnf ScatterPlotCategoricallyAggregatedFieldWells' {..} =+    Prelude.rnf category+      `Prelude.seq` Prelude.rnf size+      `Prelude.seq` Prelude.rnf xAxis+      `Prelude.seq` Prelude.rnf yAxis++instance+  Data.ToJSON+    ScatterPlotCategoricallyAggregatedFieldWells+  where+  toJSON+    ScatterPlotCategoricallyAggregatedFieldWells' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("Category" Data..=) Prelude.<$> category,+              ("Size" Data..=) Prelude.<$> size,+              ("XAxis" Data..=) Prelude.<$> xAxis,+              ("YAxis" Data..=) Prelude.<$> yAxis+            ]+        )
+ gen/Amazonka/QuickSight/Types/ScatterPlotConfiguration.hs view
@@ -0,0 +1,208 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ScatterPlotConfiguration+-- 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.QuickSight.Types.ScatterPlotConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AxisDisplayOptions+import Amazonka.QuickSight.Types.ChartAxisLabelOptions+import Amazonka.QuickSight.Types.DataLabelOptions+import Amazonka.QuickSight.Types.LegendOptions+import Amazonka.QuickSight.Types.ScatterPlotFieldWells+import Amazonka.QuickSight.Types.TooltipOptions+import Amazonka.QuickSight.Types.VisualPalette++-- | The configuration of a scatter plot.+--+-- /See:/ 'newScatterPlotConfiguration' smart constructor.+data ScatterPlotConfiguration = ScatterPlotConfiguration'+  { -- | The options that determine if visual data labels are displayed.+    dataLabels :: Prelude.Maybe DataLabelOptions,+    -- | The field wells of the visual.+    fieldWells :: Prelude.Maybe ScatterPlotFieldWells,+    -- | The legend display setup of the visual.+    legend :: Prelude.Maybe LegendOptions,+    -- | The legend display setup of the visual.+    tooltip :: Prelude.Maybe TooltipOptions,+    -- | The palette (chart color) display setup of the visual.+    visualPalette :: Prelude.Maybe VisualPalette,+    -- | The label display options (grid line, range, scale, and axis step) of+    -- the scatter plot\'s x-axis.+    xAxisDisplayOptions :: Prelude.Maybe AxisDisplayOptions,+    -- | The label options (label text, label visibility, and sort icon+    -- visibility) of the scatter plot\'s x-axis.+    xAxisLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The label display options (grid line, range, scale, and axis step) of+    -- the scatter plot\'s y-axis.+    yAxisDisplayOptions :: Prelude.Maybe AxisDisplayOptions,+    -- | The label options (label text, label visibility, and sort icon+    -- visibility) of the scatter plot\'s y-axis.+    yAxisLabelOptions :: Prelude.Maybe ChartAxisLabelOptions+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScatterPlotConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataLabels', 'scatterPlotConfiguration_dataLabels' - The options that determine if visual data labels are displayed.+--+-- 'fieldWells', 'scatterPlotConfiguration_fieldWells' - The field wells of the visual.+--+-- 'legend', 'scatterPlotConfiguration_legend' - The legend display setup of the visual.+--+-- 'tooltip', 'scatterPlotConfiguration_tooltip' - The legend display setup of the visual.+--+-- 'visualPalette', 'scatterPlotConfiguration_visualPalette' - The palette (chart color) display setup of the visual.+--+-- 'xAxisDisplayOptions', 'scatterPlotConfiguration_xAxisDisplayOptions' - The label display options (grid line, range, scale, and axis step) of+-- the scatter plot\'s x-axis.+--+-- 'xAxisLabelOptions', 'scatterPlotConfiguration_xAxisLabelOptions' - The label options (label text, label visibility, and sort icon+-- visibility) of the scatter plot\'s x-axis.+--+-- 'yAxisDisplayOptions', 'scatterPlotConfiguration_yAxisDisplayOptions' - The label display options (grid line, range, scale, and axis step) of+-- the scatter plot\'s y-axis.+--+-- 'yAxisLabelOptions', 'scatterPlotConfiguration_yAxisLabelOptions' - The label options (label text, label visibility, and sort icon+-- visibility) of the scatter plot\'s y-axis.+newScatterPlotConfiguration ::+  ScatterPlotConfiguration+newScatterPlotConfiguration =+  ScatterPlotConfiguration'+    { dataLabels =+        Prelude.Nothing,+      fieldWells = Prelude.Nothing,+      legend = Prelude.Nothing,+      tooltip = Prelude.Nothing,+      visualPalette = Prelude.Nothing,+      xAxisDisplayOptions = Prelude.Nothing,+      xAxisLabelOptions = Prelude.Nothing,+      yAxisDisplayOptions = Prelude.Nothing,+      yAxisLabelOptions = Prelude.Nothing+    }++-- | The options that determine if visual data labels are displayed.+scatterPlotConfiguration_dataLabels :: Lens.Lens' ScatterPlotConfiguration (Prelude.Maybe DataLabelOptions)+scatterPlotConfiguration_dataLabels = Lens.lens (\ScatterPlotConfiguration' {dataLabels} -> dataLabels) (\s@ScatterPlotConfiguration' {} a -> s {dataLabels = a} :: ScatterPlotConfiguration)++-- | The field wells of the visual.+scatterPlotConfiguration_fieldWells :: Lens.Lens' ScatterPlotConfiguration (Prelude.Maybe ScatterPlotFieldWells)+scatterPlotConfiguration_fieldWells = Lens.lens (\ScatterPlotConfiguration' {fieldWells} -> fieldWells) (\s@ScatterPlotConfiguration' {} a -> s {fieldWells = a} :: ScatterPlotConfiguration)++-- | The legend display setup of the visual.+scatterPlotConfiguration_legend :: Lens.Lens' ScatterPlotConfiguration (Prelude.Maybe LegendOptions)+scatterPlotConfiguration_legend = Lens.lens (\ScatterPlotConfiguration' {legend} -> legend) (\s@ScatterPlotConfiguration' {} a -> s {legend = a} :: ScatterPlotConfiguration)++-- | The legend display setup of the visual.+scatterPlotConfiguration_tooltip :: Lens.Lens' ScatterPlotConfiguration (Prelude.Maybe TooltipOptions)+scatterPlotConfiguration_tooltip = Lens.lens (\ScatterPlotConfiguration' {tooltip} -> tooltip) (\s@ScatterPlotConfiguration' {} a -> s {tooltip = a} :: ScatterPlotConfiguration)++-- | The palette (chart color) display setup of the visual.+scatterPlotConfiguration_visualPalette :: Lens.Lens' ScatterPlotConfiguration (Prelude.Maybe VisualPalette)+scatterPlotConfiguration_visualPalette = Lens.lens (\ScatterPlotConfiguration' {visualPalette} -> visualPalette) (\s@ScatterPlotConfiguration' {} a -> s {visualPalette = a} :: ScatterPlotConfiguration)++-- | The label display options (grid line, range, scale, and axis step) of+-- the scatter plot\'s x-axis.+scatterPlotConfiguration_xAxisDisplayOptions :: Lens.Lens' ScatterPlotConfiguration (Prelude.Maybe AxisDisplayOptions)+scatterPlotConfiguration_xAxisDisplayOptions = Lens.lens (\ScatterPlotConfiguration' {xAxisDisplayOptions} -> xAxisDisplayOptions) (\s@ScatterPlotConfiguration' {} a -> s {xAxisDisplayOptions = a} :: ScatterPlotConfiguration)++-- | The label options (label text, label visibility, and sort icon+-- visibility) of the scatter plot\'s x-axis.+scatterPlotConfiguration_xAxisLabelOptions :: Lens.Lens' ScatterPlotConfiguration (Prelude.Maybe ChartAxisLabelOptions)+scatterPlotConfiguration_xAxisLabelOptions = Lens.lens (\ScatterPlotConfiguration' {xAxisLabelOptions} -> xAxisLabelOptions) (\s@ScatterPlotConfiguration' {} a -> s {xAxisLabelOptions = a} :: ScatterPlotConfiguration)++-- | The label display options (grid line, range, scale, and axis step) of+-- the scatter plot\'s y-axis.+scatterPlotConfiguration_yAxisDisplayOptions :: Lens.Lens' ScatterPlotConfiguration (Prelude.Maybe AxisDisplayOptions)+scatterPlotConfiguration_yAxisDisplayOptions = Lens.lens (\ScatterPlotConfiguration' {yAxisDisplayOptions} -> yAxisDisplayOptions) (\s@ScatterPlotConfiguration' {} a -> s {yAxisDisplayOptions = a} :: ScatterPlotConfiguration)++-- | The label options (label text, label visibility, and sort icon+-- visibility) of the scatter plot\'s y-axis.+scatterPlotConfiguration_yAxisLabelOptions :: Lens.Lens' ScatterPlotConfiguration (Prelude.Maybe ChartAxisLabelOptions)+scatterPlotConfiguration_yAxisLabelOptions = Lens.lens (\ScatterPlotConfiguration' {yAxisLabelOptions} -> yAxisLabelOptions) (\s@ScatterPlotConfiguration' {} a -> s {yAxisLabelOptions = a} :: ScatterPlotConfiguration)++instance Data.FromJSON ScatterPlotConfiguration where+  parseJSON =+    Data.withObject+      "ScatterPlotConfiguration"+      ( \x ->+          ScatterPlotConfiguration'+            Prelude.<$> (x Data..:? "DataLabels")+            Prelude.<*> (x Data..:? "FieldWells")+            Prelude.<*> (x Data..:? "Legend")+            Prelude.<*> (x Data..:? "Tooltip")+            Prelude.<*> (x Data..:? "VisualPalette")+            Prelude.<*> (x Data..:? "XAxisDisplayOptions")+            Prelude.<*> (x Data..:? "XAxisLabelOptions")+            Prelude.<*> (x Data..:? "YAxisDisplayOptions")+            Prelude.<*> (x Data..:? "YAxisLabelOptions")+      )++instance Prelude.Hashable ScatterPlotConfiguration where+  hashWithSalt _salt ScatterPlotConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` dataLabels+      `Prelude.hashWithSalt` fieldWells+      `Prelude.hashWithSalt` legend+      `Prelude.hashWithSalt` tooltip+      `Prelude.hashWithSalt` visualPalette+      `Prelude.hashWithSalt` xAxisDisplayOptions+      `Prelude.hashWithSalt` xAxisLabelOptions+      `Prelude.hashWithSalt` yAxisDisplayOptions+      `Prelude.hashWithSalt` yAxisLabelOptions++instance Prelude.NFData ScatterPlotConfiguration where+  rnf ScatterPlotConfiguration' {..} =+    Prelude.rnf dataLabels+      `Prelude.seq` Prelude.rnf fieldWells+      `Prelude.seq` Prelude.rnf legend+      `Prelude.seq` Prelude.rnf tooltip+      `Prelude.seq` Prelude.rnf visualPalette+      `Prelude.seq` Prelude.rnf xAxisDisplayOptions+      `Prelude.seq` Prelude.rnf xAxisLabelOptions+      `Prelude.seq` Prelude.rnf yAxisDisplayOptions+      `Prelude.seq` Prelude.rnf yAxisLabelOptions++instance Data.ToJSON ScatterPlotConfiguration where+  toJSON ScatterPlotConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DataLabels" Data..=) Prelude.<$> dataLabels,+            ("FieldWells" Data..=) Prelude.<$> fieldWells,+            ("Legend" Data..=) Prelude.<$> legend,+            ("Tooltip" Data..=) Prelude.<$> tooltip,+            ("VisualPalette" Data..=) Prelude.<$> visualPalette,+            ("XAxisDisplayOptions" Data..=)+              Prelude.<$> xAxisDisplayOptions,+            ("XAxisLabelOptions" Data..=)+              Prelude.<$> xAxisLabelOptions,+            ("YAxisDisplayOptions" Data..=)+              Prelude.<$> yAxisDisplayOptions,+            ("YAxisLabelOptions" Data..=)+              Prelude.<$> yAxisLabelOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/ScatterPlotFieldWells.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ScatterPlotFieldWells+-- 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.QuickSight.Types.ScatterPlotFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ScatterPlotCategoricallyAggregatedFieldWells+import Amazonka.QuickSight.Types.ScatterPlotUnaggregatedFieldWells++-- | The field well configuration of a scatter plot.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newScatterPlotFieldWells' smart constructor.+data ScatterPlotFieldWells = ScatterPlotFieldWells'+  { -- | The aggregated field wells of a scatter plot. Scatter plots that have a+    -- field in the category (group\/color) field will have aggregated field+    -- wells. The x and y-axes of these scatter plots are aggregated by+    -- category.+    scatterPlotCategoricallyAggregatedFieldWells :: Prelude.Maybe ScatterPlotCategoricallyAggregatedFieldWells,+    -- | The unaggregated field wells of a scatter plot. Scatter plots without a+    -- category field well have unaggregated field wells. The x and y-axes of+    -- these scatter plots are unaggregated.+    scatterPlotUnaggregatedFieldWells :: Prelude.Maybe ScatterPlotUnaggregatedFieldWells+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScatterPlotFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'scatterPlotCategoricallyAggregatedFieldWells', 'scatterPlotFieldWells_scatterPlotCategoricallyAggregatedFieldWells' - The aggregated field wells of a scatter plot. Scatter plots that have a+-- field in the category (group\/color) field will have aggregated field+-- wells. The x and y-axes of these scatter plots are aggregated by+-- category.+--+-- 'scatterPlotUnaggregatedFieldWells', 'scatterPlotFieldWells_scatterPlotUnaggregatedFieldWells' - The unaggregated field wells of a scatter plot. Scatter plots without a+-- category field well have unaggregated field wells. The x and y-axes of+-- these scatter plots are unaggregated.+newScatterPlotFieldWells ::+  ScatterPlotFieldWells+newScatterPlotFieldWells =+  ScatterPlotFieldWells'+    { scatterPlotCategoricallyAggregatedFieldWells =+        Prelude.Nothing,+      scatterPlotUnaggregatedFieldWells = Prelude.Nothing+    }++-- | The aggregated field wells of a scatter plot. Scatter plots that have a+-- field in the category (group\/color) field will have aggregated field+-- wells. The x and y-axes of these scatter plots are aggregated by+-- category.+scatterPlotFieldWells_scatterPlotCategoricallyAggregatedFieldWells :: Lens.Lens' ScatterPlotFieldWells (Prelude.Maybe ScatterPlotCategoricallyAggregatedFieldWells)+scatterPlotFieldWells_scatterPlotCategoricallyAggregatedFieldWells = Lens.lens (\ScatterPlotFieldWells' {scatterPlotCategoricallyAggregatedFieldWells} -> scatterPlotCategoricallyAggregatedFieldWells) (\s@ScatterPlotFieldWells' {} a -> s {scatterPlotCategoricallyAggregatedFieldWells = a} :: ScatterPlotFieldWells)++-- | The unaggregated field wells of a scatter plot. Scatter plots without a+-- category field well have unaggregated field wells. The x and y-axes of+-- these scatter plots are unaggregated.+scatterPlotFieldWells_scatterPlotUnaggregatedFieldWells :: Lens.Lens' ScatterPlotFieldWells (Prelude.Maybe ScatterPlotUnaggregatedFieldWells)+scatterPlotFieldWells_scatterPlotUnaggregatedFieldWells = Lens.lens (\ScatterPlotFieldWells' {scatterPlotUnaggregatedFieldWells} -> scatterPlotUnaggregatedFieldWells) (\s@ScatterPlotFieldWells' {} a -> s {scatterPlotUnaggregatedFieldWells = a} :: ScatterPlotFieldWells)++instance Data.FromJSON ScatterPlotFieldWells where+  parseJSON =+    Data.withObject+      "ScatterPlotFieldWells"+      ( \x ->+          ScatterPlotFieldWells'+            Prelude.<$> ( x+                            Data..:? "ScatterPlotCategoricallyAggregatedFieldWells"+                        )+            Prelude.<*> (x Data..:? "ScatterPlotUnaggregatedFieldWells")+      )++instance Prelude.Hashable ScatterPlotFieldWells where+  hashWithSalt _salt ScatterPlotFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` scatterPlotCategoricallyAggregatedFieldWells+      `Prelude.hashWithSalt` scatterPlotUnaggregatedFieldWells++instance Prelude.NFData ScatterPlotFieldWells where+  rnf ScatterPlotFieldWells' {..} =+    Prelude.rnf+      scatterPlotCategoricallyAggregatedFieldWells+      `Prelude.seq` Prelude.rnf scatterPlotUnaggregatedFieldWells++instance Data.ToJSON ScatterPlotFieldWells where+  toJSON ScatterPlotFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ( "ScatterPlotCategoricallyAggregatedFieldWells"+                Data..=+            )+              Prelude.<$> scatterPlotCategoricallyAggregatedFieldWells,+            ("ScatterPlotUnaggregatedFieldWells" Data..=)+              Prelude.<$> scatterPlotUnaggregatedFieldWells+          ]+      )
+ gen/Amazonka/QuickSight/Types/ScatterPlotUnaggregatedFieldWells.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.QuickSight.Types.ScatterPlotUnaggregatedFieldWells+-- 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.QuickSight.Types.ScatterPlotUnaggregatedFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The unaggregated field wells of a scatter plot.+--+-- /See:/ 'newScatterPlotUnaggregatedFieldWells' smart constructor.+data ScatterPlotUnaggregatedFieldWells = ScatterPlotUnaggregatedFieldWells'+  { -- | The size field well of a scatter plot.+    size :: Prelude.Maybe [MeasureField],+    -- | The x-axis field well of a scatter plot.+    --+    -- The x-axis is a dimension field and cannot be aggregated.+    xAxis :: Prelude.Maybe [DimensionField],+    -- | The y-axis field well of a scatter plot.+    --+    -- The y-axis is a dimension field and cannot be aggregated.+    yAxis :: Prelude.Maybe [DimensionField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScatterPlotUnaggregatedFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'size', 'scatterPlotUnaggregatedFieldWells_size' - The size field well of a scatter plot.+--+-- 'xAxis', 'scatterPlotUnaggregatedFieldWells_xAxis' - The x-axis field well of a scatter plot.+--+-- The x-axis is a dimension field and cannot be aggregated.+--+-- 'yAxis', 'scatterPlotUnaggregatedFieldWells_yAxis' - The y-axis field well of a scatter plot.+--+-- The y-axis is a dimension field and cannot be aggregated.+newScatterPlotUnaggregatedFieldWells ::+  ScatterPlotUnaggregatedFieldWells+newScatterPlotUnaggregatedFieldWells =+  ScatterPlotUnaggregatedFieldWells'+    { size =+        Prelude.Nothing,+      xAxis = Prelude.Nothing,+      yAxis = Prelude.Nothing+    }++-- | The size field well of a scatter plot.+scatterPlotUnaggregatedFieldWells_size :: Lens.Lens' ScatterPlotUnaggregatedFieldWells (Prelude.Maybe [MeasureField])+scatterPlotUnaggregatedFieldWells_size = Lens.lens (\ScatterPlotUnaggregatedFieldWells' {size} -> size) (\s@ScatterPlotUnaggregatedFieldWells' {} a -> s {size = a} :: ScatterPlotUnaggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The x-axis field well of a scatter plot.+--+-- The x-axis is a dimension field and cannot be aggregated.+scatterPlotUnaggregatedFieldWells_xAxis :: Lens.Lens' ScatterPlotUnaggregatedFieldWells (Prelude.Maybe [DimensionField])+scatterPlotUnaggregatedFieldWells_xAxis = Lens.lens (\ScatterPlotUnaggregatedFieldWells' {xAxis} -> xAxis) (\s@ScatterPlotUnaggregatedFieldWells' {} a -> s {xAxis = a} :: ScatterPlotUnaggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The y-axis field well of a scatter plot.+--+-- The y-axis is a dimension field and cannot be aggregated.+scatterPlotUnaggregatedFieldWells_yAxis :: Lens.Lens' ScatterPlotUnaggregatedFieldWells (Prelude.Maybe [DimensionField])+scatterPlotUnaggregatedFieldWells_yAxis = Lens.lens (\ScatterPlotUnaggregatedFieldWells' {yAxis} -> yAxis) (\s@ScatterPlotUnaggregatedFieldWells' {} a -> s {yAxis = a} :: ScatterPlotUnaggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++instance+  Data.FromJSON+    ScatterPlotUnaggregatedFieldWells+  where+  parseJSON =+    Data.withObject+      "ScatterPlotUnaggregatedFieldWells"+      ( \x ->+          ScatterPlotUnaggregatedFieldWells'+            Prelude.<$> (x Data..:? "Size" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "XAxis" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "YAxis" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    ScatterPlotUnaggregatedFieldWells+  where+  hashWithSalt+    _salt+    ScatterPlotUnaggregatedFieldWells' {..} =+      _salt+        `Prelude.hashWithSalt` size+        `Prelude.hashWithSalt` xAxis+        `Prelude.hashWithSalt` yAxis++instance+  Prelude.NFData+    ScatterPlotUnaggregatedFieldWells+  where+  rnf ScatterPlotUnaggregatedFieldWells' {..} =+    Prelude.rnf size+      `Prelude.seq` Prelude.rnf xAxis+      `Prelude.seq` Prelude.rnf yAxis++instance+  Data.ToJSON+    ScatterPlotUnaggregatedFieldWells+  where+  toJSON ScatterPlotUnaggregatedFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Size" Data..=) Prelude.<$> size,+            ("XAxis" Data..=) Prelude.<$> xAxis,+            ("YAxis" Data..=) Prelude.<$> yAxis+          ]+      )
+ gen/Amazonka/QuickSight/Types/ScatterPlotVisual.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.QuickSight.Types.ScatterPlotVisual+-- 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.QuickSight.Types.ScatterPlotVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnHierarchy+import Amazonka.QuickSight.Types.ScatterPlotConfiguration+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions++-- | A scatter plot.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/scatter-plot.html Using scatter plots>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newScatterPlotVisual' smart constructor.+data ScatterPlotVisual = ScatterPlotVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration settings of the visual.+    chartConfiguration :: Prelude.Maybe ScatterPlotConfiguration,+    -- | The column hierarchy that is used during drill-downs and drill-ups.+    columnHierarchies :: Prelude.Maybe [ColumnHierarchy],+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers.+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScatterPlotVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'scatterPlotVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'scatterPlotVisual_chartConfiguration' - The configuration settings of the visual.+--+-- 'columnHierarchies', 'scatterPlotVisual_columnHierarchies' - The column hierarchy that is used during drill-downs and drill-ups.+--+-- 'subtitle', 'scatterPlotVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'scatterPlotVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'scatterPlotVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+newScatterPlotVisual ::+  -- | 'visualId'+  Prelude.Text ->+  ScatterPlotVisual+newScatterPlotVisual pVisualId_ =+  ScatterPlotVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      columnHierarchies = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_+    }++-- | The list of custom actions that are configured for a visual.+scatterPlotVisual_actions :: Lens.Lens' ScatterPlotVisual (Prelude.Maybe [VisualCustomAction])+scatterPlotVisual_actions = Lens.lens (\ScatterPlotVisual' {actions} -> actions) (\s@ScatterPlotVisual' {} a -> s {actions = a} :: ScatterPlotVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration settings of the visual.+scatterPlotVisual_chartConfiguration :: Lens.Lens' ScatterPlotVisual (Prelude.Maybe ScatterPlotConfiguration)+scatterPlotVisual_chartConfiguration = Lens.lens (\ScatterPlotVisual' {chartConfiguration} -> chartConfiguration) (\s@ScatterPlotVisual' {} a -> s {chartConfiguration = a} :: ScatterPlotVisual)++-- | The column hierarchy that is used during drill-downs and drill-ups.+scatterPlotVisual_columnHierarchies :: Lens.Lens' ScatterPlotVisual (Prelude.Maybe [ColumnHierarchy])+scatterPlotVisual_columnHierarchies = Lens.lens (\ScatterPlotVisual' {columnHierarchies} -> columnHierarchies) (\s@ScatterPlotVisual' {} a -> s {columnHierarchies = a} :: ScatterPlotVisual) Prelude.. Lens.mapping Lens.coerced++-- | The subtitle that is displayed on the visual.+scatterPlotVisual_subtitle :: Lens.Lens' ScatterPlotVisual (Prelude.Maybe VisualSubtitleLabelOptions)+scatterPlotVisual_subtitle = Lens.lens (\ScatterPlotVisual' {subtitle} -> subtitle) (\s@ScatterPlotVisual' {} a -> s {subtitle = a} :: ScatterPlotVisual)++-- | The title that is displayed on the visual.+scatterPlotVisual_title :: Lens.Lens' ScatterPlotVisual (Prelude.Maybe VisualTitleLabelOptions)+scatterPlotVisual_title = Lens.lens (\ScatterPlotVisual' {title} -> title) (\s@ScatterPlotVisual' {} a -> s {title = a} :: ScatterPlotVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+scatterPlotVisual_visualId :: Lens.Lens' ScatterPlotVisual Prelude.Text+scatterPlotVisual_visualId = Lens.lens (\ScatterPlotVisual' {visualId} -> visualId) (\s@ScatterPlotVisual' {} a -> s {visualId = a} :: ScatterPlotVisual)++instance Data.FromJSON ScatterPlotVisual where+  parseJSON =+    Data.withObject+      "ScatterPlotVisual"+      ( \x ->+          ScatterPlotVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> ( x+                            Data..:? "ColumnHierarchies"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+      )++instance Prelude.Hashable ScatterPlotVisual where+  hashWithSalt _salt ScatterPlotVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` columnHierarchies+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData ScatterPlotVisual where+  rnf ScatterPlotVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf columnHierarchies+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON ScatterPlotVisual where+  toJSON ScatterPlotVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("ColumnHierarchies" Data..=)+              Prelude.<$> columnHierarchies,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ScrollBarOptions.hs view
@@ -0,0 +1,95 @@+{-# 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.QuickSight.Types.ScrollBarOptions+-- 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.QuickSight.Types.ScrollBarOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility+import Amazonka.QuickSight.Types.VisibleRangeOptions++-- | The visual display options for a data zoom scroll bar.+--+-- /See:/ 'newScrollBarOptions' smart constructor.+data ScrollBarOptions = ScrollBarOptions'+  { -- | The visibility of the data zoom scroll bar.+    visibility :: Prelude.Maybe Visibility,+    -- | The visibility range for the data zoom scroll bar.+    visibleRange :: Prelude.Maybe VisibleRangeOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScrollBarOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'visibility', 'scrollBarOptions_visibility' - The visibility of the data zoom scroll bar.+--+-- 'visibleRange', 'scrollBarOptions_visibleRange' - The visibility range for the data zoom scroll bar.+newScrollBarOptions ::+  ScrollBarOptions+newScrollBarOptions =+  ScrollBarOptions'+    { visibility = Prelude.Nothing,+      visibleRange = Prelude.Nothing+    }++-- | The visibility of the data zoom scroll bar.+scrollBarOptions_visibility :: Lens.Lens' ScrollBarOptions (Prelude.Maybe Visibility)+scrollBarOptions_visibility = Lens.lens (\ScrollBarOptions' {visibility} -> visibility) (\s@ScrollBarOptions' {} a -> s {visibility = a} :: ScrollBarOptions)++-- | The visibility range for the data zoom scroll bar.+scrollBarOptions_visibleRange :: Lens.Lens' ScrollBarOptions (Prelude.Maybe VisibleRangeOptions)+scrollBarOptions_visibleRange = Lens.lens (\ScrollBarOptions' {visibleRange} -> visibleRange) (\s@ScrollBarOptions' {} a -> s {visibleRange = a} :: ScrollBarOptions)++instance Data.FromJSON ScrollBarOptions where+  parseJSON =+    Data.withObject+      "ScrollBarOptions"+      ( \x ->+          ScrollBarOptions'+            Prelude.<$> (x Data..:? "Visibility")+            Prelude.<*> (x Data..:? "VisibleRange")+      )++instance Prelude.Hashable ScrollBarOptions where+  hashWithSalt _salt ScrollBarOptions' {..} =+    _salt+      `Prelude.hashWithSalt` visibility+      `Prelude.hashWithSalt` visibleRange++instance Prelude.NFData ScrollBarOptions where+  rnf ScrollBarOptions' {..} =+    Prelude.rnf visibility+      `Prelude.seq` Prelude.rnf visibleRange++instance Data.ToJSON ScrollBarOptions where+  toJSON ScrollBarOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Visibility" Data..=) Prelude.<$> visibility,+            ("VisibleRange" Data..=) Prelude.<$> visibleRange+          ]+      )
+ gen/Amazonka/QuickSight/Types/SecondaryValueOptions.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.QuickSight.Types.SecondaryValueOptions+-- 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.QuickSight.Types.SecondaryValueOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The options that determine the presentation of the secondary value of a+-- KPI visual.+--+-- /See:/ 'newSecondaryValueOptions' smart constructor.+data SecondaryValueOptions = SecondaryValueOptions'+  { -- | Determines the visibility of the secondary value.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SecondaryValueOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'visibility', 'secondaryValueOptions_visibility' - Determines the visibility of the secondary value.+newSecondaryValueOptions ::+  SecondaryValueOptions+newSecondaryValueOptions =+  SecondaryValueOptions'+    { visibility =+        Prelude.Nothing+    }++-- | Determines the visibility of the secondary value.+secondaryValueOptions_visibility :: Lens.Lens' SecondaryValueOptions (Prelude.Maybe Visibility)+secondaryValueOptions_visibility = Lens.lens (\SecondaryValueOptions' {visibility} -> visibility) (\s@SecondaryValueOptions' {} a -> s {visibility = a} :: SecondaryValueOptions)++instance Data.FromJSON SecondaryValueOptions where+  parseJSON =+    Data.withObject+      "SecondaryValueOptions"+      ( \x ->+          SecondaryValueOptions'+            Prelude.<$> (x Data..:? "Visibility")+      )++instance Prelude.Hashable SecondaryValueOptions where+  hashWithSalt _salt SecondaryValueOptions' {..} =+    _salt `Prelude.hashWithSalt` visibility++instance Prelude.NFData SecondaryValueOptions where+  rnf SecondaryValueOptions' {..} =+    Prelude.rnf visibility++instance Data.ToJSON SecondaryValueOptions where+  toJSON SecondaryValueOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Visibility" Data..=) Prelude.<$> visibility]+      )
+ gen/Amazonka/QuickSight/Types/SectionAfterPageBreak.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.QuickSight.Types.SectionAfterPageBreak+-- 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.QuickSight.Types.SectionAfterPageBreak where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.SectionPageBreakStatus++-- | The configuration of a page break after a section.+--+-- /See:/ 'newSectionAfterPageBreak' smart constructor.+data SectionAfterPageBreak = SectionAfterPageBreak'+  { -- | The option that enables or disables a page break at the end of a+    -- section.+    status :: Prelude.Maybe SectionPageBreakStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SectionAfterPageBreak' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'sectionAfterPageBreak_status' - The option that enables or disables a page break at the end of a+-- section.+newSectionAfterPageBreak ::+  SectionAfterPageBreak+newSectionAfterPageBreak =+  SectionAfterPageBreak' {status = Prelude.Nothing}++-- | The option that enables or disables a page break at the end of a+-- section.+sectionAfterPageBreak_status :: Lens.Lens' SectionAfterPageBreak (Prelude.Maybe SectionPageBreakStatus)+sectionAfterPageBreak_status = Lens.lens (\SectionAfterPageBreak' {status} -> status) (\s@SectionAfterPageBreak' {} a -> s {status = a} :: SectionAfterPageBreak)++instance Data.FromJSON SectionAfterPageBreak where+  parseJSON =+    Data.withObject+      "SectionAfterPageBreak"+      ( \x ->+          SectionAfterPageBreak'+            Prelude.<$> (x Data..:? "Status")+      )++instance Prelude.Hashable SectionAfterPageBreak where+  hashWithSalt _salt SectionAfterPageBreak' {..} =+    _salt `Prelude.hashWithSalt` status++instance Prelude.NFData SectionAfterPageBreak where+  rnf SectionAfterPageBreak' {..} = Prelude.rnf status++instance Data.ToJSON SectionAfterPageBreak where+  toJSON SectionAfterPageBreak' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Status" Data..=) Prelude.<$> status]+      )
+ gen/Amazonka/QuickSight/Types/SectionBasedLayoutCanvasSizeOptions.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.QuickSight.Types.SectionBasedLayoutCanvasSizeOptions+-- 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.QuickSight.Types.SectionBasedLayoutCanvasSizeOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.SectionBasedLayoutPaperCanvasSizeOptions++-- | The options for the canvas of a section-based layout.+--+-- /See:/ 'newSectionBasedLayoutCanvasSizeOptions' smart constructor.+data SectionBasedLayoutCanvasSizeOptions = SectionBasedLayoutCanvasSizeOptions'+  { -- | The options for a paper canvas of a section-based layout.+    paperCanvasSizeOptions :: Prelude.Maybe SectionBasedLayoutPaperCanvasSizeOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SectionBasedLayoutCanvasSizeOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'paperCanvasSizeOptions', 'sectionBasedLayoutCanvasSizeOptions_paperCanvasSizeOptions' - The options for a paper canvas of a section-based layout.+newSectionBasedLayoutCanvasSizeOptions ::+  SectionBasedLayoutCanvasSizeOptions+newSectionBasedLayoutCanvasSizeOptions =+  SectionBasedLayoutCanvasSizeOptions'+    { paperCanvasSizeOptions =+        Prelude.Nothing+    }++-- | The options for a paper canvas of a section-based layout.+sectionBasedLayoutCanvasSizeOptions_paperCanvasSizeOptions :: Lens.Lens' SectionBasedLayoutCanvasSizeOptions (Prelude.Maybe SectionBasedLayoutPaperCanvasSizeOptions)+sectionBasedLayoutCanvasSizeOptions_paperCanvasSizeOptions = Lens.lens (\SectionBasedLayoutCanvasSizeOptions' {paperCanvasSizeOptions} -> paperCanvasSizeOptions) (\s@SectionBasedLayoutCanvasSizeOptions' {} a -> s {paperCanvasSizeOptions = a} :: SectionBasedLayoutCanvasSizeOptions)++instance+  Data.FromJSON+    SectionBasedLayoutCanvasSizeOptions+  where+  parseJSON =+    Data.withObject+      "SectionBasedLayoutCanvasSizeOptions"+      ( \x ->+          SectionBasedLayoutCanvasSizeOptions'+            Prelude.<$> (x Data..:? "PaperCanvasSizeOptions")+      )++instance+  Prelude.Hashable+    SectionBasedLayoutCanvasSizeOptions+  where+  hashWithSalt+    _salt+    SectionBasedLayoutCanvasSizeOptions' {..} =+      _salt `Prelude.hashWithSalt` paperCanvasSizeOptions++instance+  Prelude.NFData+    SectionBasedLayoutCanvasSizeOptions+  where+  rnf SectionBasedLayoutCanvasSizeOptions' {..} =+    Prelude.rnf paperCanvasSizeOptions++instance+  Data.ToJSON+    SectionBasedLayoutCanvasSizeOptions+  where+  toJSON SectionBasedLayoutCanvasSizeOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PaperCanvasSizeOptions" Data..=)+              Prelude.<$> paperCanvasSizeOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/SectionBasedLayoutConfiguration.hs view
@@ -0,0 +1,140 @@+{-# 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.QuickSight.Types.SectionBasedLayoutConfiguration+-- 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.QuickSight.Types.SectionBasedLayoutConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.BodySectionConfiguration+import Amazonka.QuickSight.Types.HeaderFooterSectionConfiguration+import Amazonka.QuickSight.Types.SectionBasedLayoutCanvasSizeOptions++-- | The configuration for a section-based layout.+--+-- /See:/ 'newSectionBasedLayoutConfiguration' smart constructor.+data SectionBasedLayoutConfiguration = SectionBasedLayoutConfiguration'+  { -- | A list of header section configurations.+    headerSections :: [HeaderFooterSectionConfiguration],+    -- | A list of body section configurations.+    bodySections :: [BodySectionConfiguration],+    -- | A list of footer section configurations.+    footerSections :: [HeaderFooterSectionConfiguration],+    -- | The options for the canvas of a section-based layout.+    canvasSizeOptions :: SectionBasedLayoutCanvasSizeOptions+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SectionBasedLayoutConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'headerSections', 'sectionBasedLayoutConfiguration_headerSections' - A list of header section configurations.+--+-- 'bodySections', 'sectionBasedLayoutConfiguration_bodySections' - A list of body section configurations.+--+-- 'footerSections', 'sectionBasedLayoutConfiguration_footerSections' - A list of footer section configurations.+--+-- 'canvasSizeOptions', 'sectionBasedLayoutConfiguration_canvasSizeOptions' - The options for the canvas of a section-based layout.+newSectionBasedLayoutConfiguration ::+  -- | 'canvasSizeOptions'+  SectionBasedLayoutCanvasSizeOptions ->+  SectionBasedLayoutConfiguration+newSectionBasedLayoutConfiguration+  pCanvasSizeOptions_ =+    SectionBasedLayoutConfiguration'+      { headerSections =+          Prelude.mempty,+        bodySections = Prelude.mempty,+        footerSections = Prelude.mempty,+        canvasSizeOptions = pCanvasSizeOptions_+      }++-- | A list of header section configurations.+sectionBasedLayoutConfiguration_headerSections :: Lens.Lens' SectionBasedLayoutConfiguration [HeaderFooterSectionConfiguration]+sectionBasedLayoutConfiguration_headerSections = Lens.lens (\SectionBasedLayoutConfiguration' {headerSections} -> headerSections) (\s@SectionBasedLayoutConfiguration' {} a -> s {headerSections = a} :: SectionBasedLayoutConfiguration) Prelude.. Lens.coerced++-- | A list of body section configurations.+sectionBasedLayoutConfiguration_bodySections :: Lens.Lens' SectionBasedLayoutConfiguration [BodySectionConfiguration]+sectionBasedLayoutConfiguration_bodySections = Lens.lens (\SectionBasedLayoutConfiguration' {bodySections} -> bodySections) (\s@SectionBasedLayoutConfiguration' {} a -> s {bodySections = a} :: SectionBasedLayoutConfiguration) Prelude.. Lens.coerced++-- | A list of footer section configurations.+sectionBasedLayoutConfiguration_footerSections :: Lens.Lens' SectionBasedLayoutConfiguration [HeaderFooterSectionConfiguration]+sectionBasedLayoutConfiguration_footerSections = Lens.lens (\SectionBasedLayoutConfiguration' {footerSections} -> footerSections) (\s@SectionBasedLayoutConfiguration' {} a -> s {footerSections = a} :: SectionBasedLayoutConfiguration) Prelude.. Lens.coerced++-- | The options for the canvas of a section-based layout.+sectionBasedLayoutConfiguration_canvasSizeOptions :: Lens.Lens' SectionBasedLayoutConfiguration SectionBasedLayoutCanvasSizeOptions+sectionBasedLayoutConfiguration_canvasSizeOptions = Lens.lens (\SectionBasedLayoutConfiguration' {canvasSizeOptions} -> canvasSizeOptions) (\s@SectionBasedLayoutConfiguration' {} a -> s {canvasSizeOptions = a} :: SectionBasedLayoutConfiguration)++instance+  Data.FromJSON+    SectionBasedLayoutConfiguration+  where+  parseJSON =+    Data.withObject+      "SectionBasedLayoutConfiguration"+      ( \x ->+          SectionBasedLayoutConfiguration'+            Prelude.<$> (x Data..:? "HeaderSections" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "BodySections" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "FooterSections" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "CanvasSizeOptions")+      )++instance+  Prelude.Hashable+    SectionBasedLayoutConfiguration+  where+  hashWithSalt+    _salt+    SectionBasedLayoutConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` headerSections+        `Prelude.hashWithSalt` bodySections+        `Prelude.hashWithSalt` footerSections+        `Prelude.hashWithSalt` canvasSizeOptions++instance+  Prelude.NFData+    SectionBasedLayoutConfiguration+  where+  rnf SectionBasedLayoutConfiguration' {..} =+    Prelude.rnf headerSections+      `Prelude.seq` Prelude.rnf bodySections+      `Prelude.seq` Prelude.rnf footerSections+      `Prelude.seq` Prelude.rnf canvasSizeOptions++instance Data.ToJSON SectionBasedLayoutConfiguration where+  toJSON SectionBasedLayoutConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("HeaderSections" Data..= headerSections),+            Prelude.Just ("BodySections" Data..= bodySections),+            Prelude.Just+              ("FooterSections" Data..= footerSections),+            Prelude.Just+              ("CanvasSizeOptions" Data..= canvasSizeOptions)+          ]+      )
+ gen/Amazonka/QuickSight/Types/SectionBasedLayoutPaperCanvasSizeOptions.hs view
@@ -0,0 +1,144 @@+{-# 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.QuickSight.Types.SectionBasedLayoutPaperCanvasSizeOptions+-- 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.QuickSight.Types.SectionBasedLayoutPaperCanvasSizeOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.PaperOrientation+import Amazonka.QuickSight.Types.PaperSize+import Amazonka.QuickSight.Types.Spacing++-- | The options for a paper canvas of a section-based layout.+--+-- /See:/ 'newSectionBasedLayoutPaperCanvasSizeOptions' smart constructor.+data SectionBasedLayoutPaperCanvasSizeOptions = SectionBasedLayoutPaperCanvasSizeOptions'+  { -- | Defines the spacing between the canvas content and the top, bottom,+    -- left, and right edges.+    paperMargin :: Prelude.Maybe Spacing,+    -- | The paper orientation that is used to define canvas dimensions. Choose+    -- one of the following options:+    --+    -- -   PORTRAIT+    --+    -- -   LANDSCAPE+    paperOrientation :: Prelude.Maybe PaperOrientation,+    -- | The paper size that is used to define canvas dimensions.+    paperSize :: Prelude.Maybe PaperSize+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SectionBasedLayoutPaperCanvasSizeOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'paperMargin', 'sectionBasedLayoutPaperCanvasSizeOptions_paperMargin' - Defines the spacing between the canvas content and the top, bottom,+-- left, and right edges.+--+-- 'paperOrientation', 'sectionBasedLayoutPaperCanvasSizeOptions_paperOrientation' - The paper orientation that is used to define canvas dimensions. Choose+-- one of the following options:+--+-- -   PORTRAIT+--+-- -   LANDSCAPE+--+-- 'paperSize', 'sectionBasedLayoutPaperCanvasSizeOptions_paperSize' - The paper size that is used to define canvas dimensions.+newSectionBasedLayoutPaperCanvasSizeOptions ::+  SectionBasedLayoutPaperCanvasSizeOptions+newSectionBasedLayoutPaperCanvasSizeOptions =+  SectionBasedLayoutPaperCanvasSizeOptions'+    { paperMargin =+        Prelude.Nothing,+      paperOrientation =+        Prelude.Nothing,+      paperSize = Prelude.Nothing+    }++-- | Defines the spacing between the canvas content and the top, bottom,+-- left, and right edges.+sectionBasedLayoutPaperCanvasSizeOptions_paperMargin :: Lens.Lens' SectionBasedLayoutPaperCanvasSizeOptions (Prelude.Maybe Spacing)+sectionBasedLayoutPaperCanvasSizeOptions_paperMargin = Lens.lens (\SectionBasedLayoutPaperCanvasSizeOptions' {paperMargin} -> paperMargin) (\s@SectionBasedLayoutPaperCanvasSizeOptions' {} a -> s {paperMargin = a} :: SectionBasedLayoutPaperCanvasSizeOptions)++-- | The paper orientation that is used to define canvas dimensions. Choose+-- one of the following options:+--+-- -   PORTRAIT+--+-- -   LANDSCAPE+sectionBasedLayoutPaperCanvasSizeOptions_paperOrientation :: Lens.Lens' SectionBasedLayoutPaperCanvasSizeOptions (Prelude.Maybe PaperOrientation)+sectionBasedLayoutPaperCanvasSizeOptions_paperOrientation = Lens.lens (\SectionBasedLayoutPaperCanvasSizeOptions' {paperOrientation} -> paperOrientation) (\s@SectionBasedLayoutPaperCanvasSizeOptions' {} a -> s {paperOrientation = a} :: SectionBasedLayoutPaperCanvasSizeOptions)++-- | The paper size that is used to define canvas dimensions.+sectionBasedLayoutPaperCanvasSizeOptions_paperSize :: Lens.Lens' SectionBasedLayoutPaperCanvasSizeOptions (Prelude.Maybe PaperSize)+sectionBasedLayoutPaperCanvasSizeOptions_paperSize = Lens.lens (\SectionBasedLayoutPaperCanvasSizeOptions' {paperSize} -> paperSize) (\s@SectionBasedLayoutPaperCanvasSizeOptions' {} a -> s {paperSize = a} :: SectionBasedLayoutPaperCanvasSizeOptions)++instance+  Data.FromJSON+    SectionBasedLayoutPaperCanvasSizeOptions+  where+  parseJSON =+    Data.withObject+      "SectionBasedLayoutPaperCanvasSizeOptions"+      ( \x ->+          SectionBasedLayoutPaperCanvasSizeOptions'+            Prelude.<$> (x Data..:? "PaperMargin")+            Prelude.<*> (x Data..:? "PaperOrientation")+            Prelude.<*> (x Data..:? "PaperSize")+      )++instance+  Prelude.Hashable+    SectionBasedLayoutPaperCanvasSizeOptions+  where+  hashWithSalt+    _salt+    SectionBasedLayoutPaperCanvasSizeOptions' {..} =+      _salt+        `Prelude.hashWithSalt` paperMargin+        `Prelude.hashWithSalt` paperOrientation+        `Prelude.hashWithSalt` paperSize++instance+  Prelude.NFData+    SectionBasedLayoutPaperCanvasSizeOptions+  where+  rnf SectionBasedLayoutPaperCanvasSizeOptions' {..} =+    Prelude.rnf paperMargin+      `Prelude.seq` Prelude.rnf paperOrientation+      `Prelude.seq` Prelude.rnf paperSize++instance+  Data.ToJSON+    SectionBasedLayoutPaperCanvasSizeOptions+  where+  toJSON SectionBasedLayoutPaperCanvasSizeOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PaperMargin" Data..=) Prelude.<$> paperMargin,+            ("PaperOrientation" Data..=)+              Prelude.<$> paperOrientation,+            ("PaperSize" Data..=) Prelude.<$> paperSize+          ]+      )
+ gen/Amazonka/QuickSight/Types/SectionLayoutConfiguration.hs view
@@ -0,0 +1,84 @@+{-# 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.QuickSight.Types.SectionLayoutConfiguration+-- 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.QuickSight.Types.SectionLayoutConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FreeFormSectionLayoutConfiguration++-- | The layout configuration of a section.+--+-- /See:/ 'newSectionLayoutConfiguration' smart constructor.+data SectionLayoutConfiguration = SectionLayoutConfiguration'+  { -- | The free-form layout configuration of a section.+    freeFormLayout :: FreeFormSectionLayoutConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SectionLayoutConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'freeFormLayout', 'sectionLayoutConfiguration_freeFormLayout' - The free-form layout configuration of a section.+newSectionLayoutConfiguration ::+  -- | 'freeFormLayout'+  FreeFormSectionLayoutConfiguration ->+  SectionLayoutConfiguration+newSectionLayoutConfiguration pFreeFormLayout_ =+  SectionLayoutConfiguration'+    { freeFormLayout =+        pFreeFormLayout_+    }++-- | The free-form layout configuration of a section.+sectionLayoutConfiguration_freeFormLayout :: Lens.Lens' SectionLayoutConfiguration FreeFormSectionLayoutConfiguration+sectionLayoutConfiguration_freeFormLayout = Lens.lens (\SectionLayoutConfiguration' {freeFormLayout} -> freeFormLayout) (\s@SectionLayoutConfiguration' {} a -> s {freeFormLayout = a} :: SectionLayoutConfiguration)++instance Data.FromJSON SectionLayoutConfiguration where+  parseJSON =+    Data.withObject+      "SectionLayoutConfiguration"+      ( \x ->+          SectionLayoutConfiguration'+            Prelude.<$> (x Data..: "FreeFormLayout")+      )++instance Prelude.Hashable SectionLayoutConfiguration where+  hashWithSalt _salt SectionLayoutConfiguration' {..} =+    _salt `Prelude.hashWithSalt` freeFormLayout++instance Prelude.NFData SectionLayoutConfiguration where+  rnf SectionLayoutConfiguration' {..} =+    Prelude.rnf freeFormLayout++instance Data.ToJSON SectionLayoutConfiguration where+  toJSON SectionLayoutConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("FreeFormLayout" Data..= freeFormLayout)+          ]+      )
+ gen/Amazonka/QuickSight/Types/SectionPageBreakConfiguration.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.SectionPageBreakConfiguration+-- 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.QuickSight.Types.SectionPageBreakConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.SectionAfterPageBreak++-- | The configuration of a page break for a section.+--+-- /See:/ 'newSectionPageBreakConfiguration' smart constructor.+data SectionPageBreakConfiguration = SectionPageBreakConfiguration'+  { -- | The configuration of a page break after a section.+    after :: Prelude.Maybe SectionAfterPageBreak+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SectionPageBreakConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'after', 'sectionPageBreakConfiguration_after' - The configuration of a page break after a section.+newSectionPageBreakConfiguration ::+  SectionPageBreakConfiguration+newSectionPageBreakConfiguration =+  SectionPageBreakConfiguration'+    { after =+        Prelude.Nothing+    }++-- | The configuration of a page break after a section.+sectionPageBreakConfiguration_after :: Lens.Lens' SectionPageBreakConfiguration (Prelude.Maybe SectionAfterPageBreak)+sectionPageBreakConfiguration_after = Lens.lens (\SectionPageBreakConfiguration' {after} -> after) (\s@SectionPageBreakConfiguration' {} a -> s {after = a} :: SectionPageBreakConfiguration)++instance Data.FromJSON SectionPageBreakConfiguration where+  parseJSON =+    Data.withObject+      "SectionPageBreakConfiguration"+      ( \x ->+          SectionPageBreakConfiguration'+            Prelude.<$> (x Data..:? "After")+      )++instance+  Prelude.Hashable+    SectionPageBreakConfiguration+  where+  hashWithSalt _salt SectionPageBreakConfiguration' {..} =+    _salt `Prelude.hashWithSalt` after++instance Prelude.NFData SectionPageBreakConfiguration where+  rnf SectionPageBreakConfiguration' {..} =+    Prelude.rnf after++instance Data.ToJSON SectionPageBreakConfiguration where+  toJSON SectionPageBreakConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [("After" Data..=) Prelude.<$> after]+      )
+ gen/Amazonka/QuickSight/Types/SectionPageBreakStatus.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.QuickSight.Types.SectionPageBreakStatus+-- 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.QuickSight.Types.SectionPageBreakStatus+  ( SectionPageBreakStatus+      ( ..,+        SectionPageBreakStatus_DISABLED,+        SectionPageBreakStatus_ENABLED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SectionPageBreakStatus = SectionPageBreakStatus'+  { fromSectionPageBreakStatus ::+      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 SectionPageBreakStatus_DISABLED :: SectionPageBreakStatus+pattern SectionPageBreakStatus_DISABLED = SectionPageBreakStatus' "DISABLED"++pattern SectionPageBreakStatus_ENABLED :: SectionPageBreakStatus+pattern SectionPageBreakStatus_ENABLED = SectionPageBreakStatus' "ENABLED"++{-# COMPLETE+  SectionPageBreakStatus_DISABLED,+  SectionPageBreakStatus_ENABLED,+  SectionPageBreakStatus'+  #-}
+ gen/Amazonka/QuickSight/Types/SectionStyle.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.SectionStyle+-- 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.QuickSight.Types.SectionStyle where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Spacing++-- | The options that style a section.+--+-- /See:/ 'newSectionStyle' smart constructor.+data SectionStyle = SectionStyle'+  { -- | The height of a section.+    --+    -- Heights can only be defined for header and footer sections. The default+    -- height margin is 0.5 inches.+    height :: Prelude.Maybe Prelude.Text,+    -- | The spacing between section content and its top, bottom, left, and right+    -- edges.+    --+    -- There is no padding by default.+    padding :: Prelude.Maybe Spacing+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SectionStyle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'height', 'sectionStyle_height' - The height of a section.+--+-- Heights can only be defined for header and footer sections. The default+-- height margin is 0.5 inches.+--+-- 'padding', 'sectionStyle_padding' - The spacing between section content and its top, bottom, left, and right+-- edges.+--+-- There is no padding by default.+newSectionStyle ::+  SectionStyle+newSectionStyle =+  SectionStyle'+    { height = Prelude.Nothing,+      padding = Prelude.Nothing+    }++-- | The height of a section.+--+-- Heights can only be defined for header and footer sections. The default+-- height margin is 0.5 inches.+sectionStyle_height :: Lens.Lens' SectionStyle (Prelude.Maybe Prelude.Text)+sectionStyle_height = Lens.lens (\SectionStyle' {height} -> height) (\s@SectionStyle' {} a -> s {height = a} :: SectionStyle)++-- | The spacing between section content and its top, bottom, left, and right+-- edges.+--+-- There is no padding by default.+sectionStyle_padding :: Lens.Lens' SectionStyle (Prelude.Maybe Spacing)+sectionStyle_padding = Lens.lens (\SectionStyle' {padding} -> padding) (\s@SectionStyle' {} a -> s {padding = a} :: SectionStyle)++instance Data.FromJSON SectionStyle where+  parseJSON =+    Data.withObject+      "SectionStyle"+      ( \x ->+          SectionStyle'+            Prelude.<$> (x Data..:? "Height")+            Prelude.<*> (x Data..:? "Padding")+      )++instance Prelude.Hashable SectionStyle where+  hashWithSalt _salt SectionStyle' {..} =+    _salt+      `Prelude.hashWithSalt` height+      `Prelude.hashWithSalt` padding++instance Prelude.NFData SectionStyle where+  rnf SectionStyle' {..} =+    Prelude.rnf height+      `Prelude.seq` Prelude.rnf padding++instance Data.ToJSON SectionStyle where+  toJSON SectionStyle' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Height" Data..=) Prelude.<$> height,+            ("Padding" Data..=) Prelude.<$> padding+          ]+      )
+ gen/Amazonka/QuickSight/Types/SelectAllValueOptions.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.SelectAllValueOptions+-- 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.QuickSight.Types.SelectAllValueOptions+  ( SelectAllValueOptions+      ( ..,+        SelectAllValueOptions_ALL_VALUES+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SelectAllValueOptions = SelectAllValueOptions'+  { fromSelectAllValueOptions ::+      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 SelectAllValueOptions_ALL_VALUES :: SelectAllValueOptions+pattern SelectAllValueOptions_ALL_VALUES = SelectAllValueOptions' "ALL_VALUES"++{-# COMPLETE+  SelectAllValueOptions_ALL_VALUES,+  SelectAllValueOptions'+  #-}
+ gen/Amazonka/QuickSight/Types/SelectedFieldOptions.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.SelectedFieldOptions+-- 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.QuickSight.Types.SelectedFieldOptions+  ( SelectedFieldOptions+      ( ..,+        SelectedFieldOptions_ALL_FIELDS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SelectedFieldOptions = SelectedFieldOptions'+  { fromSelectedFieldOptions ::+      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 SelectedFieldOptions_ALL_FIELDS :: SelectedFieldOptions+pattern SelectedFieldOptions_ALL_FIELDS = SelectedFieldOptions' "ALL_FIELDS"++{-# COMPLETE+  SelectedFieldOptions_ALL_FIELDS,+  SelectedFieldOptions'+  #-}
+ gen/Amazonka/QuickSight/Types/SelectedSheetsFilterScopeConfiguration.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.QuickSight.Types.SelectedSheetsFilterScopeConfiguration+-- 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.QuickSight.Types.SelectedSheetsFilterScopeConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.SheetVisualScopingConfiguration++-- | The configuration for applying a filter to specific sheets or visuals.+-- You can apply this filter to multiple visuals that are on one sheet or+-- to all visuals on a sheet.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newSelectedSheetsFilterScopeConfiguration' smart constructor.+data SelectedSheetsFilterScopeConfiguration = SelectedSheetsFilterScopeConfiguration'+  { -- | The sheet ID and visual IDs of the sheet and visuals that the filter is+    -- applied to.+    sheetVisualScopingConfigurations :: Prelude.Maybe (Prelude.NonEmpty SheetVisualScopingConfiguration)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SelectedSheetsFilterScopeConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sheetVisualScopingConfigurations', 'selectedSheetsFilterScopeConfiguration_sheetVisualScopingConfigurations' - The sheet ID and visual IDs of the sheet and visuals that the filter is+-- applied to.+newSelectedSheetsFilterScopeConfiguration ::+  SelectedSheetsFilterScopeConfiguration+newSelectedSheetsFilterScopeConfiguration =+  SelectedSheetsFilterScopeConfiguration'+    { sheetVisualScopingConfigurations =+        Prelude.Nothing+    }++-- | The sheet ID and visual IDs of the sheet and visuals that the filter is+-- applied to.+selectedSheetsFilterScopeConfiguration_sheetVisualScopingConfigurations :: Lens.Lens' SelectedSheetsFilterScopeConfiguration (Prelude.Maybe (Prelude.NonEmpty SheetVisualScopingConfiguration))+selectedSheetsFilterScopeConfiguration_sheetVisualScopingConfigurations = Lens.lens (\SelectedSheetsFilterScopeConfiguration' {sheetVisualScopingConfigurations} -> sheetVisualScopingConfigurations) (\s@SelectedSheetsFilterScopeConfiguration' {} a -> s {sheetVisualScopingConfigurations = a} :: SelectedSheetsFilterScopeConfiguration) Prelude.. Lens.mapping Lens.coerced++instance+  Data.FromJSON+    SelectedSheetsFilterScopeConfiguration+  where+  parseJSON =+    Data.withObject+      "SelectedSheetsFilterScopeConfiguration"+      ( \x ->+          SelectedSheetsFilterScopeConfiguration'+            Prelude.<$> (x Data..:? "SheetVisualScopingConfigurations")+      )++instance+  Prelude.Hashable+    SelectedSheetsFilterScopeConfiguration+  where+  hashWithSalt+    _salt+    SelectedSheetsFilterScopeConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` sheetVisualScopingConfigurations++instance+  Prelude.NFData+    SelectedSheetsFilterScopeConfiguration+  where+  rnf SelectedSheetsFilterScopeConfiguration' {..} =+    Prelude.rnf sheetVisualScopingConfigurations++instance+  Data.ToJSON+    SelectedSheetsFilterScopeConfiguration+  where+  toJSON SelectedSheetsFilterScopeConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SheetVisualScopingConfigurations" Data..=)+              Prelude.<$> sheetVisualScopingConfigurations+          ]+      )
+ gen/Amazonka/QuickSight/Types/SelectedTooltipType.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.QuickSight.Types.SelectedTooltipType+-- 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.QuickSight.Types.SelectedTooltipType+  ( SelectedTooltipType+      ( ..,+        SelectedTooltipType_BASIC,+        SelectedTooltipType_DETAILED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SelectedTooltipType = SelectedTooltipType'+  { fromSelectedTooltipType ::+      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 SelectedTooltipType_BASIC :: SelectedTooltipType+pattern SelectedTooltipType_BASIC = SelectedTooltipType' "BASIC"++pattern SelectedTooltipType_DETAILED :: SelectedTooltipType+pattern SelectedTooltipType_DETAILED = SelectedTooltipType' "DETAILED"++{-# COMPLETE+  SelectedTooltipType_BASIC,+  SelectedTooltipType_DETAILED,+  SelectedTooltipType'+  #-}
+ gen/Amazonka/QuickSight/Types/SeriesItem.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.QuickSight.Types.SeriesItem+-- 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.QuickSight.Types.SeriesItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataFieldSeriesItem+import Amazonka.QuickSight.Types.FieldSeriesItem++-- | The series item configuration of a line chart.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newSeriesItem' smart constructor.+data SeriesItem = SeriesItem'+  { -- | The data field series item configuration of a line chart.+    dataFieldSeriesItem :: Prelude.Maybe DataFieldSeriesItem,+    -- | The field series item configuration of a line chart.+    fieldSeriesItem :: Prelude.Maybe FieldSeriesItem+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SeriesItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataFieldSeriesItem', 'seriesItem_dataFieldSeriesItem' - The data field series item configuration of a line chart.+--+-- 'fieldSeriesItem', 'seriesItem_fieldSeriesItem' - The field series item configuration of a line chart.+newSeriesItem ::+  SeriesItem+newSeriesItem =+  SeriesItem'+    { dataFieldSeriesItem = Prelude.Nothing,+      fieldSeriesItem = Prelude.Nothing+    }++-- | The data field series item configuration of a line chart.+seriesItem_dataFieldSeriesItem :: Lens.Lens' SeriesItem (Prelude.Maybe DataFieldSeriesItem)+seriesItem_dataFieldSeriesItem = Lens.lens (\SeriesItem' {dataFieldSeriesItem} -> dataFieldSeriesItem) (\s@SeriesItem' {} a -> s {dataFieldSeriesItem = a} :: SeriesItem)++-- | The field series item configuration of a line chart.+seriesItem_fieldSeriesItem :: Lens.Lens' SeriesItem (Prelude.Maybe FieldSeriesItem)+seriesItem_fieldSeriesItem = Lens.lens (\SeriesItem' {fieldSeriesItem} -> fieldSeriesItem) (\s@SeriesItem' {} a -> s {fieldSeriesItem = a} :: SeriesItem)++instance Data.FromJSON SeriesItem where+  parseJSON =+    Data.withObject+      "SeriesItem"+      ( \x ->+          SeriesItem'+            Prelude.<$> (x Data..:? "DataFieldSeriesItem")+            Prelude.<*> (x Data..:? "FieldSeriesItem")+      )++instance Prelude.Hashable SeriesItem where+  hashWithSalt _salt SeriesItem' {..} =+    _salt+      `Prelude.hashWithSalt` dataFieldSeriesItem+      `Prelude.hashWithSalt` fieldSeriesItem++instance Prelude.NFData SeriesItem where+  rnf SeriesItem' {..} =+    Prelude.rnf dataFieldSeriesItem+      `Prelude.seq` Prelude.rnf fieldSeriesItem++instance Data.ToJSON SeriesItem where+  toJSON SeriesItem' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DataFieldSeriesItem" Data..=)+              Prelude.<$> dataFieldSeriesItem,+            ("FieldSeriesItem" Data..=)+              Prelude.<$> fieldSeriesItem+          ]+      )
+ gen/Amazonka/QuickSight/Types/ServiceNowParameters.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ServiceNowParameters+-- 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.QuickSight.Types.ServiceNowParameters 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 parameters for ServiceNow.+--+-- /See:/ 'newServiceNowParameters' smart constructor.+data ServiceNowParameters = ServiceNowParameters'+  { -- | URL of the base site.+    siteBaseUrl :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServiceNowParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'siteBaseUrl', 'serviceNowParameters_siteBaseUrl' - URL of the base site.+newServiceNowParameters ::+  -- | 'siteBaseUrl'+  Prelude.Text ->+  ServiceNowParameters+newServiceNowParameters pSiteBaseUrl_ =+  ServiceNowParameters' {siteBaseUrl = pSiteBaseUrl_}++-- | URL of the base site.+serviceNowParameters_siteBaseUrl :: Lens.Lens' ServiceNowParameters Prelude.Text+serviceNowParameters_siteBaseUrl = Lens.lens (\ServiceNowParameters' {siteBaseUrl} -> siteBaseUrl) (\s@ServiceNowParameters' {} a -> s {siteBaseUrl = a} :: ServiceNowParameters)++instance Data.FromJSON ServiceNowParameters where+  parseJSON =+    Data.withObject+      "ServiceNowParameters"+      ( \x ->+          ServiceNowParameters'+            Prelude.<$> (x Data..: "SiteBaseUrl")+      )++instance Prelude.Hashable ServiceNowParameters where+  hashWithSalt _salt ServiceNowParameters' {..} =+    _salt `Prelude.hashWithSalt` siteBaseUrl++instance Prelude.NFData ServiceNowParameters where+  rnf ServiceNowParameters' {..} =+    Prelude.rnf siteBaseUrl++instance Data.ToJSON ServiceNowParameters where+  toJSON ServiceNowParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("SiteBaseUrl" Data..= siteBaseUrl)]+      )
+ gen/Amazonka/QuickSight/Types/SessionTag.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.QuickSight.Types.SessionTag+-- 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.QuickSight.Types.SessionTag 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 key-value pair used for the row-level security tags feature.+--+-- /See:/ 'newSessionTag' smart constructor.+data SessionTag = SessionTag'+  { -- | The key for the tag.+    key :: Prelude.Text,+    -- | The value that you want to assign the tag.+    value :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SessionTag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'sessionTag_key' - The key for the tag.+--+-- 'value', 'sessionTag_value' - The value that you want to assign the tag.+newSessionTag ::+  -- | 'key'+  Prelude.Text ->+  -- | 'value'+  Prelude.Text ->+  SessionTag+newSessionTag pKey_ pValue_ =+  SessionTag'+    { key = pKey_,+      value = Data._Sensitive Lens.# pValue_+    }++-- | The key for the tag.+sessionTag_key :: Lens.Lens' SessionTag Prelude.Text+sessionTag_key = Lens.lens (\SessionTag' {key} -> key) (\s@SessionTag' {} a -> s {key = a} :: SessionTag)++-- | The value that you want to assign the tag.+sessionTag_value :: Lens.Lens' SessionTag Prelude.Text+sessionTag_value = Lens.lens (\SessionTag' {value} -> value) (\s@SessionTag' {} a -> s {value = a} :: SessionTag) Prelude.. Data._Sensitive++instance Prelude.Hashable SessionTag where+  hashWithSalt _salt SessionTag' {..} =+    _salt+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` value++instance Prelude.NFData SessionTag where+  rnf SessionTag' {..} =+    Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON SessionTag where+  toJSON SessionTag' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Key" Data..= key),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/QuickSight/Types/SetParameterValueConfiguration.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.QuickSight.Types.SetParameterValueConfiguration+-- 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.QuickSight.Types.SetParameterValueConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DestinationParameterValueConfiguration++-- | The configuration of adding parameters in action.+--+-- /See:/ 'newSetParameterValueConfiguration' smart constructor.+data SetParameterValueConfiguration = SetParameterValueConfiguration'+  { -- | The destination parameter name of the @SetParameterValueConfiguration@.+    destinationParameterName :: Prelude.Text,+    value :: DestinationParameterValueConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SetParameterValueConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destinationParameterName', 'setParameterValueConfiguration_destinationParameterName' - The destination parameter name of the @SetParameterValueConfiguration@.+--+-- 'value', 'setParameterValueConfiguration_value' - Undocumented member.+newSetParameterValueConfiguration ::+  -- | 'destinationParameterName'+  Prelude.Text ->+  -- | 'value'+  DestinationParameterValueConfiguration ->+  SetParameterValueConfiguration+newSetParameterValueConfiguration+  pDestinationParameterName_+  pValue_ =+    SetParameterValueConfiguration'+      { destinationParameterName =+          pDestinationParameterName_,+        value = pValue_+      }++-- | The destination parameter name of the @SetParameterValueConfiguration@.+setParameterValueConfiguration_destinationParameterName :: Lens.Lens' SetParameterValueConfiguration Prelude.Text+setParameterValueConfiguration_destinationParameterName = Lens.lens (\SetParameterValueConfiguration' {destinationParameterName} -> destinationParameterName) (\s@SetParameterValueConfiguration' {} a -> s {destinationParameterName = a} :: SetParameterValueConfiguration)++-- | Undocumented member.+setParameterValueConfiguration_value :: Lens.Lens' SetParameterValueConfiguration DestinationParameterValueConfiguration+setParameterValueConfiguration_value = Lens.lens (\SetParameterValueConfiguration' {value} -> value) (\s@SetParameterValueConfiguration' {} a -> s {value = a} :: SetParameterValueConfiguration)++instance Data.FromJSON SetParameterValueConfiguration where+  parseJSON =+    Data.withObject+      "SetParameterValueConfiguration"+      ( \x ->+          SetParameterValueConfiguration'+            Prelude.<$> (x Data..: "DestinationParameterName")+            Prelude.<*> (x Data..: "Value")+      )++instance+  Prelude.Hashable+    SetParameterValueConfiguration+  where+  hashWithSalt+    _salt+    SetParameterValueConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` destinationParameterName+        `Prelude.hashWithSalt` value++instance+  Prelude.NFData+    SetParameterValueConfiguration+  where+  rnf SetParameterValueConfiguration' {..} =+    Prelude.rnf destinationParameterName+      `Prelude.seq` Prelude.rnf value++instance Data.ToJSON SetParameterValueConfiguration where+  toJSON SetParameterValueConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "DestinationParameterName"+                  Data..= destinationParameterName+              ),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ShapeConditionalFormat.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.QuickSight.Types.ShapeConditionalFormat+-- 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.QuickSight.Types.ShapeConditionalFormat where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ConditionalFormattingColor++-- | The shape conditional formatting of a filled map visual.+--+-- /See:/ 'newShapeConditionalFormat' smart constructor.+data ShapeConditionalFormat = ShapeConditionalFormat'+  { -- | The conditional formatting for the shape background color of a filled+    -- map visual.+    backgroundColor :: ConditionalFormattingColor+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ShapeConditionalFormat' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'backgroundColor', 'shapeConditionalFormat_backgroundColor' - The conditional formatting for the shape background color of a filled+-- map visual.+newShapeConditionalFormat ::+  -- | 'backgroundColor'+  ConditionalFormattingColor ->+  ShapeConditionalFormat+newShapeConditionalFormat pBackgroundColor_ =+  ShapeConditionalFormat'+    { backgroundColor =+        pBackgroundColor_+    }++-- | The conditional formatting for the shape background color of a filled+-- map visual.+shapeConditionalFormat_backgroundColor :: Lens.Lens' ShapeConditionalFormat ConditionalFormattingColor+shapeConditionalFormat_backgroundColor = Lens.lens (\ShapeConditionalFormat' {backgroundColor} -> backgroundColor) (\s@ShapeConditionalFormat' {} a -> s {backgroundColor = a} :: ShapeConditionalFormat)++instance Data.FromJSON ShapeConditionalFormat where+  parseJSON =+    Data.withObject+      "ShapeConditionalFormat"+      ( \x ->+          ShapeConditionalFormat'+            Prelude.<$> (x Data..: "BackgroundColor")+      )++instance Prelude.Hashable ShapeConditionalFormat where+  hashWithSalt _salt ShapeConditionalFormat' {..} =+    _salt `Prelude.hashWithSalt` backgroundColor++instance Prelude.NFData ShapeConditionalFormat where+  rnf ShapeConditionalFormat' {..} =+    Prelude.rnf backgroundColor++instance Data.ToJSON ShapeConditionalFormat where+  toJSON ShapeConditionalFormat' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("BackgroundColor" Data..= backgroundColor)+          ]+      )
+ gen/Amazonka/QuickSight/Types/Sheet.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.QuickSight.Types.Sheet+-- 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.QuickSight.Types.Sheet 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 /sheet/, which is an object that contains a set of visuals that are+-- viewed together on one page in Amazon QuickSight. Every analysis and+-- dashboard contains at least one sheet. Each sheet contains at least one+-- visualization widget, for example a chart, pivot table, or narrative+-- insight. Sheets can be associated with other components, such as+-- controls, filters, and so on.+--+-- /See:/ 'newSheet' smart constructor.+data Sheet = Sheet'+  { -- | The name of a sheet. This name is displayed on the sheet\'s tab in the+    -- Amazon QuickSight console.+    name :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier associated with a sheet.+    sheetId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Sheet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'sheet_name' - The name of a sheet. This name is displayed on the sheet\'s tab in the+-- Amazon QuickSight console.+--+-- 'sheetId', 'sheet_sheetId' - The unique identifier associated with a sheet.+newSheet ::+  Sheet+newSheet =+  Sheet'+    { name = Prelude.Nothing,+      sheetId = Prelude.Nothing+    }++-- | The name of a sheet. This name is displayed on the sheet\'s tab in the+-- Amazon QuickSight console.+sheet_name :: Lens.Lens' Sheet (Prelude.Maybe Prelude.Text)+sheet_name = Lens.lens (\Sheet' {name} -> name) (\s@Sheet' {} a -> s {name = a} :: Sheet)++-- | The unique identifier associated with a sheet.+sheet_sheetId :: Lens.Lens' Sheet (Prelude.Maybe Prelude.Text)+sheet_sheetId = Lens.lens (\Sheet' {sheetId} -> sheetId) (\s@Sheet' {} a -> s {sheetId = a} :: Sheet)++instance Data.FromJSON Sheet where+  parseJSON =+    Data.withObject+      "Sheet"+      ( \x ->+          Sheet'+            Prelude.<$> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "SheetId")+      )++instance Prelude.Hashable Sheet where+  hashWithSalt _salt Sheet' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` sheetId++instance Prelude.NFData Sheet where+  rnf Sheet' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf sheetId
+ gen/Amazonka/QuickSight/Types/SheetContentType.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.QuickSight.Types.SheetContentType+-- 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.QuickSight.Types.SheetContentType+  ( SheetContentType+      ( ..,+        SheetContentType_INTERACTIVE,+        SheetContentType_PAGINATED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SheetContentType = SheetContentType'+  { fromSheetContentType ::+      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 SheetContentType_INTERACTIVE :: SheetContentType+pattern SheetContentType_INTERACTIVE = SheetContentType' "INTERACTIVE"++pattern SheetContentType_PAGINATED :: SheetContentType+pattern SheetContentType_PAGINATED = SheetContentType' "PAGINATED"++{-# COMPLETE+  SheetContentType_INTERACTIVE,+  SheetContentType_PAGINATED,+  SheetContentType'+  #-}
+ gen/Amazonka/QuickSight/Types/SheetControlDateTimePickerType.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.QuickSight.Types.SheetControlDateTimePickerType+-- 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.QuickSight.Types.SheetControlDateTimePickerType+  ( SheetControlDateTimePickerType+      ( ..,+        SheetControlDateTimePickerType_DATE_RANGE,+        SheetControlDateTimePickerType_SINGLE_VALUED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SheetControlDateTimePickerType = SheetControlDateTimePickerType'+  { fromSheetControlDateTimePickerType ::+      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 SheetControlDateTimePickerType_DATE_RANGE :: SheetControlDateTimePickerType+pattern SheetControlDateTimePickerType_DATE_RANGE = SheetControlDateTimePickerType' "DATE_RANGE"++pattern SheetControlDateTimePickerType_SINGLE_VALUED :: SheetControlDateTimePickerType+pattern SheetControlDateTimePickerType_SINGLE_VALUED = SheetControlDateTimePickerType' "SINGLE_VALUED"++{-# COMPLETE+  SheetControlDateTimePickerType_DATE_RANGE,+  SheetControlDateTimePickerType_SINGLE_VALUED,+  SheetControlDateTimePickerType'+  #-}
+ gen/Amazonka/QuickSight/Types/SheetControlLayout.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.QuickSight.Types.SheetControlLayout+-- 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.QuickSight.Types.SheetControlLayout where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.SheetControlLayoutConfiguration++-- | A grid layout to define the placement of sheet control.+--+-- /See:/ 'newSheetControlLayout' smart constructor.+data SheetControlLayout = SheetControlLayout'+  { -- | The configuration that determines the elements and canvas size options+    -- of sheet control.+    configuration :: SheetControlLayoutConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SheetControlLayout' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configuration', 'sheetControlLayout_configuration' - The configuration that determines the elements and canvas size options+-- of sheet control.+newSheetControlLayout ::+  -- | 'configuration'+  SheetControlLayoutConfiguration ->+  SheetControlLayout+newSheetControlLayout pConfiguration_ =+  SheetControlLayout'+    { configuration =+        pConfiguration_+    }++-- | The configuration that determines the elements and canvas size options+-- of sheet control.+sheetControlLayout_configuration :: Lens.Lens' SheetControlLayout SheetControlLayoutConfiguration+sheetControlLayout_configuration = Lens.lens (\SheetControlLayout' {configuration} -> configuration) (\s@SheetControlLayout' {} a -> s {configuration = a} :: SheetControlLayout)++instance Data.FromJSON SheetControlLayout where+  parseJSON =+    Data.withObject+      "SheetControlLayout"+      ( \x ->+          SheetControlLayout'+            Prelude.<$> (x Data..: "Configuration")+      )++instance Prelude.Hashable SheetControlLayout where+  hashWithSalt _salt SheetControlLayout' {..} =+    _salt `Prelude.hashWithSalt` configuration++instance Prelude.NFData SheetControlLayout where+  rnf SheetControlLayout' {..} =+    Prelude.rnf configuration++instance Data.ToJSON SheetControlLayout where+  toJSON SheetControlLayout' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("Configuration" Data..= configuration)+          ]+      )
+ gen/Amazonka/QuickSight/Types/SheetControlLayoutConfiguration.hs view
@@ -0,0 +1,95 @@+{-# 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.QuickSight.Types.SheetControlLayoutConfiguration+-- 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.QuickSight.Types.SheetControlLayoutConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.GridLayoutConfiguration++-- | The configuration that determines the elements and canvas size options+-- of sheet control.+--+-- /See:/ 'newSheetControlLayoutConfiguration' smart constructor.+data SheetControlLayoutConfiguration = SheetControlLayoutConfiguration'+  { -- | The configuration that determines the elements and canvas size options+    -- of sheet control.+    gridLayout :: Prelude.Maybe GridLayoutConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SheetControlLayoutConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gridLayout', 'sheetControlLayoutConfiguration_gridLayout' - The configuration that determines the elements and canvas size options+-- of sheet control.+newSheetControlLayoutConfiguration ::+  SheetControlLayoutConfiguration+newSheetControlLayoutConfiguration =+  SheetControlLayoutConfiguration'+    { gridLayout =+        Prelude.Nothing+    }++-- | The configuration that determines the elements and canvas size options+-- of sheet control.+sheetControlLayoutConfiguration_gridLayout :: Lens.Lens' SheetControlLayoutConfiguration (Prelude.Maybe GridLayoutConfiguration)+sheetControlLayoutConfiguration_gridLayout = Lens.lens (\SheetControlLayoutConfiguration' {gridLayout} -> gridLayout) (\s@SheetControlLayoutConfiguration' {} a -> s {gridLayout = a} :: SheetControlLayoutConfiguration)++instance+  Data.FromJSON+    SheetControlLayoutConfiguration+  where+  parseJSON =+    Data.withObject+      "SheetControlLayoutConfiguration"+      ( \x ->+          SheetControlLayoutConfiguration'+            Prelude.<$> (x Data..:? "GridLayout")+      )++instance+  Prelude.Hashable+    SheetControlLayoutConfiguration+  where+  hashWithSalt+    _salt+    SheetControlLayoutConfiguration' {..} =+      _salt `Prelude.hashWithSalt` gridLayout++instance+  Prelude.NFData+    SheetControlLayoutConfiguration+  where+  rnf SheetControlLayoutConfiguration' {..} =+    Prelude.rnf gridLayout++instance Data.ToJSON SheetControlLayoutConfiguration where+  toJSON SheetControlLayoutConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [("GridLayout" Data..=) Prelude.<$> gridLayout]+      )
+ gen/Amazonka/QuickSight/Types/SheetControlListType.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.QuickSight.Types.SheetControlListType+-- 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.QuickSight.Types.SheetControlListType+  ( SheetControlListType+      ( ..,+        SheetControlListType_MULTI_SELECT,+        SheetControlListType_SINGLE_SELECT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SheetControlListType = SheetControlListType'+  { fromSheetControlListType ::+      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 SheetControlListType_MULTI_SELECT :: SheetControlListType+pattern SheetControlListType_MULTI_SELECT = SheetControlListType' "MULTI_SELECT"++pattern SheetControlListType_SINGLE_SELECT :: SheetControlListType+pattern SheetControlListType_SINGLE_SELECT = SheetControlListType' "SINGLE_SELECT"++{-# COMPLETE+  SheetControlListType_MULTI_SELECT,+  SheetControlListType_SINGLE_SELECT,+  SheetControlListType'+  #-}
+ gen/Amazonka/QuickSight/Types/SheetControlSliderType.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.QuickSight.Types.SheetControlSliderType+-- 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.QuickSight.Types.SheetControlSliderType+  ( SheetControlSliderType+      ( ..,+        SheetControlSliderType_RANGE,+        SheetControlSliderType_SINGLE_POINT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SheetControlSliderType = SheetControlSliderType'+  { fromSheetControlSliderType ::+      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 SheetControlSliderType_RANGE :: SheetControlSliderType+pattern SheetControlSliderType_RANGE = SheetControlSliderType' "RANGE"++pattern SheetControlSliderType_SINGLE_POINT :: SheetControlSliderType+pattern SheetControlSliderType_SINGLE_POINT = SheetControlSliderType' "SINGLE_POINT"++{-# COMPLETE+  SheetControlSliderType_RANGE,+  SheetControlSliderType_SINGLE_POINT,+  SheetControlSliderType'+  #-}
+ gen/Amazonka/QuickSight/Types/SheetControlsOption.hs view
@@ -0,0 +1,73 @@+{-# 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.QuickSight.Types.SheetControlsOption+-- 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.QuickSight.Types.SheetControlsOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DashboardUIState++-- | Sheet controls option.+--+-- /See:/ 'newSheetControlsOption' smart constructor.+data SheetControlsOption = SheetControlsOption'+  { -- | Visibility state.+    visibilityState :: Prelude.Maybe DashboardUIState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SheetControlsOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'visibilityState', 'sheetControlsOption_visibilityState' - Visibility state.+newSheetControlsOption ::+  SheetControlsOption+newSheetControlsOption =+  SheetControlsOption'+    { visibilityState =+        Prelude.Nothing+    }++-- | Visibility state.+sheetControlsOption_visibilityState :: Lens.Lens' SheetControlsOption (Prelude.Maybe DashboardUIState)+sheetControlsOption_visibilityState = Lens.lens (\SheetControlsOption' {visibilityState} -> visibilityState) (\s@SheetControlsOption' {} a -> s {visibilityState = a} :: SheetControlsOption)++instance Prelude.Hashable SheetControlsOption where+  hashWithSalt _salt SheetControlsOption' {..} =+    _salt `Prelude.hashWithSalt` visibilityState++instance Prelude.NFData SheetControlsOption where+  rnf SheetControlsOption' {..} =+    Prelude.rnf visibilityState++instance Data.ToJSON SheetControlsOption where+  toJSON SheetControlsOption' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("VisibilityState" Data..=)+              Prelude.<$> visibilityState+          ]+      )
+ gen/Amazonka/QuickSight/Types/SheetDefinition.hs view
@@ -0,0 +1,287 @@+{-# 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.QuickSight.Types.SheetDefinition+-- 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.QuickSight.Types.SheetDefinition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FilterControl+import Amazonka.QuickSight.Types.Layout+import Amazonka.QuickSight.Types.ParameterControl+import Amazonka.QuickSight.Types.SheetContentType+import Amazonka.QuickSight.Types.SheetControlLayout+import Amazonka.QuickSight.Types.SheetTextBox+import Amazonka.QuickSight.Types.Visual++-- | A sheet is an object that contains a set of visuals that are viewed+-- together on one page in a paginated report. Every analysis and dashboard+-- must contain at least one sheet.+--+-- /See:/ 'newSheetDefinition' smart constructor.+data SheetDefinition = SheetDefinition'+  { -- | The layout content type of the sheet. Choose one of the following+    -- options:+    --+    -- -   @PAGINATED@: Creates a sheet for a paginated report.+    --+    -- -   @INTERACTIVE@: Creates a sheet for an interactive dashboard.+    contentType :: Prelude.Maybe SheetContentType,+    -- | A description of the sheet.+    description :: Prelude.Maybe Prelude.Text,+    -- | The list of filter controls that are on a sheet.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/filter-controls.html Adding filter controls to analysis sheets>+    -- in the /Amazon QuickSight User Guide/.+    filterControls :: Prelude.Maybe [FilterControl],+    -- | Layouts define how the components of a sheet are arranged.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/types-of-layout.html Types of layout>+    -- in the /Amazon QuickSight User Guide/.+    layouts :: Prelude.Maybe (Prelude.NonEmpty Layout),+    -- | The name of the sheet. This name is displayed on the sheet\'s tab in the+    -- Amazon QuickSight console.+    name :: Prelude.Maybe Prelude.Text,+    -- | The list of parameter controls that are on a sheet.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/parameters-controls.html Using a Control with a Parameter in Amazon QuickSight>+    -- in the /Amazon QuickSight User Guide/.+    parameterControls :: Prelude.Maybe [ParameterControl],+    -- | The control layouts of the sheet.+    sheetControlLayouts :: Prelude.Maybe [SheetControlLayout],+    -- | The text boxes that are on a sheet.+    textBoxes :: Prelude.Maybe [SheetTextBox],+    -- | The title of the sheet.+    title :: Prelude.Maybe Prelude.Text,+    -- | A list of the visuals that are on a sheet. Visual placement is+    -- determined by the layout of the sheet.+    visuals :: Prelude.Maybe [Visual],+    -- | The unique identifier of a sheet.+    sheetId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SheetDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'contentType', 'sheetDefinition_contentType' - The layout content type of the sheet. Choose one of the following+-- options:+--+-- -   @PAGINATED@: Creates a sheet for a paginated report.+--+-- -   @INTERACTIVE@: Creates a sheet for an interactive dashboard.+--+-- 'description', 'sheetDefinition_description' - A description of the sheet.+--+-- 'filterControls', 'sheetDefinition_filterControls' - The list of filter controls that are on a sheet.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/filter-controls.html Adding filter controls to analysis sheets>+-- in the /Amazon QuickSight User Guide/.+--+-- 'layouts', 'sheetDefinition_layouts' - Layouts define how the components of a sheet are arranged.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/types-of-layout.html Types of layout>+-- in the /Amazon QuickSight User Guide/.+--+-- 'name', 'sheetDefinition_name' - The name of the sheet. This name is displayed on the sheet\'s tab in the+-- Amazon QuickSight console.+--+-- 'parameterControls', 'sheetDefinition_parameterControls' - The list of parameter controls that are on a sheet.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/parameters-controls.html Using a Control with a Parameter in Amazon QuickSight>+-- in the /Amazon QuickSight User Guide/.+--+-- 'sheetControlLayouts', 'sheetDefinition_sheetControlLayouts' - The control layouts of the sheet.+--+-- 'textBoxes', 'sheetDefinition_textBoxes' - The text boxes that are on a sheet.+--+-- 'title', 'sheetDefinition_title' - The title of the sheet.+--+-- 'visuals', 'sheetDefinition_visuals' - A list of the visuals that are on a sheet. Visual placement is+-- determined by the layout of the sheet.+--+-- 'sheetId', 'sheetDefinition_sheetId' - The unique identifier of a sheet.+newSheetDefinition ::+  -- | 'sheetId'+  Prelude.Text ->+  SheetDefinition+newSheetDefinition pSheetId_ =+  SheetDefinition'+    { contentType = Prelude.Nothing,+      description = Prelude.Nothing,+      filterControls = Prelude.Nothing,+      layouts = Prelude.Nothing,+      name = Prelude.Nothing,+      parameterControls = Prelude.Nothing,+      sheetControlLayouts = Prelude.Nothing,+      textBoxes = Prelude.Nothing,+      title = Prelude.Nothing,+      visuals = Prelude.Nothing,+      sheetId = pSheetId_+    }++-- | The layout content type of the sheet. Choose one of the following+-- options:+--+-- -   @PAGINATED@: Creates a sheet for a paginated report.+--+-- -   @INTERACTIVE@: Creates a sheet for an interactive dashboard.+sheetDefinition_contentType :: Lens.Lens' SheetDefinition (Prelude.Maybe SheetContentType)+sheetDefinition_contentType = Lens.lens (\SheetDefinition' {contentType} -> contentType) (\s@SheetDefinition' {} a -> s {contentType = a} :: SheetDefinition)++-- | A description of the sheet.+sheetDefinition_description :: Lens.Lens' SheetDefinition (Prelude.Maybe Prelude.Text)+sheetDefinition_description = Lens.lens (\SheetDefinition' {description} -> description) (\s@SheetDefinition' {} a -> s {description = a} :: SheetDefinition)++-- | The list of filter controls that are on a sheet.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/filter-controls.html Adding filter controls to analysis sheets>+-- in the /Amazon QuickSight User Guide/.+sheetDefinition_filterControls :: Lens.Lens' SheetDefinition (Prelude.Maybe [FilterControl])+sheetDefinition_filterControls = Lens.lens (\SheetDefinition' {filterControls} -> filterControls) (\s@SheetDefinition' {} a -> s {filterControls = a} :: SheetDefinition) Prelude.. Lens.mapping Lens.coerced++-- | Layouts define how the components of a sheet are arranged.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/types-of-layout.html Types of layout>+-- in the /Amazon QuickSight User Guide/.+sheetDefinition_layouts :: Lens.Lens' SheetDefinition (Prelude.Maybe (Prelude.NonEmpty Layout))+sheetDefinition_layouts = Lens.lens (\SheetDefinition' {layouts} -> layouts) (\s@SheetDefinition' {} a -> s {layouts = a} :: SheetDefinition) Prelude.. Lens.mapping Lens.coerced++-- | The name of the sheet. This name is displayed on the sheet\'s tab in the+-- Amazon QuickSight console.+sheetDefinition_name :: Lens.Lens' SheetDefinition (Prelude.Maybe Prelude.Text)+sheetDefinition_name = Lens.lens (\SheetDefinition' {name} -> name) (\s@SheetDefinition' {} a -> s {name = a} :: SheetDefinition)++-- | The list of parameter controls that are on a sheet.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/parameters-controls.html Using a Control with a Parameter in Amazon QuickSight>+-- in the /Amazon QuickSight User Guide/.+sheetDefinition_parameterControls :: Lens.Lens' SheetDefinition (Prelude.Maybe [ParameterControl])+sheetDefinition_parameterControls = Lens.lens (\SheetDefinition' {parameterControls} -> parameterControls) (\s@SheetDefinition' {} a -> s {parameterControls = a} :: SheetDefinition) Prelude.. Lens.mapping Lens.coerced++-- | The control layouts of the sheet.+sheetDefinition_sheetControlLayouts :: Lens.Lens' SheetDefinition (Prelude.Maybe [SheetControlLayout])+sheetDefinition_sheetControlLayouts = Lens.lens (\SheetDefinition' {sheetControlLayouts} -> sheetControlLayouts) (\s@SheetDefinition' {} a -> s {sheetControlLayouts = a} :: SheetDefinition) Prelude.. Lens.mapping Lens.coerced++-- | The text boxes that are on a sheet.+sheetDefinition_textBoxes :: Lens.Lens' SheetDefinition (Prelude.Maybe [SheetTextBox])+sheetDefinition_textBoxes = Lens.lens (\SheetDefinition' {textBoxes} -> textBoxes) (\s@SheetDefinition' {} a -> s {textBoxes = a} :: SheetDefinition) Prelude.. Lens.mapping Lens.coerced++-- | The title of the sheet.+sheetDefinition_title :: Lens.Lens' SheetDefinition (Prelude.Maybe Prelude.Text)+sheetDefinition_title = Lens.lens (\SheetDefinition' {title} -> title) (\s@SheetDefinition' {} a -> s {title = a} :: SheetDefinition)++-- | A list of the visuals that are on a sheet. Visual placement is+-- determined by the layout of the sheet.+sheetDefinition_visuals :: Lens.Lens' SheetDefinition (Prelude.Maybe [Visual])+sheetDefinition_visuals = Lens.lens (\SheetDefinition' {visuals} -> visuals) (\s@SheetDefinition' {} a -> s {visuals = a} :: SheetDefinition) Prelude.. Lens.mapping Lens.coerced++-- | The unique identifier of a sheet.+sheetDefinition_sheetId :: Lens.Lens' SheetDefinition Prelude.Text+sheetDefinition_sheetId = Lens.lens (\SheetDefinition' {sheetId} -> sheetId) (\s@SheetDefinition' {} a -> s {sheetId = a} :: SheetDefinition)++instance Data.FromJSON SheetDefinition where+  parseJSON =+    Data.withObject+      "SheetDefinition"+      ( \x ->+          SheetDefinition'+            Prelude.<$> (x Data..:? "ContentType")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "FilterControls" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Layouts")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> ( x+                            Data..:? "ParameterControls"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "SheetControlLayouts"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "TextBoxes" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..:? "Visuals" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "SheetId")+      )++instance Prelude.Hashable SheetDefinition where+  hashWithSalt _salt SheetDefinition' {..} =+    _salt+      `Prelude.hashWithSalt` contentType+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` filterControls+      `Prelude.hashWithSalt` layouts+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` parameterControls+      `Prelude.hashWithSalt` sheetControlLayouts+      `Prelude.hashWithSalt` textBoxes+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visuals+      `Prelude.hashWithSalt` sheetId++instance Prelude.NFData SheetDefinition where+  rnf SheetDefinition' {..} =+    Prelude.rnf contentType+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf filterControls+      `Prelude.seq` Prelude.rnf layouts+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf parameterControls+      `Prelude.seq` Prelude.rnf sheetControlLayouts+      `Prelude.seq` Prelude.rnf textBoxes+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visuals+      `Prelude.seq` Prelude.rnf sheetId++instance Data.ToJSON SheetDefinition where+  toJSON SheetDefinition' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ContentType" Data..=) Prelude.<$> contentType,+            ("Description" Data..=) Prelude.<$> description,+            ("FilterControls" Data..=)+              Prelude.<$> filterControls,+            ("Layouts" Data..=) Prelude.<$> layouts,+            ("Name" Data..=) Prelude.<$> name,+            ("ParameterControls" Data..=)+              Prelude.<$> parameterControls,+            ("SheetControlLayouts" Data..=)+              Prelude.<$> sheetControlLayouts,+            ("TextBoxes" Data..=) Prelude.<$> textBoxes,+            ("Title" Data..=) Prelude.<$> title,+            ("Visuals" Data..=) Prelude.<$> visuals,+            Prelude.Just ("SheetId" Data..= sheetId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/SheetElementConfigurationOverrides.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.QuickSight.Types.SheetElementConfigurationOverrides+-- 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.QuickSight.Types.SheetElementConfigurationOverrides where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The override configuration of the rendering rules of a sheet.+--+-- /See:/ 'newSheetElementConfigurationOverrides' smart constructor.+data SheetElementConfigurationOverrides = SheetElementConfigurationOverrides'+  { -- | Determines whether or not the overrides are visible. Choose one of the+    -- following options:+    --+    -- -   @VISIBLE@+    --+    -- -   @HIDDEN@+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SheetElementConfigurationOverrides' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'visibility', 'sheetElementConfigurationOverrides_visibility' - Determines whether or not the overrides are visible. Choose one of the+-- following options:+--+-- -   @VISIBLE@+--+-- -   @HIDDEN@+newSheetElementConfigurationOverrides ::+  SheetElementConfigurationOverrides+newSheetElementConfigurationOverrides =+  SheetElementConfigurationOverrides'+    { visibility =+        Prelude.Nothing+    }++-- | Determines whether or not the overrides are visible. Choose one of the+-- following options:+--+-- -   @VISIBLE@+--+-- -   @HIDDEN@+sheetElementConfigurationOverrides_visibility :: Lens.Lens' SheetElementConfigurationOverrides (Prelude.Maybe Visibility)+sheetElementConfigurationOverrides_visibility = Lens.lens (\SheetElementConfigurationOverrides' {visibility} -> visibility) (\s@SheetElementConfigurationOverrides' {} a -> s {visibility = a} :: SheetElementConfigurationOverrides)++instance+  Data.FromJSON+    SheetElementConfigurationOverrides+  where+  parseJSON =+    Data.withObject+      "SheetElementConfigurationOverrides"+      ( \x ->+          SheetElementConfigurationOverrides'+            Prelude.<$> (x Data..:? "Visibility")+      )++instance+  Prelude.Hashable+    SheetElementConfigurationOverrides+  where+  hashWithSalt+    _salt+    SheetElementConfigurationOverrides' {..} =+      _salt `Prelude.hashWithSalt` visibility++instance+  Prelude.NFData+    SheetElementConfigurationOverrides+  where+  rnf SheetElementConfigurationOverrides' {..} =+    Prelude.rnf visibility++instance+  Data.ToJSON+    SheetElementConfigurationOverrides+  where+  toJSON SheetElementConfigurationOverrides' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Visibility" Data..=) Prelude.<$> visibility]+      )
+ gen/Amazonka/QuickSight/Types/SheetElementRenderingRule.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.QuickSight.Types.SheetElementRenderingRule+-- 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.QuickSight.Types.SheetElementRenderingRule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.SheetElementConfigurationOverrides++-- | The rendering rules of a sheet that uses a free-form layout.+--+-- /See:/ 'newSheetElementRenderingRule' smart constructor.+data SheetElementRenderingRule = SheetElementRenderingRule'+  { -- | The expression of the rendering rules of a sheet.+    expression :: Data.Sensitive Prelude.Text,+    -- | The override configuration of the rendering rules of a sheet.+    configurationOverrides :: SheetElementConfigurationOverrides+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SheetElementRenderingRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expression', 'sheetElementRenderingRule_expression' - The expression of the rendering rules of a sheet.+--+-- 'configurationOverrides', 'sheetElementRenderingRule_configurationOverrides' - The override configuration of the rendering rules of a sheet.+newSheetElementRenderingRule ::+  -- | 'expression'+  Prelude.Text ->+  -- | 'configurationOverrides'+  SheetElementConfigurationOverrides ->+  SheetElementRenderingRule+newSheetElementRenderingRule+  pExpression_+  pConfigurationOverrides_ =+    SheetElementRenderingRule'+      { expression =+          Data._Sensitive Lens.# pExpression_,+        configurationOverrides =+          pConfigurationOverrides_+      }++-- | The expression of the rendering rules of a sheet.+sheetElementRenderingRule_expression :: Lens.Lens' SheetElementRenderingRule Prelude.Text+sheetElementRenderingRule_expression = Lens.lens (\SheetElementRenderingRule' {expression} -> expression) (\s@SheetElementRenderingRule' {} a -> s {expression = a} :: SheetElementRenderingRule) Prelude.. Data._Sensitive++-- | The override configuration of the rendering rules of a sheet.+sheetElementRenderingRule_configurationOverrides :: Lens.Lens' SheetElementRenderingRule SheetElementConfigurationOverrides+sheetElementRenderingRule_configurationOverrides = Lens.lens (\SheetElementRenderingRule' {configurationOverrides} -> configurationOverrides) (\s@SheetElementRenderingRule' {} a -> s {configurationOverrides = a} :: SheetElementRenderingRule)++instance Data.FromJSON SheetElementRenderingRule where+  parseJSON =+    Data.withObject+      "SheetElementRenderingRule"+      ( \x ->+          SheetElementRenderingRule'+            Prelude.<$> (x Data..: "Expression")+            Prelude.<*> (x Data..: "ConfigurationOverrides")+      )++instance Prelude.Hashable SheetElementRenderingRule where+  hashWithSalt _salt SheetElementRenderingRule' {..} =+    _salt+      `Prelude.hashWithSalt` expression+      `Prelude.hashWithSalt` configurationOverrides++instance Prelude.NFData SheetElementRenderingRule where+  rnf SheetElementRenderingRule' {..} =+    Prelude.rnf expression+      `Prelude.seq` Prelude.rnf configurationOverrides++instance Data.ToJSON SheetElementRenderingRule where+  toJSON SheetElementRenderingRule' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Expression" Data..= expression),+            Prelude.Just+              ( "ConfigurationOverrides"+                  Data..= configurationOverrides+              )+          ]+      )
+ gen/Amazonka/QuickSight/Types/SheetStyle.hs view
@@ -0,0 +1,95 @@+{-# 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.QuickSight.Types.SheetStyle+-- 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.QuickSight.Types.SheetStyle where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TileLayoutStyle+import Amazonka.QuickSight.Types.TileStyle++-- | The theme display options for sheets.+--+-- /See:/ 'newSheetStyle' smart constructor.+data SheetStyle = SheetStyle'+  { -- | The display options for tiles.+    tile :: Prelude.Maybe TileStyle,+    -- | The layout options for tiles.+    tileLayout :: Prelude.Maybe TileLayoutStyle+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SheetStyle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tile', 'sheetStyle_tile' - The display options for tiles.+--+-- 'tileLayout', 'sheetStyle_tileLayout' - The layout options for tiles.+newSheetStyle ::+  SheetStyle+newSheetStyle =+  SheetStyle'+    { tile = Prelude.Nothing,+      tileLayout = Prelude.Nothing+    }++-- | The display options for tiles.+sheetStyle_tile :: Lens.Lens' SheetStyle (Prelude.Maybe TileStyle)+sheetStyle_tile = Lens.lens (\SheetStyle' {tile} -> tile) (\s@SheetStyle' {} a -> s {tile = a} :: SheetStyle)++-- | The layout options for tiles.+sheetStyle_tileLayout :: Lens.Lens' SheetStyle (Prelude.Maybe TileLayoutStyle)+sheetStyle_tileLayout = Lens.lens (\SheetStyle' {tileLayout} -> tileLayout) (\s@SheetStyle' {} a -> s {tileLayout = a} :: SheetStyle)++instance Data.FromJSON SheetStyle where+  parseJSON =+    Data.withObject+      "SheetStyle"+      ( \x ->+          SheetStyle'+            Prelude.<$> (x Data..:? "Tile")+            Prelude.<*> (x Data..:? "TileLayout")+      )++instance Prelude.Hashable SheetStyle where+  hashWithSalt _salt SheetStyle' {..} =+    _salt+      `Prelude.hashWithSalt` tile+      `Prelude.hashWithSalt` tileLayout++instance Prelude.NFData SheetStyle where+  rnf SheetStyle' {..} =+    Prelude.rnf tile+      `Prelude.seq` Prelude.rnf tileLayout++instance Data.ToJSON SheetStyle where+  toJSON SheetStyle' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Tile" Data..=) Prelude.<$> tile,+            ("TileLayout" Data..=) Prelude.<$> tileLayout+          ]+      )
+ gen/Amazonka/QuickSight/Types/SheetTextBox.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.QuickSight.Types.SheetTextBox+-- 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.QuickSight.Types.SheetTextBox 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 text box.+--+-- /See:/ 'newSheetTextBox' smart constructor.+data SheetTextBox = SheetTextBox'+  { -- | The content that is displayed in the text box.+    content :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier for a text box. This identifier must be unique+    -- within the context of a dashboard, template, or analysis. Two+    -- dashboards, analyses, or templates can have text boxes that share+    -- identifiers.+    sheetTextBoxId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SheetTextBox' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'content', 'sheetTextBox_content' - The content that is displayed in the text box.+--+-- 'sheetTextBoxId', 'sheetTextBox_sheetTextBoxId' - The unique identifier for a text box. This identifier must be unique+-- within the context of a dashboard, template, or analysis. Two+-- dashboards, analyses, or templates can have text boxes that share+-- identifiers.+newSheetTextBox ::+  -- | 'sheetTextBoxId'+  Prelude.Text ->+  SheetTextBox+newSheetTextBox pSheetTextBoxId_ =+  SheetTextBox'+    { content = Prelude.Nothing,+      sheetTextBoxId = pSheetTextBoxId_+    }++-- | The content that is displayed in the text box.+sheetTextBox_content :: Lens.Lens' SheetTextBox (Prelude.Maybe Prelude.Text)+sheetTextBox_content = Lens.lens (\SheetTextBox' {content} -> content) (\s@SheetTextBox' {} a -> s {content = a} :: SheetTextBox)++-- | The unique identifier for a text box. This identifier must be unique+-- within the context of a dashboard, template, or analysis. Two+-- dashboards, analyses, or templates can have text boxes that share+-- identifiers.+sheetTextBox_sheetTextBoxId :: Lens.Lens' SheetTextBox Prelude.Text+sheetTextBox_sheetTextBoxId = Lens.lens (\SheetTextBox' {sheetTextBoxId} -> sheetTextBoxId) (\s@SheetTextBox' {} a -> s {sheetTextBoxId = a} :: SheetTextBox)++instance Data.FromJSON SheetTextBox where+  parseJSON =+    Data.withObject+      "SheetTextBox"+      ( \x ->+          SheetTextBox'+            Prelude.<$> (x Data..:? "Content")+            Prelude.<*> (x Data..: "SheetTextBoxId")+      )++instance Prelude.Hashable SheetTextBox where+  hashWithSalt _salt SheetTextBox' {..} =+    _salt+      `Prelude.hashWithSalt` content+      `Prelude.hashWithSalt` sheetTextBoxId++instance Prelude.NFData SheetTextBox where+  rnf SheetTextBox' {..} =+    Prelude.rnf content+      `Prelude.seq` Prelude.rnf sheetTextBoxId++instance Data.ToJSON SheetTextBox where+  toJSON SheetTextBox' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Content" Data..=) Prelude.<$> content,+            Prelude.Just+              ("SheetTextBoxId" Data..= sheetTextBoxId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/SheetVisualScopingConfiguration.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.QuickSight.Types.SheetVisualScopingConfiguration+-- 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.QuickSight.Types.SheetVisualScopingConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FilterVisualScope++-- | The filter that is applied to the options.+--+-- /See:/ 'newSheetVisualScopingConfiguration' smart constructor.+data SheetVisualScopingConfiguration = SheetVisualScopingConfiguration'+  { -- | The selected visuals that the filter is applied to.+    visualIds :: Prelude.Maybe [Prelude.Text],+    -- | The selected sheet that the filter is applied to.+    sheetId :: Prelude.Text,+    -- | The scope of the applied entities. Choose one of the following options:+    --+    -- -   @ALL_VISUALS@+    --+    -- -   @SELECTED_VISUALS@+    scope :: FilterVisualScope+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SheetVisualScopingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'visualIds', 'sheetVisualScopingConfiguration_visualIds' - The selected visuals that the filter is applied to.+--+-- 'sheetId', 'sheetVisualScopingConfiguration_sheetId' - The selected sheet that the filter is applied to.+--+-- 'scope', 'sheetVisualScopingConfiguration_scope' - The scope of the applied entities. Choose one of the following options:+--+-- -   @ALL_VISUALS@+--+-- -   @SELECTED_VISUALS@+newSheetVisualScopingConfiguration ::+  -- | 'sheetId'+  Prelude.Text ->+  -- | 'scope'+  FilterVisualScope ->+  SheetVisualScopingConfiguration+newSheetVisualScopingConfiguration pSheetId_ pScope_ =+  SheetVisualScopingConfiguration'+    { visualIds =+        Prelude.Nothing,+      sheetId = pSheetId_,+      scope = pScope_+    }++-- | The selected visuals that the filter is applied to.+sheetVisualScopingConfiguration_visualIds :: Lens.Lens' SheetVisualScopingConfiguration (Prelude.Maybe [Prelude.Text])+sheetVisualScopingConfiguration_visualIds = Lens.lens (\SheetVisualScopingConfiguration' {visualIds} -> visualIds) (\s@SheetVisualScopingConfiguration' {} a -> s {visualIds = a} :: SheetVisualScopingConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The selected sheet that the filter is applied to.+sheetVisualScopingConfiguration_sheetId :: Lens.Lens' SheetVisualScopingConfiguration Prelude.Text+sheetVisualScopingConfiguration_sheetId = Lens.lens (\SheetVisualScopingConfiguration' {sheetId} -> sheetId) (\s@SheetVisualScopingConfiguration' {} a -> s {sheetId = a} :: SheetVisualScopingConfiguration)++-- | The scope of the applied entities. Choose one of the following options:+--+-- -   @ALL_VISUALS@+--+-- -   @SELECTED_VISUALS@+sheetVisualScopingConfiguration_scope :: Lens.Lens' SheetVisualScopingConfiguration FilterVisualScope+sheetVisualScopingConfiguration_scope = Lens.lens (\SheetVisualScopingConfiguration' {scope} -> scope) (\s@SheetVisualScopingConfiguration' {} a -> s {scope = a} :: SheetVisualScopingConfiguration)++instance+  Data.FromJSON+    SheetVisualScopingConfiguration+  where+  parseJSON =+    Data.withObject+      "SheetVisualScopingConfiguration"+      ( \x ->+          SheetVisualScopingConfiguration'+            Prelude.<$> (x Data..:? "VisualIds" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "SheetId")+            Prelude.<*> (x Data..: "Scope")+      )++instance+  Prelude.Hashable+    SheetVisualScopingConfiguration+  where+  hashWithSalt+    _salt+    SheetVisualScopingConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` visualIds+        `Prelude.hashWithSalt` sheetId+        `Prelude.hashWithSalt` scope++instance+  Prelude.NFData+    SheetVisualScopingConfiguration+  where+  rnf SheetVisualScopingConfiguration' {..} =+    Prelude.rnf visualIds+      `Prelude.seq` Prelude.rnf sheetId+      `Prelude.seq` Prelude.rnf scope++instance Data.ToJSON SheetVisualScopingConfiguration where+  toJSON SheetVisualScopingConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("VisualIds" Data..=) Prelude.<$> visualIds,+            Prelude.Just ("SheetId" Data..= sheetId),+            Prelude.Just ("Scope" Data..= scope)+          ]+      )
+ gen/Amazonka/QuickSight/Types/ShortFormatText.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.QuickSight.Types.ShortFormatText+-- 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.QuickSight.Types.ShortFormatText 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 text format for the title.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newShortFormatText' smart constructor.+data ShortFormatText = ShortFormatText'+  { -- | Plain text format.+    plainText :: Prelude.Maybe Prelude.Text,+    -- | Rich text. Examples of rich text include bold, underline, and italics.+    richText :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ShortFormatText' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'plainText', 'shortFormatText_plainText' - Plain text format.+--+-- 'richText', 'shortFormatText_richText' - Rich text. Examples of rich text include bold, underline, and italics.+newShortFormatText ::+  ShortFormatText+newShortFormatText =+  ShortFormatText'+    { plainText = Prelude.Nothing,+      richText = Prelude.Nothing+    }++-- | Plain text format.+shortFormatText_plainText :: Lens.Lens' ShortFormatText (Prelude.Maybe Prelude.Text)+shortFormatText_plainText = Lens.lens (\ShortFormatText' {plainText} -> plainText) (\s@ShortFormatText' {} a -> s {plainText = a} :: ShortFormatText)++-- | Rich text. Examples of rich text include bold, underline, and italics.+shortFormatText_richText :: Lens.Lens' ShortFormatText (Prelude.Maybe Prelude.Text)+shortFormatText_richText = Lens.lens (\ShortFormatText' {richText} -> richText) (\s@ShortFormatText' {} a -> s {richText = a} :: ShortFormatText)++instance Data.FromJSON ShortFormatText where+  parseJSON =+    Data.withObject+      "ShortFormatText"+      ( \x ->+          ShortFormatText'+            Prelude.<$> (x Data..:? "PlainText")+            Prelude.<*> (x Data..:? "RichText")+      )++instance Prelude.Hashable ShortFormatText where+  hashWithSalt _salt ShortFormatText' {..} =+    _salt+      `Prelude.hashWithSalt` plainText+      `Prelude.hashWithSalt` richText++instance Prelude.NFData ShortFormatText where+  rnf ShortFormatText' {..} =+    Prelude.rnf plainText+      `Prelude.seq` Prelude.rnf richText++instance Data.ToJSON ShortFormatText where+  toJSON ShortFormatText' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PlainText" Data..=) Prelude.<$> plainText,+            ("RichText" Data..=) Prelude.<$> richText+          ]+      )
+ gen/Amazonka/QuickSight/Types/SignupResponse.hs view
@@ -0,0 +1,118 @@+{-# 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.QuickSight.Types.SignupResponse+-- 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.QuickSight.Types.SignupResponse 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 @SignupResponse@ object that contains a summary of a newly created+-- account.+--+-- /See:/ 'newSignupResponse' smart constructor.+data SignupResponse = SignupResponse'+  { -- | A Boolean that is @TRUE@ if the Amazon QuickSight uses IAM as an+    -- authentication method.+    iAMUser :: Prelude.Maybe Prelude.Bool,+    -- | The name of your Amazon QuickSight account.+    accountName :: Prelude.Maybe Prelude.Text,+    -- | The type of Active Directory that is being used to authenticate the+    -- Amazon QuickSight account. Valid values are @SIMPLE_AD@, @AD_CONNECTOR@,+    -- and @MICROSOFT_AD@.+    directoryType :: Prelude.Maybe Prelude.Text,+    -- | The user login name for your Amazon QuickSight account.+    userLoginName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SignupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iAMUser', 'signupResponse_iAMUser' - A Boolean that is @TRUE@ if the Amazon QuickSight uses IAM as an+-- authentication method.+--+-- 'accountName', 'signupResponse_accountName' - The name of your Amazon QuickSight account.+--+-- 'directoryType', 'signupResponse_directoryType' - The type of Active Directory that is being used to authenticate the+-- Amazon QuickSight account. Valid values are @SIMPLE_AD@, @AD_CONNECTOR@,+-- and @MICROSOFT_AD@.+--+-- 'userLoginName', 'signupResponse_userLoginName' - The user login name for your Amazon QuickSight account.+newSignupResponse ::+  SignupResponse+newSignupResponse =+  SignupResponse'+    { iAMUser = Prelude.Nothing,+      accountName = Prelude.Nothing,+      directoryType = Prelude.Nothing,+      userLoginName = Prelude.Nothing+    }++-- | A Boolean that is @TRUE@ if the Amazon QuickSight uses IAM as an+-- authentication method.+signupResponse_iAMUser :: Lens.Lens' SignupResponse (Prelude.Maybe Prelude.Bool)+signupResponse_iAMUser = Lens.lens (\SignupResponse' {iAMUser} -> iAMUser) (\s@SignupResponse' {} a -> s {iAMUser = a} :: SignupResponse)++-- | The name of your Amazon QuickSight account.+signupResponse_accountName :: Lens.Lens' SignupResponse (Prelude.Maybe Prelude.Text)+signupResponse_accountName = Lens.lens (\SignupResponse' {accountName} -> accountName) (\s@SignupResponse' {} a -> s {accountName = a} :: SignupResponse)++-- | The type of Active Directory that is being used to authenticate the+-- Amazon QuickSight account. Valid values are @SIMPLE_AD@, @AD_CONNECTOR@,+-- and @MICROSOFT_AD@.+signupResponse_directoryType :: Lens.Lens' SignupResponse (Prelude.Maybe Prelude.Text)+signupResponse_directoryType = Lens.lens (\SignupResponse' {directoryType} -> directoryType) (\s@SignupResponse' {} a -> s {directoryType = a} :: SignupResponse)++-- | The user login name for your Amazon QuickSight account.+signupResponse_userLoginName :: Lens.Lens' SignupResponse (Prelude.Maybe Prelude.Text)+signupResponse_userLoginName = Lens.lens (\SignupResponse' {userLoginName} -> userLoginName) (\s@SignupResponse' {} a -> s {userLoginName = a} :: SignupResponse)++instance Data.FromJSON SignupResponse where+  parseJSON =+    Data.withObject+      "SignupResponse"+      ( \x ->+          SignupResponse'+            Prelude.<$> (x Data..:? "IAMUser")+            Prelude.<*> (x Data..:? "accountName")+            Prelude.<*> (x Data..:? "directoryType")+            Prelude.<*> (x Data..:? "userLoginName")+      )++instance Prelude.Hashable SignupResponse where+  hashWithSalt _salt SignupResponse' {..} =+    _salt+      `Prelude.hashWithSalt` iAMUser+      `Prelude.hashWithSalt` accountName+      `Prelude.hashWithSalt` directoryType+      `Prelude.hashWithSalt` userLoginName++instance Prelude.NFData SignupResponse where+  rnf SignupResponse' {..} =+    Prelude.rnf iAMUser+      `Prelude.seq` Prelude.rnf accountName+      `Prelude.seq` Prelude.rnf directoryType+      `Prelude.seq` Prelude.rnf userLoginName
+ gen/Amazonka/QuickSight/Types/SimpleClusterMarker.hs view
@@ -0,0 +1,75 @@+{-# 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.QuickSight.Types.SimpleClusterMarker+-- 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.QuickSight.Types.SimpleClusterMarker 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 simple cluster marker of the cluster marker.+--+-- /See:/ 'newSimpleClusterMarker' smart constructor.+data SimpleClusterMarker = SimpleClusterMarker'+  { -- | The color of the simple cluster marker.+    color :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SimpleClusterMarker' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'color', 'simpleClusterMarker_color' - The color of the simple cluster marker.+newSimpleClusterMarker ::+  SimpleClusterMarker+newSimpleClusterMarker =+  SimpleClusterMarker' {color = Prelude.Nothing}++-- | The color of the simple cluster marker.+simpleClusterMarker_color :: Lens.Lens' SimpleClusterMarker (Prelude.Maybe Prelude.Text)+simpleClusterMarker_color = Lens.lens (\SimpleClusterMarker' {color} -> color) (\s@SimpleClusterMarker' {} a -> s {color = a} :: SimpleClusterMarker)++instance Data.FromJSON SimpleClusterMarker where+  parseJSON =+    Data.withObject+      "SimpleClusterMarker"+      ( \x ->+          SimpleClusterMarker'+            Prelude.<$> (x Data..:? "Color")+      )++instance Prelude.Hashable SimpleClusterMarker where+  hashWithSalt _salt SimpleClusterMarker' {..} =+    _salt `Prelude.hashWithSalt` color++instance Prelude.NFData SimpleClusterMarker where+  rnf SimpleClusterMarker' {..} = Prelude.rnf color++instance Data.ToJSON SimpleClusterMarker where+  toJSON SimpleClusterMarker' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Color" Data..=) Prelude.<$> color]+      )
+ gen/Amazonka/QuickSight/Types/SimpleNumericalAggregationFunction.hs view
@@ -0,0 +1,116 @@+{-# 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.QuickSight.Types.SimpleNumericalAggregationFunction+-- 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.QuickSight.Types.SimpleNumericalAggregationFunction+  ( SimpleNumericalAggregationFunction+      ( ..,+        SimpleNumericalAggregationFunction_AVERAGE,+        SimpleNumericalAggregationFunction_COUNT,+        SimpleNumericalAggregationFunction_DISTINCT_COUNT,+        SimpleNumericalAggregationFunction_MAX,+        SimpleNumericalAggregationFunction_MEDIAN,+        SimpleNumericalAggregationFunction_MIN,+        SimpleNumericalAggregationFunction_STDEV,+        SimpleNumericalAggregationFunction_STDEVP,+        SimpleNumericalAggregationFunction_SUM,+        SimpleNumericalAggregationFunction_VAR,+        SimpleNumericalAggregationFunction_VARP+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SimpleNumericalAggregationFunction = SimpleNumericalAggregationFunction'+  { fromSimpleNumericalAggregationFunction ::+      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 SimpleNumericalAggregationFunction_AVERAGE :: SimpleNumericalAggregationFunction+pattern SimpleNumericalAggregationFunction_AVERAGE = SimpleNumericalAggregationFunction' "AVERAGE"++pattern SimpleNumericalAggregationFunction_COUNT :: SimpleNumericalAggregationFunction+pattern SimpleNumericalAggregationFunction_COUNT = SimpleNumericalAggregationFunction' "COUNT"++pattern SimpleNumericalAggregationFunction_DISTINCT_COUNT :: SimpleNumericalAggregationFunction+pattern SimpleNumericalAggregationFunction_DISTINCT_COUNT = SimpleNumericalAggregationFunction' "DISTINCT_COUNT"++pattern SimpleNumericalAggregationFunction_MAX :: SimpleNumericalAggregationFunction+pattern SimpleNumericalAggregationFunction_MAX = SimpleNumericalAggregationFunction' "MAX"++pattern SimpleNumericalAggregationFunction_MEDIAN :: SimpleNumericalAggregationFunction+pattern SimpleNumericalAggregationFunction_MEDIAN = SimpleNumericalAggregationFunction' "MEDIAN"++pattern SimpleNumericalAggregationFunction_MIN :: SimpleNumericalAggregationFunction+pattern SimpleNumericalAggregationFunction_MIN = SimpleNumericalAggregationFunction' "MIN"++pattern SimpleNumericalAggregationFunction_STDEV :: SimpleNumericalAggregationFunction+pattern SimpleNumericalAggregationFunction_STDEV = SimpleNumericalAggregationFunction' "STDEV"++pattern SimpleNumericalAggregationFunction_STDEVP :: SimpleNumericalAggregationFunction+pattern SimpleNumericalAggregationFunction_STDEVP = SimpleNumericalAggregationFunction' "STDEVP"++pattern SimpleNumericalAggregationFunction_SUM :: SimpleNumericalAggregationFunction+pattern SimpleNumericalAggregationFunction_SUM = SimpleNumericalAggregationFunction' "SUM"++pattern SimpleNumericalAggregationFunction_VAR :: SimpleNumericalAggregationFunction+pattern SimpleNumericalAggregationFunction_VAR = SimpleNumericalAggregationFunction' "VAR"++pattern SimpleNumericalAggregationFunction_VARP :: SimpleNumericalAggregationFunction+pattern SimpleNumericalAggregationFunction_VARP = SimpleNumericalAggregationFunction' "VARP"++{-# COMPLETE+  SimpleNumericalAggregationFunction_AVERAGE,+  SimpleNumericalAggregationFunction_COUNT,+  SimpleNumericalAggregationFunction_DISTINCT_COUNT,+  SimpleNumericalAggregationFunction_MAX,+  SimpleNumericalAggregationFunction_MEDIAN,+  SimpleNumericalAggregationFunction_MIN,+  SimpleNumericalAggregationFunction_STDEV,+  SimpleNumericalAggregationFunction_STDEVP,+  SimpleNumericalAggregationFunction_SUM,+  SimpleNumericalAggregationFunction_VAR,+  SimpleNumericalAggregationFunction_VARP,+  SimpleNumericalAggregationFunction'+  #-}
+ gen/Amazonka/QuickSight/Types/SliderControlDisplayOptions.hs view
@@ -0,0 +1,80 @@+{-# 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.QuickSight.Types.SliderControlDisplayOptions+-- 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.QuickSight.Types.SliderControlDisplayOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.LabelOptions++-- | The display options of a control.+--+-- /See:/ 'newSliderControlDisplayOptions' smart constructor.+data SliderControlDisplayOptions = SliderControlDisplayOptions'+  { -- | The options to configure the title visibility, name, and font size.+    titleOptions :: Prelude.Maybe LabelOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SliderControlDisplayOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'titleOptions', 'sliderControlDisplayOptions_titleOptions' - The options to configure the title visibility, name, and font size.+newSliderControlDisplayOptions ::+  SliderControlDisplayOptions+newSliderControlDisplayOptions =+  SliderControlDisplayOptions'+    { titleOptions =+        Prelude.Nothing+    }++-- | The options to configure the title visibility, name, and font size.+sliderControlDisplayOptions_titleOptions :: Lens.Lens' SliderControlDisplayOptions (Prelude.Maybe LabelOptions)+sliderControlDisplayOptions_titleOptions = Lens.lens (\SliderControlDisplayOptions' {titleOptions} -> titleOptions) (\s@SliderControlDisplayOptions' {} a -> s {titleOptions = a} :: SliderControlDisplayOptions)++instance Data.FromJSON SliderControlDisplayOptions where+  parseJSON =+    Data.withObject+      "SliderControlDisplayOptions"+      ( \x ->+          SliderControlDisplayOptions'+            Prelude.<$> (x Data..:? "TitleOptions")+      )++instance Prelude.Hashable SliderControlDisplayOptions where+  hashWithSalt _salt SliderControlDisplayOptions' {..} =+    _salt `Prelude.hashWithSalt` titleOptions++instance Prelude.NFData SliderControlDisplayOptions where+  rnf SliderControlDisplayOptions' {..} =+    Prelude.rnf titleOptions++instance Data.ToJSON SliderControlDisplayOptions where+  toJSON SliderControlDisplayOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [("TitleOptions" Data..=) Prelude.<$> titleOptions]+      )
+ gen/Amazonka/QuickSight/Types/SmallMultiplesOptions.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.QuickSight.Types.SmallMultiplesOptions+-- 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.QuickSight.Types.SmallMultiplesOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.PanelConfiguration++-- | Options that determine the layout and display options of a chart\'s+-- small multiples.+--+-- /See:/ 'newSmallMultiplesOptions' smart constructor.+data SmallMultiplesOptions = SmallMultiplesOptions'+  { -- | Sets the maximum number of visible columns to display in the grid of+    -- small multiples panels.+    --+    -- The default is @Auto@, which automatically adjusts the columns in the+    -- grid to fit the overall layout and size of the given chart.+    maxVisibleColumns :: Prelude.Maybe Prelude.Natural,+    -- | Sets the maximum number of visible rows to display in the grid of small+    -- multiples panels.+    --+    -- The default value is @Auto@, which automatically adjusts the rows in the+    -- grid to fit the overall layout and size of the given chart.+    maxVisibleRows :: Prelude.Maybe Prelude.Natural,+    -- | Configures the display options for each small multiples panel.+    panelConfiguration :: Prelude.Maybe PanelConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SmallMultiplesOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxVisibleColumns', 'smallMultiplesOptions_maxVisibleColumns' - Sets the maximum number of visible columns to display in the grid of+-- small multiples panels.+--+-- The default is @Auto@, which automatically adjusts the columns in the+-- grid to fit the overall layout and size of the given chart.+--+-- 'maxVisibleRows', 'smallMultiplesOptions_maxVisibleRows' - Sets the maximum number of visible rows to display in the grid of small+-- multiples panels.+--+-- The default value is @Auto@, which automatically adjusts the rows in the+-- grid to fit the overall layout and size of the given chart.+--+-- 'panelConfiguration', 'smallMultiplesOptions_panelConfiguration' - Configures the display options for each small multiples panel.+newSmallMultiplesOptions ::+  SmallMultiplesOptions+newSmallMultiplesOptions =+  SmallMultiplesOptions'+    { maxVisibleColumns =+        Prelude.Nothing,+      maxVisibleRows = Prelude.Nothing,+      panelConfiguration = Prelude.Nothing+    }++-- | Sets the maximum number of visible columns to display in the grid of+-- small multiples panels.+--+-- The default is @Auto@, which automatically adjusts the columns in the+-- grid to fit the overall layout and size of the given chart.+smallMultiplesOptions_maxVisibleColumns :: Lens.Lens' SmallMultiplesOptions (Prelude.Maybe Prelude.Natural)+smallMultiplesOptions_maxVisibleColumns = Lens.lens (\SmallMultiplesOptions' {maxVisibleColumns} -> maxVisibleColumns) (\s@SmallMultiplesOptions' {} a -> s {maxVisibleColumns = a} :: SmallMultiplesOptions)++-- | Sets the maximum number of visible rows to display in the grid of small+-- multiples panels.+--+-- The default value is @Auto@, which automatically adjusts the rows in the+-- grid to fit the overall layout and size of the given chart.+smallMultiplesOptions_maxVisibleRows :: Lens.Lens' SmallMultiplesOptions (Prelude.Maybe Prelude.Natural)+smallMultiplesOptions_maxVisibleRows = Lens.lens (\SmallMultiplesOptions' {maxVisibleRows} -> maxVisibleRows) (\s@SmallMultiplesOptions' {} a -> s {maxVisibleRows = a} :: SmallMultiplesOptions)++-- | Configures the display options for each small multiples panel.+smallMultiplesOptions_panelConfiguration :: Lens.Lens' SmallMultiplesOptions (Prelude.Maybe PanelConfiguration)+smallMultiplesOptions_panelConfiguration = Lens.lens (\SmallMultiplesOptions' {panelConfiguration} -> panelConfiguration) (\s@SmallMultiplesOptions' {} a -> s {panelConfiguration = a} :: SmallMultiplesOptions)++instance Data.FromJSON SmallMultiplesOptions where+  parseJSON =+    Data.withObject+      "SmallMultiplesOptions"+      ( \x ->+          SmallMultiplesOptions'+            Prelude.<$> (x Data..:? "MaxVisibleColumns")+            Prelude.<*> (x Data..:? "MaxVisibleRows")+            Prelude.<*> (x Data..:? "PanelConfiguration")+      )++instance Prelude.Hashable SmallMultiplesOptions where+  hashWithSalt _salt SmallMultiplesOptions' {..} =+    _salt+      `Prelude.hashWithSalt` maxVisibleColumns+      `Prelude.hashWithSalt` maxVisibleRows+      `Prelude.hashWithSalt` panelConfiguration++instance Prelude.NFData SmallMultiplesOptions where+  rnf SmallMultiplesOptions' {..} =+    Prelude.rnf maxVisibleColumns+      `Prelude.seq` Prelude.rnf maxVisibleRows+      `Prelude.seq` Prelude.rnf panelConfiguration++instance Data.ToJSON SmallMultiplesOptions where+  toJSON SmallMultiplesOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxVisibleColumns" Data..=)+              Prelude.<$> maxVisibleColumns,+            ("MaxVisibleRows" Data..=)+              Prelude.<$> maxVisibleRows,+            ("PanelConfiguration" Data..=)+              Prelude.<$> panelConfiguration+          ]+      )
+ gen/Amazonka/QuickSight/Types/SnowflakeParameters.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.SnowflakeParameters+-- 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.QuickSight.Types.SnowflakeParameters 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 parameters for Snowflake.+--+-- /See:/ 'newSnowflakeParameters' smart constructor.+data SnowflakeParameters = SnowflakeParameters'+  { -- | Host.+    host :: Prelude.Text,+    -- | Database.+    database :: Prelude.Text,+    -- | Warehouse.+    warehouse :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SnowflakeParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'host', 'snowflakeParameters_host' - Host.+--+-- 'database', 'snowflakeParameters_database' - Database.+--+-- 'warehouse', 'snowflakeParameters_warehouse' - Warehouse.+newSnowflakeParameters ::+  -- | 'host'+  Prelude.Text ->+  -- | 'database'+  Prelude.Text ->+  -- | 'warehouse'+  Prelude.Text ->+  SnowflakeParameters+newSnowflakeParameters pHost_ pDatabase_ pWarehouse_ =+  SnowflakeParameters'+    { host = pHost_,+      database = pDatabase_,+      warehouse = pWarehouse_+    }++-- | Host.+snowflakeParameters_host :: Lens.Lens' SnowflakeParameters Prelude.Text+snowflakeParameters_host = Lens.lens (\SnowflakeParameters' {host} -> host) (\s@SnowflakeParameters' {} a -> s {host = a} :: SnowflakeParameters)++-- | Database.+snowflakeParameters_database :: Lens.Lens' SnowflakeParameters Prelude.Text+snowflakeParameters_database = Lens.lens (\SnowflakeParameters' {database} -> database) (\s@SnowflakeParameters' {} a -> s {database = a} :: SnowflakeParameters)++-- | Warehouse.+snowflakeParameters_warehouse :: Lens.Lens' SnowflakeParameters Prelude.Text+snowflakeParameters_warehouse = Lens.lens (\SnowflakeParameters' {warehouse} -> warehouse) (\s@SnowflakeParameters' {} a -> s {warehouse = a} :: SnowflakeParameters)++instance Data.FromJSON SnowflakeParameters where+  parseJSON =+    Data.withObject+      "SnowflakeParameters"+      ( \x ->+          SnowflakeParameters'+            Prelude.<$> (x Data..: "Host")+            Prelude.<*> (x Data..: "Database")+            Prelude.<*> (x Data..: "Warehouse")+      )++instance Prelude.Hashable SnowflakeParameters where+  hashWithSalt _salt SnowflakeParameters' {..} =+    _salt+      `Prelude.hashWithSalt` host+      `Prelude.hashWithSalt` database+      `Prelude.hashWithSalt` warehouse++instance Prelude.NFData SnowflakeParameters where+  rnf SnowflakeParameters' {..} =+    Prelude.rnf host+      `Prelude.seq` Prelude.rnf database+      `Prelude.seq` Prelude.rnf warehouse++instance Data.ToJSON SnowflakeParameters where+  toJSON SnowflakeParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Host" Data..= host),+            Prelude.Just ("Database" Data..= database),+            Prelude.Just ("Warehouse" Data..= warehouse)+          ]+      )
+ gen/Amazonka/QuickSight/Types/SortDirection.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.QuickSight.Types.SortDirection+-- 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.QuickSight.Types.SortDirection+  ( SortDirection+      ( ..,+        SortDirection_ASC,+        SortDirection_DESC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SortDirection = SortDirection'+  { fromSortDirection ::+      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 SortDirection_ASC :: SortDirection+pattern SortDirection_ASC = SortDirection' "ASC"++pattern SortDirection_DESC :: SortDirection+pattern SortDirection_DESC = SortDirection' "DESC"++{-# COMPLETE+  SortDirection_ASC,+  SortDirection_DESC,+  SortDirection'+  #-}
+ gen/Amazonka/QuickSight/Types/Spacing.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.QuickSight.Types.Spacing+-- 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.QuickSight.Types.Spacing where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration of spacing (often a margin or padding).+--+-- /See:/ 'newSpacing' smart constructor.+data Spacing = Spacing'+  { -- | Define the bottom spacing.+    bottom :: Prelude.Maybe Prelude.Text,+    -- | Define the left spacing.+    left :: Prelude.Maybe Prelude.Text,+    -- | Define the right spacing.+    right :: Prelude.Maybe Prelude.Text,+    -- | Define the top spacing.+    top :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Spacing' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bottom', 'spacing_bottom' - Define the bottom spacing.+--+-- 'left', 'spacing_left' - Define the left spacing.+--+-- 'right', 'spacing_right' - Define the right spacing.+--+-- 'top', 'spacing_top' - Define the top spacing.+newSpacing ::+  Spacing+newSpacing =+  Spacing'+    { bottom = Prelude.Nothing,+      left = Prelude.Nothing,+      right = Prelude.Nothing,+      top = Prelude.Nothing+    }++-- | Define the bottom spacing.+spacing_bottom :: Lens.Lens' Spacing (Prelude.Maybe Prelude.Text)+spacing_bottom = Lens.lens (\Spacing' {bottom} -> bottom) (\s@Spacing' {} a -> s {bottom = a} :: Spacing)++-- | Define the left spacing.+spacing_left :: Lens.Lens' Spacing (Prelude.Maybe Prelude.Text)+spacing_left = Lens.lens (\Spacing' {left} -> left) (\s@Spacing' {} a -> s {left = a} :: Spacing)++-- | Define the right spacing.+spacing_right :: Lens.Lens' Spacing (Prelude.Maybe Prelude.Text)+spacing_right = Lens.lens (\Spacing' {right} -> right) (\s@Spacing' {} a -> s {right = a} :: Spacing)++-- | Define the top spacing.+spacing_top :: Lens.Lens' Spacing (Prelude.Maybe Prelude.Text)+spacing_top = Lens.lens (\Spacing' {top} -> top) (\s@Spacing' {} a -> s {top = a} :: Spacing)++instance Data.FromJSON Spacing where+  parseJSON =+    Data.withObject+      "Spacing"+      ( \x ->+          Spacing'+            Prelude.<$> (x Data..:? "Bottom")+            Prelude.<*> (x Data..:? "Left")+            Prelude.<*> (x Data..:? "Right")+            Prelude.<*> (x Data..:? "Top")+      )++instance Prelude.Hashable Spacing where+  hashWithSalt _salt Spacing' {..} =+    _salt+      `Prelude.hashWithSalt` bottom+      `Prelude.hashWithSalt` left+      `Prelude.hashWithSalt` right+      `Prelude.hashWithSalt` top++instance Prelude.NFData Spacing where+  rnf Spacing' {..} =+    Prelude.rnf bottom+      `Prelude.seq` Prelude.rnf left+      `Prelude.seq` Prelude.rnf right+      `Prelude.seq` Prelude.rnf top++instance Data.ToJSON Spacing where+  toJSON Spacing' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Bottom" Data..=) Prelude.<$> bottom,+            ("Left" Data..=) Prelude.<$> left,+            ("Right" Data..=) Prelude.<$> right,+            ("Top" Data..=) Prelude.<$> top+          ]+      )
+ gen/Amazonka/QuickSight/Types/SparkParameters.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.SparkParameters+-- 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.QuickSight.Types.SparkParameters 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 parameters for Spark.+--+-- /See:/ 'newSparkParameters' smart constructor.+data SparkParameters = SparkParameters'+  { -- | Host.+    host :: Prelude.Text,+    -- | Port.+    port :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SparkParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'host', 'sparkParameters_host' - Host.+--+-- 'port', 'sparkParameters_port' - Port.+newSparkParameters ::+  -- | 'host'+  Prelude.Text ->+  -- | 'port'+  Prelude.Natural ->+  SparkParameters+newSparkParameters pHost_ pPort_ =+  SparkParameters' {host = pHost_, port = pPort_}++-- | Host.+sparkParameters_host :: Lens.Lens' SparkParameters Prelude.Text+sparkParameters_host = Lens.lens (\SparkParameters' {host} -> host) (\s@SparkParameters' {} a -> s {host = a} :: SparkParameters)++-- | Port.+sparkParameters_port :: Lens.Lens' SparkParameters Prelude.Natural+sparkParameters_port = Lens.lens (\SparkParameters' {port} -> port) (\s@SparkParameters' {} a -> s {port = a} :: SparkParameters)++instance Data.FromJSON SparkParameters where+  parseJSON =+    Data.withObject+      "SparkParameters"+      ( \x ->+          SparkParameters'+            Prelude.<$> (x Data..: "Host")+            Prelude.<*> (x Data..: "Port")+      )++instance Prelude.Hashable SparkParameters where+  hashWithSalt _salt SparkParameters' {..} =+    _salt+      `Prelude.hashWithSalt` host+      `Prelude.hashWithSalt` port++instance Prelude.NFData SparkParameters where+  rnf SparkParameters' {..} =+    Prelude.rnf host `Prelude.seq` Prelude.rnf port++instance Data.ToJSON SparkParameters where+  toJSON SparkParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Host" Data..= host),+            Prelude.Just ("Port" Data..= port)+          ]+      )
+ gen/Amazonka/QuickSight/Types/SqlServerParameters.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.SqlServerParameters+-- 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.QuickSight.Types.SqlServerParameters 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 parameters for SQL Server.+--+-- /See:/ 'newSqlServerParameters' smart constructor.+data SqlServerParameters = SqlServerParameters'+  { -- | Host.+    host :: Prelude.Text,+    -- | Port.+    port :: Prelude.Natural,+    -- | Database.+    database :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SqlServerParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'host', 'sqlServerParameters_host' - Host.+--+-- 'port', 'sqlServerParameters_port' - Port.+--+-- 'database', 'sqlServerParameters_database' - Database.+newSqlServerParameters ::+  -- | 'host'+  Prelude.Text ->+  -- | 'port'+  Prelude.Natural ->+  -- | 'database'+  Prelude.Text ->+  SqlServerParameters+newSqlServerParameters pHost_ pPort_ pDatabase_ =+  SqlServerParameters'+    { host = pHost_,+      port = pPort_,+      database = pDatabase_+    }++-- | Host.+sqlServerParameters_host :: Lens.Lens' SqlServerParameters Prelude.Text+sqlServerParameters_host = Lens.lens (\SqlServerParameters' {host} -> host) (\s@SqlServerParameters' {} a -> s {host = a} :: SqlServerParameters)++-- | Port.+sqlServerParameters_port :: Lens.Lens' SqlServerParameters Prelude.Natural+sqlServerParameters_port = Lens.lens (\SqlServerParameters' {port} -> port) (\s@SqlServerParameters' {} a -> s {port = a} :: SqlServerParameters)++-- | Database.+sqlServerParameters_database :: Lens.Lens' SqlServerParameters Prelude.Text+sqlServerParameters_database = Lens.lens (\SqlServerParameters' {database} -> database) (\s@SqlServerParameters' {} a -> s {database = a} :: SqlServerParameters)++instance Data.FromJSON SqlServerParameters where+  parseJSON =+    Data.withObject+      "SqlServerParameters"+      ( \x ->+          SqlServerParameters'+            Prelude.<$> (x Data..: "Host")+            Prelude.<*> (x Data..: "Port")+            Prelude.<*> (x Data..: "Database")+      )++instance Prelude.Hashable SqlServerParameters where+  hashWithSalt _salt SqlServerParameters' {..} =+    _salt+      `Prelude.hashWithSalt` host+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` database++instance Prelude.NFData SqlServerParameters where+  rnf SqlServerParameters' {..} =+    Prelude.rnf host+      `Prelude.seq` Prelude.rnf port+      `Prelude.seq` Prelude.rnf database++instance Data.ToJSON SqlServerParameters where+  toJSON SqlServerParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Host" Data..= host),+            Prelude.Just ("Port" Data..= port),+            Prelude.Just ("Database" Data..= database)+          ]+      )
+ gen/Amazonka/QuickSight/Types/SslProperties.hs view
@@ -0,0 +1,75 @@+{-# 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.QuickSight.Types.SslProperties+-- 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.QuickSight.Types.SslProperties 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++-- | Secure Socket Layer (SSL) properties that apply when Amazon QuickSight+-- connects to your underlying data source.+--+-- /See:/ 'newSslProperties' smart constructor.+data SslProperties = SslProperties'+  { -- | A Boolean option to control whether SSL should be disabled.+    disableSsl :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SslProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'disableSsl', 'sslProperties_disableSsl' - A Boolean option to control whether SSL should be disabled.+newSslProperties ::+  SslProperties+newSslProperties =+  SslProperties' {disableSsl = Prelude.Nothing}++-- | A Boolean option to control whether SSL should be disabled.+sslProperties_disableSsl :: Lens.Lens' SslProperties (Prelude.Maybe Prelude.Bool)+sslProperties_disableSsl = Lens.lens (\SslProperties' {disableSsl} -> disableSsl) (\s@SslProperties' {} a -> s {disableSsl = a} :: SslProperties)++instance Data.FromJSON SslProperties where+  parseJSON =+    Data.withObject+      "SslProperties"+      ( \x ->+          SslProperties' Prelude.<$> (x Data..:? "DisableSsl")+      )++instance Prelude.Hashable SslProperties where+  hashWithSalt _salt SslProperties' {..} =+    _salt `Prelude.hashWithSalt` disableSsl++instance Prelude.NFData SslProperties where+  rnf SslProperties' {..} = Prelude.rnf disableSsl++instance Data.ToJSON SslProperties where+  toJSON SslProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [("DisableSsl" Data..=) Prelude.<$> disableSsl]+      )
+ gen/Amazonka/QuickSight/Types/Status.hs view
@@ -0,0 +1,68 @@+{-# 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.QuickSight.Types.Status+-- 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.QuickSight.Types.Status+  ( Status+      ( ..,+        Status_DISABLED,+        Status_ENABLED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Status = Status' {fromStatus :: 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 Status_DISABLED :: Status+pattern Status_DISABLED = Status' "DISABLED"++pattern Status_ENABLED :: Status+pattern Status_ENABLED = Status' "ENABLED"++{-# COMPLETE+  Status_DISABLED,+  Status_ENABLED,+  Status'+  #-}
+ gen/Amazonka/QuickSight/Types/StringDefaultValues.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.QuickSight.Types.StringDefaultValues+-- 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.QuickSight.Types.StringDefaultValues where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DynamicDefaultValue++-- | The default values of the @StringParameterDeclaration@.+--+-- /See:/ 'newStringDefaultValues' smart constructor.+data StringDefaultValues = StringDefaultValues'+  { -- | The dynamic value of the @StringDefaultValues@. Different defaults+    -- displayed according to users, groups, and values mapping.+    dynamicValue :: Prelude.Maybe DynamicDefaultValue,+    -- | The static values of the @DecimalDefaultValues@.+    staticValues :: Prelude.Maybe [Data.Sensitive Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StringDefaultValues' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dynamicValue', 'stringDefaultValues_dynamicValue' - The dynamic value of the @StringDefaultValues@. Different defaults+-- displayed according to users, groups, and values mapping.+--+-- 'staticValues', 'stringDefaultValues_staticValues' - The static values of the @DecimalDefaultValues@.+newStringDefaultValues ::+  StringDefaultValues+newStringDefaultValues =+  StringDefaultValues'+    { dynamicValue =+        Prelude.Nothing,+      staticValues = Prelude.Nothing+    }++-- | The dynamic value of the @StringDefaultValues@. Different defaults+-- displayed according to users, groups, and values mapping.+stringDefaultValues_dynamicValue :: Lens.Lens' StringDefaultValues (Prelude.Maybe DynamicDefaultValue)+stringDefaultValues_dynamicValue = Lens.lens (\StringDefaultValues' {dynamicValue} -> dynamicValue) (\s@StringDefaultValues' {} a -> s {dynamicValue = a} :: StringDefaultValues)++-- | The static values of the @DecimalDefaultValues@.+stringDefaultValues_staticValues :: Lens.Lens' StringDefaultValues (Prelude.Maybe [Prelude.Text])+stringDefaultValues_staticValues = Lens.lens (\StringDefaultValues' {staticValues} -> staticValues) (\s@StringDefaultValues' {} a -> s {staticValues = a} :: StringDefaultValues) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON StringDefaultValues where+  parseJSON =+    Data.withObject+      "StringDefaultValues"+      ( \x ->+          StringDefaultValues'+            Prelude.<$> (x Data..:? "DynamicValue")+            Prelude.<*> (x Data..:? "StaticValues" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable StringDefaultValues where+  hashWithSalt _salt StringDefaultValues' {..} =+    _salt+      `Prelude.hashWithSalt` dynamicValue+      `Prelude.hashWithSalt` staticValues++instance Prelude.NFData StringDefaultValues where+  rnf StringDefaultValues' {..} =+    Prelude.rnf dynamicValue+      `Prelude.seq` Prelude.rnf staticValues++instance Data.ToJSON StringDefaultValues where+  toJSON StringDefaultValues' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DynamicValue" Data..=) Prelude.<$> dynamicValue,+            ("StaticValues" Data..=) Prelude.<$> staticValues+          ]+      )
+ gen/Amazonka/QuickSight/Types/StringFormatConfiguration.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.QuickSight.Types.StringFormatConfiguration+-- 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.QuickSight.Types.StringFormatConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.NullValueFormatConfiguration+import Amazonka.QuickSight.Types.NumericFormatConfiguration++-- | Formatting configuration for string fields.+--+-- /See:/ 'newStringFormatConfiguration' smart constructor.+data StringFormatConfiguration = StringFormatConfiguration'+  { -- | The options that determine the null value format configuration.+    nullValueFormatConfiguration :: Prelude.Maybe NullValueFormatConfiguration,+    -- | The formatting configuration for numeric strings.+    numericFormatConfiguration :: Prelude.Maybe NumericFormatConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StringFormatConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nullValueFormatConfiguration', 'stringFormatConfiguration_nullValueFormatConfiguration' - The options that determine the null value format configuration.+--+-- 'numericFormatConfiguration', 'stringFormatConfiguration_numericFormatConfiguration' - The formatting configuration for numeric strings.+newStringFormatConfiguration ::+  StringFormatConfiguration+newStringFormatConfiguration =+  StringFormatConfiguration'+    { nullValueFormatConfiguration =+        Prelude.Nothing,+      numericFormatConfiguration = Prelude.Nothing+    }++-- | The options that determine the null value format configuration.+stringFormatConfiguration_nullValueFormatConfiguration :: Lens.Lens' StringFormatConfiguration (Prelude.Maybe NullValueFormatConfiguration)+stringFormatConfiguration_nullValueFormatConfiguration = Lens.lens (\StringFormatConfiguration' {nullValueFormatConfiguration} -> nullValueFormatConfiguration) (\s@StringFormatConfiguration' {} a -> s {nullValueFormatConfiguration = a} :: StringFormatConfiguration)++-- | The formatting configuration for numeric strings.+stringFormatConfiguration_numericFormatConfiguration :: Lens.Lens' StringFormatConfiguration (Prelude.Maybe NumericFormatConfiguration)+stringFormatConfiguration_numericFormatConfiguration = Lens.lens (\StringFormatConfiguration' {numericFormatConfiguration} -> numericFormatConfiguration) (\s@StringFormatConfiguration' {} a -> s {numericFormatConfiguration = a} :: StringFormatConfiguration)++instance Data.FromJSON StringFormatConfiguration where+  parseJSON =+    Data.withObject+      "StringFormatConfiguration"+      ( \x ->+          StringFormatConfiguration'+            Prelude.<$> (x Data..:? "NullValueFormatConfiguration")+            Prelude.<*> (x Data..:? "NumericFormatConfiguration")+      )++instance Prelude.Hashable StringFormatConfiguration where+  hashWithSalt _salt StringFormatConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` nullValueFormatConfiguration+      `Prelude.hashWithSalt` numericFormatConfiguration++instance Prelude.NFData StringFormatConfiguration where+  rnf StringFormatConfiguration' {..} =+    Prelude.rnf nullValueFormatConfiguration+      `Prelude.seq` Prelude.rnf numericFormatConfiguration++instance Data.ToJSON StringFormatConfiguration where+  toJSON StringFormatConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("NullValueFormatConfiguration" Data..=)+              Prelude.<$> nullValueFormatConfiguration,+            ("NumericFormatConfiguration" Data..=)+              Prelude.<$> numericFormatConfiguration+          ]+      )
+ gen/Amazonka/QuickSight/Types/StringParameter.hs view
@@ -0,0 +1,84 @@+{-# 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.QuickSight.Types.StringParameter+-- 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.QuickSight.Types.StringParameter 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 string parameter.+--+-- /See:/ 'newStringParameter' smart constructor.+data StringParameter = StringParameter'+  { -- | A display name for a string parameter.+    name :: Prelude.Text,+    -- | The values of a string parameter.+    values :: [Data.Sensitive Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StringParameter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'stringParameter_name' - A display name for a string parameter.+--+-- 'values', 'stringParameter_values' - The values of a string parameter.+newStringParameter ::+  -- | 'name'+  Prelude.Text ->+  StringParameter+newStringParameter pName_ =+  StringParameter'+    { name = pName_,+      values = Prelude.mempty+    }++-- | A display name for a string parameter.+stringParameter_name :: Lens.Lens' StringParameter Prelude.Text+stringParameter_name = Lens.lens (\StringParameter' {name} -> name) (\s@StringParameter' {} a -> s {name = a} :: StringParameter)++-- | The values of a string parameter.+stringParameter_values :: Lens.Lens' StringParameter [Prelude.Text]+stringParameter_values = Lens.lens (\StringParameter' {values} -> values) (\s@StringParameter' {} a -> s {values = a} :: StringParameter) Prelude.. Lens.coerced++instance Prelude.Hashable StringParameter where+  hashWithSalt _salt StringParameter' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` values++instance Prelude.NFData StringParameter where+  rnf StringParameter' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf values++instance Data.ToJSON StringParameter where+  toJSON StringParameter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Values" Data..= values)+          ]+      )
+ gen/Amazonka/QuickSight/Types/StringParameterDeclaration.hs view
@@ -0,0 +1,140 @@+{-# 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.QuickSight.Types.StringParameterDeclaration+-- 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.QuickSight.Types.StringParameterDeclaration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ParameterValueType+import Amazonka.QuickSight.Types.StringDefaultValues+import Amazonka.QuickSight.Types.StringValueWhenUnsetConfiguration++-- | A parameter declaration for the @String@ data type.+--+-- /See:/ 'newStringParameterDeclaration' smart constructor.+data StringParameterDeclaration = StringParameterDeclaration'+  { -- | The default values of a parameter. If the parameter is a single-value+    -- parameter, a maximum of one default value can be provided.+    defaultValues :: Prelude.Maybe StringDefaultValues,+    -- | The configuration that defines the default value of a @String@ parameter+    -- when a value has not been set.+    valueWhenUnset :: Prelude.Maybe StringValueWhenUnsetConfiguration,+    -- | The value type determines whether the parameter is a single-value or+    -- multi-value parameter.+    parameterValueType :: ParameterValueType,+    -- | The name of the parameter that is being declared.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StringParameterDeclaration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'defaultValues', 'stringParameterDeclaration_defaultValues' - The default values of a parameter. If the parameter is a single-value+-- parameter, a maximum of one default value can be provided.+--+-- 'valueWhenUnset', 'stringParameterDeclaration_valueWhenUnset' - The configuration that defines the default value of a @String@ parameter+-- when a value has not been set.+--+-- 'parameterValueType', 'stringParameterDeclaration_parameterValueType' - The value type determines whether the parameter is a single-value or+-- multi-value parameter.+--+-- 'name', 'stringParameterDeclaration_name' - The name of the parameter that is being declared.+newStringParameterDeclaration ::+  -- | 'parameterValueType'+  ParameterValueType ->+  -- | 'name'+  Prelude.Text ->+  StringParameterDeclaration+newStringParameterDeclaration+  pParameterValueType_+  pName_ =+    StringParameterDeclaration'+      { defaultValues =+          Prelude.Nothing,+        valueWhenUnset = Prelude.Nothing,+        parameterValueType = pParameterValueType_,+        name = pName_+      }++-- | The default values of a parameter. If the parameter is a single-value+-- parameter, a maximum of one default value can be provided.+stringParameterDeclaration_defaultValues :: Lens.Lens' StringParameterDeclaration (Prelude.Maybe StringDefaultValues)+stringParameterDeclaration_defaultValues = Lens.lens (\StringParameterDeclaration' {defaultValues} -> defaultValues) (\s@StringParameterDeclaration' {} a -> s {defaultValues = a} :: StringParameterDeclaration)++-- | The configuration that defines the default value of a @String@ parameter+-- when a value has not been set.+stringParameterDeclaration_valueWhenUnset :: Lens.Lens' StringParameterDeclaration (Prelude.Maybe StringValueWhenUnsetConfiguration)+stringParameterDeclaration_valueWhenUnset = Lens.lens (\StringParameterDeclaration' {valueWhenUnset} -> valueWhenUnset) (\s@StringParameterDeclaration' {} a -> s {valueWhenUnset = a} :: StringParameterDeclaration)++-- | The value type determines whether the parameter is a single-value or+-- multi-value parameter.+stringParameterDeclaration_parameterValueType :: Lens.Lens' StringParameterDeclaration ParameterValueType+stringParameterDeclaration_parameterValueType = Lens.lens (\StringParameterDeclaration' {parameterValueType} -> parameterValueType) (\s@StringParameterDeclaration' {} a -> s {parameterValueType = a} :: StringParameterDeclaration)++-- | The name of the parameter that is being declared.+stringParameterDeclaration_name :: Lens.Lens' StringParameterDeclaration Prelude.Text+stringParameterDeclaration_name = Lens.lens (\StringParameterDeclaration' {name} -> name) (\s@StringParameterDeclaration' {} a -> s {name = a} :: StringParameterDeclaration)++instance Data.FromJSON StringParameterDeclaration where+  parseJSON =+    Data.withObject+      "StringParameterDeclaration"+      ( \x ->+          StringParameterDeclaration'+            Prelude.<$> (x Data..:? "DefaultValues")+            Prelude.<*> (x Data..:? "ValueWhenUnset")+            Prelude.<*> (x Data..: "ParameterValueType")+            Prelude.<*> (x Data..: "Name")+      )++instance Prelude.Hashable StringParameterDeclaration where+  hashWithSalt _salt StringParameterDeclaration' {..} =+    _salt+      `Prelude.hashWithSalt` defaultValues+      `Prelude.hashWithSalt` valueWhenUnset+      `Prelude.hashWithSalt` parameterValueType+      `Prelude.hashWithSalt` name++instance Prelude.NFData StringParameterDeclaration where+  rnf StringParameterDeclaration' {..} =+    Prelude.rnf defaultValues+      `Prelude.seq` Prelude.rnf valueWhenUnset+      `Prelude.seq` Prelude.rnf parameterValueType+      `Prelude.seq` Prelude.rnf name++instance Data.ToJSON StringParameterDeclaration where+  toJSON StringParameterDeclaration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DefaultValues" Data..=) Prelude.<$> defaultValues,+            ("ValueWhenUnset" Data..=)+              Prelude.<$> valueWhenUnset,+            Prelude.Just+              ("ParameterValueType" Data..= parameterValueType),+            Prelude.Just ("Name" Data..= name)+          ]+      )
+ gen/Amazonka/QuickSight/Types/StringValueWhenUnsetConfiguration.hs view
@@ -0,0 +1,126 @@+{-# 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.QuickSight.Types.StringValueWhenUnsetConfiguration+-- 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.QuickSight.Types.StringValueWhenUnsetConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ValueWhenUnsetOption++-- | The configuration that defines the default value of a @String@ parameter+-- when a value has not been set.+--+-- /See:/ 'newStringValueWhenUnsetConfiguration' smart constructor.+data StringValueWhenUnsetConfiguration = StringValueWhenUnsetConfiguration'+  { -- | A custom value that\'s used when the value of a parameter isn\'t set.+    customValue :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The built-in options for default values. The value can be one of the+    -- following:+    --+    -- -   @RECOMMENDED@: The recommended value.+    --+    -- -   @NULL@: The @NULL@ value.+    valueWhenUnsetOption :: Prelude.Maybe ValueWhenUnsetOption+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StringValueWhenUnsetConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customValue', 'stringValueWhenUnsetConfiguration_customValue' - A custom value that\'s used when the value of a parameter isn\'t set.+--+-- 'valueWhenUnsetOption', 'stringValueWhenUnsetConfiguration_valueWhenUnsetOption' - The built-in options for default values. The value can be one of the+-- following:+--+-- -   @RECOMMENDED@: The recommended value.+--+-- -   @NULL@: The @NULL@ value.+newStringValueWhenUnsetConfiguration ::+  StringValueWhenUnsetConfiguration+newStringValueWhenUnsetConfiguration =+  StringValueWhenUnsetConfiguration'+    { customValue =+        Prelude.Nothing,+      valueWhenUnsetOption = Prelude.Nothing+    }++-- | A custom value that\'s used when the value of a parameter isn\'t set.+stringValueWhenUnsetConfiguration_customValue :: Lens.Lens' StringValueWhenUnsetConfiguration (Prelude.Maybe Prelude.Text)+stringValueWhenUnsetConfiguration_customValue = Lens.lens (\StringValueWhenUnsetConfiguration' {customValue} -> customValue) (\s@StringValueWhenUnsetConfiguration' {} a -> s {customValue = a} :: StringValueWhenUnsetConfiguration) Prelude.. Lens.mapping Data._Sensitive++-- | The built-in options for default values. The value can be one of the+-- following:+--+-- -   @RECOMMENDED@: The recommended value.+--+-- -   @NULL@: The @NULL@ value.+stringValueWhenUnsetConfiguration_valueWhenUnsetOption :: Lens.Lens' StringValueWhenUnsetConfiguration (Prelude.Maybe ValueWhenUnsetOption)+stringValueWhenUnsetConfiguration_valueWhenUnsetOption = Lens.lens (\StringValueWhenUnsetConfiguration' {valueWhenUnsetOption} -> valueWhenUnsetOption) (\s@StringValueWhenUnsetConfiguration' {} a -> s {valueWhenUnsetOption = a} :: StringValueWhenUnsetConfiguration)++instance+  Data.FromJSON+    StringValueWhenUnsetConfiguration+  where+  parseJSON =+    Data.withObject+      "StringValueWhenUnsetConfiguration"+      ( \x ->+          StringValueWhenUnsetConfiguration'+            Prelude.<$> (x Data..:? "CustomValue")+            Prelude.<*> (x Data..:? "ValueWhenUnsetOption")+      )++instance+  Prelude.Hashable+    StringValueWhenUnsetConfiguration+  where+  hashWithSalt+    _salt+    StringValueWhenUnsetConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` customValue+        `Prelude.hashWithSalt` valueWhenUnsetOption++instance+  Prelude.NFData+    StringValueWhenUnsetConfiguration+  where+  rnf StringValueWhenUnsetConfiguration' {..} =+    Prelude.rnf customValue+      `Prelude.seq` Prelude.rnf valueWhenUnsetOption++instance+  Data.ToJSON+    StringValueWhenUnsetConfiguration+  where+  toJSON StringValueWhenUnsetConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomValue" Data..=) Prelude.<$> customValue,+            ("ValueWhenUnsetOption" Data..=)+              Prelude.<$> valueWhenUnsetOption+          ]+      )
+ gen/Amazonka/QuickSight/Types/SubtotalOptions.hs view
@@ -0,0 +1,170 @@+{-# 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.QuickSight.Types.SubtotalOptions+-- 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.QuickSight.Types.SubtotalOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.PivotTableFieldSubtotalOptions+import Amazonka.QuickSight.Types.PivotTableSubtotalLevel+import Amazonka.QuickSight.Types.TableCellStyle+import Amazonka.QuickSight.Types.Visibility++-- | The subtotal options.+--+-- /See:/ 'newSubtotalOptions' smart constructor.+data SubtotalOptions = SubtotalOptions'+  { -- | The custom label string for the subtotal cells.+    customLabel :: Prelude.Maybe Prelude.Text,+    -- | The field level (all, custom, last) for the subtotal cells.+    fieldLevel :: Prelude.Maybe PivotTableSubtotalLevel,+    -- | The optional configuration of subtotal cells.+    fieldLevelOptions :: Prelude.Maybe [PivotTableFieldSubtotalOptions],+    -- | The cell styling options for the subtotals of header cells.+    metricHeaderCellStyle :: Prelude.Maybe TableCellStyle,+    -- | The cell styling options for the subtotal cells.+    totalCellStyle :: Prelude.Maybe TableCellStyle,+    -- | The visibility configuration for the subtotal cells.+    totalsVisibility :: Prelude.Maybe Visibility,+    -- | The cell styling options for the subtotals of value cells.+    valueCellStyle :: Prelude.Maybe TableCellStyle+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SubtotalOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customLabel', 'subtotalOptions_customLabel' - The custom label string for the subtotal cells.+--+-- 'fieldLevel', 'subtotalOptions_fieldLevel' - The field level (all, custom, last) for the subtotal cells.+--+-- 'fieldLevelOptions', 'subtotalOptions_fieldLevelOptions' - The optional configuration of subtotal cells.+--+-- 'metricHeaderCellStyle', 'subtotalOptions_metricHeaderCellStyle' - The cell styling options for the subtotals of header cells.+--+-- 'totalCellStyle', 'subtotalOptions_totalCellStyle' - The cell styling options for the subtotal cells.+--+-- 'totalsVisibility', 'subtotalOptions_totalsVisibility' - The visibility configuration for the subtotal cells.+--+-- 'valueCellStyle', 'subtotalOptions_valueCellStyle' - The cell styling options for the subtotals of value cells.+newSubtotalOptions ::+  SubtotalOptions+newSubtotalOptions =+  SubtotalOptions'+    { customLabel = Prelude.Nothing,+      fieldLevel = Prelude.Nothing,+      fieldLevelOptions = Prelude.Nothing,+      metricHeaderCellStyle = Prelude.Nothing,+      totalCellStyle = Prelude.Nothing,+      totalsVisibility = Prelude.Nothing,+      valueCellStyle = Prelude.Nothing+    }++-- | The custom label string for the subtotal cells.+subtotalOptions_customLabel :: Lens.Lens' SubtotalOptions (Prelude.Maybe Prelude.Text)+subtotalOptions_customLabel = Lens.lens (\SubtotalOptions' {customLabel} -> customLabel) (\s@SubtotalOptions' {} a -> s {customLabel = a} :: SubtotalOptions)++-- | The field level (all, custom, last) for the subtotal cells.+subtotalOptions_fieldLevel :: Lens.Lens' SubtotalOptions (Prelude.Maybe PivotTableSubtotalLevel)+subtotalOptions_fieldLevel = Lens.lens (\SubtotalOptions' {fieldLevel} -> fieldLevel) (\s@SubtotalOptions' {} a -> s {fieldLevel = a} :: SubtotalOptions)++-- | The optional configuration of subtotal cells.+subtotalOptions_fieldLevelOptions :: Lens.Lens' SubtotalOptions (Prelude.Maybe [PivotTableFieldSubtotalOptions])+subtotalOptions_fieldLevelOptions = Lens.lens (\SubtotalOptions' {fieldLevelOptions} -> fieldLevelOptions) (\s@SubtotalOptions' {} a -> s {fieldLevelOptions = a} :: SubtotalOptions) Prelude.. Lens.mapping Lens.coerced++-- | The cell styling options for the subtotals of header cells.+subtotalOptions_metricHeaderCellStyle :: Lens.Lens' SubtotalOptions (Prelude.Maybe TableCellStyle)+subtotalOptions_metricHeaderCellStyle = Lens.lens (\SubtotalOptions' {metricHeaderCellStyle} -> metricHeaderCellStyle) (\s@SubtotalOptions' {} a -> s {metricHeaderCellStyle = a} :: SubtotalOptions)++-- | The cell styling options for the subtotal cells.+subtotalOptions_totalCellStyle :: Lens.Lens' SubtotalOptions (Prelude.Maybe TableCellStyle)+subtotalOptions_totalCellStyle = Lens.lens (\SubtotalOptions' {totalCellStyle} -> totalCellStyle) (\s@SubtotalOptions' {} a -> s {totalCellStyle = a} :: SubtotalOptions)++-- | The visibility configuration for the subtotal cells.+subtotalOptions_totalsVisibility :: Lens.Lens' SubtotalOptions (Prelude.Maybe Visibility)+subtotalOptions_totalsVisibility = Lens.lens (\SubtotalOptions' {totalsVisibility} -> totalsVisibility) (\s@SubtotalOptions' {} a -> s {totalsVisibility = a} :: SubtotalOptions)++-- | The cell styling options for the subtotals of value cells.+subtotalOptions_valueCellStyle :: Lens.Lens' SubtotalOptions (Prelude.Maybe TableCellStyle)+subtotalOptions_valueCellStyle = Lens.lens (\SubtotalOptions' {valueCellStyle} -> valueCellStyle) (\s@SubtotalOptions' {} a -> s {valueCellStyle = a} :: SubtotalOptions)++instance Data.FromJSON SubtotalOptions where+  parseJSON =+    Data.withObject+      "SubtotalOptions"+      ( \x ->+          SubtotalOptions'+            Prelude.<$> (x Data..:? "CustomLabel")+            Prelude.<*> (x Data..:? "FieldLevel")+            Prelude.<*> ( x+                            Data..:? "FieldLevelOptions"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "MetricHeaderCellStyle")+            Prelude.<*> (x Data..:? "TotalCellStyle")+            Prelude.<*> (x Data..:? "TotalsVisibility")+            Prelude.<*> (x Data..:? "ValueCellStyle")+      )++instance Prelude.Hashable SubtotalOptions where+  hashWithSalt _salt SubtotalOptions' {..} =+    _salt+      `Prelude.hashWithSalt` customLabel+      `Prelude.hashWithSalt` fieldLevel+      `Prelude.hashWithSalt` fieldLevelOptions+      `Prelude.hashWithSalt` metricHeaderCellStyle+      `Prelude.hashWithSalt` totalCellStyle+      `Prelude.hashWithSalt` totalsVisibility+      `Prelude.hashWithSalt` valueCellStyle++instance Prelude.NFData SubtotalOptions where+  rnf SubtotalOptions' {..} =+    Prelude.rnf customLabel+      `Prelude.seq` Prelude.rnf fieldLevel+      `Prelude.seq` Prelude.rnf fieldLevelOptions+      `Prelude.seq` Prelude.rnf metricHeaderCellStyle+      `Prelude.seq` Prelude.rnf totalCellStyle+      `Prelude.seq` Prelude.rnf totalsVisibility+      `Prelude.seq` Prelude.rnf valueCellStyle++instance Data.ToJSON SubtotalOptions where+  toJSON SubtotalOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomLabel" Data..=) Prelude.<$> customLabel,+            ("FieldLevel" Data..=) Prelude.<$> fieldLevel,+            ("FieldLevelOptions" Data..=)+              Prelude.<$> fieldLevelOptions,+            ("MetricHeaderCellStyle" Data..=)+              Prelude.<$> metricHeaderCellStyle,+            ("TotalCellStyle" Data..=)+              Prelude.<$> totalCellStyle,+            ("TotalsVisibility" Data..=)+              Prelude.<$> totalsVisibility,+            ("ValueCellStyle" Data..=)+              Prelude.<$> valueCellStyle+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableAggregatedFieldWells.hs view
@@ -0,0 +1,102 @@+{-# 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.QuickSight.Types.TableAggregatedFieldWells+-- 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.QuickSight.Types.TableAggregatedFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The aggregated field well for the table.+--+-- /See:/ 'newTableAggregatedFieldWells' smart constructor.+data TableAggregatedFieldWells = TableAggregatedFieldWells'+  { -- | The group by field well for a pivot table. Values are grouped by group+    -- by fields.+    groupBy :: Prelude.Maybe [DimensionField],+    -- | The values field well for a pivot table. Values are aggregated based on+    -- group by fields.+    values :: Prelude.Maybe [MeasureField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableAggregatedFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'groupBy', 'tableAggregatedFieldWells_groupBy' - The group by field well for a pivot table. Values are grouped by group+-- by fields.+--+-- 'values', 'tableAggregatedFieldWells_values' - The values field well for a pivot table. Values are aggregated based on+-- group by fields.+newTableAggregatedFieldWells ::+  TableAggregatedFieldWells+newTableAggregatedFieldWells =+  TableAggregatedFieldWells'+    { groupBy =+        Prelude.Nothing,+      values = Prelude.Nothing+    }++-- | The group by field well for a pivot table. Values are grouped by group+-- by fields.+tableAggregatedFieldWells_groupBy :: Lens.Lens' TableAggregatedFieldWells (Prelude.Maybe [DimensionField])+tableAggregatedFieldWells_groupBy = Lens.lens (\TableAggregatedFieldWells' {groupBy} -> groupBy) (\s@TableAggregatedFieldWells' {} a -> s {groupBy = a} :: TableAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The values field well for a pivot table. Values are aggregated based on+-- group by fields.+tableAggregatedFieldWells_values :: Lens.Lens' TableAggregatedFieldWells (Prelude.Maybe [MeasureField])+tableAggregatedFieldWells_values = Lens.lens (\TableAggregatedFieldWells' {values} -> values) (\s@TableAggregatedFieldWells' {} a -> s {values = a} :: TableAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON TableAggregatedFieldWells where+  parseJSON =+    Data.withObject+      "TableAggregatedFieldWells"+      ( \x ->+          TableAggregatedFieldWells'+            Prelude.<$> (x Data..:? "GroupBy" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Values" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable TableAggregatedFieldWells where+  hashWithSalt _salt TableAggregatedFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` groupBy+      `Prelude.hashWithSalt` values++instance Prelude.NFData TableAggregatedFieldWells where+  rnf TableAggregatedFieldWells' {..} =+    Prelude.rnf groupBy+      `Prelude.seq` Prelude.rnf values++instance Data.ToJSON TableAggregatedFieldWells where+  toJSON TableAggregatedFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("GroupBy" Data..=) Prelude.<$> groupBy,+            ("Values" Data..=) Prelude.<$> values+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableBorderOptions.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.QuickSight.Types.TableBorderOptions+-- 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.QuickSight.Types.TableBorderOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TableBorderStyle++-- | The border options for a table border.+--+-- /See:/ 'newTableBorderOptions' smart constructor.+data TableBorderOptions = TableBorderOptions'+  { -- | The color of a table border.+    color :: Prelude.Maybe Prelude.Text,+    -- | The style (none, solid) of a table border.+    style :: Prelude.Maybe TableBorderStyle,+    -- | The thickness of a table border.+    thickness :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableBorderOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'color', 'tableBorderOptions_color' - The color of a table border.+--+-- 'style', 'tableBorderOptions_style' - The style (none, solid) of a table border.+--+-- 'thickness', 'tableBorderOptions_thickness' - The thickness of a table border.+newTableBorderOptions ::+  TableBorderOptions+newTableBorderOptions =+  TableBorderOptions'+    { color = Prelude.Nothing,+      style = Prelude.Nothing,+      thickness = Prelude.Nothing+    }++-- | The color of a table border.+tableBorderOptions_color :: Lens.Lens' TableBorderOptions (Prelude.Maybe Prelude.Text)+tableBorderOptions_color = Lens.lens (\TableBorderOptions' {color} -> color) (\s@TableBorderOptions' {} a -> s {color = a} :: TableBorderOptions)++-- | The style (none, solid) of a table border.+tableBorderOptions_style :: Lens.Lens' TableBorderOptions (Prelude.Maybe TableBorderStyle)+tableBorderOptions_style = Lens.lens (\TableBorderOptions' {style} -> style) (\s@TableBorderOptions' {} a -> s {style = a} :: TableBorderOptions)++-- | The thickness of a table border.+tableBorderOptions_thickness :: Lens.Lens' TableBorderOptions (Prelude.Maybe Prelude.Natural)+tableBorderOptions_thickness = Lens.lens (\TableBorderOptions' {thickness} -> thickness) (\s@TableBorderOptions' {} a -> s {thickness = a} :: TableBorderOptions)++instance Data.FromJSON TableBorderOptions where+  parseJSON =+    Data.withObject+      "TableBorderOptions"+      ( \x ->+          TableBorderOptions'+            Prelude.<$> (x Data..:? "Color")+            Prelude.<*> (x Data..:? "Style")+            Prelude.<*> (x Data..:? "Thickness")+      )++instance Prelude.Hashable TableBorderOptions where+  hashWithSalt _salt TableBorderOptions' {..} =+    _salt+      `Prelude.hashWithSalt` color+      `Prelude.hashWithSalt` style+      `Prelude.hashWithSalt` thickness++instance Prelude.NFData TableBorderOptions where+  rnf TableBorderOptions' {..} =+    Prelude.rnf color+      `Prelude.seq` Prelude.rnf style+      `Prelude.seq` Prelude.rnf thickness++instance Data.ToJSON TableBorderOptions where+  toJSON TableBorderOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Color" Data..=) Prelude.<$> color,+            ("Style" Data..=) Prelude.<$> style,+            ("Thickness" Data..=) Prelude.<$> thickness+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableBorderStyle.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.QuickSight.Types.TableBorderStyle+-- 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.QuickSight.Types.TableBorderStyle+  ( TableBorderStyle+      ( ..,+        TableBorderStyle_NONE,+        TableBorderStyle_SOLID+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TableBorderStyle = TableBorderStyle'+  { fromTableBorderStyle ::+      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 TableBorderStyle_NONE :: TableBorderStyle+pattern TableBorderStyle_NONE = TableBorderStyle' "NONE"++pattern TableBorderStyle_SOLID :: TableBorderStyle+pattern TableBorderStyle_SOLID = TableBorderStyle' "SOLID"++{-# COMPLETE+  TableBorderStyle_NONE,+  TableBorderStyle_SOLID,+  TableBorderStyle'+  #-}
+ gen/Amazonka/QuickSight/Types/TableCellConditionalFormatting.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.QuickSight.Types.TableCellConditionalFormatting+-- 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.QuickSight.Types.TableCellConditionalFormatting where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TextConditionalFormat++-- | The cell conditional formatting option for a table.+--+-- /See:/ 'newTableCellConditionalFormatting' smart constructor.+data TableCellConditionalFormatting = TableCellConditionalFormatting'+  { -- | The text format of the cell for conditional formatting.+    textFormat :: Prelude.Maybe TextConditionalFormat,+    -- | The field ID of the cell for conditional formatting.+    fieldId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableCellConditionalFormatting' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'textFormat', 'tableCellConditionalFormatting_textFormat' - The text format of the cell for conditional formatting.+--+-- 'fieldId', 'tableCellConditionalFormatting_fieldId' - The field ID of the cell for conditional formatting.+newTableCellConditionalFormatting ::+  -- | 'fieldId'+  Prelude.Text ->+  TableCellConditionalFormatting+newTableCellConditionalFormatting pFieldId_ =+  TableCellConditionalFormatting'+    { textFormat =+        Prelude.Nothing,+      fieldId = pFieldId_+    }++-- | The text format of the cell for conditional formatting.+tableCellConditionalFormatting_textFormat :: Lens.Lens' TableCellConditionalFormatting (Prelude.Maybe TextConditionalFormat)+tableCellConditionalFormatting_textFormat = Lens.lens (\TableCellConditionalFormatting' {textFormat} -> textFormat) (\s@TableCellConditionalFormatting' {} a -> s {textFormat = a} :: TableCellConditionalFormatting)++-- | The field ID of the cell for conditional formatting.+tableCellConditionalFormatting_fieldId :: Lens.Lens' TableCellConditionalFormatting Prelude.Text+tableCellConditionalFormatting_fieldId = Lens.lens (\TableCellConditionalFormatting' {fieldId} -> fieldId) (\s@TableCellConditionalFormatting' {} a -> s {fieldId = a} :: TableCellConditionalFormatting)++instance Data.FromJSON TableCellConditionalFormatting where+  parseJSON =+    Data.withObject+      "TableCellConditionalFormatting"+      ( \x ->+          TableCellConditionalFormatting'+            Prelude.<$> (x Data..:? "TextFormat")+            Prelude.<*> (x Data..: "FieldId")+      )++instance+  Prelude.Hashable+    TableCellConditionalFormatting+  where+  hashWithSalt+    _salt+    TableCellConditionalFormatting' {..} =+      _salt+        `Prelude.hashWithSalt` textFormat+        `Prelude.hashWithSalt` fieldId++instance+  Prelude.NFData+    TableCellConditionalFormatting+  where+  rnf TableCellConditionalFormatting' {..} =+    Prelude.rnf textFormat+      `Prelude.seq` Prelude.rnf fieldId++instance Data.ToJSON TableCellConditionalFormatting where+  toJSON TableCellConditionalFormatting' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TextFormat" Data..=) Prelude.<$> textFormat,+            Prelude.Just ("FieldId" Data..= fieldId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableCellImageScalingConfiguration.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TableCellImageScalingConfiguration+-- 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.QuickSight.Types.TableCellImageScalingConfiguration+  ( TableCellImageScalingConfiguration+      ( ..,+        TableCellImageScalingConfiguration_DO_NOT_SCALE,+        TableCellImageScalingConfiguration_FIT_TO_CELL_HEIGHT,+        TableCellImageScalingConfiguration_FIT_TO_CELL_WIDTH+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TableCellImageScalingConfiguration = TableCellImageScalingConfiguration'+  { fromTableCellImageScalingConfiguration ::+      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 TableCellImageScalingConfiguration_DO_NOT_SCALE :: TableCellImageScalingConfiguration+pattern TableCellImageScalingConfiguration_DO_NOT_SCALE = TableCellImageScalingConfiguration' "DO_NOT_SCALE"++pattern TableCellImageScalingConfiguration_FIT_TO_CELL_HEIGHT :: TableCellImageScalingConfiguration+pattern TableCellImageScalingConfiguration_FIT_TO_CELL_HEIGHT = TableCellImageScalingConfiguration' "FIT_TO_CELL_HEIGHT"++pattern TableCellImageScalingConfiguration_FIT_TO_CELL_WIDTH :: TableCellImageScalingConfiguration+pattern TableCellImageScalingConfiguration_FIT_TO_CELL_WIDTH = TableCellImageScalingConfiguration' "FIT_TO_CELL_WIDTH"++{-# COMPLETE+  TableCellImageScalingConfiguration_DO_NOT_SCALE,+  TableCellImageScalingConfiguration_FIT_TO_CELL_HEIGHT,+  TableCellImageScalingConfiguration_FIT_TO_CELL_WIDTH,+  TableCellImageScalingConfiguration'+  #-}
+ gen/Amazonka/QuickSight/Types/TableCellImageSizingConfiguration.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.QuickSight.Types.TableCellImageSizingConfiguration+-- 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.QuickSight.Types.TableCellImageSizingConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TableCellImageScalingConfiguration++-- | The sizing options for the table image configuration.+--+-- /See:/ 'newTableCellImageSizingConfiguration' smart constructor.+data TableCellImageSizingConfiguration = TableCellImageSizingConfiguration'+  { -- | The cell scaling configuration of the sizing options for the table image+    -- configuration.+    tableCellImageScalingConfiguration :: Prelude.Maybe TableCellImageScalingConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableCellImageSizingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tableCellImageScalingConfiguration', 'tableCellImageSizingConfiguration_tableCellImageScalingConfiguration' - The cell scaling configuration of the sizing options for the table image+-- configuration.+newTableCellImageSizingConfiguration ::+  TableCellImageSizingConfiguration+newTableCellImageSizingConfiguration =+  TableCellImageSizingConfiguration'+    { tableCellImageScalingConfiguration =+        Prelude.Nothing+    }++-- | The cell scaling configuration of the sizing options for the table image+-- configuration.+tableCellImageSizingConfiguration_tableCellImageScalingConfiguration :: Lens.Lens' TableCellImageSizingConfiguration (Prelude.Maybe TableCellImageScalingConfiguration)+tableCellImageSizingConfiguration_tableCellImageScalingConfiguration = Lens.lens (\TableCellImageSizingConfiguration' {tableCellImageScalingConfiguration} -> tableCellImageScalingConfiguration) (\s@TableCellImageSizingConfiguration' {} a -> s {tableCellImageScalingConfiguration = a} :: TableCellImageSizingConfiguration)++instance+  Data.FromJSON+    TableCellImageSizingConfiguration+  where+  parseJSON =+    Data.withObject+      "TableCellImageSizingConfiguration"+      ( \x ->+          TableCellImageSizingConfiguration'+            Prelude.<$> (x Data..:? "TableCellImageScalingConfiguration")+      )++instance+  Prelude.Hashable+    TableCellImageSizingConfiguration+  where+  hashWithSalt+    _salt+    TableCellImageSizingConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` tableCellImageScalingConfiguration++instance+  Prelude.NFData+    TableCellImageSizingConfiguration+  where+  rnf TableCellImageSizingConfiguration' {..} =+    Prelude.rnf tableCellImageScalingConfiguration++instance+  Data.ToJSON+    TableCellImageSizingConfiguration+  where+  toJSON TableCellImageSizingConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TableCellImageScalingConfiguration" Data..=)+              Prelude.<$> tableCellImageScalingConfiguration+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableCellStyle.hs view
@@ -0,0 +1,184 @@+{-# 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.QuickSight.Types.TableCellStyle+-- 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.QuickSight.Types.TableCellStyle where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FontConfiguration+import Amazonka.QuickSight.Types.GlobalTableBorderOptions+import Amazonka.QuickSight.Types.HorizontalTextAlignment+import Amazonka.QuickSight.Types.TextWrap+import Amazonka.QuickSight.Types.VerticalTextAlignment+import Amazonka.QuickSight.Types.Visibility++-- | The table cell style for a cell in pivot table or table visual.+--+-- /See:/ 'newTableCellStyle' smart constructor.+data TableCellStyle = TableCellStyle'+  { -- | The background color for the table cells.+    backgroundColor :: Prelude.Maybe Prelude.Text,+    -- | The borders for the table cells.+    border :: Prelude.Maybe GlobalTableBorderOptions,+    -- | The font configuration of the table cells.+    fontConfiguration :: Prelude.Maybe FontConfiguration,+    -- | The height color for the table cells.+    height :: Prelude.Maybe Prelude.Natural,+    -- | The horizontal text alignment (left, center, right, auto) for the table+    -- cells.+    horizontalTextAlignment :: Prelude.Maybe HorizontalTextAlignment,+    -- | The text wrap (none, wrap) for the table cells.+    textWrap :: Prelude.Maybe TextWrap,+    -- | The vertical text alignment (top, middle, bottom) for the table cells.+    verticalTextAlignment :: Prelude.Maybe VerticalTextAlignment,+    -- | The visibility of the table cells.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableCellStyle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'backgroundColor', 'tableCellStyle_backgroundColor' - The background color for the table cells.+--+-- 'border', 'tableCellStyle_border' - The borders for the table cells.+--+-- 'fontConfiguration', 'tableCellStyle_fontConfiguration' - The font configuration of the table cells.+--+-- 'height', 'tableCellStyle_height' - The height color for the table cells.+--+-- 'horizontalTextAlignment', 'tableCellStyle_horizontalTextAlignment' - The horizontal text alignment (left, center, right, auto) for the table+-- cells.+--+-- 'textWrap', 'tableCellStyle_textWrap' - The text wrap (none, wrap) for the table cells.+--+-- 'verticalTextAlignment', 'tableCellStyle_verticalTextAlignment' - The vertical text alignment (top, middle, bottom) for the table cells.+--+-- 'visibility', 'tableCellStyle_visibility' - The visibility of the table cells.+newTableCellStyle ::+  TableCellStyle+newTableCellStyle =+  TableCellStyle'+    { backgroundColor = Prelude.Nothing,+      border = Prelude.Nothing,+      fontConfiguration = Prelude.Nothing,+      height = Prelude.Nothing,+      horizontalTextAlignment = Prelude.Nothing,+      textWrap = Prelude.Nothing,+      verticalTextAlignment = Prelude.Nothing,+      visibility = Prelude.Nothing+    }++-- | The background color for the table cells.+tableCellStyle_backgroundColor :: Lens.Lens' TableCellStyle (Prelude.Maybe Prelude.Text)+tableCellStyle_backgroundColor = Lens.lens (\TableCellStyle' {backgroundColor} -> backgroundColor) (\s@TableCellStyle' {} a -> s {backgroundColor = a} :: TableCellStyle)++-- | The borders for the table cells.+tableCellStyle_border :: Lens.Lens' TableCellStyle (Prelude.Maybe GlobalTableBorderOptions)+tableCellStyle_border = Lens.lens (\TableCellStyle' {border} -> border) (\s@TableCellStyle' {} a -> s {border = a} :: TableCellStyle)++-- | The font configuration of the table cells.+tableCellStyle_fontConfiguration :: Lens.Lens' TableCellStyle (Prelude.Maybe FontConfiguration)+tableCellStyle_fontConfiguration = Lens.lens (\TableCellStyle' {fontConfiguration} -> fontConfiguration) (\s@TableCellStyle' {} a -> s {fontConfiguration = a} :: TableCellStyle)++-- | The height color for the table cells.+tableCellStyle_height :: Lens.Lens' TableCellStyle (Prelude.Maybe Prelude.Natural)+tableCellStyle_height = Lens.lens (\TableCellStyle' {height} -> height) (\s@TableCellStyle' {} a -> s {height = a} :: TableCellStyle)++-- | The horizontal text alignment (left, center, right, auto) for the table+-- cells.+tableCellStyle_horizontalTextAlignment :: Lens.Lens' TableCellStyle (Prelude.Maybe HorizontalTextAlignment)+tableCellStyle_horizontalTextAlignment = Lens.lens (\TableCellStyle' {horizontalTextAlignment} -> horizontalTextAlignment) (\s@TableCellStyle' {} a -> s {horizontalTextAlignment = a} :: TableCellStyle)++-- | The text wrap (none, wrap) for the table cells.+tableCellStyle_textWrap :: Lens.Lens' TableCellStyle (Prelude.Maybe TextWrap)+tableCellStyle_textWrap = Lens.lens (\TableCellStyle' {textWrap} -> textWrap) (\s@TableCellStyle' {} a -> s {textWrap = a} :: TableCellStyle)++-- | The vertical text alignment (top, middle, bottom) for the table cells.+tableCellStyle_verticalTextAlignment :: Lens.Lens' TableCellStyle (Prelude.Maybe VerticalTextAlignment)+tableCellStyle_verticalTextAlignment = Lens.lens (\TableCellStyle' {verticalTextAlignment} -> verticalTextAlignment) (\s@TableCellStyle' {} a -> s {verticalTextAlignment = a} :: TableCellStyle)++-- | The visibility of the table cells.+tableCellStyle_visibility :: Lens.Lens' TableCellStyle (Prelude.Maybe Visibility)+tableCellStyle_visibility = Lens.lens (\TableCellStyle' {visibility} -> visibility) (\s@TableCellStyle' {} a -> s {visibility = a} :: TableCellStyle)++instance Data.FromJSON TableCellStyle where+  parseJSON =+    Data.withObject+      "TableCellStyle"+      ( \x ->+          TableCellStyle'+            Prelude.<$> (x Data..:? "BackgroundColor")+            Prelude.<*> (x Data..:? "Border")+            Prelude.<*> (x Data..:? "FontConfiguration")+            Prelude.<*> (x Data..:? "Height")+            Prelude.<*> (x Data..:? "HorizontalTextAlignment")+            Prelude.<*> (x Data..:? "TextWrap")+            Prelude.<*> (x Data..:? "VerticalTextAlignment")+            Prelude.<*> (x Data..:? "Visibility")+      )++instance Prelude.Hashable TableCellStyle where+  hashWithSalt _salt TableCellStyle' {..} =+    _salt+      `Prelude.hashWithSalt` backgroundColor+      `Prelude.hashWithSalt` border+      `Prelude.hashWithSalt` fontConfiguration+      `Prelude.hashWithSalt` height+      `Prelude.hashWithSalt` horizontalTextAlignment+      `Prelude.hashWithSalt` textWrap+      `Prelude.hashWithSalt` verticalTextAlignment+      `Prelude.hashWithSalt` visibility++instance Prelude.NFData TableCellStyle where+  rnf TableCellStyle' {..} =+    Prelude.rnf backgroundColor+      `Prelude.seq` Prelude.rnf border+      `Prelude.seq` Prelude.rnf fontConfiguration+      `Prelude.seq` Prelude.rnf height+      `Prelude.seq` Prelude.rnf horizontalTextAlignment+      `Prelude.seq` Prelude.rnf textWrap+      `Prelude.seq` Prelude.rnf verticalTextAlignment+      `Prelude.seq` Prelude.rnf visibility++instance Data.ToJSON TableCellStyle where+  toJSON TableCellStyle' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BackgroundColor" Data..=)+              Prelude.<$> backgroundColor,+            ("Border" Data..=) Prelude.<$> border,+            ("FontConfiguration" Data..=)+              Prelude.<$> fontConfiguration,+            ("Height" Data..=) Prelude.<$> height,+            ("HorizontalTextAlignment" Data..=)+              Prelude.<$> horizontalTextAlignment,+            ("TextWrap" Data..=) Prelude.<$> textWrap,+            ("VerticalTextAlignment" Data..=)+              Prelude.<$> verticalTextAlignment,+            ("Visibility" Data..=) Prelude.<$> visibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableConditionalFormatting.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.QuickSight.Types.TableConditionalFormatting+-- 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.QuickSight.Types.TableConditionalFormatting where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TableConditionalFormattingOption++-- | The conditional formatting for a @PivotTableVisual@.+--+-- /See:/ 'newTableConditionalFormatting' smart constructor.+data TableConditionalFormatting = TableConditionalFormatting'+  { -- | Conditional formatting options for a @PivotTableVisual@.+    conditionalFormattingOptions :: Prelude.Maybe [TableConditionalFormattingOption]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableConditionalFormatting' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'conditionalFormattingOptions', 'tableConditionalFormatting_conditionalFormattingOptions' - Conditional formatting options for a @PivotTableVisual@.+newTableConditionalFormatting ::+  TableConditionalFormatting+newTableConditionalFormatting =+  TableConditionalFormatting'+    { conditionalFormattingOptions =+        Prelude.Nothing+    }++-- | Conditional formatting options for a @PivotTableVisual@.+tableConditionalFormatting_conditionalFormattingOptions :: Lens.Lens' TableConditionalFormatting (Prelude.Maybe [TableConditionalFormattingOption])+tableConditionalFormatting_conditionalFormattingOptions = Lens.lens (\TableConditionalFormatting' {conditionalFormattingOptions} -> conditionalFormattingOptions) (\s@TableConditionalFormatting' {} a -> s {conditionalFormattingOptions = a} :: TableConditionalFormatting) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON TableConditionalFormatting where+  parseJSON =+    Data.withObject+      "TableConditionalFormatting"+      ( \x ->+          TableConditionalFormatting'+            Prelude.<$> ( x+                            Data..:? "ConditionalFormattingOptions"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable TableConditionalFormatting where+  hashWithSalt _salt TableConditionalFormatting' {..} =+    _salt+      `Prelude.hashWithSalt` conditionalFormattingOptions++instance Prelude.NFData TableConditionalFormatting where+  rnf TableConditionalFormatting' {..} =+    Prelude.rnf conditionalFormattingOptions++instance Data.ToJSON TableConditionalFormatting where+  toJSON TableConditionalFormatting' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ConditionalFormattingOptions" Data..=)+              Prelude.<$> conditionalFormattingOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableConditionalFormattingOption.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TableConditionalFormattingOption+-- 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.QuickSight.Types.TableConditionalFormattingOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TableCellConditionalFormatting+import Amazonka.QuickSight.Types.TableRowConditionalFormatting++-- | Conditional formatting options for a @PivotTableVisual@.+--+-- /See:/ 'newTableConditionalFormattingOption' smart constructor.+data TableConditionalFormattingOption = TableConditionalFormattingOption'+  { -- | The cell conditional formatting option for a table.+    cell :: Prelude.Maybe TableCellConditionalFormatting,+    -- | The row conditional formatting option for a table.+    row :: Prelude.Maybe TableRowConditionalFormatting+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableConditionalFormattingOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cell', 'tableConditionalFormattingOption_cell' - The cell conditional formatting option for a table.+--+-- 'row', 'tableConditionalFormattingOption_row' - The row conditional formatting option for a table.+newTableConditionalFormattingOption ::+  TableConditionalFormattingOption+newTableConditionalFormattingOption =+  TableConditionalFormattingOption'+    { cell =+        Prelude.Nothing,+      row = Prelude.Nothing+    }++-- | The cell conditional formatting option for a table.+tableConditionalFormattingOption_cell :: Lens.Lens' TableConditionalFormattingOption (Prelude.Maybe TableCellConditionalFormatting)+tableConditionalFormattingOption_cell = Lens.lens (\TableConditionalFormattingOption' {cell} -> cell) (\s@TableConditionalFormattingOption' {} a -> s {cell = a} :: TableConditionalFormattingOption)++-- | The row conditional formatting option for a table.+tableConditionalFormattingOption_row :: Lens.Lens' TableConditionalFormattingOption (Prelude.Maybe TableRowConditionalFormatting)+tableConditionalFormattingOption_row = Lens.lens (\TableConditionalFormattingOption' {row} -> row) (\s@TableConditionalFormattingOption' {} a -> s {row = a} :: TableConditionalFormattingOption)++instance+  Data.FromJSON+    TableConditionalFormattingOption+  where+  parseJSON =+    Data.withObject+      "TableConditionalFormattingOption"+      ( \x ->+          TableConditionalFormattingOption'+            Prelude.<$> (x Data..:? "Cell")+            Prelude.<*> (x Data..:? "Row")+      )++instance+  Prelude.Hashable+    TableConditionalFormattingOption+  where+  hashWithSalt+    _salt+    TableConditionalFormattingOption' {..} =+      _salt+        `Prelude.hashWithSalt` cell+        `Prelude.hashWithSalt` row++instance+  Prelude.NFData+    TableConditionalFormattingOption+  where+  rnf TableConditionalFormattingOption' {..} =+    Prelude.rnf cell `Prelude.seq` Prelude.rnf row++instance Data.ToJSON TableConditionalFormattingOption where+  toJSON TableConditionalFormattingOption' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Cell" Data..=) Prelude.<$> cell,+            ("Row" Data..=) Prelude.<$> row+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableConfiguration.hs view
@@ -0,0 +1,153 @@+{-# 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.QuickSight.Types.TableConfiguration+-- 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.QuickSight.Types.TableConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TableFieldOptions+import Amazonka.QuickSight.Types.TableFieldWells+import Amazonka.QuickSight.Types.TableOptions+import Amazonka.QuickSight.Types.TablePaginatedReportOptions+import Amazonka.QuickSight.Types.TableSortConfiguration+import Amazonka.QuickSight.Types.TotalOptions++-- | The configuration for a @TableVisual@.+--+-- /See:/ 'newTableConfiguration' smart constructor.+data TableConfiguration = TableConfiguration'+  { -- | The field options for a table visual.+    fieldOptions :: Prelude.Maybe TableFieldOptions,+    -- | The field wells of the visual.+    fieldWells :: Prelude.Maybe TableFieldWells,+    -- | The paginated report options for a table visual.+    paginatedReportOptions :: Prelude.Maybe TablePaginatedReportOptions,+    -- | The sort configuration for a @TableVisual@.+    sortConfiguration :: Prelude.Maybe TableSortConfiguration,+    -- | The table options for a table visual.+    tableOptions :: Prelude.Maybe TableOptions,+    -- | The total options for a table visual.+    totalOptions :: Prelude.Maybe TotalOptions+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldOptions', 'tableConfiguration_fieldOptions' - The field options for a table visual.+--+-- 'fieldWells', 'tableConfiguration_fieldWells' - The field wells of the visual.+--+-- 'paginatedReportOptions', 'tableConfiguration_paginatedReportOptions' - The paginated report options for a table visual.+--+-- 'sortConfiguration', 'tableConfiguration_sortConfiguration' - The sort configuration for a @TableVisual@.+--+-- 'tableOptions', 'tableConfiguration_tableOptions' - The table options for a table visual.+--+-- 'totalOptions', 'tableConfiguration_totalOptions' - The total options for a table visual.+newTableConfiguration ::+  TableConfiguration+newTableConfiguration =+  TableConfiguration'+    { fieldOptions = Prelude.Nothing,+      fieldWells = Prelude.Nothing,+      paginatedReportOptions = Prelude.Nothing,+      sortConfiguration = Prelude.Nothing,+      tableOptions = Prelude.Nothing,+      totalOptions = Prelude.Nothing+    }++-- | The field options for a table visual.+tableConfiguration_fieldOptions :: Lens.Lens' TableConfiguration (Prelude.Maybe TableFieldOptions)+tableConfiguration_fieldOptions = Lens.lens (\TableConfiguration' {fieldOptions} -> fieldOptions) (\s@TableConfiguration' {} a -> s {fieldOptions = a} :: TableConfiguration)++-- | The field wells of the visual.+tableConfiguration_fieldWells :: Lens.Lens' TableConfiguration (Prelude.Maybe TableFieldWells)+tableConfiguration_fieldWells = Lens.lens (\TableConfiguration' {fieldWells} -> fieldWells) (\s@TableConfiguration' {} a -> s {fieldWells = a} :: TableConfiguration)++-- | The paginated report options for a table visual.+tableConfiguration_paginatedReportOptions :: Lens.Lens' TableConfiguration (Prelude.Maybe TablePaginatedReportOptions)+tableConfiguration_paginatedReportOptions = Lens.lens (\TableConfiguration' {paginatedReportOptions} -> paginatedReportOptions) (\s@TableConfiguration' {} a -> s {paginatedReportOptions = a} :: TableConfiguration)++-- | The sort configuration for a @TableVisual@.+tableConfiguration_sortConfiguration :: Lens.Lens' TableConfiguration (Prelude.Maybe TableSortConfiguration)+tableConfiguration_sortConfiguration = Lens.lens (\TableConfiguration' {sortConfiguration} -> sortConfiguration) (\s@TableConfiguration' {} a -> s {sortConfiguration = a} :: TableConfiguration)++-- | The table options for a table visual.+tableConfiguration_tableOptions :: Lens.Lens' TableConfiguration (Prelude.Maybe TableOptions)+tableConfiguration_tableOptions = Lens.lens (\TableConfiguration' {tableOptions} -> tableOptions) (\s@TableConfiguration' {} a -> s {tableOptions = a} :: TableConfiguration)++-- | The total options for a table visual.+tableConfiguration_totalOptions :: Lens.Lens' TableConfiguration (Prelude.Maybe TotalOptions)+tableConfiguration_totalOptions = Lens.lens (\TableConfiguration' {totalOptions} -> totalOptions) (\s@TableConfiguration' {} a -> s {totalOptions = a} :: TableConfiguration)++instance Data.FromJSON TableConfiguration where+  parseJSON =+    Data.withObject+      "TableConfiguration"+      ( \x ->+          TableConfiguration'+            Prelude.<$> (x Data..:? "FieldOptions")+            Prelude.<*> (x Data..:? "FieldWells")+            Prelude.<*> (x Data..:? "PaginatedReportOptions")+            Prelude.<*> (x Data..:? "SortConfiguration")+            Prelude.<*> (x Data..:? "TableOptions")+            Prelude.<*> (x Data..:? "TotalOptions")+      )++instance Prelude.Hashable TableConfiguration where+  hashWithSalt _salt TableConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` fieldOptions+      `Prelude.hashWithSalt` fieldWells+      `Prelude.hashWithSalt` paginatedReportOptions+      `Prelude.hashWithSalt` sortConfiguration+      `Prelude.hashWithSalt` tableOptions+      `Prelude.hashWithSalt` totalOptions++instance Prelude.NFData TableConfiguration where+  rnf TableConfiguration' {..} =+    Prelude.rnf fieldOptions+      `Prelude.seq` Prelude.rnf fieldWells+      `Prelude.seq` Prelude.rnf paginatedReportOptions+      `Prelude.seq` Prelude.rnf sortConfiguration+      `Prelude.seq` Prelude.rnf tableOptions+      `Prelude.seq` Prelude.rnf totalOptions++instance Data.ToJSON TableConfiguration where+  toJSON TableConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FieldOptions" Data..=) Prelude.<$> fieldOptions,+            ("FieldWells" Data..=) Prelude.<$> fieldWells,+            ("PaginatedReportOptions" Data..=)+              Prelude.<$> paginatedReportOptions,+            ("SortConfiguration" Data..=)+              Prelude.<$> sortConfiguration,+            ("TableOptions" Data..=) Prelude.<$> tableOptions,+            ("TotalOptions" Data..=) Prelude.<$> totalOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableFieldCustomIconContent.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TableFieldCustomIconContent+-- 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.QuickSight.Types.TableFieldCustomIconContent where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TableFieldIconSetType++-- | The custom icon content for the table link content configuration.+--+-- /See:/ 'newTableFieldCustomIconContent' smart constructor.+data TableFieldCustomIconContent = TableFieldCustomIconContent'+  { -- | The icon set type (link) of the custom icon content for table URL link+    -- content.+    icon :: Prelude.Maybe TableFieldIconSetType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableFieldCustomIconContent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'icon', 'tableFieldCustomIconContent_icon' - The icon set type (link) of the custom icon content for table URL link+-- content.+newTableFieldCustomIconContent ::+  TableFieldCustomIconContent+newTableFieldCustomIconContent =+  TableFieldCustomIconContent'+    { icon =+        Prelude.Nothing+    }++-- | The icon set type (link) of the custom icon content for table URL link+-- content.+tableFieldCustomIconContent_icon :: Lens.Lens' TableFieldCustomIconContent (Prelude.Maybe TableFieldIconSetType)+tableFieldCustomIconContent_icon = Lens.lens (\TableFieldCustomIconContent' {icon} -> icon) (\s@TableFieldCustomIconContent' {} a -> s {icon = a} :: TableFieldCustomIconContent)++instance Data.FromJSON TableFieldCustomIconContent where+  parseJSON =+    Data.withObject+      "TableFieldCustomIconContent"+      ( \x ->+          TableFieldCustomIconContent'+            Prelude.<$> (x Data..:? "Icon")+      )++instance Prelude.Hashable TableFieldCustomIconContent where+  hashWithSalt _salt TableFieldCustomIconContent' {..} =+    _salt `Prelude.hashWithSalt` icon++instance Prelude.NFData TableFieldCustomIconContent where+  rnf TableFieldCustomIconContent' {..} =+    Prelude.rnf icon++instance Data.ToJSON TableFieldCustomIconContent where+  toJSON TableFieldCustomIconContent' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Icon" Data..=) Prelude.<$> icon]+      )
+ gen/Amazonka/QuickSight/Types/TableFieldCustomTextContent.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.QuickSight.Types.TableFieldCustomTextContent+-- 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.QuickSight.Types.TableFieldCustomTextContent where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FontConfiguration++-- | The custom text content (value, font configuration) for the table link+-- content configuration.+--+-- /See:/ 'newTableFieldCustomTextContent' smart constructor.+data TableFieldCustomTextContent = TableFieldCustomTextContent'+  { -- | The string value of the custom text content for the table URL link+    -- content.+    value :: Prelude.Maybe Prelude.Text,+    -- | The font configuration of the custom text content for the table URL link+    -- content.+    fontConfiguration :: FontConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableFieldCustomTextContent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'value', 'tableFieldCustomTextContent_value' - The string value of the custom text content for the table URL link+-- content.+--+-- 'fontConfiguration', 'tableFieldCustomTextContent_fontConfiguration' - The font configuration of the custom text content for the table URL link+-- content.+newTableFieldCustomTextContent ::+  -- | 'fontConfiguration'+  FontConfiguration ->+  TableFieldCustomTextContent+newTableFieldCustomTextContent pFontConfiguration_ =+  TableFieldCustomTextContent'+    { value =+        Prelude.Nothing,+      fontConfiguration = pFontConfiguration_+    }++-- | The string value of the custom text content for the table URL link+-- content.+tableFieldCustomTextContent_value :: Lens.Lens' TableFieldCustomTextContent (Prelude.Maybe Prelude.Text)+tableFieldCustomTextContent_value = Lens.lens (\TableFieldCustomTextContent' {value} -> value) (\s@TableFieldCustomTextContent' {} a -> s {value = a} :: TableFieldCustomTextContent)++-- | The font configuration of the custom text content for the table URL link+-- content.+tableFieldCustomTextContent_fontConfiguration :: Lens.Lens' TableFieldCustomTextContent FontConfiguration+tableFieldCustomTextContent_fontConfiguration = Lens.lens (\TableFieldCustomTextContent' {fontConfiguration} -> fontConfiguration) (\s@TableFieldCustomTextContent' {} a -> s {fontConfiguration = a} :: TableFieldCustomTextContent)++instance Data.FromJSON TableFieldCustomTextContent where+  parseJSON =+    Data.withObject+      "TableFieldCustomTextContent"+      ( \x ->+          TableFieldCustomTextContent'+            Prelude.<$> (x Data..:? "Value")+            Prelude.<*> (x Data..: "FontConfiguration")+      )++instance Prelude.Hashable TableFieldCustomTextContent where+  hashWithSalt _salt TableFieldCustomTextContent' {..} =+    _salt+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` fontConfiguration++instance Prelude.NFData TableFieldCustomTextContent where+  rnf TableFieldCustomTextContent' {..} =+    Prelude.rnf value+      `Prelude.seq` Prelude.rnf fontConfiguration++instance Data.ToJSON TableFieldCustomTextContent where+  toJSON TableFieldCustomTextContent' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Value" Data..=) Prelude.<$> value,+            Prelude.Just+              ("FontConfiguration" Data..= fontConfiguration)+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableFieldIconSetType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TableFieldIconSetType+-- 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.QuickSight.Types.TableFieldIconSetType+  ( TableFieldIconSetType+      ( ..,+        TableFieldIconSetType_LINK+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TableFieldIconSetType = TableFieldIconSetType'+  { fromTableFieldIconSetType ::+      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 TableFieldIconSetType_LINK :: TableFieldIconSetType+pattern TableFieldIconSetType_LINK = TableFieldIconSetType' "LINK"++{-# COMPLETE+  TableFieldIconSetType_LINK,+  TableFieldIconSetType'+  #-}
+ gen/Amazonka/QuickSight/Types/TableFieldImageConfiguration.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TableFieldImageConfiguration+-- 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.QuickSight.Types.TableFieldImageConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TableCellImageSizingConfiguration++-- | The image configuration of a table field URL.+--+-- /See:/ 'newTableFieldImageConfiguration' smart constructor.+data TableFieldImageConfiguration = TableFieldImageConfiguration'+  { -- | The sizing options for the table image configuration.+    sizingOptions :: Prelude.Maybe TableCellImageSizingConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableFieldImageConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sizingOptions', 'tableFieldImageConfiguration_sizingOptions' - The sizing options for the table image configuration.+newTableFieldImageConfiguration ::+  TableFieldImageConfiguration+newTableFieldImageConfiguration =+  TableFieldImageConfiguration'+    { sizingOptions =+        Prelude.Nothing+    }++-- | The sizing options for the table image configuration.+tableFieldImageConfiguration_sizingOptions :: Lens.Lens' TableFieldImageConfiguration (Prelude.Maybe TableCellImageSizingConfiguration)+tableFieldImageConfiguration_sizingOptions = Lens.lens (\TableFieldImageConfiguration' {sizingOptions} -> sizingOptions) (\s@TableFieldImageConfiguration' {} a -> s {sizingOptions = a} :: TableFieldImageConfiguration)++instance Data.FromJSON TableFieldImageConfiguration where+  parseJSON =+    Data.withObject+      "TableFieldImageConfiguration"+      ( \x ->+          TableFieldImageConfiguration'+            Prelude.<$> (x Data..:? "SizingOptions")+      )++instance+  Prelude.Hashable+    TableFieldImageConfiguration+  where+  hashWithSalt _salt TableFieldImageConfiguration' {..} =+    _salt `Prelude.hashWithSalt` sizingOptions++instance Prelude.NFData TableFieldImageConfiguration where+  rnf TableFieldImageConfiguration' {..} =+    Prelude.rnf sizingOptions++instance Data.ToJSON TableFieldImageConfiguration where+  toJSON TableFieldImageConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SizingOptions" Data..=)+              Prelude.<$> sizingOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableFieldLinkConfiguration.hs view
@@ -0,0 +1,102 @@+{-# 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.QuickSight.Types.TableFieldLinkConfiguration+-- 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.QuickSight.Types.TableFieldLinkConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TableFieldLinkContentConfiguration+import Amazonka.QuickSight.Types.URLTargetConfiguration++-- | The link configuration of a table field URL.+--+-- /See:/ 'newTableFieldLinkConfiguration' smart constructor.+data TableFieldLinkConfiguration = TableFieldLinkConfiguration'+  { -- | The URL target (new tab, new window, same tab) for the table link+    -- configuration.+    target :: URLTargetConfiguration,+    -- | The URL content (text, icon) for the table link configuration.+    content :: TableFieldLinkContentConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableFieldLinkConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'target', 'tableFieldLinkConfiguration_target' - The URL target (new tab, new window, same tab) for the table link+-- configuration.+--+-- 'content', 'tableFieldLinkConfiguration_content' - The URL content (text, icon) for the table link configuration.+newTableFieldLinkConfiguration ::+  -- | 'target'+  URLTargetConfiguration ->+  -- | 'content'+  TableFieldLinkContentConfiguration ->+  TableFieldLinkConfiguration+newTableFieldLinkConfiguration pTarget_ pContent_ =+  TableFieldLinkConfiguration'+    { target = pTarget_,+      content = pContent_+    }++-- | The URL target (new tab, new window, same tab) for the table link+-- configuration.+tableFieldLinkConfiguration_target :: Lens.Lens' TableFieldLinkConfiguration URLTargetConfiguration+tableFieldLinkConfiguration_target = Lens.lens (\TableFieldLinkConfiguration' {target} -> target) (\s@TableFieldLinkConfiguration' {} a -> s {target = a} :: TableFieldLinkConfiguration)++-- | The URL content (text, icon) for the table link configuration.+tableFieldLinkConfiguration_content :: Lens.Lens' TableFieldLinkConfiguration TableFieldLinkContentConfiguration+tableFieldLinkConfiguration_content = Lens.lens (\TableFieldLinkConfiguration' {content} -> content) (\s@TableFieldLinkConfiguration' {} a -> s {content = a} :: TableFieldLinkConfiguration)++instance Data.FromJSON TableFieldLinkConfiguration where+  parseJSON =+    Data.withObject+      "TableFieldLinkConfiguration"+      ( \x ->+          TableFieldLinkConfiguration'+            Prelude.<$> (x Data..: "Target")+            Prelude.<*> (x Data..: "Content")+      )++instance Prelude.Hashable TableFieldLinkConfiguration where+  hashWithSalt _salt TableFieldLinkConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` target+      `Prelude.hashWithSalt` content++instance Prelude.NFData TableFieldLinkConfiguration where+  rnf TableFieldLinkConfiguration' {..} =+    Prelude.rnf target+      `Prelude.seq` Prelude.rnf content++instance Data.ToJSON TableFieldLinkConfiguration where+  toJSON TableFieldLinkConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Target" Data..= target),+            Prelude.Just ("Content" Data..= content)+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableFieldLinkContentConfiguration.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TableFieldLinkContentConfiguration+-- 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.QuickSight.Types.TableFieldLinkContentConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TableFieldCustomIconContent+import Amazonka.QuickSight.Types.TableFieldCustomTextContent++-- | The URL content (text, icon) for the table link configuration.+--+-- /See:/ 'newTableFieldLinkContentConfiguration' smart constructor.+data TableFieldLinkContentConfiguration = TableFieldLinkContentConfiguration'+  { -- | The custom icon content for the table link content configuration.+    customIconContent :: Prelude.Maybe TableFieldCustomIconContent,+    -- | The custom text content (value, font configuration) for the table link+    -- content configuration.+    customTextContent :: Prelude.Maybe TableFieldCustomTextContent+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableFieldLinkContentConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customIconContent', 'tableFieldLinkContentConfiguration_customIconContent' - The custom icon content for the table link content configuration.+--+-- 'customTextContent', 'tableFieldLinkContentConfiguration_customTextContent' - The custom text content (value, font configuration) for the table link+-- content configuration.+newTableFieldLinkContentConfiguration ::+  TableFieldLinkContentConfiguration+newTableFieldLinkContentConfiguration =+  TableFieldLinkContentConfiguration'+    { customIconContent =+        Prelude.Nothing,+      customTextContent = Prelude.Nothing+    }++-- | The custom icon content for the table link content configuration.+tableFieldLinkContentConfiguration_customIconContent :: Lens.Lens' TableFieldLinkContentConfiguration (Prelude.Maybe TableFieldCustomIconContent)+tableFieldLinkContentConfiguration_customIconContent = Lens.lens (\TableFieldLinkContentConfiguration' {customIconContent} -> customIconContent) (\s@TableFieldLinkContentConfiguration' {} a -> s {customIconContent = a} :: TableFieldLinkContentConfiguration)++-- | The custom text content (value, font configuration) for the table link+-- content configuration.+tableFieldLinkContentConfiguration_customTextContent :: Lens.Lens' TableFieldLinkContentConfiguration (Prelude.Maybe TableFieldCustomTextContent)+tableFieldLinkContentConfiguration_customTextContent = Lens.lens (\TableFieldLinkContentConfiguration' {customTextContent} -> customTextContent) (\s@TableFieldLinkContentConfiguration' {} a -> s {customTextContent = a} :: TableFieldLinkContentConfiguration)++instance+  Data.FromJSON+    TableFieldLinkContentConfiguration+  where+  parseJSON =+    Data.withObject+      "TableFieldLinkContentConfiguration"+      ( \x ->+          TableFieldLinkContentConfiguration'+            Prelude.<$> (x Data..:? "CustomIconContent")+            Prelude.<*> (x Data..:? "CustomTextContent")+      )++instance+  Prelude.Hashable+    TableFieldLinkContentConfiguration+  where+  hashWithSalt+    _salt+    TableFieldLinkContentConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` customIconContent+        `Prelude.hashWithSalt` customTextContent++instance+  Prelude.NFData+    TableFieldLinkContentConfiguration+  where+  rnf TableFieldLinkContentConfiguration' {..} =+    Prelude.rnf customIconContent+      `Prelude.seq` Prelude.rnf customTextContent++instance+  Data.ToJSON+    TableFieldLinkContentConfiguration+  where+  toJSON TableFieldLinkContentConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomIconContent" Data..=)+              Prelude.<$> customIconContent,+            ("CustomTextContent" Data..=)+              Prelude.<$> customTextContent+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableFieldOption.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.QuickSight.Types.TableFieldOption+-- 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.QuickSight.Types.TableFieldOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TableFieldURLConfiguration+import Amazonka.QuickSight.Types.Visibility++-- | The options for a table field.+--+-- /See:/ 'newTableFieldOption' smart constructor.+data TableFieldOption = TableFieldOption'+  { -- | The custom label for a table field.+    customLabel :: Prelude.Maybe Prelude.Text,+    -- | The URL configuration for a table field.+    uRLStyling :: Prelude.Maybe TableFieldURLConfiguration,+    -- | The visibility of a table field.+    visibility :: Prelude.Maybe Visibility,+    -- | The width for a table field.+    width :: Prelude.Maybe Prelude.Text,+    -- | The field ID for a table field.+    fieldId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableFieldOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customLabel', 'tableFieldOption_customLabel' - The custom label for a table field.+--+-- 'uRLStyling', 'tableFieldOption_uRLStyling' - The URL configuration for a table field.+--+-- 'visibility', 'tableFieldOption_visibility' - The visibility of a table field.+--+-- 'width', 'tableFieldOption_width' - The width for a table field.+--+-- 'fieldId', 'tableFieldOption_fieldId' - The field ID for a table field.+newTableFieldOption ::+  -- | 'fieldId'+  Prelude.Text ->+  TableFieldOption+newTableFieldOption pFieldId_ =+  TableFieldOption'+    { customLabel = Prelude.Nothing,+      uRLStyling = Prelude.Nothing,+      visibility = Prelude.Nothing,+      width = Prelude.Nothing,+      fieldId = pFieldId_+    }++-- | The custom label for a table field.+tableFieldOption_customLabel :: Lens.Lens' TableFieldOption (Prelude.Maybe Prelude.Text)+tableFieldOption_customLabel = Lens.lens (\TableFieldOption' {customLabel} -> customLabel) (\s@TableFieldOption' {} a -> s {customLabel = a} :: TableFieldOption)++-- | The URL configuration for a table field.+tableFieldOption_uRLStyling :: Lens.Lens' TableFieldOption (Prelude.Maybe TableFieldURLConfiguration)+tableFieldOption_uRLStyling = Lens.lens (\TableFieldOption' {uRLStyling} -> uRLStyling) (\s@TableFieldOption' {} a -> s {uRLStyling = a} :: TableFieldOption)++-- | The visibility of a table field.+tableFieldOption_visibility :: Lens.Lens' TableFieldOption (Prelude.Maybe Visibility)+tableFieldOption_visibility = Lens.lens (\TableFieldOption' {visibility} -> visibility) (\s@TableFieldOption' {} a -> s {visibility = a} :: TableFieldOption)++-- | The width for a table field.+tableFieldOption_width :: Lens.Lens' TableFieldOption (Prelude.Maybe Prelude.Text)+tableFieldOption_width = Lens.lens (\TableFieldOption' {width} -> width) (\s@TableFieldOption' {} a -> s {width = a} :: TableFieldOption)++-- | The field ID for a table field.+tableFieldOption_fieldId :: Lens.Lens' TableFieldOption Prelude.Text+tableFieldOption_fieldId = Lens.lens (\TableFieldOption' {fieldId} -> fieldId) (\s@TableFieldOption' {} a -> s {fieldId = a} :: TableFieldOption)++instance Data.FromJSON TableFieldOption where+  parseJSON =+    Data.withObject+      "TableFieldOption"+      ( \x ->+          TableFieldOption'+            Prelude.<$> (x Data..:? "CustomLabel")+            Prelude.<*> (x Data..:? "URLStyling")+            Prelude.<*> (x Data..:? "Visibility")+            Prelude.<*> (x Data..:? "Width")+            Prelude.<*> (x Data..: "FieldId")+      )++instance Prelude.Hashable TableFieldOption where+  hashWithSalt _salt TableFieldOption' {..} =+    _salt+      `Prelude.hashWithSalt` customLabel+      `Prelude.hashWithSalt` uRLStyling+      `Prelude.hashWithSalt` visibility+      `Prelude.hashWithSalt` width+      `Prelude.hashWithSalt` fieldId++instance Prelude.NFData TableFieldOption where+  rnf TableFieldOption' {..} =+    Prelude.rnf customLabel+      `Prelude.seq` Prelude.rnf uRLStyling+      `Prelude.seq` Prelude.rnf visibility+      `Prelude.seq` Prelude.rnf width+      `Prelude.seq` Prelude.rnf fieldId++instance Data.ToJSON TableFieldOption where+  toJSON TableFieldOption' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomLabel" Data..=) Prelude.<$> customLabel,+            ("URLStyling" Data..=) Prelude.<$> uRLStyling,+            ("Visibility" Data..=) Prelude.<$> visibility,+            ("Width" Data..=) Prelude.<$> width,+            Prelude.Just ("FieldId" Data..= fieldId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableFieldOptions.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.QuickSight.Types.TableFieldOptions+-- 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.QuickSight.Types.TableFieldOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TableFieldOption++-- | The field options for a table visual.+--+-- /See:/ 'newTableFieldOptions' smart constructor.+data TableFieldOptions = TableFieldOptions'+  { -- | The order of field IDs of the field options for a table visual.+    order :: Prelude.Maybe [Prelude.Text],+    -- | The selected field options for the table field options.+    selectedFieldOptions :: Prelude.Maybe [TableFieldOption]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableFieldOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'order', 'tableFieldOptions_order' - The order of field IDs of the field options for a table visual.+--+-- 'selectedFieldOptions', 'tableFieldOptions_selectedFieldOptions' - The selected field options for the table field options.+newTableFieldOptions ::+  TableFieldOptions+newTableFieldOptions =+  TableFieldOptions'+    { order = Prelude.Nothing,+      selectedFieldOptions = Prelude.Nothing+    }++-- | The order of field IDs of the field options for a table visual.+tableFieldOptions_order :: Lens.Lens' TableFieldOptions (Prelude.Maybe [Prelude.Text])+tableFieldOptions_order = Lens.lens (\TableFieldOptions' {order} -> order) (\s@TableFieldOptions' {} a -> s {order = a} :: TableFieldOptions) Prelude.. Lens.mapping Lens.coerced++-- | The selected field options for the table field options.+tableFieldOptions_selectedFieldOptions :: Lens.Lens' TableFieldOptions (Prelude.Maybe [TableFieldOption])+tableFieldOptions_selectedFieldOptions = Lens.lens (\TableFieldOptions' {selectedFieldOptions} -> selectedFieldOptions) (\s@TableFieldOptions' {} a -> s {selectedFieldOptions = a} :: TableFieldOptions) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON TableFieldOptions where+  parseJSON =+    Data.withObject+      "TableFieldOptions"+      ( \x ->+          TableFieldOptions'+            Prelude.<$> (x Data..:? "Order" Data..!= Prelude.mempty)+            Prelude.<*> ( x+                            Data..:? "SelectedFieldOptions"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable TableFieldOptions where+  hashWithSalt _salt TableFieldOptions' {..} =+    _salt+      `Prelude.hashWithSalt` order+      `Prelude.hashWithSalt` selectedFieldOptions++instance Prelude.NFData TableFieldOptions where+  rnf TableFieldOptions' {..} =+    Prelude.rnf order+      `Prelude.seq` Prelude.rnf selectedFieldOptions++instance Data.ToJSON TableFieldOptions where+  toJSON TableFieldOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Order" Data..=) Prelude.<$> order,+            ("SelectedFieldOptions" Data..=)+              Prelude.<$> selectedFieldOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableFieldURLConfiguration.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.QuickSight.Types.TableFieldURLConfiguration+-- 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.QuickSight.Types.TableFieldURLConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TableFieldImageConfiguration+import Amazonka.QuickSight.Types.TableFieldLinkConfiguration++-- | The URL configuration for a table field.+--+-- /See:/ 'newTableFieldURLConfiguration' smart constructor.+data TableFieldURLConfiguration = TableFieldURLConfiguration'+  { -- | The image configuration of a table field URL.+    imageConfiguration :: Prelude.Maybe TableFieldImageConfiguration,+    -- | The link configuration of a table field URL.+    linkConfiguration :: Prelude.Maybe TableFieldLinkConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableFieldURLConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'imageConfiguration', 'tableFieldURLConfiguration_imageConfiguration' - The image configuration of a table field URL.+--+-- 'linkConfiguration', 'tableFieldURLConfiguration_linkConfiguration' - The link configuration of a table field URL.+newTableFieldURLConfiguration ::+  TableFieldURLConfiguration+newTableFieldURLConfiguration =+  TableFieldURLConfiguration'+    { imageConfiguration =+        Prelude.Nothing,+      linkConfiguration = Prelude.Nothing+    }++-- | The image configuration of a table field URL.+tableFieldURLConfiguration_imageConfiguration :: Lens.Lens' TableFieldURLConfiguration (Prelude.Maybe TableFieldImageConfiguration)+tableFieldURLConfiguration_imageConfiguration = Lens.lens (\TableFieldURLConfiguration' {imageConfiguration} -> imageConfiguration) (\s@TableFieldURLConfiguration' {} a -> s {imageConfiguration = a} :: TableFieldURLConfiguration)++-- | The link configuration of a table field URL.+tableFieldURLConfiguration_linkConfiguration :: Lens.Lens' TableFieldURLConfiguration (Prelude.Maybe TableFieldLinkConfiguration)+tableFieldURLConfiguration_linkConfiguration = Lens.lens (\TableFieldURLConfiguration' {linkConfiguration} -> linkConfiguration) (\s@TableFieldURLConfiguration' {} a -> s {linkConfiguration = a} :: TableFieldURLConfiguration)++instance Data.FromJSON TableFieldURLConfiguration where+  parseJSON =+    Data.withObject+      "TableFieldURLConfiguration"+      ( \x ->+          TableFieldURLConfiguration'+            Prelude.<$> (x Data..:? "ImageConfiguration")+            Prelude.<*> (x Data..:? "LinkConfiguration")+      )++instance Prelude.Hashable TableFieldURLConfiguration where+  hashWithSalt _salt TableFieldURLConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` imageConfiguration+      `Prelude.hashWithSalt` linkConfiguration++instance Prelude.NFData TableFieldURLConfiguration where+  rnf TableFieldURLConfiguration' {..} =+    Prelude.rnf imageConfiguration+      `Prelude.seq` Prelude.rnf linkConfiguration++instance Data.ToJSON TableFieldURLConfiguration where+  toJSON TableFieldURLConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ImageConfiguration" Data..=)+              Prelude.<$> imageConfiguration,+            ("LinkConfiguration" Data..=)+              Prelude.<$> linkConfiguration+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableFieldWells.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.QuickSight.Types.TableFieldWells+-- 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.QuickSight.Types.TableFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TableAggregatedFieldWells+import Amazonka.QuickSight.Types.TableUnaggregatedFieldWells++-- | The field wells for a table visual.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newTableFieldWells' smart constructor.+data TableFieldWells = TableFieldWells'+  { -- | The aggregated field well for the table.+    tableAggregatedFieldWells :: Prelude.Maybe TableAggregatedFieldWells,+    -- | The unaggregated field well for the table.+    tableUnaggregatedFieldWells :: Prelude.Maybe TableUnaggregatedFieldWells+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tableAggregatedFieldWells', 'tableFieldWells_tableAggregatedFieldWells' - The aggregated field well for the table.+--+-- 'tableUnaggregatedFieldWells', 'tableFieldWells_tableUnaggregatedFieldWells' - The unaggregated field well for the table.+newTableFieldWells ::+  TableFieldWells+newTableFieldWells =+  TableFieldWells'+    { tableAggregatedFieldWells =+        Prelude.Nothing,+      tableUnaggregatedFieldWells = Prelude.Nothing+    }++-- | The aggregated field well for the table.+tableFieldWells_tableAggregatedFieldWells :: Lens.Lens' TableFieldWells (Prelude.Maybe TableAggregatedFieldWells)+tableFieldWells_tableAggregatedFieldWells = Lens.lens (\TableFieldWells' {tableAggregatedFieldWells} -> tableAggregatedFieldWells) (\s@TableFieldWells' {} a -> s {tableAggregatedFieldWells = a} :: TableFieldWells)++-- | The unaggregated field well for the table.+tableFieldWells_tableUnaggregatedFieldWells :: Lens.Lens' TableFieldWells (Prelude.Maybe TableUnaggregatedFieldWells)+tableFieldWells_tableUnaggregatedFieldWells = Lens.lens (\TableFieldWells' {tableUnaggregatedFieldWells} -> tableUnaggregatedFieldWells) (\s@TableFieldWells' {} a -> s {tableUnaggregatedFieldWells = a} :: TableFieldWells)++instance Data.FromJSON TableFieldWells where+  parseJSON =+    Data.withObject+      "TableFieldWells"+      ( \x ->+          TableFieldWells'+            Prelude.<$> (x Data..:? "TableAggregatedFieldWells")+            Prelude.<*> (x Data..:? "TableUnaggregatedFieldWells")+      )++instance Prelude.Hashable TableFieldWells where+  hashWithSalt _salt TableFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` tableAggregatedFieldWells+      `Prelude.hashWithSalt` tableUnaggregatedFieldWells++instance Prelude.NFData TableFieldWells where+  rnf TableFieldWells' {..} =+    Prelude.rnf tableAggregatedFieldWells+      `Prelude.seq` Prelude.rnf tableUnaggregatedFieldWells++instance Data.ToJSON TableFieldWells where+  toJSON TableFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TableAggregatedFieldWells" Data..=)+              Prelude.<$> tableAggregatedFieldWells,+            ("TableUnaggregatedFieldWells" Data..=)+              Prelude.<$> tableUnaggregatedFieldWells+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableOptions.hs view
@@ -0,0 +1,126 @@+{-# 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.QuickSight.Types.TableOptions+-- 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.QuickSight.Types.TableOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.RowAlternateColorOptions+import Amazonka.QuickSight.Types.TableCellStyle+import Amazonka.QuickSight.Types.TableOrientation++-- | The table options for a table visual.+--+-- /See:/ 'newTableOptions' smart constructor.+data TableOptions = TableOptions'+  { -- | The table cell style of table cells.+    cellStyle :: Prelude.Maybe TableCellStyle,+    -- | The table cell style of a table header.+    headerStyle :: Prelude.Maybe TableCellStyle,+    -- | The orientation (vertical, horizontal) for a table.+    orientation :: Prelude.Maybe TableOrientation,+    -- | The row alternate color options (widget status, row alternate colors)+    -- for a table.+    rowAlternateColorOptions :: Prelude.Maybe RowAlternateColorOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cellStyle', 'tableOptions_cellStyle' - The table cell style of table cells.+--+-- 'headerStyle', 'tableOptions_headerStyle' - The table cell style of a table header.+--+-- 'orientation', 'tableOptions_orientation' - The orientation (vertical, horizontal) for a table.+--+-- 'rowAlternateColorOptions', 'tableOptions_rowAlternateColorOptions' - The row alternate color options (widget status, row alternate colors)+-- for a table.+newTableOptions ::+  TableOptions+newTableOptions =+  TableOptions'+    { cellStyle = Prelude.Nothing,+      headerStyle = Prelude.Nothing,+      orientation = Prelude.Nothing,+      rowAlternateColorOptions = Prelude.Nothing+    }++-- | The table cell style of table cells.+tableOptions_cellStyle :: Lens.Lens' TableOptions (Prelude.Maybe TableCellStyle)+tableOptions_cellStyle = Lens.lens (\TableOptions' {cellStyle} -> cellStyle) (\s@TableOptions' {} a -> s {cellStyle = a} :: TableOptions)++-- | The table cell style of a table header.+tableOptions_headerStyle :: Lens.Lens' TableOptions (Prelude.Maybe TableCellStyle)+tableOptions_headerStyle = Lens.lens (\TableOptions' {headerStyle} -> headerStyle) (\s@TableOptions' {} a -> s {headerStyle = a} :: TableOptions)++-- | The orientation (vertical, horizontal) for a table.+tableOptions_orientation :: Lens.Lens' TableOptions (Prelude.Maybe TableOrientation)+tableOptions_orientation = Lens.lens (\TableOptions' {orientation} -> orientation) (\s@TableOptions' {} a -> s {orientation = a} :: TableOptions)++-- | The row alternate color options (widget status, row alternate colors)+-- for a table.+tableOptions_rowAlternateColorOptions :: Lens.Lens' TableOptions (Prelude.Maybe RowAlternateColorOptions)+tableOptions_rowAlternateColorOptions = Lens.lens (\TableOptions' {rowAlternateColorOptions} -> rowAlternateColorOptions) (\s@TableOptions' {} a -> s {rowAlternateColorOptions = a} :: TableOptions)++instance Data.FromJSON TableOptions where+  parseJSON =+    Data.withObject+      "TableOptions"+      ( \x ->+          TableOptions'+            Prelude.<$> (x Data..:? "CellStyle")+            Prelude.<*> (x Data..:? "HeaderStyle")+            Prelude.<*> (x Data..:? "Orientation")+            Prelude.<*> (x Data..:? "RowAlternateColorOptions")+      )++instance Prelude.Hashable TableOptions where+  hashWithSalt _salt TableOptions' {..} =+    _salt+      `Prelude.hashWithSalt` cellStyle+      `Prelude.hashWithSalt` headerStyle+      `Prelude.hashWithSalt` orientation+      `Prelude.hashWithSalt` rowAlternateColorOptions++instance Prelude.NFData TableOptions where+  rnf TableOptions' {..} =+    Prelude.rnf cellStyle+      `Prelude.seq` Prelude.rnf headerStyle+      `Prelude.seq` Prelude.rnf orientation+      `Prelude.seq` Prelude.rnf rowAlternateColorOptions++instance Data.ToJSON TableOptions where+  toJSON TableOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CellStyle" Data..=) Prelude.<$> cellStyle,+            ("HeaderStyle" Data..=) Prelude.<$> headerStyle,+            ("Orientation" Data..=) Prelude.<$> orientation,+            ("RowAlternateColorOptions" Data..=)+              Prelude.<$> rowAlternateColorOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableOrientation.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.QuickSight.Types.TableOrientation+-- 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.QuickSight.Types.TableOrientation+  ( TableOrientation+      ( ..,+        TableOrientation_HORIZONTAL,+        TableOrientation_VERTICAL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TableOrientation = TableOrientation'+  { fromTableOrientation ::+      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 TableOrientation_HORIZONTAL :: TableOrientation+pattern TableOrientation_HORIZONTAL = TableOrientation' "HORIZONTAL"++pattern TableOrientation_VERTICAL :: TableOrientation+pattern TableOrientation_VERTICAL = TableOrientation' "VERTICAL"++{-# COMPLETE+  TableOrientation_HORIZONTAL,+  TableOrientation_VERTICAL,+  TableOrientation'+  #-}
+ gen/Amazonka/QuickSight/Types/TablePaginatedReportOptions.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TablePaginatedReportOptions+-- 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.QuickSight.Types.TablePaginatedReportOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The paginated report options for a table visual.+--+-- /See:/ 'newTablePaginatedReportOptions' smart constructor.+data TablePaginatedReportOptions = TablePaginatedReportOptions'+  { -- | The visibility of repeating header rows on each page.+    overflowColumnHeaderVisibility :: Prelude.Maybe Visibility,+    -- | The visibility of printing table overflow across pages.+    verticalOverflowVisibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TablePaginatedReportOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'overflowColumnHeaderVisibility', 'tablePaginatedReportOptions_overflowColumnHeaderVisibility' - The visibility of repeating header rows on each page.+--+-- 'verticalOverflowVisibility', 'tablePaginatedReportOptions_verticalOverflowVisibility' - The visibility of printing table overflow across pages.+newTablePaginatedReportOptions ::+  TablePaginatedReportOptions+newTablePaginatedReportOptions =+  TablePaginatedReportOptions'+    { overflowColumnHeaderVisibility =+        Prelude.Nothing,+      verticalOverflowVisibility = Prelude.Nothing+    }++-- | The visibility of repeating header rows on each page.+tablePaginatedReportOptions_overflowColumnHeaderVisibility :: Lens.Lens' TablePaginatedReportOptions (Prelude.Maybe Visibility)+tablePaginatedReportOptions_overflowColumnHeaderVisibility = Lens.lens (\TablePaginatedReportOptions' {overflowColumnHeaderVisibility} -> overflowColumnHeaderVisibility) (\s@TablePaginatedReportOptions' {} a -> s {overflowColumnHeaderVisibility = a} :: TablePaginatedReportOptions)++-- | The visibility of printing table overflow across pages.+tablePaginatedReportOptions_verticalOverflowVisibility :: Lens.Lens' TablePaginatedReportOptions (Prelude.Maybe Visibility)+tablePaginatedReportOptions_verticalOverflowVisibility = Lens.lens (\TablePaginatedReportOptions' {verticalOverflowVisibility} -> verticalOverflowVisibility) (\s@TablePaginatedReportOptions' {} a -> s {verticalOverflowVisibility = a} :: TablePaginatedReportOptions)++instance Data.FromJSON TablePaginatedReportOptions where+  parseJSON =+    Data.withObject+      "TablePaginatedReportOptions"+      ( \x ->+          TablePaginatedReportOptions'+            Prelude.<$> (x Data..:? "OverflowColumnHeaderVisibility")+            Prelude.<*> (x Data..:? "VerticalOverflowVisibility")+      )++instance Prelude.Hashable TablePaginatedReportOptions where+  hashWithSalt _salt TablePaginatedReportOptions' {..} =+    _salt+      `Prelude.hashWithSalt` overflowColumnHeaderVisibility+      `Prelude.hashWithSalt` verticalOverflowVisibility++instance Prelude.NFData TablePaginatedReportOptions where+  rnf TablePaginatedReportOptions' {..} =+    Prelude.rnf overflowColumnHeaderVisibility+      `Prelude.seq` Prelude.rnf verticalOverflowVisibility++instance Data.ToJSON TablePaginatedReportOptions where+  toJSON TablePaginatedReportOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("OverflowColumnHeaderVisibility" Data..=)+              Prelude.<$> overflowColumnHeaderVisibility,+            ("VerticalOverflowVisibility" Data..=)+              Prelude.<$> verticalOverflowVisibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableRowConditionalFormatting.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.QuickSight.Types.TableRowConditionalFormatting+-- 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.QuickSight.Types.TableRowConditionalFormatting where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ConditionalFormattingColor++-- | The conditional formatting of a table row.+--+-- /See:/ 'newTableRowConditionalFormatting' smart constructor.+data TableRowConditionalFormatting = TableRowConditionalFormatting'+  { -- | The conditional formatting color (solid, gradient) of the background for+    -- a table row.+    backgroundColor :: Prelude.Maybe ConditionalFormattingColor,+    -- | The conditional formatting color (solid, gradient) of the text for a+    -- table row.+    textColor :: Prelude.Maybe ConditionalFormattingColor+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableRowConditionalFormatting' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'backgroundColor', 'tableRowConditionalFormatting_backgroundColor' - The conditional formatting color (solid, gradient) of the background for+-- a table row.+--+-- 'textColor', 'tableRowConditionalFormatting_textColor' - The conditional formatting color (solid, gradient) of the text for a+-- table row.+newTableRowConditionalFormatting ::+  TableRowConditionalFormatting+newTableRowConditionalFormatting =+  TableRowConditionalFormatting'+    { backgroundColor =+        Prelude.Nothing,+      textColor = Prelude.Nothing+    }++-- | The conditional formatting color (solid, gradient) of the background for+-- a table row.+tableRowConditionalFormatting_backgroundColor :: Lens.Lens' TableRowConditionalFormatting (Prelude.Maybe ConditionalFormattingColor)+tableRowConditionalFormatting_backgroundColor = Lens.lens (\TableRowConditionalFormatting' {backgroundColor} -> backgroundColor) (\s@TableRowConditionalFormatting' {} a -> s {backgroundColor = a} :: TableRowConditionalFormatting)++-- | The conditional formatting color (solid, gradient) of the text for a+-- table row.+tableRowConditionalFormatting_textColor :: Lens.Lens' TableRowConditionalFormatting (Prelude.Maybe ConditionalFormattingColor)+tableRowConditionalFormatting_textColor = Lens.lens (\TableRowConditionalFormatting' {textColor} -> textColor) (\s@TableRowConditionalFormatting' {} a -> s {textColor = a} :: TableRowConditionalFormatting)++instance Data.FromJSON TableRowConditionalFormatting where+  parseJSON =+    Data.withObject+      "TableRowConditionalFormatting"+      ( \x ->+          TableRowConditionalFormatting'+            Prelude.<$> (x Data..:? "BackgroundColor")+            Prelude.<*> (x Data..:? "TextColor")+      )++instance+  Prelude.Hashable+    TableRowConditionalFormatting+  where+  hashWithSalt _salt TableRowConditionalFormatting' {..} =+    _salt+      `Prelude.hashWithSalt` backgroundColor+      `Prelude.hashWithSalt` textColor++instance Prelude.NFData TableRowConditionalFormatting where+  rnf TableRowConditionalFormatting' {..} =+    Prelude.rnf backgroundColor+      `Prelude.seq` Prelude.rnf textColor++instance Data.ToJSON TableRowConditionalFormatting where+  toJSON TableRowConditionalFormatting' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BackgroundColor" Data..=)+              Prelude.<$> backgroundColor,+            ("TextColor" Data..=) Prelude.<$> textColor+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableSideBorderOptions.hs view
@@ -0,0 +1,147 @@+{-# 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.QuickSight.Types.TableSideBorderOptions+-- 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.QuickSight.Types.TableSideBorderOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TableBorderOptions++-- | The side border options for a table.+--+-- /See:/ 'newTableSideBorderOptions' smart constructor.+data TableSideBorderOptions = TableSideBorderOptions'+  { -- | The table border options of the bottom border.+    bottom :: Prelude.Maybe TableBorderOptions,+    -- | The table border options of the inner horizontal border.+    innerHorizontal :: Prelude.Maybe TableBorderOptions,+    -- | The table border options of the inner vertical border.+    innerVertical :: Prelude.Maybe TableBorderOptions,+    -- | The table border options of the left border.+    left :: Prelude.Maybe TableBorderOptions,+    -- | The table border options of the right border.+    right :: Prelude.Maybe TableBorderOptions,+    -- | The table border options of the top border.+    top :: Prelude.Maybe TableBorderOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableSideBorderOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bottom', 'tableSideBorderOptions_bottom' - The table border options of the bottom border.+--+-- 'innerHorizontal', 'tableSideBorderOptions_innerHorizontal' - The table border options of the inner horizontal border.+--+-- 'innerVertical', 'tableSideBorderOptions_innerVertical' - The table border options of the inner vertical border.+--+-- 'left', 'tableSideBorderOptions_left' - The table border options of the left border.+--+-- 'right', 'tableSideBorderOptions_right' - The table border options of the right border.+--+-- 'top', 'tableSideBorderOptions_top' - The table border options of the top border.+newTableSideBorderOptions ::+  TableSideBorderOptions+newTableSideBorderOptions =+  TableSideBorderOptions'+    { bottom = Prelude.Nothing,+      innerHorizontal = Prelude.Nothing,+      innerVertical = Prelude.Nothing,+      left = Prelude.Nothing,+      right = Prelude.Nothing,+      top = Prelude.Nothing+    }++-- | The table border options of the bottom border.+tableSideBorderOptions_bottom :: Lens.Lens' TableSideBorderOptions (Prelude.Maybe TableBorderOptions)+tableSideBorderOptions_bottom = Lens.lens (\TableSideBorderOptions' {bottom} -> bottom) (\s@TableSideBorderOptions' {} a -> s {bottom = a} :: TableSideBorderOptions)++-- | The table border options of the inner horizontal border.+tableSideBorderOptions_innerHorizontal :: Lens.Lens' TableSideBorderOptions (Prelude.Maybe TableBorderOptions)+tableSideBorderOptions_innerHorizontal = Lens.lens (\TableSideBorderOptions' {innerHorizontal} -> innerHorizontal) (\s@TableSideBorderOptions' {} a -> s {innerHorizontal = a} :: TableSideBorderOptions)++-- | The table border options of the inner vertical border.+tableSideBorderOptions_innerVertical :: Lens.Lens' TableSideBorderOptions (Prelude.Maybe TableBorderOptions)+tableSideBorderOptions_innerVertical = Lens.lens (\TableSideBorderOptions' {innerVertical} -> innerVertical) (\s@TableSideBorderOptions' {} a -> s {innerVertical = a} :: TableSideBorderOptions)++-- | The table border options of the left border.+tableSideBorderOptions_left :: Lens.Lens' TableSideBorderOptions (Prelude.Maybe TableBorderOptions)+tableSideBorderOptions_left = Lens.lens (\TableSideBorderOptions' {left} -> left) (\s@TableSideBorderOptions' {} a -> s {left = a} :: TableSideBorderOptions)++-- | The table border options of the right border.+tableSideBorderOptions_right :: Lens.Lens' TableSideBorderOptions (Prelude.Maybe TableBorderOptions)+tableSideBorderOptions_right = Lens.lens (\TableSideBorderOptions' {right} -> right) (\s@TableSideBorderOptions' {} a -> s {right = a} :: TableSideBorderOptions)++-- | The table border options of the top border.+tableSideBorderOptions_top :: Lens.Lens' TableSideBorderOptions (Prelude.Maybe TableBorderOptions)+tableSideBorderOptions_top = Lens.lens (\TableSideBorderOptions' {top} -> top) (\s@TableSideBorderOptions' {} a -> s {top = a} :: TableSideBorderOptions)++instance Data.FromJSON TableSideBorderOptions where+  parseJSON =+    Data.withObject+      "TableSideBorderOptions"+      ( \x ->+          TableSideBorderOptions'+            Prelude.<$> (x Data..:? "Bottom")+            Prelude.<*> (x Data..:? "InnerHorizontal")+            Prelude.<*> (x Data..:? "InnerVertical")+            Prelude.<*> (x Data..:? "Left")+            Prelude.<*> (x Data..:? "Right")+            Prelude.<*> (x Data..:? "Top")+      )++instance Prelude.Hashable TableSideBorderOptions where+  hashWithSalt _salt TableSideBorderOptions' {..} =+    _salt+      `Prelude.hashWithSalt` bottom+      `Prelude.hashWithSalt` innerHorizontal+      `Prelude.hashWithSalt` innerVertical+      `Prelude.hashWithSalt` left+      `Prelude.hashWithSalt` right+      `Prelude.hashWithSalt` top++instance Prelude.NFData TableSideBorderOptions where+  rnf TableSideBorderOptions' {..} =+    Prelude.rnf bottom+      `Prelude.seq` Prelude.rnf innerHorizontal+      `Prelude.seq` Prelude.rnf innerVertical+      `Prelude.seq` Prelude.rnf left+      `Prelude.seq` Prelude.rnf right+      `Prelude.seq` Prelude.rnf top++instance Data.ToJSON TableSideBorderOptions where+  toJSON TableSideBorderOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Bottom" Data..=) Prelude.<$> bottom,+            ("InnerHorizontal" Data..=)+              Prelude.<$> innerHorizontal,+            ("InnerVertical" Data..=) Prelude.<$> innerVertical,+            ("Left" Data..=) Prelude.<$> left,+            ("Right" Data..=) Prelude.<$> right,+            ("Top" Data..=) Prelude.<$> top+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableSortConfiguration.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TableSortConfiguration+-- 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.QuickSight.Types.TableSortConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FieldSortOptions+import Amazonka.QuickSight.Types.PaginationConfiguration++-- | The sort configuration for a @TableVisual@.+--+-- /See:/ 'newTableSortConfiguration' smart constructor.+data TableSortConfiguration = TableSortConfiguration'+  { -- | The pagination configuration (page size, page number) for the table.+    paginationConfiguration :: Prelude.Maybe PaginationConfiguration,+    -- | The field sort options for rows in the table.+    rowSort :: Prelude.Maybe [FieldSortOptions]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableSortConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'paginationConfiguration', 'tableSortConfiguration_paginationConfiguration' - The pagination configuration (page size, page number) for the table.+--+-- 'rowSort', 'tableSortConfiguration_rowSort' - The field sort options for rows in the table.+newTableSortConfiguration ::+  TableSortConfiguration+newTableSortConfiguration =+  TableSortConfiguration'+    { paginationConfiguration =+        Prelude.Nothing,+      rowSort = Prelude.Nothing+    }++-- | The pagination configuration (page size, page number) for the table.+tableSortConfiguration_paginationConfiguration :: Lens.Lens' TableSortConfiguration (Prelude.Maybe PaginationConfiguration)+tableSortConfiguration_paginationConfiguration = Lens.lens (\TableSortConfiguration' {paginationConfiguration} -> paginationConfiguration) (\s@TableSortConfiguration' {} a -> s {paginationConfiguration = a} :: TableSortConfiguration)++-- | The field sort options for rows in the table.+tableSortConfiguration_rowSort :: Lens.Lens' TableSortConfiguration (Prelude.Maybe [FieldSortOptions])+tableSortConfiguration_rowSort = Lens.lens (\TableSortConfiguration' {rowSort} -> rowSort) (\s@TableSortConfiguration' {} a -> s {rowSort = a} :: TableSortConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON TableSortConfiguration where+  parseJSON =+    Data.withObject+      "TableSortConfiguration"+      ( \x ->+          TableSortConfiguration'+            Prelude.<$> (x Data..:? "PaginationConfiguration")+            Prelude.<*> (x Data..:? "RowSort" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable TableSortConfiguration where+  hashWithSalt _salt TableSortConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` paginationConfiguration+      `Prelude.hashWithSalt` rowSort++instance Prelude.NFData TableSortConfiguration where+  rnf TableSortConfiguration' {..} =+    Prelude.rnf paginationConfiguration+      `Prelude.seq` Prelude.rnf rowSort++instance Data.ToJSON TableSortConfiguration where+  toJSON TableSortConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PaginationConfiguration" Data..=)+              Prelude.<$> paginationConfiguration,+            ("RowSort" Data..=) Prelude.<$> rowSort+          ]+      )
+ gen/Amazonka/QuickSight/Types/TableTotalsPlacement.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.QuickSight.Types.TableTotalsPlacement+-- 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.QuickSight.Types.TableTotalsPlacement+  ( TableTotalsPlacement+      ( ..,+        TableTotalsPlacement_END,+        TableTotalsPlacement_START+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TableTotalsPlacement = TableTotalsPlacement'+  { fromTableTotalsPlacement ::+      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 TableTotalsPlacement_END :: TableTotalsPlacement+pattern TableTotalsPlacement_END = TableTotalsPlacement' "END"++pattern TableTotalsPlacement_START :: TableTotalsPlacement+pattern TableTotalsPlacement_START = TableTotalsPlacement' "START"++{-# COMPLETE+  TableTotalsPlacement_END,+  TableTotalsPlacement_START,+  TableTotalsPlacement'+  #-}
+ gen/Amazonka/QuickSight/Types/TableTotalsScrollStatus.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.QuickSight.Types.TableTotalsScrollStatus+-- 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.QuickSight.Types.TableTotalsScrollStatus+  ( TableTotalsScrollStatus+      ( ..,+        TableTotalsScrollStatus_PINNED,+        TableTotalsScrollStatus_SCROLLED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TableTotalsScrollStatus = TableTotalsScrollStatus'+  { fromTableTotalsScrollStatus ::+      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 TableTotalsScrollStatus_PINNED :: TableTotalsScrollStatus+pattern TableTotalsScrollStatus_PINNED = TableTotalsScrollStatus' "PINNED"++pattern TableTotalsScrollStatus_SCROLLED :: TableTotalsScrollStatus+pattern TableTotalsScrollStatus_SCROLLED = TableTotalsScrollStatus' "SCROLLED"++{-# COMPLETE+  TableTotalsScrollStatus_PINNED,+  TableTotalsScrollStatus_SCROLLED,+  TableTotalsScrollStatus'+  #-}
+ gen/Amazonka/QuickSight/Types/TableUnaggregatedFieldWells.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TableUnaggregatedFieldWells+-- 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.QuickSight.Types.TableUnaggregatedFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.UnaggregatedField++-- | The unaggregated field well for the table.+--+-- /See:/ 'newTableUnaggregatedFieldWells' smart constructor.+data TableUnaggregatedFieldWells = TableUnaggregatedFieldWells'+  { -- | The values field well for a pivot table. Values are unaggregated for an+    -- unaggregated table.+    values :: Prelude.Maybe [UnaggregatedField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableUnaggregatedFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'values', 'tableUnaggregatedFieldWells_values' - The values field well for a pivot table. Values are unaggregated for an+-- unaggregated table.+newTableUnaggregatedFieldWells ::+  TableUnaggregatedFieldWells+newTableUnaggregatedFieldWells =+  TableUnaggregatedFieldWells'+    { values =+        Prelude.Nothing+    }++-- | The values field well for a pivot table. Values are unaggregated for an+-- unaggregated table.+tableUnaggregatedFieldWells_values :: Lens.Lens' TableUnaggregatedFieldWells (Prelude.Maybe [UnaggregatedField])+tableUnaggregatedFieldWells_values = Lens.lens (\TableUnaggregatedFieldWells' {values} -> values) (\s@TableUnaggregatedFieldWells' {} a -> s {values = a} :: TableUnaggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON TableUnaggregatedFieldWells where+  parseJSON =+    Data.withObject+      "TableUnaggregatedFieldWells"+      ( \x ->+          TableUnaggregatedFieldWells'+            Prelude.<$> (x Data..:? "Values" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable TableUnaggregatedFieldWells where+  hashWithSalt _salt TableUnaggregatedFieldWells' {..} =+    _salt `Prelude.hashWithSalt` values++instance Prelude.NFData TableUnaggregatedFieldWells where+  rnf TableUnaggregatedFieldWells' {..} =+    Prelude.rnf values++instance Data.ToJSON TableUnaggregatedFieldWells where+  toJSON TableUnaggregatedFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Values" Data..=) Prelude.<$> values]+      )
+ gen/Amazonka/QuickSight/Types/TableVisual.hs view
@@ -0,0 +1,164 @@+{-# 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.QuickSight.Types.TableVisual+-- 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.QuickSight.Types.TableVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TableConditionalFormatting+import Amazonka.QuickSight.Types.TableConfiguration+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions++-- | A table visual.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/tabular.html Using tables as visuals>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newTableVisual' smart constructor.+data TableVisual = TableVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration settings of the visual.+    chartConfiguration :: Prelude.Maybe TableConfiguration,+    -- | The conditional formatting for a @PivotTableVisual@.+    conditionalFormatting :: Prelude.Maybe TableConditionalFormatting,+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers..+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TableVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'tableVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'tableVisual_chartConfiguration' - The configuration settings of the visual.+--+-- 'conditionalFormatting', 'tableVisual_conditionalFormatting' - The conditional formatting for a @PivotTableVisual@.+--+-- 'subtitle', 'tableVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'tableVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'tableVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers..+newTableVisual ::+  -- | 'visualId'+  Prelude.Text ->+  TableVisual+newTableVisual pVisualId_ =+  TableVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      conditionalFormatting = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_+    }++-- | The list of custom actions that are configured for a visual.+tableVisual_actions :: Lens.Lens' TableVisual (Prelude.Maybe [VisualCustomAction])+tableVisual_actions = Lens.lens (\TableVisual' {actions} -> actions) (\s@TableVisual' {} a -> s {actions = a} :: TableVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration settings of the visual.+tableVisual_chartConfiguration :: Lens.Lens' TableVisual (Prelude.Maybe TableConfiguration)+tableVisual_chartConfiguration = Lens.lens (\TableVisual' {chartConfiguration} -> chartConfiguration) (\s@TableVisual' {} a -> s {chartConfiguration = a} :: TableVisual)++-- | The conditional formatting for a @PivotTableVisual@.+tableVisual_conditionalFormatting :: Lens.Lens' TableVisual (Prelude.Maybe TableConditionalFormatting)+tableVisual_conditionalFormatting = Lens.lens (\TableVisual' {conditionalFormatting} -> conditionalFormatting) (\s@TableVisual' {} a -> s {conditionalFormatting = a} :: TableVisual)++-- | The subtitle that is displayed on the visual.+tableVisual_subtitle :: Lens.Lens' TableVisual (Prelude.Maybe VisualSubtitleLabelOptions)+tableVisual_subtitle = Lens.lens (\TableVisual' {subtitle} -> subtitle) (\s@TableVisual' {} a -> s {subtitle = a} :: TableVisual)++-- | The title that is displayed on the visual.+tableVisual_title :: Lens.Lens' TableVisual (Prelude.Maybe VisualTitleLabelOptions)+tableVisual_title = Lens.lens (\TableVisual' {title} -> title) (\s@TableVisual' {} a -> s {title = a} :: TableVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers..+tableVisual_visualId :: Lens.Lens' TableVisual Prelude.Text+tableVisual_visualId = Lens.lens (\TableVisual' {visualId} -> visualId) (\s@TableVisual' {} a -> s {visualId = a} :: TableVisual)++instance Data.FromJSON TableVisual where+  parseJSON =+    Data.withObject+      "TableVisual"+      ( \x ->+          TableVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> (x Data..:? "ConditionalFormatting")+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+      )++instance Prelude.Hashable TableVisual where+  hashWithSalt _salt TableVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` conditionalFormatting+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData TableVisual where+  rnf TableVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf conditionalFormatting+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON TableVisual where+  toJSON TableVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("ConditionalFormatting" Data..=)+              Prelude.<$> conditionalFormatting,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/Tag.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.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.QuickSight.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++-- | The key or keys of the key-value pairs for the resource tag or tags+-- assigned to the resource.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+  { -- | Tag key.+    key :: Prelude.Text,+    -- | Tag value.+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - Tag key.+--+-- 'value', 'tag_value' - Tag value.+newTag ::+  -- | 'key'+  Prelude.Text ->+  -- | 'value'+  Prelude.Text ->+  Tag+newTag pKey_ pValue_ =+  Tag' {key = pKey_, value = pValue_}++-- | Tag key.+tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | Tag value.+tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag)++instance Data.FromJSON Tag where+  parseJSON =+    Data.withObject+      "Tag"+      ( \x ->+          Tag'+            Prelude.<$> (x Data..: "Key")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable Tag where+  hashWithSalt _salt Tag' {..} =+    _salt+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+  rnf Tag' {..} =+    Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+  toJSON Tag' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Key" Data..= key),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/QuickSight/Types/TagColumnOperation.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.QuickSight.Types.TagColumnOperation+-- 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.QuickSight.Types.TagColumnOperation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnTag++-- | A transform operation that tags a column with additional information.+--+-- /See:/ 'newTagColumnOperation' smart constructor.+data TagColumnOperation = TagColumnOperation'+  { -- | The column that this operation acts on.+    columnName :: Prelude.Text,+    -- | The dataset column tag, currently only used for geospatial type tagging.+    --+    -- This is not tags for the Amazon Web Services tagging feature.+    tags :: Prelude.NonEmpty ColumnTag+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagColumnOperation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columnName', 'tagColumnOperation_columnName' - The column that this operation acts on.+--+-- 'tags', 'tagColumnOperation_tags' - The dataset column tag, currently only used for geospatial type tagging.+--+-- This is not tags for the Amazon Web Services tagging feature.+newTagColumnOperation ::+  -- | 'columnName'+  Prelude.Text ->+  -- | 'tags'+  Prelude.NonEmpty ColumnTag ->+  TagColumnOperation+newTagColumnOperation pColumnName_ pTags_ =+  TagColumnOperation'+    { columnName = pColumnName_,+      tags = Lens.coerced Lens.# pTags_+    }++-- | The column that this operation acts on.+tagColumnOperation_columnName :: Lens.Lens' TagColumnOperation Prelude.Text+tagColumnOperation_columnName = Lens.lens (\TagColumnOperation' {columnName} -> columnName) (\s@TagColumnOperation' {} a -> s {columnName = a} :: TagColumnOperation)++-- | The dataset column tag, currently only used for geospatial type tagging.+--+-- This is not tags for the Amazon Web Services tagging feature.+tagColumnOperation_tags :: Lens.Lens' TagColumnOperation (Prelude.NonEmpty ColumnTag)+tagColumnOperation_tags = Lens.lens (\TagColumnOperation' {tags} -> tags) (\s@TagColumnOperation' {} a -> s {tags = a} :: TagColumnOperation) Prelude.. Lens.coerced++instance Data.FromJSON TagColumnOperation where+  parseJSON =+    Data.withObject+      "TagColumnOperation"+      ( \x ->+          TagColumnOperation'+            Prelude.<$> (x Data..: "ColumnName")+            Prelude.<*> (x Data..: "Tags")+      )++instance Prelude.Hashable TagColumnOperation where+  hashWithSalt _salt TagColumnOperation' {..} =+    _salt+      `Prelude.hashWithSalt` columnName+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagColumnOperation where+  rnf TagColumnOperation' {..} =+    Prelude.rnf columnName+      `Prelude.seq` Prelude.rnf tags++instance Data.ToJSON TagColumnOperation where+  toJSON TagColumnOperation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ColumnName" Data..= columnName),+            Prelude.Just ("Tags" Data..= tags)+          ]+      )
+ gen/Amazonka/QuickSight/Types/TargetVisualOptions.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TargetVisualOptions+-- 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.QuickSight.Types.TargetVisualOptions+  ( TargetVisualOptions+      ( ..,+        TargetVisualOptions_ALL_VISUALS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TargetVisualOptions = TargetVisualOptions'+  { fromTargetVisualOptions ::+      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 TargetVisualOptions_ALL_VISUALS :: TargetVisualOptions+pattern TargetVisualOptions_ALL_VISUALS = TargetVisualOptions' "ALL_VISUALS"++{-# COMPLETE+  TargetVisualOptions_ALL_VISUALS,+  TargetVisualOptions'+  #-}
+ gen/Amazonka/QuickSight/Types/Template.hs view
@@ -0,0 +1,146 @@+{-# 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.QuickSight.Types.Template+-- 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.QuickSight.Types.Template where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TemplateVersion++-- | A template object. A /template/ is an entity in Amazon QuickSight that+-- encapsulates the metadata required to create an analysis and that you+-- can use to create a dashboard. A template adds a layer of abstraction by+-- using placeholders to replace the dataset associated with an analysis.+-- You can use templates to create dashboards by replacing dataset+-- placeholders with datasets that follow the same schema that was used to+-- create the source analysis and template.+--+-- You can share templates across Amazon Web Services accounts by allowing+-- users in other Amazon Web Services accounts to create a template or a+-- dashboard from an existing template.+--+-- /See:/ 'newTemplate' smart constructor.+data Template = Template'+  { -- | The Amazon Resource Name (ARN) of the template.+    arn :: Prelude.Maybe Prelude.Text,+    -- | Time when this was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | Time when this was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The display name of the template.+    name :: Prelude.Maybe Prelude.Text,+    -- | The ID for the template. This is unique per Amazon Web Services Region+    -- for each Amazon Web Services account.+    templateId :: Prelude.Maybe Prelude.Text,+    -- | A structure describing the versions of the template.+    version :: Prelude.Maybe TemplateVersion+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Template' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'template_arn' - The Amazon Resource Name (ARN) of the template.+--+-- 'createdTime', 'template_createdTime' - Time when this was created.+--+-- 'lastUpdatedTime', 'template_lastUpdatedTime' - Time when this was last updated.+--+-- 'name', 'template_name' - The display name of the template.+--+-- 'templateId', 'template_templateId' - The ID for the template. This is unique per Amazon Web Services Region+-- for each Amazon Web Services account.+--+-- 'version', 'template_version' - A structure describing the versions of the template.+newTemplate ::+  Template+newTemplate =+  Template'+    { arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      templateId = Prelude.Nothing,+      version = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the template.+template_arn :: Lens.Lens' Template (Prelude.Maybe Prelude.Text)+template_arn = Lens.lens (\Template' {arn} -> arn) (\s@Template' {} a -> s {arn = a} :: Template)++-- | Time when this was created.+template_createdTime :: Lens.Lens' Template (Prelude.Maybe Prelude.UTCTime)+template_createdTime = Lens.lens (\Template' {createdTime} -> createdTime) (\s@Template' {} a -> s {createdTime = a} :: Template) Prelude.. Lens.mapping Data._Time++-- | Time when this was last updated.+template_lastUpdatedTime :: Lens.Lens' Template (Prelude.Maybe Prelude.UTCTime)+template_lastUpdatedTime = Lens.lens (\Template' {lastUpdatedTime} -> lastUpdatedTime) (\s@Template' {} a -> s {lastUpdatedTime = a} :: Template) Prelude.. Lens.mapping Data._Time++-- | The display name of the template.+template_name :: Lens.Lens' Template (Prelude.Maybe Prelude.Text)+template_name = Lens.lens (\Template' {name} -> name) (\s@Template' {} a -> s {name = a} :: Template)++-- | The ID for the template. This is unique per Amazon Web Services Region+-- for each Amazon Web Services account.+template_templateId :: Lens.Lens' Template (Prelude.Maybe Prelude.Text)+template_templateId = Lens.lens (\Template' {templateId} -> templateId) (\s@Template' {} a -> s {templateId = a} :: Template)++-- | A structure describing the versions of the template.+template_version :: Lens.Lens' Template (Prelude.Maybe TemplateVersion)+template_version = Lens.lens (\Template' {version} -> version) (\s@Template' {} a -> s {version = a} :: Template)++instance Data.FromJSON Template where+  parseJSON =+    Data.withObject+      "Template"+      ( \x ->+          Template'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "TemplateId")+            Prelude.<*> (x Data..:? "Version")+      )++instance Prelude.Hashable Template where+  hashWithSalt _salt Template' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` templateId+      `Prelude.hashWithSalt` version++instance Prelude.NFData Template where+  rnf Template' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf version
+ gen/Amazonka/QuickSight/Types/TemplateAlias.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.QuickSight.Types.TemplateAlias+-- 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.QuickSight.Types.TemplateAlias 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 template alias.+--+-- /See:/ 'newTemplateAlias' smart constructor.+data TemplateAlias = TemplateAlias'+  { -- | The display name of the template alias.+    aliasName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the template alias.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The version number of the template alias.+    templateVersionNumber :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TemplateAlias' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aliasName', 'templateAlias_aliasName' - The display name of the template alias.+--+-- 'arn', 'templateAlias_arn' - The Amazon Resource Name (ARN) of the template alias.+--+-- 'templateVersionNumber', 'templateAlias_templateVersionNumber' - The version number of the template alias.+newTemplateAlias ::+  TemplateAlias+newTemplateAlias =+  TemplateAlias'+    { aliasName = Prelude.Nothing,+      arn = Prelude.Nothing,+      templateVersionNumber = Prelude.Nothing+    }++-- | The display name of the template alias.+templateAlias_aliasName :: Lens.Lens' TemplateAlias (Prelude.Maybe Prelude.Text)+templateAlias_aliasName = Lens.lens (\TemplateAlias' {aliasName} -> aliasName) (\s@TemplateAlias' {} a -> s {aliasName = a} :: TemplateAlias)++-- | The Amazon Resource Name (ARN) of the template alias.+templateAlias_arn :: Lens.Lens' TemplateAlias (Prelude.Maybe Prelude.Text)+templateAlias_arn = Lens.lens (\TemplateAlias' {arn} -> arn) (\s@TemplateAlias' {} a -> s {arn = a} :: TemplateAlias)++-- | The version number of the template alias.+templateAlias_templateVersionNumber :: Lens.Lens' TemplateAlias (Prelude.Maybe Prelude.Natural)+templateAlias_templateVersionNumber = Lens.lens (\TemplateAlias' {templateVersionNumber} -> templateVersionNumber) (\s@TemplateAlias' {} a -> s {templateVersionNumber = a} :: TemplateAlias)++instance Data.FromJSON TemplateAlias where+  parseJSON =+    Data.withObject+      "TemplateAlias"+      ( \x ->+          TemplateAlias'+            Prelude.<$> (x Data..:? "AliasName")+            Prelude.<*> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "TemplateVersionNumber")+      )++instance Prelude.Hashable TemplateAlias where+  hashWithSalt _salt TemplateAlias' {..} =+    _salt+      `Prelude.hashWithSalt` aliasName+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` templateVersionNumber++instance Prelude.NFData TemplateAlias where+  rnf TemplateAlias' {..} =+    Prelude.rnf aliasName+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf templateVersionNumber
+ gen/Amazonka/QuickSight/Types/TemplateError.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TemplateError+-- 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.QuickSight.Types.TemplateError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Entity+import Amazonka.QuickSight.Types.TemplateErrorType++-- | List of errors that occurred when the template version creation failed.+--+-- /See:/ 'newTemplateError' smart constructor.+data TemplateError = TemplateError'+  { -- | Description of the error type.+    message :: Prelude.Maybe Prelude.Text,+    -- | Type of error.+    type' :: Prelude.Maybe TemplateErrorType,+    violatedEntities :: Prelude.Maybe [Entity]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TemplateError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'templateError_message' - Description of the error type.+--+-- 'type'', 'templateError_type' - Type of error.+--+-- 'violatedEntities', 'templateError_violatedEntities' -+newTemplateError ::+  TemplateError+newTemplateError =+  TemplateError'+    { message = Prelude.Nothing,+      type' = Prelude.Nothing,+      violatedEntities = Prelude.Nothing+    }++-- | Description of the error type.+templateError_message :: Lens.Lens' TemplateError (Prelude.Maybe Prelude.Text)+templateError_message = Lens.lens (\TemplateError' {message} -> message) (\s@TemplateError' {} a -> s {message = a} :: TemplateError)++-- | Type of error.+templateError_type :: Lens.Lens' TemplateError (Prelude.Maybe TemplateErrorType)+templateError_type = Lens.lens (\TemplateError' {type'} -> type') (\s@TemplateError' {} a -> s {type' = a} :: TemplateError)++templateError_violatedEntities :: Lens.Lens' TemplateError (Prelude.Maybe [Entity])+templateError_violatedEntities = Lens.lens (\TemplateError' {violatedEntities} -> violatedEntities) (\s@TemplateError' {} a -> s {violatedEntities = a} :: TemplateError) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON TemplateError where+  parseJSON =+    Data.withObject+      "TemplateError"+      ( \x ->+          TemplateError'+            Prelude.<$> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "Type")+            Prelude.<*> ( x+                            Data..:? "ViolatedEntities"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable TemplateError where+  hashWithSalt _salt TemplateError' {..} =+    _salt+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` violatedEntities++instance Prelude.NFData TemplateError where+  rnf TemplateError' {..} =+    Prelude.rnf message+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf violatedEntities
+ gen/Amazonka/QuickSight/Types/TemplateErrorType.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TemplateErrorType+-- 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.QuickSight.Types.TemplateErrorType+  ( TemplateErrorType+      ( ..,+        TemplateErrorType_ACCESS_DENIED,+        TemplateErrorType_DATA_SET_NOT_FOUND,+        TemplateErrorType_INTERNAL_FAILURE,+        TemplateErrorType_SOURCE_NOT_FOUND+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TemplateErrorType = TemplateErrorType'+  { fromTemplateErrorType ::+      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 TemplateErrorType_ACCESS_DENIED :: TemplateErrorType+pattern TemplateErrorType_ACCESS_DENIED = TemplateErrorType' "ACCESS_DENIED"++pattern TemplateErrorType_DATA_SET_NOT_FOUND :: TemplateErrorType+pattern TemplateErrorType_DATA_SET_NOT_FOUND = TemplateErrorType' "DATA_SET_NOT_FOUND"++pattern TemplateErrorType_INTERNAL_FAILURE :: TemplateErrorType+pattern TemplateErrorType_INTERNAL_FAILURE = TemplateErrorType' "INTERNAL_FAILURE"++pattern TemplateErrorType_SOURCE_NOT_FOUND :: TemplateErrorType+pattern TemplateErrorType_SOURCE_NOT_FOUND = TemplateErrorType' "SOURCE_NOT_FOUND"++{-# COMPLETE+  TemplateErrorType_ACCESS_DENIED,+  TemplateErrorType_DATA_SET_NOT_FOUND,+  TemplateErrorType_INTERNAL_FAILURE,+  TemplateErrorType_SOURCE_NOT_FOUND,+  TemplateErrorType'+  #-}
+ gen/Amazonka/QuickSight/Types/TemplateSourceAnalysis.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TemplateSourceAnalysis+-- 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.QuickSight.Types.TemplateSourceAnalysis where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataSetReference++-- | The source analysis of the template.+--+-- /See:/ 'newTemplateSourceAnalysis' smart constructor.+data TemplateSourceAnalysis = TemplateSourceAnalysis'+  { -- | The Amazon Resource Name (ARN) of the resource.+    arn :: Prelude.Text,+    -- | A structure containing information about the dataset references used as+    -- placeholders in the template.+    dataSetReferences :: Prelude.NonEmpty DataSetReference+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TemplateSourceAnalysis' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'templateSourceAnalysis_arn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'dataSetReferences', 'templateSourceAnalysis_dataSetReferences' - A structure containing information about the dataset references used as+-- placeholders in the template.+newTemplateSourceAnalysis ::+  -- | 'arn'+  Prelude.Text ->+  -- | 'dataSetReferences'+  Prelude.NonEmpty DataSetReference ->+  TemplateSourceAnalysis+newTemplateSourceAnalysis pArn_ pDataSetReferences_ =+  TemplateSourceAnalysis'+    { arn = pArn_,+      dataSetReferences =+        Lens.coerced Lens.# pDataSetReferences_+    }++-- | The Amazon Resource Name (ARN) of the resource.+templateSourceAnalysis_arn :: Lens.Lens' TemplateSourceAnalysis Prelude.Text+templateSourceAnalysis_arn = Lens.lens (\TemplateSourceAnalysis' {arn} -> arn) (\s@TemplateSourceAnalysis' {} a -> s {arn = a} :: TemplateSourceAnalysis)++-- | A structure containing information about the dataset references used as+-- placeholders in the template.+templateSourceAnalysis_dataSetReferences :: Lens.Lens' TemplateSourceAnalysis (Prelude.NonEmpty DataSetReference)+templateSourceAnalysis_dataSetReferences = Lens.lens (\TemplateSourceAnalysis' {dataSetReferences} -> dataSetReferences) (\s@TemplateSourceAnalysis' {} a -> s {dataSetReferences = a} :: TemplateSourceAnalysis) Prelude.. Lens.coerced++instance Prelude.Hashable TemplateSourceAnalysis where+  hashWithSalt _salt TemplateSourceAnalysis' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` dataSetReferences++instance Prelude.NFData TemplateSourceAnalysis where+  rnf TemplateSourceAnalysis' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf dataSetReferences++instance Data.ToJSON TemplateSourceAnalysis where+  toJSON TemplateSourceAnalysis' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Arn" Data..= arn),+            Prelude.Just+              ("DataSetReferences" Data..= dataSetReferences)+          ]+      )
+ gen/Amazonka/QuickSight/Types/TemplateSourceEntity.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TemplateSourceEntity+-- 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.QuickSight.Types.TemplateSourceEntity where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TemplateSourceAnalysis+import Amazonka.QuickSight.Types.TemplateSourceTemplate++-- | The source entity of the template.+--+-- /See:/ 'newTemplateSourceEntity' smart constructor.+data TemplateSourceEntity = TemplateSourceEntity'+  { -- | The source analysis, if it is based on an analysis.+    sourceAnalysis :: Prelude.Maybe TemplateSourceAnalysis,+    -- | The source template, if it is based on an template.+    sourceTemplate :: Prelude.Maybe TemplateSourceTemplate+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TemplateSourceEntity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceAnalysis', 'templateSourceEntity_sourceAnalysis' - The source analysis, if it is based on an analysis.+--+-- 'sourceTemplate', 'templateSourceEntity_sourceTemplate' - The source template, if it is based on an template.+newTemplateSourceEntity ::+  TemplateSourceEntity+newTemplateSourceEntity =+  TemplateSourceEntity'+    { sourceAnalysis =+        Prelude.Nothing,+      sourceTemplate = Prelude.Nothing+    }++-- | The source analysis, if it is based on an analysis.+templateSourceEntity_sourceAnalysis :: Lens.Lens' TemplateSourceEntity (Prelude.Maybe TemplateSourceAnalysis)+templateSourceEntity_sourceAnalysis = Lens.lens (\TemplateSourceEntity' {sourceAnalysis} -> sourceAnalysis) (\s@TemplateSourceEntity' {} a -> s {sourceAnalysis = a} :: TemplateSourceEntity)++-- | The source template, if it is based on an template.+templateSourceEntity_sourceTemplate :: Lens.Lens' TemplateSourceEntity (Prelude.Maybe TemplateSourceTemplate)+templateSourceEntity_sourceTemplate = Lens.lens (\TemplateSourceEntity' {sourceTemplate} -> sourceTemplate) (\s@TemplateSourceEntity' {} a -> s {sourceTemplate = a} :: TemplateSourceEntity)++instance Prelude.Hashable TemplateSourceEntity where+  hashWithSalt _salt TemplateSourceEntity' {..} =+    _salt+      `Prelude.hashWithSalt` sourceAnalysis+      `Prelude.hashWithSalt` sourceTemplate++instance Prelude.NFData TemplateSourceEntity where+  rnf TemplateSourceEntity' {..} =+    Prelude.rnf sourceAnalysis+      `Prelude.seq` Prelude.rnf sourceTemplate++instance Data.ToJSON TemplateSourceEntity where+  toJSON TemplateSourceEntity' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SourceAnalysis" Data..=)+              Prelude.<$> sourceAnalysis,+            ("SourceTemplate" Data..=)+              Prelude.<$> sourceTemplate+          ]+      )
+ gen/Amazonka/QuickSight/Types/TemplateSourceTemplate.hs view
@@ -0,0 +1,68 @@+{-# 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.QuickSight.Types.TemplateSourceTemplate+-- 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.QuickSight.Types.TemplateSourceTemplate 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 source template of the template.+--+-- /See:/ 'newTemplateSourceTemplate' smart constructor.+data TemplateSourceTemplate = TemplateSourceTemplate'+  { -- | The Amazon Resource Name (ARN) of the resource.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TemplateSourceTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'templateSourceTemplate_arn' - The Amazon Resource Name (ARN) of the resource.+newTemplateSourceTemplate ::+  -- | 'arn'+  Prelude.Text ->+  TemplateSourceTemplate+newTemplateSourceTemplate pArn_ =+  TemplateSourceTemplate' {arn = pArn_}++-- | The Amazon Resource Name (ARN) of the resource.+templateSourceTemplate_arn :: Lens.Lens' TemplateSourceTemplate Prelude.Text+templateSourceTemplate_arn = Lens.lens (\TemplateSourceTemplate' {arn} -> arn) (\s@TemplateSourceTemplate' {} a -> s {arn = a} :: TemplateSourceTemplate)++instance Prelude.Hashable TemplateSourceTemplate where+  hashWithSalt _salt TemplateSourceTemplate' {..} =+    _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData TemplateSourceTemplate where+  rnf TemplateSourceTemplate' {..} = Prelude.rnf arn++instance Data.ToJSON TemplateSourceTemplate where+  toJSON TemplateSourceTemplate' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Arn" Data..= arn)]+      )
+ gen/Amazonka/QuickSight/Types/TemplateSummary.hs view
@@ -0,0 +1,138 @@+{-# 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.QuickSight.Types.TemplateSummary+-- 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.QuickSight.Types.TemplateSummary 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 template summary.+--+-- /See:/ 'newTemplateSummary' smart constructor.+data TemplateSummary = TemplateSummary'+  { -- | A summary of a template.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The last time that this template was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The last time that this template was updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | A structure containing a list of version numbers for the template+    -- summary.+    latestVersionNumber :: Prelude.Maybe Prelude.Natural,+    -- | A display name for the template.+    name :: Prelude.Maybe Prelude.Text,+    -- | The ID of the template. This ID is unique per Amazon Web Services Region+    -- for each Amazon Web Services account.+    templateId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TemplateSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'templateSummary_arn' - A summary of a template.+--+-- 'createdTime', 'templateSummary_createdTime' - The last time that this template was created.+--+-- 'lastUpdatedTime', 'templateSummary_lastUpdatedTime' - The last time that this template was updated.+--+-- 'latestVersionNumber', 'templateSummary_latestVersionNumber' - A structure containing a list of version numbers for the template+-- summary.+--+-- 'name', 'templateSummary_name' - A display name for the template.+--+-- 'templateId', 'templateSummary_templateId' - The ID of the template. This ID is unique per Amazon Web Services Region+-- for each Amazon Web Services account.+newTemplateSummary ::+  TemplateSummary+newTemplateSummary =+  TemplateSummary'+    { arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      latestVersionNumber = Prelude.Nothing,+      name = Prelude.Nothing,+      templateId = Prelude.Nothing+    }++-- | A summary of a template.+templateSummary_arn :: Lens.Lens' TemplateSummary (Prelude.Maybe Prelude.Text)+templateSummary_arn = Lens.lens (\TemplateSummary' {arn} -> arn) (\s@TemplateSummary' {} a -> s {arn = a} :: TemplateSummary)++-- | The last time that this template was created.+templateSummary_createdTime :: Lens.Lens' TemplateSummary (Prelude.Maybe Prelude.UTCTime)+templateSummary_createdTime = Lens.lens (\TemplateSummary' {createdTime} -> createdTime) (\s@TemplateSummary' {} a -> s {createdTime = a} :: TemplateSummary) Prelude.. Lens.mapping Data._Time++-- | The last time that this template was updated.+templateSummary_lastUpdatedTime :: Lens.Lens' TemplateSummary (Prelude.Maybe Prelude.UTCTime)+templateSummary_lastUpdatedTime = Lens.lens (\TemplateSummary' {lastUpdatedTime} -> lastUpdatedTime) (\s@TemplateSummary' {} a -> s {lastUpdatedTime = a} :: TemplateSummary) Prelude.. Lens.mapping Data._Time++-- | A structure containing a list of version numbers for the template+-- summary.+templateSummary_latestVersionNumber :: Lens.Lens' TemplateSummary (Prelude.Maybe Prelude.Natural)+templateSummary_latestVersionNumber = Lens.lens (\TemplateSummary' {latestVersionNumber} -> latestVersionNumber) (\s@TemplateSummary' {} a -> s {latestVersionNumber = a} :: TemplateSummary)++-- | A display name for the template.+templateSummary_name :: Lens.Lens' TemplateSummary (Prelude.Maybe Prelude.Text)+templateSummary_name = Lens.lens (\TemplateSummary' {name} -> name) (\s@TemplateSummary' {} a -> s {name = a} :: TemplateSummary)++-- | The ID of the template. This ID is unique per Amazon Web Services Region+-- for each Amazon Web Services account.+templateSummary_templateId :: Lens.Lens' TemplateSummary (Prelude.Maybe Prelude.Text)+templateSummary_templateId = Lens.lens (\TemplateSummary' {templateId} -> templateId) (\s@TemplateSummary' {} a -> s {templateId = a} :: TemplateSummary)++instance Data.FromJSON TemplateSummary where+  parseJSON =+    Data.withObject+      "TemplateSummary"+      ( \x ->+          TemplateSummary'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "LatestVersionNumber")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "TemplateId")+      )++instance Prelude.Hashable TemplateSummary where+  hashWithSalt _salt TemplateSummary' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` latestVersionNumber+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` templateId++instance Prelude.NFData TemplateSummary where+  rnf TemplateSummary' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf latestVersionNumber+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf templateId
+ gen/Amazonka/QuickSight/Types/TemplateVersion.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.QuickSight.Types.TemplateVersion+-- 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.QuickSight.Types.TemplateVersion where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataSetConfiguration+import Amazonka.QuickSight.Types.ResourceStatus+import Amazonka.QuickSight.Types.Sheet+import Amazonka.QuickSight.Types.TemplateError++-- | A version of a template.+--+-- /See:/ 'newTemplateVersion' smart constructor.+data TemplateVersion = TemplateVersion'+  { -- | The time that this template version was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | Schema of the dataset identified by the placeholder. Any dashboard+    -- created from this template should be bound to new datasets matching the+    -- same schema described through this API operation.+    dataSetConfigurations :: Prelude.Maybe [DataSetConfiguration],+    -- | The description of the template.+    description :: Prelude.Maybe Prelude.Text,+    -- | Errors associated with this template version.+    errors :: Prelude.Maybe (Prelude.NonEmpty TemplateError),+    -- | A list of the associated sheets with the unique identifier and name of+    -- each sheet.+    sheets :: Prelude.Maybe [Sheet],+    -- | The Amazon Resource Name (ARN) of an analysis or template that was used+    -- to create this template.+    sourceEntityArn :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Maybe ResourceStatus,+    -- | The ARN of the theme associated with this version of the template.+    themeArn :: Prelude.Maybe Prelude.Text,+    -- | The version number of the template version.+    versionNumber :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TemplateVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdTime', 'templateVersion_createdTime' - The time that this template version was created.+--+-- 'dataSetConfigurations', 'templateVersion_dataSetConfigurations' - Schema of the dataset identified by the placeholder. Any dashboard+-- created from this template should be bound to new datasets matching the+-- same schema described through this API operation.+--+-- 'description', 'templateVersion_description' - The description of the template.+--+-- 'errors', 'templateVersion_errors' - Errors associated with this template version.+--+-- 'sheets', 'templateVersion_sheets' - A list of the associated sheets with the unique identifier and name of+-- each sheet.+--+-- 'sourceEntityArn', 'templateVersion_sourceEntityArn' - The Amazon Resource Name (ARN) of an analysis or template that was used+-- to create this template.+--+-- 'status', 'templateVersion_status' - The HTTP status of the request.+--+-- 'themeArn', 'templateVersion_themeArn' - The ARN of the theme associated with this version of the template.+--+-- 'versionNumber', 'templateVersion_versionNumber' - The version number of the template version.+newTemplateVersion ::+  TemplateVersion+newTemplateVersion =+  TemplateVersion'+    { createdTime = Prelude.Nothing,+      dataSetConfigurations = Prelude.Nothing,+      description = Prelude.Nothing,+      errors = Prelude.Nothing,+      sheets = Prelude.Nothing,+      sourceEntityArn = Prelude.Nothing,+      status = Prelude.Nothing,+      themeArn = Prelude.Nothing,+      versionNumber = Prelude.Nothing+    }++-- | The time that this template version was created.+templateVersion_createdTime :: Lens.Lens' TemplateVersion (Prelude.Maybe Prelude.UTCTime)+templateVersion_createdTime = Lens.lens (\TemplateVersion' {createdTime} -> createdTime) (\s@TemplateVersion' {} a -> s {createdTime = a} :: TemplateVersion) Prelude.. Lens.mapping Data._Time++-- | Schema of the dataset identified by the placeholder. Any dashboard+-- created from this template should be bound to new datasets matching the+-- same schema described through this API operation.+templateVersion_dataSetConfigurations :: Lens.Lens' TemplateVersion (Prelude.Maybe [DataSetConfiguration])+templateVersion_dataSetConfigurations = Lens.lens (\TemplateVersion' {dataSetConfigurations} -> dataSetConfigurations) (\s@TemplateVersion' {} a -> s {dataSetConfigurations = a} :: TemplateVersion) Prelude.. Lens.mapping Lens.coerced++-- | The description of the template.+templateVersion_description :: Lens.Lens' TemplateVersion (Prelude.Maybe Prelude.Text)+templateVersion_description = Lens.lens (\TemplateVersion' {description} -> description) (\s@TemplateVersion' {} a -> s {description = a} :: TemplateVersion)++-- | Errors associated with this template version.+templateVersion_errors :: Lens.Lens' TemplateVersion (Prelude.Maybe (Prelude.NonEmpty TemplateError))+templateVersion_errors = Lens.lens (\TemplateVersion' {errors} -> errors) (\s@TemplateVersion' {} a -> s {errors = a} :: TemplateVersion) Prelude.. Lens.mapping Lens.coerced++-- | A list of the associated sheets with the unique identifier and name of+-- each sheet.+templateVersion_sheets :: Lens.Lens' TemplateVersion (Prelude.Maybe [Sheet])+templateVersion_sheets = Lens.lens (\TemplateVersion' {sheets} -> sheets) (\s@TemplateVersion' {} a -> s {sheets = a} :: TemplateVersion) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of an analysis or template that was used+-- to create this template.+templateVersion_sourceEntityArn :: Lens.Lens' TemplateVersion (Prelude.Maybe Prelude.Text)+templateVersion_sourceEntityArn = Lens.lens (\TemplateVersion' {sourceEntityArn} -> sourceEntityArn) (\s@TemplateVersion' {} a -> s {sourceEntityArn = a} :: TemplateVersion)++-- | The HTTP status of the request.+templateVersion_status :: Lens.Lens' TemplateVersion (Prelude.Maybe ResourceStatus)+templateVersion_status = Lens.lens (\TemplateVersion' {status} -> status) (\s@TemplateVersion' {} a -> s {status = a} :: TemplateVersion)++-- | The ARN of the theme associated with this version of the template.+templateVersion_themeArn :: Lens.Lens' TemplateVersion (Prelude.Maybe Prelude.Text)+templateVersion_themeArn = Lens.lens (\TemplateVersion' {themeArn} -> themeArn) (\s@TemplateVersion' {} a -> s {themeArn = a} :: TemplateVersion)++-- | The version number of the template version.+templateVersion_versionNumber :: Lens.Lens' TemplateVersion (Prelude.Maybe Prelude.Natural)+templateVersion_versionNumber = Lens.lens (\TemplateVersion' {versionNumber} -> versionNumber) (\s@TemplateVersion' {} a -> s {versionNumber = a} :: TemplateVersion)++instance Data.FromJSON TemplateVersion where+  parseJSON =+    Data.withObject+      "TemplateVersion"+      ( \x ->+          TemplateVersion'+            Prelude.<$> (x Data..:? "CreatedTime")+            Prelude.<*> ( x+                            Data..:? "DataSetConfigurations"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Errors")+            Prelude.<*> (x Data..:? "Sheets" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "SourceEntityArn")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "ThemeArn")+            Prelude.<*> (x Data..:? "VersionNumber")+      )++instance Prelude.Hashable TemplateVersion where+  hashWithSalt _salt TemplateVersion' {..} =+    _salt+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` dataSetConfigurations+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` errors+      `Prelude.hashWithSalt` sheets+      `Prelude.hashWithSalt` sourceEntityArn+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` themeArn+      `Prelude.hashWithSalt` versionNumber++instance Prelude.NFData TemplateVersion where+  rnf TemplateVersion' {..} =+    Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf dataSetConfigurations+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf errors+      `Prelude.seq` Prelude.rnf sheets+      `Prelude.seq` Prelude.rnf sourceEntityArn+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf themeArn+      `Prelude.seq` Prelude.rnf versionNumber
+ gen/Amazonka/QuickSight/Types/TemplateVersionDefinition.hs view
@@ -0,0 +1,226 @@+{-# 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.QuickSight.Types.TemplateVersionDefinition+-- 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.QuickSight.Types.TemplateVersionDefinition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AnalysisDefaults+import Amazonka.QuickSight.Types.CalculatedField+import Amazonka.QuickSight.Types.ColumnConfiguration+import Amazonka.QuickSight.Types.DataSetConfiguration+import Amazonka.QuickSight.Types.FilterGroup+import Amazonka.QuickSight.Types.ParameterDeclaration+import Amazonka.QuickSight.Types.SheetDefinition++-- | The detailed definition of a template.+--+-- /See:/ 'newTemplateVersionDefinition' smart constructor.+data TemplateVersionDefinition = TemplateVersionDefinition'+  { analysisDefaults :: Prelude.Maybe AnalysisDefaults,+    -- | An array of calculated field definitions for the template.+    calculatedFields :: Prelude.Maybe [CalculatedField],+    -- | An array of template-level column configurations. Column configurations+    -- are used to set default formatting for a column that\'s used throughout+    -- a template.+    columnConfigurations :: Prelude.Maybe [ColumnConfiguration],+    -- | Filter definitions for a template.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/filtering-visual-data.html Filtering Data>+    -- in the /Amazon QuickSight User Guide/.+    filterGroups :: Prelude.Maybe [FilterGroup],+    -- | An array of parameter declarations for a template.+    --+    -- /Parameters/ are named variables that can transfer a value for use by an+    -- action or an object.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html Parameters in Amazon QuickSight>+    -- in the /Amazon QuickSight User Guide/.+    parameterDeclarations :: Prelude.Maybe [ParameterDeclaration],+    -- | An array of sheet definitions for a template.+    sheets :: Prelude.Maybe [SheetDefinition],+    -- | An array of dataset configurations. These configurations define the+    -- required columns for each dataset used within a template.+    dataSetConfigurations :: [DataSetConfiguration]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TemplateVersionDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analysisDefaults', 'templateVersionDefinition_analysisDefaults' - Undocumented member.+--+-- 'calculatedFields', 'templateVersionDefinition_calculatedFields' - An array of calculated field definitions for the template.+--+-- 'columnConfigurations', 'templateVersionDefinition_columnConfigurations' - An array of template-level column configurations. Column configurations+-- are used to set default formatting for a column that\'s used throughout+-- a template.+--+-- 'filterGroups', 'templateVersionDefinition_filterGroups' - Filter definitions for a template.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/filtering-visual-data.html Filtering Data>+-- in the /Amazon QuickSight User Guide/.+--+-- 'parameterDeclarations', 'templateVersionDefinition_parameterDeclarations' - An array of parameter declarations for a template.+--+-- /Parameters/ are named variables that can transfer a value for use by an+-- action or an object.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html Parameters in Amazon QuickSight>+-- in the /Amazon QuickSight User Guide/.+--+-- 'sheets', 'templateVersionDefinition_sheets' - An array of sheet definitions for a template.+--+-- 'dataSetConfigurations', 'templateVersionDefinition_dataSetConfigurations' - An array of dataset configurations. These configurations define the+-- required columns for each dataset used within a template.+newTemplateVersionDefinition ::+  TemplateVersionDefinition+newTemplateVersionDefinition =+  TemplateVersionDefinition'+    { analysisDefaults =+        Prelude.Nothing,+      calculatedFields = Prelude.Nothing,+      columnConfigurations = Prelude.Nothing,+      filterGroups = Prelude.Nothing,+      parameterDeclarations = Prelude.Nothing,+      sheets = Prelude.Nothing,+      dataSetConfigurations = Prelude.mempty+    }++-- | Undocumented member.+templateVersionDefinition_analysisDefaults :: Lens.Lens' TemplateVersionDefinition (Prelude.Maybe AnalysisDefaults)+templateVersionDefinition_analysisDefaults = Lens.lens (\TemplateVersionDefinition' {analysisDefaults} -> analysisDefaults) (\s@TemplateVersionDefinition' {} a -> s {analysisDefaults = a} :: TemplateVersionDefinition)++-- | An array of calculated field definitions for the template.+templateVersionDefinition_calculatedFields :: Lens.Lens' TemplateVersionDefinition (Prelude.Maybe [CalculatedField])+templateVersionDefinition_calculatedFields = Lens.lens (\TemplateVersionDefinition' {calculatedFields} -> calculatedFields) (\s@TemplateVersionDefinition' {} a -> s {calculatedFields = a} :: TemplateVersionDefinition) Prelude.. Lens.mapping Lens.coerced++-- | An array of template-level column configurations. Column configurations+-- are used to set default formatting for a column that\'s used throughout+-- a template.+templateVersionDefinition_columnConfigurations :: Lens.Lens' TemplateVersionDefinition (Prelude.Maybe [ColumnConfiguration])+templateVersionDefinition_columnConfigurations = Lens.lens (\TemplateVersionDefinition' {columnConfigurations} -> columnConfigurations) (\s@TemplateVersionDefinition' {} a -> s {columnConfigurations = a} :: TemplateVersionDefinition) Prelude.. Lens.mapping Lens.coerced++-- | Filter definitions for a template.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/filtering-visual-data.html Filtering Data>+-- in the /Amazon QuickSight User Guide/.+templateVersionDefinition_filterGroups :: Lens.Lens' TemplateVersionDefinition (Prelude.Maybe [FilterGroup])+templateVersionDefinition_filterGroups = Lens.lens (\TemplateVersionDefinition' {filterGroups} -> filterGroups) (\s@TemplateVersionDefinition' {} a -> s {filterGroups = a} :: TemplateVersionDefinition) Prelude.. Lens.mapping Lens.coerced++-- | An array of parameter declarations for a template.+--+-- /Parameters/ are named variables that can transfer a value for use by an+-- action or an object.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html Parameters in Amazon QuickSight>+-- in the /Amazon QuickSight User Guide/.+templateVersionDefinition_parameterDeclarations :: Lens.Lens' TemplateVersionDefinition (Prelude.Maybe [ParameterDeclaration])+templateVersionDefinition_parameterDeclarations = Lens.lens (\TemplateVersionDefinition' {parameterDeclarations} -> parameterDeclarations) (\s@TemplateVersionDefinition' {} a -> s {parameterDeclarations = a} :: TemplateVersionDefinition) Prelude.. Lens.mapping Lens.coerced++-- | An array of sheet definitions for a template.+templateVersionDefinition_sheets :: Lens.Lens' TemplateVersionDefinition (Prelude.Maybe [SheetDefinition])+templateVersionDefinition_sheets = Lens.lens (\TemplateVersionDefinition' {sheets} -> sheets) (\s@TemplateVersionDefinition' {} a -> s {sheets = a} :: TemplateVersionDefinition) Prelude.. Lens.mapping Lens.coerced++-- | An array of dataset configurations. These configurations define the+-- required columns for each dataset used within a template.+templateVersionDefinition_dataSetConfigurations :: Lens.Lens' TemplateVersionDefinition [DataSetConfiguration]+templateVersionDefinition_dataSetConfigurations = Lens.lens (\TemplateVersionDefinition' {dataSetConfigurations} -> dataSetConfigurations) (\s@TemplateVersionDefinition' {} a -> s {dataSetConfigurations = a} :: TemplateVersionDefinition) Prelude.. Lens.coerced++instance Data.FromJSON TemplateVersionDefinition where+  parseJSON =+    Data.withObject+      "TemplateVersionDefinition"+      ( \x ->+          TemplateVersionDefinition'+            Prelude.<$> (x Data..:? "AnalysisDefaults")+            Prelude.<*> ( x+                            Data..:? "CalculatedFields"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "ColumnConfigurations"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "FilterGroups" Data..!= Prelude.mempty)+            Prelude.<*> ( x+                            Data..:? "ParameterDeclarations"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Sheets" Data..!= Prelude.mempty)+            Prelude.<*> ( x+                            Data..:? "DataSetConfigurations"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable TemplateVersionDefinition where+  hashWithSalt _salt TemplateVersionDefinition' {..} =+    _salt+      `Prelude.hashWithSalt` analysisDefaults+      `Prelude.hashWithSalt` calculatedFields+      `Prelude.hashWithSalt` columnConfigurations+      `Prelude.hashWithSalt` filterGroups+      `Prelude.hashWithSalt` parameterDeclarations+      `Prelude.hashWithSalt` sheets+      `Prelude.hashWithSalt` dataSetConfigurations++instance Prelude.NFData TemplateVersionDefinition where+  rnf TemplateVersionDefinition' {..} =+    Prelude.rnf analysisDefaults+      `Prelude.seq` Prelude.rnf calculatedFields+      `Prelude.seq` Prelude.rnf columnConfigurations+      `Prelude.seq` Prelude.rnf filterGroups+      `Prelude.seq` Prelude.rnf parameterDeclarations+      `Prelude.seq` Prelude.rnf sheets+      `Prelude.seq` Prelude.rnf dataSetConfigurations++instance Data.ToJSON TemplateVersionDefinition where+  toJSON TemplateVersionDefinition' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AnalysisDefaults" Data..=)+              Prelude.<$> analysisDefaults,+            ("CalculatedFields" Data..=)+              Prelude.<$> calculatedFields,+            ("ColumnConfigurations" Data..=)+              Prelude.<$> columnConfigurations,+            ("FilterGroups" Data..=) Prelude.<$> filterGroups,+            ("ParameterDeclarations" Data..=)+              Prelude.<$> parameterDeclarations,+            ("Sheets" Data..=) Prelude.<$> sheets,+            Prelude.Just+              ( "DataSetConfigurations"+                  Data..= dataSetConfigurations+              )+          ]+      )
+ gen/Amazonka/QuickSight/Types/TemplateVersionSummary.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TemplateVersionSummary+-- 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.QuickSight.Types.TemplateVersionSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ResourceStatus++-- | The template version.+--+-- /See:/ 'newTemplateVersionSummary' smart constructor.+data TemplateVersionSummary = TemplateVersionSummary'+  { -- | The Amazon Resource Name (ARN) of the template version.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time that this template version was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The description of the template version.+    description :: Prelude.Maybe Prelude.Text,+    -- | The status of the template version.+    status :: Prelude.Maybe ResourceStatus,+    -- | The version number of the template version.+    versionNumber :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TemplateVersionSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'templateVersionSummary_arn' - The Amazon Resource Name (ARN) of the template version.+--+-- 'createdTime', 'templateVersionSummary_createdTime' - The time that this template version was created.+--+-- 'description', 'templateVersionSummary_description' - The description of the template version.+--+-- 'status', 'templateVersionSummary_status' - The status of the template version.+--+-- 'versionNumber', 'templateVersionSummary_versionNumber' - The version number of the template version.+newTemplateVersionSummary ::+  TemplateVersionSummary+newTemplateVersionSummary =+  TemplateVersionSummary'+    { arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      description = Prelude.Nothing,+      status = Prelude.Nothing,+      versionNumber = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the template version.+templateVersionSummary_arn :: Lens.Lens' TemplateVersionSummary (Prelude.Maybe Prelude.Text)+templateVersionSummary_arn = Lens.lens (\TemplateVersionSummary' {arn} -> arn) (\s@TemplateVersionSummary' {} a -> s {arn = a} :: TemplateVersionSummary)++-- | The time that this template version was created.+templateVersionSummary_createdTime :: Lens.Lens' TemplateVersionSummary (Prelude.Maybe Prelude.UTCTime)+templateVersionSummary_createdTime = Lens.lens (\TemplateVersionSummary' {createdTime} -> createdTime) (\s@TemplateVersionSummary' {} a -> s {createdTime = a} :: TemplateVersionSummary) Prelude.. Lens.mapping Data._Time++-- | The description of the template version.+templateVersionSummary_description :: Lens.Lens' TemplateVersionSummary (Prelude.Maybe Prelude.Text)+templateVersionSummary_description = Lens.lens (\TemplateVersionSummary' {description} -> description) (\s@TemplateVersionSummary' {} a -> s {description = a} :: TemplateVersionSummary)++-- | The status of the template version.+templateVersionSummary_status :: Lens.Lens' TemplateVersionSummary (Prelude.Maybe ResourceStatus)+templateVersionSummary_status = Lens.lens (\TemplateVersionSummary' {status} -> status) (\s@TemplateVersionSummary' {} a -> s {status = a} :: TemplateVersionSummary)++-- | The version number of the template version.+templateVersionSummary_versionNumber :: Lens.Lens' TemplateVersionSummary (Prelude.Maybe Prelude.Natural)+templateVersionSummary_versionNumber = Lens.lens (\TemplateVersionSummary' {versionNumber} -> versionNumber) (\s@TemplateVersionSummary' {} a -> s {versionNumber = a} :: TemplateVersionSummary)++instance Data.FromJSON TemplateVersionSummary where+  parseJSON =+    Data.withObject+      "TemplateVersionSummary"+      ( \x ->+          TemplateVersionSummary'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "VersionNumber")+      )++instance Prelude.Hashable TemplateVersionSummary where+  hashWithSalt _salt TemplateVersionSummary' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` versionNumber++instance Prelude.NFData TemplateVersionSummary where+  rnf TemplateVersionSummary' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf versionNumber
+ gen/Amazonka/QuickSight/Types/TeradataParameters.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TeradataParameters+-- 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.QuickSight.Types.TeradataParameters 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 parameters for Teradata.+--+-- /See:/ 'newTeradataParameters' smart constructor.+data TeradataParameters = TeradataParameters'+  { -- | Host.+    host :: Prelude.Text,+    -- | Port.+    port :: Prelude.Natural,+    -- | Database.+    database :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TeradataParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'host', 'teradataParameters_host' - Host.+--+-- 'port', 'teradataParameters_port' - Port.+--+-- 'database', 'teradataParameters_database' - Database.+newTeradataParameters ::+  -- | 'host'+  Prelude.Text ->+  -- | 'port'+  Prelude.Natural ->+  -- | 'database'+  Prelude.Text ->+  TeradataParameters+newTeradataParameters pHost_ pPort_ pDatabase_ =+  TeradataParameters'+    { host = pHost_,+      port = pPort_,+      database = pDatabase_+    }++-- | Host.+teradataParameters_host :: Lens.Lens' TeradataParameters Prelude.Text+teradataParameters_host = Lens.lens (\TeradataParameters' {host} -> host) (\s@TeradataParameters' {} a -> s {host = a} :: TeradataParameters)++-- | Port.+teradataParameters_port :: Lens.Lens' TeradataParameters Prelude.Natural+teradataParameters_port = Lens.lens (\TeradataParameters' {port} -> port) (\s@TeradataParameters' {} a -> s {port = a} :: TeradataParameters)++-- | Database.+teradataParameters_database :: Lens.Lens' TeradataParameters Prelude.Text+teradataParameters_database = Lens.lens (\TeradataParameters' {database} -> database) (\s@TeradataParameters' {} a -> s {database = a} :: TeradataParameters)++instance Data.FromJSON TeradataParameters where+  parseJSON =+    Data.withObject+      "TeradataParameters"+      ( \x ->+          TeradataParameters'+            Prelude.<$> (x Data..: "Host")+            Prelude.<*> (x Data..: "Port")+            Prelude.<*> (x Data..: "Database")+      )++instance Prelude.Hashable TeradataParameters where+  hashWithSalt _salt TeradataParameters' {..} =+    _salt+      `Prelude.hashWithSalt` host+      `Prelude.hashWithSalt` port+      `Prelude.hashWithSalt` database++instance Prelude.NFData TeradataParameters where+  rnf TeradataParameters' {..} =+    Prelude.rnf host+      `Prelude.seq` Prelude.rnf port+      `Prelude.seq` Prelude.rnf database++instance Data.ToJSON TeradataParameters where+  toJSON TeradataParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Host" Data..= host),+            Prelude.Just ("Port" Data..= port),+            Prelude.Just ("Database" Data..= database)+          ]+      )
+ gen/Amazonka/QuickSight/Types/TextAreaControlDisplayOptions.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.QuickSight.Types.TextAreaControlDisplayOptions+-- 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.QuickSight.Types.TextAreaControlDisplayOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.LabelOptions+import Amazonka.QuickSight.Types.TextControlPlaceholderOptions++-- | The display options of a control.+--+-- /See:/ 'newTextAreaControlDisplayOptions' smart constructor.+data TextAreaControlDisplayOptions = TextAreaControlDisplayOptions'+  { -- | The configuration of the placeholder options in a text area control.+    placeholderOptions :: Prelude.Maybe TextControlPlaceholderOptions,+    -- | The options to configure the title visibility, name, and font size.+    titleOptions :: Prelude.Maybe LabelOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TextAreaControlDisplayOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'placeholderOptions', 'textAreaControlDisplayOptions_placeholderOptions' - The configuration of the placeholder options in a text area control.+--+-- 'titleOptions', 'textAreaControlDisplayOptions_titleOptions' - The options to configure the title visibility, name, and font size.+newTextAreaControlDisplayOptions ::+  TextAreaControlDisplayOptions+newTextAreaControlDisplayOptions =+  TextAreaControlDisplayOptions'+    { placeholderOptions =+        Prelude.Nothing,+      titleOptions = Prelude.Nothing+    }++-- | The configuration of the placeholder options in a text area control.+textAreaControlDisplayOptions_placeholderOptions :: Lens.Lens' TextAreaControlDisplayOptions (Prelude.Maybe TextControlPlaceholderOptions)+textAreaControlDisplayOptions_placeholderOptions = Lens.lens (\TextAreaControlDisplayOptions' {placeholderOptions} -> placeholderOptions) (\s@TextAreaControlDisplayOptions' {} a -> s {placeholderOptions = a} :: TextAreaControlDisplayOptions)++-- | The options to configure the title visibility, name, and font size.+textAreaControlDisplayOptions_titleOptions :: Lens.Lens' TextAreaControlDisplayOptions (Prelude.Maybe LabelOptions)+textAreaControlDisplayOptions_titleOptions = Lens.lens (\TextAreaControlDisplayOptions' {titleOptions} -> titleOptions) (\s@TextAreaControlDisplayOptions' {} a -> s {titleOptions = a} :: TextAreaControlDisplayOptions)++instance Data.FromJSON TextAreaControlDisplayOptions where+  parseJSON =+    Data.withObject+      "TextAreaControlDisplayOptions"+      ( \x ->+          TextAreaControlDisplayOptions'+            Prelude.<$> (x Data..:? "PlaceholderOptions")+            Prelude.<*> (x Data..:? "TitleOptions")+      )++instance+  Prelude.Hashable+    TextAreaControlDisplayOptions+  where+  hashWithSalt _salt TextAreaControlDisplayOptions' {..} =+    _salt+      `Prelude.hashWithSalt` placeholderOptions+      `Prelude.hashWithSalt` titleOptions++instance Prelude.NFData TextAreaControlDisplayOptions where+  rnf TextAreaControlDisplayOptions' {..} =+    Prelude.rnf placeholderOptions+      `Prelude.seq` Prelude.rnf titleOptions++instance Data.ToJSON TextAreaControlDisplayOptions where+  toJSON TextAreaControlDisplayOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PlaceholderOptions" Data..=)+              Prelude.<$> placeholderOptions,+            ("TitleOptions" Data..=) Prelude.<$> titleOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/TextConditionalFormat.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TextConditionalFormat+-- 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.QuickSight.Types.TextConditionalFormat where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ConditionalFormattingColor+import Amazonka.QuickSight.Types.ConditionalFormattingIcon++-- | The conditional formatting for the text.+--+-- /See:/ 'newTextConditionalFormat' smart constructor.+data TextConditionalFormat = TextConditionalFormat'+  { -- | The conditional formatting for the text background color.+    backgroundColor :: Prelude.Maybe ConditionalFormattingColor,+    -- | The conditional formatting for the icon.+    icon :: Prelude.Maybe ConditionalFormattingIcon,+    -- | The conditional formatting for the text color.+    textColor :: Prelude.Maybe ConditionalFormattingColor+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TextConditionalFormat' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'backgroundColor', 'textConditionalFormat_backgroundColor' - The conditional formatting for the text background color.+--+-- 'icon', 'textConditionalFormat_icon' - The conditional formatting for the icon.+--+-- 'textColor', 'textConditionalFormat_textColor' - The conditional formatting for the text color.+newTextConditionalFormat ::+  TextConditionalFormat+newTextConditionalFormat =+  TextConditionalFormat'+    { backgroundColor =+        Prelude.Nothing,+      icon = Prelude.Nothing,+      textColor = Prelude.Nothing+    }++-- | The conditional formatting for the text background color.+textConditionalFormat_backgroundColor :: Lens.Lens' TextConditionalFormat (Prelude.Maybe ConditionalFormattingColor)+textConditionalFormat_backgroundColor = Lens.lens (\TextConditionalFormat' {backgroundColor} -> backgroundColor) (\s@TextConditionalFormat' {} a -> s {backgroundColor = a} :: TextConditionalFormat)++-- | The conditional formatting for the icon.+textConditionalFormat_icon :: Lens.Lens' TextConditionalFormat (Prelude.Maybe ConditionalFormattingIcon)+textConditionalFormat_icon = Lens.lens (\TextConditionalFormat' {icon} -> icon) (\s@TextConditionalFormat' {} a -> s {icon = a} :: TextConditionalFormat)++-- | The conditional formatting for the text color.+textConditionalFormat_textColor :: Lens.Lens' TextConditionalFormat (Prelude.Maybe ConditionalFormattingColor)+textConditionalFormat_textColor = Lens.lens (\TextConditionalFormat' {textColor} -> textColor) (\s@TextConditionalFormat' {} a -> s {textColor = a} :: TextConditionalFormat)++instance Data.FromJSON TextConditionalFormat where+  parseJSON =+    Data.withObject+      "TextConditionalFormat"+      ( \x ->+          TextConditionalFormat'+            Prelude.<$> (x Data..:? "BackgroundColor")+            Prelude.<*> (x Data..:? "Icon")+            Prelude.<*> (x Data..:? "TextColor")+      )++instance Prelude.Hashable TextConditionalFormat where+  hashWithSalt _salt TextConditionalFormat' {..} =+    _salt+      `Prelude.hashWithSalt` backgroundColor+      `Prelude.hashWithSalt` icon+      `Prelude.hashWithSalt` textColor++instance Prelude.NFData TextConditionalFormat where+  rnf TextConditionalFormat' {..} =+    Prelude.rnf backgroundColor+      `Prelude.seq` Prelude.rnf icon+      `Prelude.seq` Prelude.rnf textColor++instance Data.ToJSON TextConditionalFormat where+  toJSON TextConditionalFormat' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BackgroundColor" Data..=)+              Prelude.<$> backgroundColor,+            ("Icon" Data..=) Prelude.<$> icon,+            ("TextColor" Data..=) Prelude.<$> textColor+          ]+      )
+ gen/Amazonka/QuickSight/Types/TextControlPlaceholderOptions.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.QuickSight.Types.TextControlPlaceholderOptions+-- 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.QuickSight.Types.TextControlPlaceholderOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The configuration of the placeholder options in a text control.+--+-- /See:/ 'newTextControlPlaceholderOptions' smart constructor.+data TextControlPlaceholderOptions = TextControlPlaceholderOptions'+  { -- | The visibility configuration of the placeholder options in a text+    -- control.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TextControlPlaceholderOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'visibility', 'textControlPlaceholderOptions_visibility' - The visibility configuration of the placeholder options in a text+-- control.+newTextControlPlaceholderOptions ::+  TextControlPlaceholderOptions+newTextControlPlaceholderOptions =+  TextControlPlaceholderOptions'+    { visibility =+        Prelude.Nothing+    }++-- | The visibility configuration of the placeholder options in a text+-- control.+textControlPlaceholderOptions_visibility :: Lens.Lens' TextControlPlaceholderOptions (Prelude.Maybe Visibility)+textControlPlaceholderOptions_visibility = Lens.lens (\TextControlPlaceholderOptions' {visibility} -> visibility) (\s@TextControlPlaceholderOptions' {} a -> s {visibility = a} :: TextControlPlaceholderOptions)++instance Data.FromJSON TextControlPlaceholderOptions where+  parseJSON =+    Data.withObject+      "TextControlPlaceholderOptions"+      ( \x ->+          TextControlPlaceholderOptions'+            Prelude.<$> (x Data..:? "Visibility")+      )++instance+  Prelude.Hashable+    TextControlPlaceholderOptions+  where+  hashWithSalt _salt TextControlPlaceholderOptions' {..} =+    _salt `Prelude.hashWithSalt` visibility++instance Prelude.NFData TextControlPlaceholderOptions where+  rnf TextControlPlaceholderOptions' {..} =+    Prelude.rnf visibility++instance Data.ToJSON TextControlPlaceholderOptions where+  toJSON TextControlPlaceholderOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Visibility" Data..=) Prelude.<$> visibility]+      )
+ gen/Amazonka/QuickSight/Types/TextFieldControlDisplayOptions.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.QuickSight.Types.TextFieldControlDisplayOptions+-- 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.QuickSight.Types.TextFieldControlDisplayOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.LabelOptions+import Amazonka.QuickSight.Types.TextControlPlaceholderOptions++-- | The display options of a control.+--+-- /See:/ 'newTextFieldControlDisplayOptions' smart constructor.+data TextFieldControlDisplayOptions = TextFieldControlDisplayOptions'+  { -- | The configuration of the placeholder options in a text field control.+    placeholderOptions :: Prelude.Maybe TextControlPlaceholderOptions,+    -- | The options to configure the title visibility, name, and font size.+    titleOptions :: Prelude.Maybe LabelOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TextFieldControlDisplayOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'placeholderOptions', 'textFieldControlDisplayOptions_placeholderOptions' - The configuration of the placeholder options in a text field control.+--+-- 'titleOptions', 'textFieldControlDisplayOptions_titleOptions' - The options to configure the title visibility, name, and font size.+newTextFieldControlDisplayOptions ::+  TextFieldControlDisplayOptions+newTextFieldControlDisplayOptions =+  TextFieldControlDisplayOptions'+    { placeholderOptions =+        Prelude.Nothing,+      titleOptions = Prelude.Nothing+    }++-- | The configuration of the placeholder options in a text field control.+textFieldControlDisplayOptions_placeholderOptions :: Lens.Lens' TextFieldControlDisplayOptions (Prelude.Maybe TextControlPlaceholderOptions)+textFieldControlDisplayOptions_placeholderOptions = Lens.lens (\TextFieldControlDisplayOptions' {placeholderOptions} -> placeholderOptions) (\s@TextFieldControlDisplayOptions' {} a -> s {placeholderOptions = a} :: TextFieldControlDisplayOptions)++-- | The options to configure the title visibility, name, and font size.+textFieldControlDisplayOptions_titleOptions :: Lens.Lens' TextFieldControlDisplayOptions (Prelude.Maybe LabelOptions)+textFieldControlDisplayOptions_titleOptions = Lens.lens (\TextFieldControlDisplayOptions' {titleOptions} -> titleOptions) (\s@TextFieldControlDisplayOptions' {} a -> s {titleOptions = a} :: TextFieldControlDisplayOptions)++instance Data.FromJSON TextFieldControlDisplayOptions where+  parseJSON =+    Data.withObject+      "TextFieldControlDisplayOptions"+      ( \x ->+          TextFieldControlDisplayOptions'+            Prelude.<$> (x Data..:? "PlaceholderOptions")+            Prelude.<*> (x Data..:? "TitleOptions")+      )++instance+  Prelude.Hashable+    TextFieldControlDisplayOptions+  where+  hashWithSalt+    _salt+    TextFieldControlDisplayOptions' {..} =+      _salt+        `Prelude.hashWithSalt` placeholderOptions+        `Prelude.hashWithSalt` titleOptions++instance+  Prelude.NFData+    TextFieldControlDisplayOptions+  where+  rnf TextFieldControlDisplayOptions' {..} =+    Prelude.rnf placeholderOptions+      `Prelude.seq` Prelude.rnf titleOptions++instance Data.ToJSON TextFieldControlDisplayOptions where+  toJSON TextFieldControlDisplayOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PlaceholderOptions" Data..=)+              Prelude.<$> placeholderOptions,+            ("TitleOptions" Data..=) Prelude.<$> titleOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/TextQualifier.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.QuickSight.Types.TextQualifier+-- 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.QuickSight.Types.TextQualifier+  ( TextQualifier+      ( ..,+        TextQualifier_DOUBLE_QUOTE,+        TextQualifier_SINGLE_QUOTE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TextQualifier = TextQualifier'+  { fromTextQualifier ::+      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 TextQualifier_DOUBLE_QUOTE :: TextQualifier+pattern TextQualifier_DOUBLE_QUOTE = TextQualifier' "DOUBLE_QUOTE"++pattern TextQualifier_SINGLE_QUOTE :: TextQualifier+pattern TextQualifier_SINGLE_QUOTE = TextQualifier' "SINGLE_QUOTE"++{-# COMPLETE+  TextQualifier_DOUBLE_QUOTE,+  TextQualifier_SINGLE_QUOTE,+  TextQualifier'+  #-}
+ gen/Amazonka/QuickSight/Types/TextWrap.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.QuickSight.Types.TextWrap+-- 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.QuickSight.Types.TextWrap+  ( TextWrap+      ( ..,+        TextWrap_NONE,+        TextWrap_WRAP+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TextWrap = TextWrap'+  { fromTextWrap ::+      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 TextWrap_NONE :: TextWrap+pattern TextWrap_NONE = TextWrap' "NONE"++pattern TextWrap_WRAP :: TextWrap+pattern TextWrap_WRAP = TextWrap' "WRAP"++{-# COMPLETE+  TextWrap_NONE,+  TextWrap_WRAP,+  TextWrap'+  #-}
+ gen/Amazonka/QuickSight/Types/Theme.hs view
@@ -0,0 +1,148 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.Theme+-- 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.QuickSight.Types.Theme where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ThemeType+import Amazonka.QuickSight.Types.ThemeVersion++-- | Summary information about a theme.+--+-- /See:/ 'newTheme' smart constructor.+data Theme = Theme'+  { -- | The Amazon Resource Name (ARN) of the theme.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The date and time that the theme was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The date and time that the theme was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The name that the user gives to the theme.+    name :: Prelude.Maybe Prelude.Text,+    -- | The identifier that the user gives to the theme.+    themeId :: Prelude.Maybe Prelude.Text,+    -- | The type of theme, based on how it was created. Valid values include:+    -- @QUICKSIGHT@ and @CUSTOM@.+    type' :: Prelude.Maybe ThemeType,+    version :: Prelude.Maybe ThemeVersion+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Theme' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'theme_arn' - The Amazon Resource Name (ARN) of the theme.+--+-- 'createdTime', 'theme_createdTime' - The date and time that the theme was created.+--+-- 'lastUpdatedTime', 'theme_lastUpdatedTime' - The date and time that the theme was last updated.+--+-- 'name', 'theme_name' - The name that the user gives to the theme.+--+-- 'themeId', 'theme_themeId' - The identifier that the user gives to the theme.+--+-- 'type'', 'theme_type' - The type of theme, based on how it was created. Valid values include:+-- @QUICKSIGHT@ and @CUSTOM@.+--+-- 'version', 'theme_version' - Undocumented member.+newTheme ::+  Theme+newTheme =+  Theme'+    { arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      themeId = Prelude.Nothing,+      type' = Prelude.Nothing,+      version = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the theme.+theme_arn :: Lens.Lens' Theme (Prelude.Maybe Prelude.Text)+theme_arn = Lens.lens (\Theme' {arn} -> arn) (\s@Theme' {} a -> s {arn = a} :: Theme)++-- | The date and time that the theme was created.+theme_createdTime :: Lens.Lens' Theme (Prelude.Maybe Prelude.UTCTime)+theme_createdTime = Lens.lens (\Theme' {createdTime} -> createdTime) (\s@Theme' {} a -> s {createdTime = a} :: Theme) Prelude.. Lens.mapping Data._Time++-- | The date and time that the theme was last updated.+theme_lastUpdatedTime :: Lens.Lens' Theme (Prelude.Maybe Prelude.UTCTime)+theme_lastUpdatedTime = Lens.lens (\Theme' {lastUpdatedTime} -> lastUpdatedTime) (\s@Theme' {} a -> s {lastUpdatedTime = a} :: Theme) Prelude.. Lens.mapping Data._Time++-- | The name that the user gives to the theme.+theme_name :: Lens.Lens' Theme (Prelude.Maybe Prelude.Text)+theme_name = Lens.lens (\Theme' {name} -> name) (\s@Theme' {} a -> s {name = a} :: Theme)++-- | The identifier that the user gives to the theme.+theme_themeId :: Lens.Lens' Theme (Prelude.Maybe Prelude.Text)+theme_themeId = Lens.lens (\Theme' {themeId} -> themeId) (\s@Theme' {} a -> s {themeId = a} :: Theme)++-- | The type of theme, based on how it was created. Valid values include:+-- @QUICKSIGHT@ and @CUSTOM@.+theme_type :: Lens.Lens' Theme (Prelude.Maybe ThemeType)+theme_type = Lens.lens (\Theme' {type'} -> type') (\s@Theme' {} a -> s {type' = a} :: Theme)++-- | Undocumented member.+theme_version :: Lens.Lens' Theme (Prelude.Maybe ThemeVersion)+theme_version = Lens.lens (\Theme' {version} -> version) (\s@Theme' {} a -> s {version = a} :: Theme)++instance Data.FromJSON Theme where+  parseJSON =+    Data.withObject+      "Theme"+      ( \x ->+          Theme'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "ThemeId")+            Prelude.<*> (x Data..:? "Type")+            Prelude.<*> (x Data..:? "Version")+      )++instance Prelude.Hashable Theme where+  hashWithSalt _salt Theme' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` themeId+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` version++instance Prelude.NFData Theme where+  rnf Theme' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf themeId+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf version
+ gen/Amazonka/QuickSight/Types/ThemeAlias.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.QuickSight.Types.ThemeAlias+-- 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.QuickSight.Types.ThemeAlias 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 alias for a theme.+--+-- /See:/ 'newThemeAlias' smart constructor.+data ThemeAlias = ThemeAlias'+  { -- | The display name of the theme alias.+    aliasName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the theme alias.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The version number of the theme alias.+    themeVersionNumber :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ThemeAlias' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aliasName', 'themeAlias_aliasName' - The display name of the theme alias.+--+-- 'arn', 'themeAlias_arn' - The Amazon Resource Name (ARN) of the theme alias.+--+-- 'themeVersionNumber', 'themeAlias_themeVersionNumber' - The version number of the theme alias.+newThemeAlias ::+  ThemeAlias+newThemeAlias =+  ThemeAlias'+    { aliasName = Prelude.Nothing,+      arn = Prelude.Nothing,+      themeVersionNumber = Prelude.Nothing+    }++-- | The display name of the theme alias.+themeAlias_aliasName :: Lens.Lens' ThemeAlias (Prelude.Maybe Prelude.Text)+themeAlias_aliasName = Lens.lens (\ThemeAlias' {aliasName} -> aliasName) (\s@ThemeAlias' {} a -> s {aliasName = a} :: ThemeAlias)++-- | The Amazon Resource Name (ARN) of the theme alias.+themeAlias_arn :: Lens.Lens' ThemeAlias (Prelude.Maybe Prelude.Text)+themeAlias_arn = Lens.lens (\ThemeAlias' {arn} -> arn) (\s@ThemeAlias' {} a -> s {arn = a} :: ThemeAlias)++-- | The version number of the theme alias.+themeAlias_themeVersionNumber :: Lens.Lens' ThemeAlias (Prelude.Maybe Prelude.Natural)+themeAlias_themeVersionNumber = Lens.lens (\ThemeAlias' {themeVersionNumber} -> themeVersionNumber) (\s@ThemeAlias' {} a -> s {themeVersionNumber = a} :: ThemeAlias)++instance Data.FromJSON ThemeAlias where+  parseJSON =+    Data.withObject+      "ThemeAlias"+      ( \x ->+          ThemeAlias'+            Prelude.<$> (x Data..:? "AliasName")+            Prelude.<*> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "ThemeVersionNumber")+      )++instance Prelude.Hashable ThemeAlias where+  hashWithSalt _salt ThemeAlias' {..} =+    _salt+      `Prelude.hashWithSalt` aliasName+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` themeVersionNumber++instance Prelude.NFData ThemeAlias where+  rnf ThemeAlias' {..} =+    Prelude.rnf aliasName+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf themeVersionNumber
+ gen/Amazonka/QuickSight/Types/ThemeConfiguration.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.QuickSight.Types.ThemeConfiguration+-- 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.QuickSight.Types.ThemeConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataColorPalette+import Amazonka.QuickSight.Types.SheetStyle+import Amazonka.QuickSight.Types.Typography+import Amazonka.QuickSight.Types.UIColorPalette++-- | The theme configuration. This configuration contains all of the display+-- properties for a theme.+--+-- /See:/ 'newThemeConfiguration' smart constructor.+data ThemeConfiguration = ThemeConfiguration'+  { -- | Color properties that apply to chart data colors.+    dataColorPalette :: Prelude.Maybe DataColorPalette,+    -- | Display options related to sheets.+    sheet :: Prelude.Maybe SheetStyle,+    typography :: Prelude.Maybe Typography,+    -- | Color properties that apply to the UI and to charts, excluding the+    -- colors that apply to data.+    uIColorPalette :: Prelude.Maybe UIColorPalette+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ThemeConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataColorPalette', 'themeConfiguration_dataColorPalette' - Color properties that apply to chart data colors.+--+-- 'sheet', 'themeConfiguration_sheet' - Display options related to sheets.+--+-- 'typography', 'themeConfiguration_typography' - Undocumented member.+--+-- 'uIColorPalette', 'themeConfiguration_uIColorPalette' - Color properties that apply to the UI and to charts, excluding the+-- colors that apply to data.+newThemeConfiguration ::+  ThemeConfiguration+newThemeConfiguration =+  ThemeConfiguration'+    { dataColorPalette =+        Prelude.Nothing,+      sheet = Prelude.Nothing,+      typography = Prelude.Nothing,+      uIColorPalette = Prelude.Nothing+    }++-- | Color properties that apply to chart data colors.+themeConfiguration_dataColorPalette :: Lens.Lens' ThemeConfiguration (Prelude.Maybe DataColorPalette)+themeConfiguration_dataColorPalette = Lens.lens (\ThemeConfiguration' {dataColorPalette} -> dataColorPalette) (\s@ThemeConfiguration' {} a -> s {dataColorPalette = a} :: ThemeConfiguration)++-- | Display options related to sheets.+themeConfiguration_sheet :: Lens.Lens' ThemeConfiguration (Prelude.Maybe SheetStyle)+themeConfiguration_sheet = Lens.lens (\ThemeConfiguration' {sheet} -> sheet) (\s@ThemeConfiguration' {} a -> s {sheet = a} :: ThemeConfiguration)++-- | Undocumented member.+themeConfiguration_typography :: Lens.Lens' ThemeConfiguration (Prelude.Maybe Typography)+themeConfiguration_typography = Lens.lens (\ThemeConfiguration' {typography} -> typography) (\s@ThemeConfiguration' {} a -> s {typography = a} :: ThemeConfiguration)++-- | Color properties that apply to the UI and to charts, excluding the+-- colors that apply to data.+themeConfiguration_uIColorPalette :: Lens.Lens' ThemeConfiguration (Prelude.Maybe UIColorPalette)+themeConfiguration_uIColorPalette = Lens.lens (\ThemeConfiguration' {uIColorPalette} -> uIColorPalette) (\s@ThemeConfiguration' {} a -> s {uIColorPalette = a} :: ThemeConfiguration)++instance Data.FromJSON ThemeConfiguration where+  parseJSON =+    Data.withObject+      "ThemeConfiguration"+      ( \x ->+          ThemeConfiguration'+            Prelude.<$> (x Data..:? "DataColorPalette")+            Prelude.<*> (x Data..:? "Sheet")+            Prelude.<*> (x Data..:? "Typography")+            Prelude.<*> (x Data..:? "UIColorPalette")+      )++instance Prelude.Hashable ThemeConfiguration where+  hashWithSalt _salt ThemeConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` dataColorPalette+      `Prelude.hashWithSalt` sheet+      `Prelude.hashWithSalt` typography+      `Prelude.hashWithSalt` uIColorPalette++instance Prelude.NFData ThemeConfiguration where+  rnf ThemeConfiguration' {..} =+    Prelude.rnf dataColorPalette+      `Prelude.seq` Prelude.rnf sheet+      `Prelude.seq` Prelude.rnf typography+      `Prelude.seq` Prelude.rnf uIColorPalette++instance Data.ToJSON ThemeConfiguration where+  toJSON ThemeConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DataColorPalette" Data..=)+              Prelude.<$> dataColorPalette,+            ("Sheet" Data..=) Prelude.<$> sheet,+            ("Typography" Data..=) Prelude.<$> typography,+            ("UIColorPalette" Data..=)+              Prelude.<$> uIColorPalette+          ]+      )
+ gen/Amazonka/QuickSight/Types/ThemeError.hs view
@@ -0,0 +1,84 @@+{-# 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.QuickSight.Types.ThemeError+-- 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.QuickSight.Types.ThemeError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ThemeErrorType++-- | Theme error.+--+-- /See:/ 'newThemeError' smart constructor.+data ThemeError = ThemeError'+  { -- | The error message.+    message :: Prelude.Maybe Prelude.Text,+    -- | The type of error.+    type' :: Prelude.Maybe ThemeErrorType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ThemeError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'themeError_message' - The error message.+--+-- 'type'', 'themeError_type' - The type of error.+newThemeError ::+  ThemeError+newThemeError =+  ThemeError'+    { message = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The error message.+themeError_message :: Lens.Lens' ThemeError (Prelude.Maybe Prelude.Text)+themeError_message = Lens.lens (\ThemeError' {message} -> message) (\s@ThemeError' {} a -> s {message = a} :: ThemeError)++-- | The type of error.+themeError_type :: Lens.Lens' ThemeError (Prelude.Maybe ThemeErrorType)+themeError_type = Lens.lens (\ThemeError' {type'} -> type') (\s@ThemeError' {} a -> s {type' = a} :: ThemeError)++instance Data.FromJSON ThemeError where+  parseJSON =+    Data.withObject+      "ThemeError"+      ( \x ->+          ThemeError'+            Prelude.<$> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable ThemeError where+  hashWithSalt _salt ThemeError' {..} =+    _salt+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` type'++instance Prelude.NFData ThemeError where+  rnf ThemeError' {..} =+    Prelude.rnf message `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/QuickSight/Types/ThemeErrorType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ThemeErrorType+-- 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.QuickSight.Types.ThemeErrorType+  ( ThemeErrorType+      ( ..,+        ThemeErrorType_INTERNAL_FAILURE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ThemeErrorType = ThemeErrorType'+  { fromThemeErrorType ::+      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 ThemeErrorType_INTERNAL_FAILURE :: ThemeErrorType+pattern ThemeErrorType_INTERNAL_FAILURE = ThemeErrorType' "INTERNAL_FAILURE"++{-# COMPLETE+  ThemeErrorType_INTERNAL_FAILURE,+  ThemeErrorType'+  #-}
+ gen/Amazonka/QuickSight/Types/ThemeSummary.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.QuickSight.Types.ThemeSummary+-- 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.QuickSight.Types.ThemeSummary 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 theme summary.+--+-- /See:/ 'newThemeSummary' smart constructor.+data ThemeSummary = ThemeSummary'+  { -- | The Amazon Resource Name (ARN) of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The date and time that this theme was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The last date and time that this theme was updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The latest version number for the theme.+    latestVersionNumber :: Prelude.Maybe Prelude.Natural,+    -- | the display name for the theme.+    name :: Prelude.Maybe Prelude.Text,+    -- | The ID of the theme. This ID is unique per Amazon Web Services Region+    -- for each Amazon Web Services account.+    themeId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ThemeSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'themeSummary_arn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'createdTime', 'themeSummary_createdTime' - The date and time that this theme was created.+--+-- 'lastUpdatedTime', 'themeSummary_lastUpdatedTime' - The last date and time that this theme was updated.+--+-- 'latestVersionNumber', 'themeSummary_latestVersionNumber' - The latest version number for the theme.+--+-- 'name', 'themeSummary_name' - the display name for the theme.+--+-- 'themeId', 'themeSummary_themeId' - The ID of the theme. This ID is unique per Amazon Web Services Region+-- for each Amazon Web Services account.+newThemeSummary ::+  ThemeSummary+newThemeSummary =+  ThemeSummary'+    { arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      latestVersionNumber = Prelude.Nothing,+      name = Prelude.Nothing,+      themeId = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the resource.+themeSummary_arn :: Lens.Lens' ThemeSummary (Prelude.Maybe Prelude.Text)+themeSummary_arn = Lens.lens (\ThemeSummary' {arn} -> arn) (\s@ThemeSummary' {} a -> s {arn = a} :: ThemeSummary)++-- | The date and time that this theme was created.+themeSummary_createdTime :: Lens.Lens' ThemeSummary (Prelude.Maybe Prelude.UTCTime)+themeSummary_createdTime = Lens.lens (\ThemeSummary' {createdTime} -> createdTime) (\s@ThemeSummary' {} a -> s {createdTime = a} :: ThemeSummary) Prelude.. Lens.mapping Data._Time++-- | The last date and time that this theme was updated.+themeSummary_lastUpdatedTime :: Lens.Lens' ThemeSummary (Prelude.Maybe Prelude.UTCTime)+themeSummary_lastUpdatedTime = Lens.lens (\ThemeSummary' {lastUpdatedTime} -> lastUpdatedTime) (\s@ThemeSummary' {} a -> s {lastUpdatedTime = a} :: ThemeSummary) Prelude.. Lens.mapping Data._Time++-- | The latest version number for the theme.+themeSummary_latestVersionNumber :: Lens.Lens' ThemeSummary (Prelude.Maybe Prelude.Natural)+themeSummary_latestVersionNumber = Lens.lens (\ThemeSummary' {latestVersionNumber} -> latestVersionNumber) (\s@ThemeSummary' {} a -> s {latestVersionNumber = a} :: ThemeSummary)++-- | the display name for the theme.+themeSummary_name :: Lens.Lens' ThemeSummary (Prelude.Maybe Prelude.Text)+themeSummary_name = Lens.lens (\ThemeSummary' {name} -> name) (\s@ThemeSummary' {} a -> s {name = a} :: ThemeSummary)++-- | The ID of the theme. This ID is unique per Amazon Web Services Region+-- for each Amazon Web Services account.+themeSummary_themeId :: Lens.Lens' ThemeSummary (Prelude.Maybe Prelude.Text)+themeSummary_themeId = Lens.lens (\ThemeSummary' {themeId} -> themeId) (\s@ThemeSummary' {} a -> s {themeId = a} :: ThemeSummary)++instance Data.FromJSON ThemeSummary where+  parseJSON =+    Data.withObject+      "ThemeSummary"+      ( \x ->+          ThemeSummary'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "LatestVersionNumber")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "ThemeId")+      )++instance Prelude.Hashable ThemeSummary where+  hashWithSalt _salt ThemeSummary' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` latestVersionNumber+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` themeId++instance Prelude.NFData ThemeSummary where+  rnf ThemeSummary' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf latestVersionNumber+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf themeId
+ gen/Amazonka/QuickSight/Types/ThemeType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ThemeType+-- 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.QuickSight.Types.ThemeType+  ( ThemeType+      ( ..,+        ThemeType_ALL,+        ThemeType_CUSTOM,+        ThemeType_QUICKSIGHT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ThemeType = ThemeType'+  { fromThemeType ::+      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 ThemeType_ALL :: ThemeType+pattern ThemeType_ALL = ThemeType' "ALL"++pattern ThemeType_CUSTOM :: ThemeType+pattern ThemeType_CUSTOM = ThemeType' "CUSTOM"++pattern ThemeType_QUICKSIGHT :: ThemeType+pattern ThemeType_QUICKSIGHT = ThemeType' "QUICKSIGHT"++{-# COMPLETE+  ThemeType_ALL,+  ThemeType_CUSTOM,+  ThemeType_QUICKSIGHT,+  ThemeType'+  #-}
+ gen/Amazonka/QuickSight/Types/ThemeVersion.hs view
@@ -0,0 +1,168 @@+{-# 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.QuickSight.Types.ThemeVersion+-- 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.QuickSight.Types.ThemeVersion where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ResourceStatus+import Amazonka.QuickSight.Types.ThemeConfiguration+import Amazonka.QuickSight.Types.ThemeError++-- | A version of a theme.+--+-- /See:/ 'newThemeVersion' smart constructor.+data ThemeVersion = ThemeVersion'+  { -- | The Amazon Resource Name (ARN) of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon QuickSight-defined ID of the theme that a custom theme+    -- inherits from. All themes initially inherit from a default Amazon+    -- QuickSight theme.+    baseThemeId :: Prelude.Maybe Prelude.Text,+    -- | The theme configuration, which contains all the theme display+    -- properties.+    configuration :: Prelude.Maybe ThemeConfiguration,+    -- | The date and time that this theme version was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The description of the theme.+    description :: Prelude.Maybe Prelude.Text,+    -- | Errors associated with the theme.+    errors :: Prelude.Maybe (Prelude.NonEmpty ThemeError),+    -- | The status of the theme version.+    status :: Prelude.Maybe ResourceStatus,+    -- | The version number of the theme.+    versionNumber :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ThemeVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'themeVersion_arn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'baseThemeId', 'themeVersion_baseThemeId' - The Amazon QuickSight-defined ID of the theme that a custom theme+-- inherits from. All themes initially inherit from a default Amazon+-- QuickSight theme.+--+-- 'configuration', 'themeVersion_configuration' - The theme configuration, which contains all the theme display+-- properties.+--+-- 'createdTime', 'themeVersion_createdTime' - The date and time that this theme version was created.+--+-- 'description', 'themeVersion_description' - The description of the theme.+--+-- 'errors', 'themeVersion_errors' - Errors associated with the theme.+--+-- 'status', 'themeVersion_status' - The status of the theme version.+--+-- 'versionNumber', 'themeVersion_versionNumber' - The version number of the theme.+newThemeVersion ::+  ThemeVersion+newThemeVersion =+  ThemeVersion'+    { arn = Prelude.Nothing,+      baseThemeId = Prelude.Nothing,+      configuration = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      description = Prelude.Nothing,+      errors = Prelude.Nothing,+      status = Prelude.Nothing,+      versionNumber = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the resource.+themeVersion_arn :: Lens.Lens' ThemeVersion (Prelude.Maybe Prelude.Text)+themeVersion_arn = Lens.lens (\ThemeVersion' {arn} -> arn) (\s@ThemeVersion' {} a -> s {arn = a} :: ThemeVersion)++-- | The Amazon QuickSight-defined ID of the theme that a custom theme+-- inherits from. All themes initially inherit from a default Amazon+-- QuickSight theme.+themeVersion_baseThemeId :: Lens.Lens' ThemeVersion (Prelude.Maybe Prelude.Text)+themeVersion_baseThemeId = Lens.lens (\ThemeVersion' {baseThemeId} -> baseThemeId) (\s@ThemeVersion' {} a -> s {baseThemeId = a} :: ThemeVersion)++-- | The theme configuration, which contains all the theme display+-- properties.+themeVersion_configuration :: Lens.Lens' ThemeVersion (Prelude.Maybe ThemeConfiguration)+themeVersion_configuration = Lens.lens (\ThemeVersion' {configuration} -> configuration) (\s@ThemeVersion' {} a -> s {configuration = a} :: ThemeVersion)++-- | The date and time that this theme version was created.+themeVersion_createdTime :: Lens.Lens' ThemeVersion (Prelude.Maybe Prelude.UTCTime)+themeVersion_createdTime = Lens.lens (\ThemeVersion' {createdTime} -> createdTime) (\s@ThemeVersion' {} a -> s {createdTime = a} :: ThemeVersion) Prelude.. Lens.mapping Data._Time++-- | The description of the theme.+themeVersion_description :: Lens.Lens' ThemeVersion (Prelude.Maybe Prelude.Text)+themeVersion_description = Lens.lens (\ThemeVersion' {description} -> description) (\s@ThemeVersion' {} a -> s {description = a} :: ThemeVersion)++-- | Errors associated with the theme.+themeVersion_errors :: Lens.Lens' ThemeVersion (Prelude.Maybe (Prelude.NonEmpty ThemeError))+themeVersion_errors = Lens.lens (\ThemeVersion' {errors} -> errors) (\s@ThemeVersion' {} a -> s {errors = a} :: ThemeVersion) Prelude.. Lens.mapping Lens.coerced++-- | The status of the theme version.+themeVersion_status :: Lens.Lens' ThemeVersion (Prelude.Maybe ResourceStatus)+themeVersion_status = Lens.lens (\ThemeVersion' {status} -> status) (\s@ThemeVersion' {} a -> s {status = a} :: ThemeVersion)++-- | The version number of the theme.+themeVersion_versionNumber :: Lens.Lens' ThemeVersion (Prelude.Maybe Prelude.Natural)+themeVersion_versionNumber = Lens.lens (\ThemeVersion' {versionNumber} -> versionNumber) (\s@ThemeVersion' {} a -> s {versionNumber = a} :: ThemeVersion)++instance Data.FromJSON ThemeVersion where+  parseJSON =+    Data.withObject+      "ThemeVersion"+      ( \x ->+          ThemeVersion'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "BaseThemeId")+            Prelude.<*> (x Data..:? "Configuration")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Errors")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "VersionNumber")+      )++instance Prelude.Hashable ThemeVersion where+  hashWithSalt _salt ThemeVersion' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` baseThemeId+      `Prelude.hashWithSalt` configuration+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` errors+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` versionNumber++instance Prelude.NFData ThemeVersion where+  rnf ThemeVersion' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf baseThemeId+      `Prelude.seq` Prelude.rnf configuration+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf errors+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf versionNumber
+ gen/Amazonka/QuickSight/Types/ThemeVersionSummary.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.ThemeVersionSummary+-- 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.QuickSight.Types.ThemeVersionSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ResourceStatus++-- | The theme version.+--+-- /See:/ 'newThemeVersionSummary' smart constructor.+data ThemeVersionSummary = ThemeVersionSummary'+  { -- | The Amazon Resource Name (ARN) of the theme version.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The date and time that this theme version was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The description of the theme version.+    description :: Prelude.Maybe Prelude.Text,+    -- | The status of the theme version.+    status :: Prelude.Maybe ResourceStatus,+    -- | The version number of the theme version.+    versionNumber :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ThemeVersionSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'themeVersionSummary_arn' - The Amazon Resource Name (ARN) of the theme version.+--+-- 'createdTime', 'themeVersionSummary_createdTime' - The date and time that this theme version was created.+--+-- 'description', 'themeVersionSummary_description' - The description of the theme version.+--+-- 'status', 'themeVersionSummary_status' - The status of the theme version.+--+-- 'versionNumber', 'themeVersionSummary_versionNumber' - The version number of the theme version.+newThemeVersionSummary ::+  ThemeVersionSummary+newThemeVersionSummary =+  ThemeVersionSummary'+    { arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      description = Prelude.Nothing,+      status = Prelude.Nothing,+      versionNumber = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the theme version.+themeVersionSummary_arn :: Lens.Lens' ThemeVersionSummary (Prelude.Maybe Prelude.Text)+themeVersionSummary_arn = Lens.lens (\ThemeVersionSummary' {arn} -> arn) (\s@ThemeVersionSummary' {} a -> s {arn = a} :: ThemeVersionSummary)++-- | The date and time that this theme version was created.+themeVersionSummary_createdTime :: Lens.Lens' ThemeVersionSummary (Prelude.Maybe Prelude.UTCTime)+themeVersionSummary_createdTime = Lens.lens (\ThemeVersionSummary' {createdTime} -> createdTime) (\s@ThemeVersionSummary' {} a -> s {createdTime = a} :: ThemeVersionSummary) Prelude.. Lens.mapping Data._Time++-- | The description of the theme version.+themeVersionSummary_description :: Lens.Lens' ThemeVersionSummary (Prelude.Maybe Prelude.Text)+themeVersionSummary_description = Lens.lens (\ThemeVersionSummary' {description} -> description) (\s@ThemeVersionSummary' {} a -> s {description = a} :: ThemeVersionSummary)++-- | The status of the theme version.+themeVersionSummary_status :: Lens.Lens' ThemeVersionSummary (Prelude.Maybe ResourceStatus)+themeVersionSummary_status = Lens.lens (\ThemeVersionSummary' {status} -> status) (\s@ThemeVersionSummary' {} a -> s {status = a} :: ThemeVersionSummary)++-- | The version number of the theme version.+themeVersionSummary_versionNumber :: Lens.Lens' ThemeVersionSummary (Prelude.Maybe Prelude.Natural)+themeVersionSummary_versionNumber = Lens.lens (\ThemeVersionSummary' {versionNumber} -> versionNumber) (\s@ThemeVersionSummary' {} a -> s {versionNumber = a} :: ThemeVersionSummary)++instance Data.FromJSON ThemeVersionSummary where+  parseJSON =+    Data.withObject+      "ThemeVersionSummary"+      ( \x ->+          ThemeVersionSummary'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "VersionNumber")+      )++instance Prelude.Hashable ThemeVersionSummary where+  hashWithSalt _salt ThemeVersionSummary' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` versionNumber++instance Prelude.NFData ThemeVersionSummary where+  rnf ThemeVersionSummary' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf versionNumber
+ gen/Amazonka/QuickSight/Types/ThousandSeparatorOptions.hs view
@@ -0,0 +1,95 @@+{-# 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.QuickSight.Types.ThousandSeparatorOptions+-- 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.QuickSight.Types.ThousandSeparatorOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.NumericSeparatorSymbol+import Amazonka.QuickSight.Types.Visibility++-- | The options that determine the thousands separator configuration.+--+-- /See:/ 'newThousandSeparatorOptions' smart constructor.+data ThousandSeparatorOptions = ThousandSeparatorOptions'+  { -- | Determines the thousands separator symbol.+    symbol :: Prelude.Maybe NumericSeparatorSymbol,+    -- | Determines the visibility of the thousands separator.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ThousandSeparatorOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'symbol', 'thousandSeparatorOptions_symbol' - Determines the thousands separator symbol.+--+-- 'visibility', 'thousandSeparatorOptions_visibility' - Determines the visibility of the thousands separator.+newThousandSeparatorOptions ::+  ThousandSeparatorOptions+newThousandSeparatorOptions =+  ThousandSeparatorOptions'+    { symbol = Prelude.Nothing,+      visibility = Prelude.Nothing+    }++-- | Determines the thousands separator symbol.+thousandSeparatorOptions_symbol :: Lens.Lens' ThousandSeparatorOptions (Prelude.Maybe NumericSeparatorSymbol)+thousandSeparatorOptions_symbol = Lens.lens (\ThousandSeparatorOptions' {symbol} -> symbol) (\s@ThousandSeparatorOptions' {} a -> s {symbol = a} :: ThousandSeparatorOptions)++-- | Determines the visibility of the thousands separator.+thousandSeparatorOptions_visibility :: Lens.Lens' ThousandSeparatorOptions (Prelude.Maybe Visibility)+thousandSeparatorOptions_visibility = Lens.lens (\ThousandSeparatorOptions' {visibility} -> visibility) (\s@ThousandSeparatorOptions' {} a -> s {visibility = a} :: ThousandSeparatorOptions)++instance Data.FromJSON ThousandSeparatorOptions where+  parseJSON =+    Data.withObject+      "ThousandSeparatorOptions"+      ( \x ->+          ThousandSeparatorOptions'+            Prelude.<$> (x Data..:? "Symbol")+            Prelude.<*> (x Data..:? "Visibility")+      )++instance Prelude.Hashable ThousandSeparatorOptions where+  hashWithSalt _salt ThousandSeparatorOptions' {..} =+    _salt+      `Prelude.hashWithSalt` symbol+      `Prelude.hashWithSalt` visibility++instance Prelude.NFData ThousandSeparatorOptions where+  rnf ThousandSeparatorOptions' {..} =+    Prelude.rnf symbol+      `Prelude.seq` Prelude.rnf visibility++instance Data.ToJSON ThousandSeparatorOptions where+  toJSON ThousandSeparatorOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Symbol" Data..=) Prelude.<$> symbol,+            ("Visibility" Data..=) Prelude.<$> visibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/TileLayoutStyle.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TileLayoutStyle+-- 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.QuickSight.Types.TileLayoutStyle where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.GutterStyle+import Amazonka.QuickSight.Types.MarginStyle++-- | The display options for the layout of tiles on a sheet.+--+-- /See:/ 'newTileLayoutStyle' smart constructor.+data TileLayoutStyle = TileLayoutStyle'+  { -- | The gutter settings that apply between tiles.+    gutter :: Prelude.Maybe GutterStyle,+    -- | The margin settings that apply around the outside edge of sheets.+    margin :: Prelude.Maybe MarginStyle+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TileLayoutStyle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gutter', 'tileLayoutStyle_gutter' - The gutter settings that apply between tiles.+--+-- 'margin', 'tileLayoutStyle_margin' - The margin settings that apply around the outside edge of sheets.+newTileLayoutStyle ::+  TileLayoutStyle+newTileLayoutStyle =+  TileLayoutStyle'+    { gutter = Prelude.Nothing,+      margin = Prelude.Nothing+    }++-- | The gutter settings that apply between tiles.+tileLayoutStyle_gutter :: Lens.Lens' TileLayoutStyle (Prelude.Maybe GutterStyle)+tileLayoutStyle_gutter = Lens.lens (\TileLayoutStyle' {gutter} -> gutter) (\s@TileLayoutStyle' {} a -> s {gutter = a} :: TileLayoutStyle)++-- | The margin settings that apply around the outside edge of sheets.+tileLayoutStyle_margin :: Lens.Lens' TileLayoutStyle (Prelude.Maybe MarginStyle)+tileLayoutStyle_margin = Lens.lens (\TileLayoutStyle' {margin} -> margin) (\s@TileLayoutStyle' {} a -> s {margin = a} :: TileLayoutStyle)++instance Data.FromJSON TileLayoutStyle where+  parseJSON =+    Data.withObject+      "TileLayoutStyle"+      ( \x ->+          TileLayoutStyle'+            Prelude.<$> (x Data..:? "Gutter")+            Prelude.<*> (x Data..:? "Margin")+      )++instance Prelude.Hashable TileLayoutStyle where+  hashWithSalt _salt TileLayoutStyle' {..} =+    _salt+      `Prelude.hashWithSalt` gutter+      `Prelude.hashWithSalt` margin++instance Prelude.NFData TileLayoutStyle where+  rnf TileLayoutStyle' {..} =+    Prelude.rnf gutter `Prelude.seq` Prelude.rnf margin++instance Data.ToJSON TileLayoutStyle where+  toJSON TileLayoutStyle' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Gutter" Data..=) Prelude.<$> gutter,+            ("Margin" Data..=) Prelude.<$> margin+          ]+      )
+ gen/Amazonka/QuickSight/Types/TileStyle.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TileStyle+-- 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.QuickSight.Types.TileStyle where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.BorderStyle++-- | Display options related to tiles on a sheet.+--+-- /See:/ 'newTileStyle' smart constructor.+data TileStyle = TileStyle'+  { -- | The border around a tile.+    border :: Prelude.Maybe BorderStyle+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TileStyle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'border', 'tileStyle_border' - The border around a tile.+newTileStyle ::+  TileStyle+newTileStyle = TileStyle' {border = Prelude.Nothing}++-- | The border around a tile.+tileStyle_border :: Lens.Lens' TileStyle (Prelude.Maybe BorderStyle)+tileStyle_border = Lens.lens (\TileStyle' {border} -> border) (\s@TileStyle' {} a -> s {border = a} :: TileStyle)++instance Data.FromJSON TileStyle where+  parseJSON =+    Data.withObject+      "TileStyle"+      (\x -> TileStyle' Prelude.<$> (x Data..:? "Border"))++instance Prelude.Hashable TileStyle where+  hashWithSalt _salt TileStyle' {..} =+    _salt `Prelude.hashWithSalt` border++instance Prelude.NFData TileStyle where+  rnf TileStyle' {..} = Prelude.rnf border++instance Data.ToJSON TileStyle where+  toJSON TileStyle' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Border" Data..=) Prelude.<$> border]+      )
+ gen/Amazonka/QuickSight/Types/TimeBasedForecastProperties.hs view
@@ -0,0 +1,164 @@+{-# 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.QuickSight.Types.TimeBasedForecastProperties+-- 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.QuickSight.Types.TimeBasedForecastProperties 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 forecast properties setup of a forecast in the line chart.+--+-- /See:/ 'newTimeBasedForecastProperties' smart constructor.+data TimeBasedForecastProperties = TimeBasedForecastProperties'+  { -- | The lower boundary setup of a forecast computation.+    lowerBoundary :: Prelude.Maybe Prelude.Double,+    -- | The periods backward setup of a forecast computation.+    periodsBackward :: Prelude.Maybe Prelude.Natural,+    -- | The periods forward setup of a forecast computation.+    periodsForward :: Prelude.Maybe Prelude.Natural,+    -- | The prediction interval setup of a forecast computation.+    predictionInterval :: Prelude.Maybe Prelude.Natural,+    -- | The seasonality setup of a forecast computation. Choose one of the+    -- following options:+    --+    -- -   @NULL@: The input is set to @NULL@.+    --+    -- -   @NON_NULL@: The input is set to a custom value.+    seasonality :: Prelude.Maybe Prelude.Natural,+    -- | The upper boundary setup of a forecast computation.+    upperBoundary :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeBasedForecastProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lowerBoundary', 'timeBasedForecastProperties_lowerBoundary' - The lower boundary setup of a forecast computation.+--+-- 'periodsBackward', 'timeBasedForecastProperties_periodsBackward' - The periods backward setup of a forecast computation.+--+-- 'periodsForward', 'timeBasedForecastProperties_periodsForward' - The periods forward setup of a forecast computation.+--+-- 'predictionInterval', 'timeBasedForecastProperties_predictionInterval' - The prediction interval setup of a forecast computation.+--+-- 'seasonality', 'timeBasedForecastProperties_seasonality' - The seasonality setup of a forecast computation. Choose one of the+-- following options:+--+-- -   @NULL@: The input is set to @NULL@.+--+-- -   @NON_NULL@: The input is set to a custom value.+--+-- 'upperBoundary', 'timeBasedForecastProperties_upperBoundary' - The upper boundary setup of a forecast computation.+newTimeBasedForecastProperties ::+  TimeBasedForecastProperties+newTimeBasedForecastProperties =+  TimeBasedForecastProperties'+    { lowerBoundary =+        Prelude.Nothing,+      periodsBackward = Prelude.Nothing,+      periodsForward = Prelude.Nothing,+      predictionInterval = Prelude.Nothing,+      seasonality = Prelude.Nothing,+      upperBoundary = Prelude.Nothing+    }++-- | The lower boundary setup of a forecast computation.+timeBasedForecastProperties_lowerBoundary :: Lens.Lens' TimeBasedForecastProperties (Prelude.Maybe Prelude.Double)+timeBasedForecastProperties_lowerBoundary = Lens.lens (\TimeBasedForecastProperties' {lowerBoundary} -> lowerBoundary) (\s@TimeBasedForecastProperties' {} a -> s {lowerBoundary = a} :: TimeBasedForecastProperties)++-- | The periods backward setup of a forecast computation.+timeBasedForecastProperties_periodsBackward :: Lens.Lens' TimeBasedForecastProperties (Prelude.Maybe Prelude.Natural)+timeBasedForecastProperties_periodsBackward = Lens.lens (\TimeBasedForecastProperties' {periodsBackward} -> periodsBackward) (\s@TimeBasedForecastProperties' {} a -> s {periodsBackward = a} :: TimeBasedForecastProperties)++-- | The periods forward setup of a forecast computation.+timeBasedForecastProperties_periodsForward :: Lens.Lens' TimeBasedForecastProperties (Prelude.Maybe Prelude.Natural)+timeBasedForecastProperties_periodsForward = Lens.lens (\TimeBasedForecastProperties' {periodsForward} -> periodsForward) (\s@TimeBasedForecastProperties' {} a -> s {periodsForward = a} :: TimeBasedForecastProperties)++-- | The prediction interval setup of a forecast computation.+timeBasedForecastProperties_predictionInterval :: Lens.Lens' TimeBasedForecastProperties (Prelude.Maybe Prelude.Natural)+timeBasedForecastProperties_predictionInterval = Lens.lens (\TimeBasedForecastProperties' {predictionInterval} -> predictionInterval) (\s@TimeBasedForecastProperties' {} a -> s {predictionInterval = a} :: TimeBasedForecastProperties)++-- | The seasonality setup of a forecast computation. Choose one of the+-- following options:+--+-- -   @NULL@: The input is set to @NULL@.+--+-- -   @NON_NULL@: The input is set to a custom value.+timeBasedForecastProperties_seasonality :: Lens.Lens' TimeBasedForecastProperties (Prelude.Maybe Prelude.Natural)+timeBasedForecastProperties_seasonality = Lens.lens (\TimeBasedForecastProperties' {seasonality} -> seasonality) (\s@TimeBasedForecastProperties' {} a -> s {seasonality = a} :: TimeBasedForecastProperties)++-- | The upper boundary setup of a forecast computation.+timeBasedForecastProperties_upperBoundary :: Lens.Lens' TimeBasedForecastProperties (Prelude.Maybe Prelude.Double)+timeBasedForecastProperties_upperBoundary = Lens.lens (\TimeBasedForecastProperties' {upperBoundary} -> upperBoundary) (\s@TimeBasedForecastProperties' {} a -> s {upperBoundary = a} :: TimeBasedForecastProperties)++instance Data.FromJSON TimeBasedForecastProperties where+  parseJSON =+    Data.withObject+      "TimeBasedForecastProperties"+      ( \x ->+          TimeBasedForecastProperties'+            Prelude.<$> (x Data..:? "LowerBoundary")+            Prelude.<*> (x Data..:? "PeriodsBackward")+            Prelude.<*> (x Data..:? "PeriodsForward")+            Prelude.<*> (x Data..:? "PredictionInterval")+            Prelude.<*> (x Data..:? "Seasonality")+            Prelude.<*> (x Data..:? "UpperBoundary")+      )++instance Prelude.Hashable TimeBasedForecastProperties where+  hashWithSalt _salt TimeBasedForecastProperties' {..} =+    _salt+      `Prelude.hashWithSalt` lowerBoundary+      `Prelude.hashWithSalt` periodsBackward+      `Prelude.hashWithSalt` periodsForward+      `Prelude.hashWithSalt` predictionInterval+      `Prelude.hashWithSalt` seasonality+      `Prelude.hashWithSalt` upperBoundary++instance Prelude.NFData TimeBasedForecastProperties where+  rnf TimeBasedForecastProperties' {..} =+    Prelude.rnf lowerBoundary+      `Prelude.seq` Prelude.rnf periodsBackward+      `Prelude.seq` Prelude.rnf periodsForward+      `Prelude.seq` Prelude.rnf predictionInterval+      `Prelude.seq` Prelude.rnf seasonality+      `Prelude.seq` Prelude.rnf upperBoundary++instance Data.ToJSON TimeBasedForecastProperties where+  toJSON TimeBasedForecastProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LowerBoundary" Data..=) Prelude.<$> lowerBoundary,+            ("PeriodsBackward" Data..=)+              Prelude.<$> periodsBackward,+            ("PeriodsForward" Data..=)+              Prelude.<$> periodsForward,+            ("PredictionInterval" Data..=)+              Prelude.<$> predictionInterval,+            ("Seasonality" Data..=) Prelude.<$> seasonality,+            ("UpperBoundary" Data..=) Prelude.<$> upperBoundary+          ]+      )
+ gen/Amazonka/QuickSight/Types/TimeEqualityFilter.hs view
@@ -0,0 +1,155 @@+{-# 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.QuickSight.Types.TimeEqualityFilter+-- 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.QuickSight.Types.TimeEqualityFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.TimeGranularity++-- | A @TimeEqualityFilter@ filters values that are equal to a given value.+--+-- /See:/ 'newTimeEqualityFilter' smart constructor.+data TimeEqualityFilter = TimeEqualityFilter'+  { -- | The parameter whose value should be used for the filter value.+    --+    -- This field is mutually exclusive to @Value@.+    parameterName :: Prelude.Maybe Prelude.Text,+    -- | The level of time precision that is used to aggregate @DateTime@ values.+    timeGranularity :: Prelude.Maybe TimeGranularity,+    -- | The value of a @TimeEquality@ filter.+    --+    -- This field is mutually exclusive to @ParameterName@.+    value :: Prelude.Maybe Data.POSIX,+    -- | An identifier that uniquely identifies a filter within a dashboard,+    -- analysis, or template.+    filterId :: Prelude.Text,+    -- | The column that the filter is applied to.+    column :: ColumnIdentifier+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeEqualityFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'parameterName', 'timeEqualityFilter_parameterName' - The parameter whose value should be used for the filter value.+--+-- This field is mutually exclusive to @Value@.+--+-- 'timeGranularity', 'timeEqualityFilter_timeGranularity' - The level of time precision that is used to aggregate @DateTime@ values.+--+-- 'value', 'timeEqualityFilter_value' - The value of a @TimeEquality@ filter.+--+-- This field is mutually exclusive to @ParameterName@.+--+-- 'filterId', 'timeEqualityFilter_filterId' - An identifier that uniquely identifies a filter within a dashboard,+-- analysis, or template.+--+-- 'column', 'timeEqualityFilter_column' - The column that the filter is applied to.+newTimeEqualityFilter ::+  -- | 'filterId'+  Prelude.Text ->+  -- | 'column'+  ColumnIdentifier ->+  TimeEqualityFilter+newTimeEqualityFilter pFilterId_ pColumn_ =+  TimeEqualityFilter'+    { parameterName =+        Prelude.Nothing,+      timeGranularity = Prelude.Nothing,+      value = Prelude.Nothing,+      filterId = pFilterId_,+      column = pColumn_+    }++-- | The parameter whose value should be used for the filter value.+--+-- This field is mutually exclusive to @Value@.+timeEqualityFilter_parameterName :: Lens.Lens' TimeEqualityFilter (Prelude.Maybe Prelude.Text)+timeEqualityFilter_parameterName = Lens.lens (\TimeEqualityFilter' {parameterName} -> parameterName) (\s@TimeEqualityFilter' {} a -> s {parameterName = a} :: TimeEqualityFilter)++-- | The level of time precision that is used to aggregate @DateTime@ values.+timeEqualityFilter_timeGranularity :: Lens.Lens' TimeEqualityFilter (Prelude.Maybe TimeGranularity)+timeEqualityFilter_timeGranularity = Lens.lens (\TimeEqualityFilter' {timeGranularity} -> timeGranularity) (\s@TimeEqualityFilter' {} a -> s {timeGranularity = a} :: TimeEqualityFilter)++-- | The value of a @TimeEquality@ filter.+--+-- This field is mutually exclusive to @ParameterName@.+timeEqualityFilter_value :: Lens.Lens' TimeEqualityFilter (Prelude.Maybe Prelude.UTCTime)+timeEqualityFilter_value = Lens.lens (\TimeEqualityFilter' {value} -> value) (\s@TimeEqualityFilter' {} a -> s {value = a} :: TimeEqualityFilter) Prelude.. Lens.mapping Data._Time++-- | An identifier that uniquely identifies a filter within a dashboard,+-- analysis, or template.+timeEqualityFilter_filterId :: Lens.Lens' TimeEqualityFilter Prelude.Text+timeEqualityFilter_filterId = Lens.lens (\TimeEqualityFilter' {filterId} -> filterId) (\s@TimeEqualityFilter' {} a -> s {filterId = a} :: TimeEqualityFilter)++-- | The column that the filter is applied to.+timeEqualityFilter_column :: Lens.Lens' TimeEqualityFilter ColumnIdentifier+timeEqualityFilter_column = Lens.lens (\TimeEqualityFilter' {column} -> column) (\s@TimeEqualityFilter' {} a -> s {column = a} :: TimeEqualityFilter)++instance Data.FromJSON TimeEqualityFilter where+  parseJSON =+    Data.withObject+      "TimeEqualityFilter"+      ( \x ->+          TimeEqualityFilter'+            Prelude.<$> (x Data..:? "ParameterName")+            Prelude.<*> (x Data..:? "TimeGranularity")+            Prelude.<*> (x Data..:? "Value")+            Prelude.<*> (x Data..: "FilterId")+            Prelude.<*> (x Data..: "Column")+      )++instance Prelude.Hashable TimeEqualityFilter where+  hashWithSalt _salt TimeEqualityFilter' {..} =+    _salt+      `Prelude.hashWithSalt` parameterName+      `Prelude.hashWithSalt` timeGranularity+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` filterId+      `Prelude.hashWithSalt` column++instance Prelude.NFData TimeEqualityFilter where+  rnf TimeEqualityFilter' {..} =+    Prelude.rnf parameterName+      `Prelude.seq` Prelude.rnf timeGranularity+      `Prelude.seq` Prelude.rnf value+      `Prelude.seq` Prelude.rnf filterId+      `Prelude.seq` Prelude.rnf column++instance Data.ToJSON TimeEqualityFilter where+  toJSON TimeEqualityFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ParameterName" Data..=) Prelude.<$> parameterName,+            ("TimeGranularity" Data..=)+              Prelude.<$> timeGranularity,+            ("Value" Data..=) Prelude.<$> value,+            Prelude.Just ("FilterId" Data..= filterId),+            Prelude.Just ("Column" Data..= column)+          ]+      )
+ gen/Amazonka/QuickSight/Types/TimeGranularity.hs view
@@ -0,0 +1,106 @@+{-# 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.QuickSight.Types.TimeGranularity+-- 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.QuickSight.Types.TimeGranularity+  ( TimeGranularity+      ( ..,+        TimeGranularity_DAY,+        TimeGranularity_HOUR,+        TimeGranularity_MILLISECOND,+        TimeGranularity_MINUTE,+        TimeGranularity_MONTH,+        TimeGranularity_QUARTER,+        TimeGranularity_SECOND,+        TimeGranularity_WEEK,+        TimeGranularity_YEAR+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TimeGranularity = TimeGranularity'+  { fromTimeGranularity ::+      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 TimeGranularity_DAY :: TimeGranularity+pattern TimeGranularity_DAY = TimeGranularity' "DAY"++pattern TimeGranularity_HOUR :: TimeGranularity+pattern TimeGranularity_HOUR = TimeGranularity' "HOUR"++pattern TimeGranularity_MILLISECOND :: TimeGranularity+pattern TimeGranularity_MILLISECOND = TimeGranularity' "MILLISECOND"++pattern TimeGranularity_MINUTE :: TimeGranularity+pattern TimeGranularity_MINUTE = TimeGranularity' "MINUTE"++pattern TimeGranularity_MONTH :: TimeGranularity+pattern TimeGranularity_MONTH = TimeGranularity' "MONTH"++pattern TimeGranularity_QUARTER :: TimeGranularity+pattern TimeGranularity_QUARTER = TimeGranularity' "QUARTER"++pattern TimeGranularity_SECOND :: TimeGranularity+pattern TimeGranularity_SECOND = TimeGranularity' "SECOND"++pattern TimeGranularity_WEEK :: TimeGranularity+pattern TimeGranularity_WEEK = TimeGranularity' "WEEK"++pattern TimeGranularity_YEAR :: TimeGranularity+pattern TimeGranularity_YEAR = TimeGranularity' "YEAR"++{-# COMPLETE+  TimeGranularity_DAY,+  TimeGranularity_HOUR,+  TimeGranularity_MILLISECOND,+  TimeGranularity_MINUTE,+  TimeGranularity_MONTH,+  TimeGranularity_QUARTER,+  TimeGranularity_SECOND,+  TimeGranularity_WEEK,+  TimeGranularity_YEAR,+  TimeGranularity'+  #-}
+ gen/Amazonka/QuickSight/Types/TimeRangeDrillDownFilter.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.QuickSight.Types.TimeRangeDrillDownFilter+-- 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.QuickSight.Types.TimeRangeDrillDownFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.TimeGranularity++-- | The time range drill down filter.+--+-- /See:/ 'newTimeRangeDrillDownFilter' smart constructor.+data TimeRangeDrillDownFilter = TimeRangeDrillDownFilter'+  { -- | The column that the filter is applied to.+    column :: ColumnIdentifier,+    -- | The minimum value for the filter value range.+    rangeMinimum :: Data.POSIX,+    -- | The maximum value for the filter value range.+    rangeMaximum :: Data.POSIX,+    -- | The level of time precision that is used to aggregate @DateTime@ values.+    timeGranularity :: TimeGranularity+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeRangeDrillDownFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'column', 'timeRangeDrillDownFilter_column' - The column that the filter is applied to.+--+-- 'rangeMinimum', 'timeRangeDrillDownFilter_rangeMinimum' - The minimum value for the filter value range.+--+-- 'rangeMaximum', 'timeRangeDrillDownFilter_rangeMaximum' - The maximum value for the filter value range.+--+-- 'timeGranularity', 'timeRangeDrillDownFilter_timeGranularity' - The level of time precision that is used to aggregate @DateTime@ values.+newTimeRangeDrillDownFilter ::+  -- | 'column'+  ColumnIdentifier ->+  -- | 'rangeMinimum'+  Prelude.UTCTime ->+  -- | 'rangeMaximum'+  Prelude.UTCTime ->+  -- | 'timeGranularity'+  TimeGranularity ->+  TimeRangeDrillDownFilter+newTimeRangeDrillDownFilter+  pColumn_+  pRangeMinimum_+  pRangeMaximum_+  pTimeGranularity_ =+    TimeRangeDrillDownFilter'+      { column = pColumn_,+        rangeMinimum = Data._Time Lens.# pRangeMinimum_,+        rangeMaximum = Data._Time Lens.# pRangeMaximum_,+        timeGranularity = pTimeGranularity_+      }++-- | The column that the filter is applied to.+timeRangeDrillDownFilter_column :: Lens.Lens' TimeRangeDrillDownFilter ColumnIdentifier+timeRangeDrillDownFilter_column = Lens.lens (\TimeRangeDrillDownFilter' {column} -> column) (\s@TimeRangeDrillDownFilter' {} a -> s {column = a} :: TimeRangeDrillDownFilter)++-- | The minimum value for the filter value range.+timeRangeDrillDownFilter_rangeMinimum :: Lens.Lens' TimeRangeDrillDownFilter Prelude.UTCTime+timeRangeDrillDownFilter_rangeMinimum = Lens.lens (\TimeRangeDrillDownFilter' {rangeMinimum} -> rangeMinimum) (\s@TimeRangeDrillDownFilter' {} a -> s {rangeMinimum = a} :: TimeRangeDrillDownFilter) Prelude.. Data._Time++-- | The maximum value for the filter value range.+timeRangeDrillDownFilter_rangeMaximum :: Lens.Lens' TimeRangeDrillDownFilter Prelude.UTCTime+timeRangeDrillDownFilter_rangeMaximum = Lens.lens (\TimeRangeDrillDownFilter' {rangeMaximum} -> rangeMaximum) (\s@TimeRangeDrillDownFilter' {} a -> s {rangeMaximum = a} :: TimeRangeDrillDownFilter) Prelude.. Data._Time++-- | The level of time precision that is used to aggregate @DateTime@ values.+timeRangeDrillDownFilter_timeGranularity :: Lens.Lens' TimeRangeDrillDownFilter TimeGranularity+timeRangeDrillDownFilter_timeGranularity = Lens.lens (\TimeRangeDrillDownFilter' {timeGranularity} -> timeGranularity) (\s@TimeRangeDrillDownFilter' {} a -> s {timeGranularity = a} :: TimeRangeDrillDownFilter)++instance Data.FromJSON TimeRangeDrillDownFilter where+  parseJSON =+    Data.withObject+      "TimeRangeDrillDownFilter"+      ( \x ->+          TimeRangeDrillDownFilter'+            Prelude.<$> (x Data..: "Column")+            Prelude.<*> (x Data..: "RangeMinimum")+            Prelude.<*> (x Data..: "RangeMaximum")+            Prelude.<*> (x Data..: "TimeGranularity")+      )++instance Prelude.Hashable TimeRangeDrillDownFilter where+  hashWithSalt _salt TimeRangeDrillDownFilter' {..} =+    _salt+      `Prelude.hashWithSalt` column+      `Prelude.hashWithSalt` rangeMinimum+      `Prelude.hashWithSalt` rangeMaximum+      `Prelude.hashWithSalt` timeGranularity++instance Prelude.NFData TimeRangeDrillDownFilter where+  rnf TimeRangeDrillDownFilter' {..} =+    Prelude.rnf column+      `Prelude.seq` Prelude.rnf rangeMinimum+      `Prelude.seq` Prelude.rnf rangeMaximum+      `Prelude.seq` Prelude.rnf timeGranularity++instance Data.ToJSON TimeRangeDrillDownFilter where+  toJSON TimeRangeDrillDownFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Column" Data..= column),+            Prelude.Just ("RangeMinimum" Data..= rangeMinimum),+            Prelude.Just ("RangeMaximum" Data..= rangeMaximum),+            Prelude.Just+              ("TimeGranularity" Data..= timeGranularity)+          ]+      )
+ gen/Amazonka/QuickSight/Types/TimeRangeFilter.hs view
@@ -0,0 +1,233 @@+{-# 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.QuickSight.Types.TimeRangeFilter+-- 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.QuickSight.Types.TimeRangeFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.ExcludePeriodConfiguration+import Amazonka.QuickSight.Types.FilterNullOption+import Amazonka.QuickSight.Types.TimeGranularity+import Amazonka.QuickSight.Types.TimeRangeFilterValue++-- | A @TimeRangeFilter@ filters values that are between two specified+-- values.+--+-- /See:/ 'newTimeRangeFilter' smart constructor.+data TimeRangeFilter = TimeRangeFilter'+  { -- | The exclude period of the time range filter.+    excludePeriodConfiguration :: Prelude.Maybe ExcludePeriodConfiguration,+    -- | Determines whether the maximum value in the filter value range should be+    -- included in the filtered results.+    includeMaximum :: Prelude.Maybe Prelude.Bool,+    -- | Determines whether the minimum value in the filter value range should be+    -- included in the filtered results.+    includeMinimum :: Prelude.Maybe Prelude.Bool,+    -- | The maximum value for the filter value range.+    rangeMaximumValue :: Prelude.Maybe TimeRangeFilterValue,+    -- | The minimum value for the filter value range.+    rangeMinimumValue :: Prelude.Maybe TimeRangeFilterValue,+    -- | The level of time precision that is used to aggregate @DateTime@ values.+    timeGranularity :: Prelude.Maybe TimeGranularity,+    -- | An identifier that uniquely identifies a filter within a dashboard,+    -- analysis, or template.+    filterId :: Prelude.Text,+    -- | The column that the filter is applied to.+    column :: ColumnIdentifier,+    -- | This option determines how null values should be treated when filtering+    -- data.+    --+    -- -   @ALL_VALUES@: Include null values in filtered results.+    --+    -- -   @NULLS_ONLY@: Only include null values in filtered results.+    --+    -- -   @NON_NULLS_ONLY@: Exclude null values from filtered results.+    nullOption :: FilterNullOption+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeRangeFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'excludePeriodConfiguration', 'timeRangeFilter_excludePeriodConfiguration' - The exclude period of the time range filter.+--+-- 'includeMaximum', 'timeRangeFilter_includeMaximum' - Determines whether the maximum value in the filter value range should be+-- included in the filtered results.+--+-- 'includeMinimum', 'timeRangeFilter_includeMinimum' - Determines whether the minimum value in the filter value range should be+-- included in the filtered results.+--+-- 'rangeMaximumValue', 'timeRangeFilter_rangeMaximumValue' - The maximum value for the filter value range.+--+-- 'rangeMinimumValue', 'timeRangeFilter_rangeMinimumValue' - The minimum value for the filter value range.+--+-- 'timeGranularity', 'timeRangeFilter_timeGranularity' - The level of time precision that is used to aggregate @DateTime@ values.+--+-- 'filterId', 'timeRangeFilter_filterId' - An identifier that uniquely identifies a filter within a dashboard,+-- analysis, or template.+--+-- 'column', 'timeRangeFilter_column' - The column that the filter is applied to.+--+-- 'nullOption', 'timeRangeFilter_nullOption' - This option determines how null values should be treated when filtering+-- data.+--+-- -   @ALL_VALUES@: Include null values in filtered results.+--+-- -   @NULLS_ONLY@: Only include null values in filtered results.+--+-- -   @NON_NULLS_ONLY@: Exclude null values from filtered results.+newTimeRangeFilter ::+  -- | 'filterId'+  Prelude.Text ->+  -- | 'column'+  ColumnIdentifier ->+  -- | 'nullOption'+  FilterNullOption ->+  TimeRangeFilter+newTimeRangeFilter pFilterId_ pColumn_ pNullOption_ =+  TimeRangeFilter'+    { excludePeriodConfiguration =+        Prelude.Nothing,+      includeMaximum = Prelude.Nothing,+      includeMinimum = Prelude.Nothing,+      rangeMaximumValue = Prelude.Nothing,+      rangeMinimumValue = Prelude.Nothing,+      timeGranularity = Prelude.Nothing,+      filterId = pFilterId_,+      column = pColumn_,+      nullOption = pNullOption_+    }++-- | The exclude period of the time range filter.+timeRangeFilter_excludePeriodConfiguration :: Lens.Lens' TimeRangeFilter (Prelude.Maybe ExcludePeriodConfiguration)+timeRangeFilter_excludePeriodConfiguration = Lens.lens (\TimeRangeFilter' {excludePeriodConfiguration} -> excludePeriodConfiguration) (\s@TimeRangeFilter' {} a -> s {excludePeriodConfiguration = a} :: TimeRangeFilter)++-- | Determines whether the maximum value in the filter value range should be+-- included in the filtered results.+timeRangeFilter_includeMaximum :: Lens.Lens' TimeRangeFilter (Prelude.Maybe Prelude.Bool)+timeRangeFilter_includeMaximum = Lens.lens (\TimeRangeFilter' {includeMaximum} -> includeMaximum) (\s@TimeRangeFilter' {} a -> s {includeMaximum = a} :: TimeRangeFilter)++-- | Determines whether the minimum value in the filter value range should be+-- included in the filtered results.+timeRangeFilter_includeMinimum :: Lens.Lens' TimeRangeFilter (Prelude.Maybe Prelude.Bool)+timeRangeFilter_includeMinimum = Lens.lens (\TimeRangeFilter' {includeMinimum} -> includeMinimum) (\s@TimeRangeFilter' {} a -> s {includeMinimum = a} :: TimeRangeFilter)++-- | The maximum value for the filter value range.+timeRangeFilter_rangeMaximumValue :: Lens.Lens' TimeRangeFilter (Prelude.Maybe TimeRangeFilterValue)+timeRangeFilter_rangeMaximumValue = Lens.lens (\TimeRangeFilter' {rangeMaximumValue} -> rangeMaximumValue) (\s@TimeRangeFilter' {} a -> s {rangeMaximumValue = a} :: TimeRangeFilter)++-- | The minimum value for the filter value range.+timeRangeFilter_rangeMinimumValue :: Lens.Lens' TimeRangeFilter (Prelude.Maybe TimeRangeFilterValue)+timeRangeFilter_rangeMinimumValue = Lens.lens (\TimeRangeFilter' {rangeMinimumValue} -> rangeMinimumValue) (\s@TimeRangeFilter' {} a -> s {rangeMinimumValue = a} :: TimeRangeFilter)++-- | The level of time precision that is used to aggregate @DateTime@ values.+timeRangeFilter_timeGranularity :: Lens.Lens' TimeRangeFilter (Prelude.Maybe TimeGranularity)+timeRangeFilter_timeGranularity = Lens.lens (\TimeRangeFilter' {timeGranularity} -> timeGranularity) (\s@TimeRangeFilter' {} a -> s {timeGranularity = a} :: TimeRangeFilter)++-- | An identifier that uniquely identifies a filter within a dashboard,+-- analysis, or template.+timeRangeFilter_filterId :: Lens.Lens' TimeRangeFilter Prelude.Text+timeRangeFilter_filterId = Lens.lens (\TimeRangeFilter' {filterId} -> filterId) (\s@TimeRangeFilter' {} a -> s {filterId = a} :: TimeRangeFilter)++-- | The column that the filter is applied to.+timeRangeFilter_column :: Lens.Lens' TimeRangeFilter ColumnIdentifier+timeRangeFilter_column = Lens.lens (\TimeRangeFilter' {column} -> column) (\s@TimeRangeFilter' {} a -> s {column = a} :: TimeRangeFilter)++-- | This option determines how null values should be treated when filtering+-- data.+--+-- -   @ALL_VALUES@: Include null values in filtered results.+--+-- -   @NULLS_ONLY@: Only include null values in filtered results.+--+-- -   @NON_NULLS_ONLY@: Exclude null values from filtered results.+timeRangeFilter_nullOption :: Lens.Lens' TimeRangeFilter FilterNullOption+timeRangeFilter_nullOption = Lens.lens (\TimeRangeFilter' {nullOption} -> nullOption) (\s@TimeRangeFilter' {} a -> s {nullOption = a} :: TimeRangeFilter)++instance Data.FromJSON TimeRangeFilter where+  parseJSON =+    Data.withObject+      "TimeRangeFilter"+      ( \x ->+          TimeRangeFilter'+            Prelude.<$> (x Data..:? "ExcludePeriodConfiguration")+            Prelude.<*> (x Data..:? "IncludeMaximum")+            Prelude.<*> (x Data..:? "IncludeMinimum")+            Prelude.<*> (x Data..:? "RangeMaximumValue")+            Prelude.<*> (x Data..:? "RangeMinimumValue")+            Prelude.<*> (x Data..:? "TimeGranularity")+            Prelude.<*> (x Data..: "FilterId")+            Prelude.<*> (x Data..: "Column")+            Prelude.<*> (x Data..: "NullOption")+      )++instance Prelude.Hashable TimeRangeFilter where+  hashWithSalt _salt TimeRangeFilter' {..} =+    _salt+      `Prelude.hashWithSalt` excludePeriodConfiguration+      `Prelude.hashWithSalt` includeMaximum+      `Prelude.hashWithSalt` includeMinimum+      `Prelude.hashWithSalt` rangeMaximumValue+      `Prelude.hashWithSalt` rangeMinimumValue+      `Prelude.hashWithSalt` timeGranularity+      `Prelude.hashWithSalt` filterId+      `Prelude.hashWithSalt` column+      `Prelude.hashWithSalt` nullOption++instance Prelude.NFData TimeRangeFilter where+  rnf TimeRangeFilter' {..} =+    Prelude.rnf excludePeriodConfiguration+      `Prelude.seq` Prelude.rnf includeMaximum+      `Prelude.seq` Prelude.rnf includeMinimum+      `Prelude.seq` Prelude.rnf rangeMaximumValue+      `Prelude.seq` Prelude.rnf rangeMinimumValue+      `Prelude.seq` Prelude.rnf timeGranularity+      `Prelude.seq` Prelude.rnf filterId+      `Prelude.seq` Prelude.rnf column+      `Prelude.seq` Prelude.rnf nullOption++instance Data.ToJSON TimeRangeFilter where+  toJSON TimeRangeFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ExcludePeriodConfiguration" Data..=)+              Prelude.<$> excludePeriodConfiguration,+            ("IncludeMaximum" Data..=)+              Prelude.<$> includeMaximum,+            ("IncludeMinimum" Data..=)+              Prelude.<$> includeMinimum,+            ("RangeMaximumValue" Data..=)+              Prelude.<$> rangeMaximumValue,+            ("RangeMinimumValue" Data..=)+              Prelude.<$> rangeMinimumValue,+            ("TimeGranularity" Data..=)+              Prelude.<$> timeGranularity,+            Prelude.Just ("FilterId" Data..= filterId),+            Prelude.Just ("Column" Data..= column),+            Prelude.Just ("NullOption" Data..= nullOption)+          ]+      )
+ gen/Amazonka/QuickSight/Types/TimeRangeFilterValue.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TimeRangeFilterValue+-- 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.QuickSight.Types.TimeRangeFilterValue where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.RollingDateConfiguration++-- | The value of a time range filter.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newTimeRangeFilterValue' smart constructor.+data TimeRangeFilterValue = TimeRangeFilterValue'+  { -- | The parameter type input value.+    parameter :: Prelude.Maybe Prelude.Text,+    -- | The rolling date input value.+    rollingDate :: Prelude.Maybe RollingDateConfiguration,+    -- | The static input value.+    staticValue :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeRangeFilterValue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'parameter', 'timeRangeFilterValue_parameter' - The parameter type input value.+--+-- 'rollingDate', 'timeRangeFilterValue_rollingDate' - The rolling date input value.+--+-- 'staticValue', 'timeRangeFilterValue_staticValue' - The static input value.+newTimeRangeFilterValue ::+  TimeRangeFilterValue+newTimeRangeFilterValue =+  TimeRangeFilterValue'+    { parameter = Prelude.Nothing,+      rollingDate = Prelude.Nothing,+      staticValue = Prelude.Nothing+    }++-- | The parameter type input value.+timeRangeFilterValue_parameter :: Lens.Lens' TimeRangeFilterValue (Prelude.Maybe Prelude.Text)+timeRangeFilterValue_parameter = Lens.lens (\TimeRangeFilterValue' {parameter} -> parameter) (\s@TimeRangeFilterValue' {} a -> s {parameter = a} :: TimeRangeFilterValue)++-- | The rolling date input value.+timeRangeFilterValue_rollingDate :: Lens.Lens' TimeRangeFilterValue (Prelude.Maybe RollingDateConfiguration)+timeRangeFilterValue_rollingDate = Lens.lens (\TimeRangeFilterValue' {rollingDate} -> rollingDate) (\s@TimeRangeFilterValue' {} a -> s {rollingDate = a} :: TimeRangeFilterValue)++-- | The static input value.+timeRangeFilterValue_staticValue :: Lens.Lens' TimeRangeFilterValue (Prelude.Maybe Prelude.UTCTime)+timeRangeFilterValue_staticValue = Lens.lens (\TimeRangeFilterValue' {staticValue} -> staticValue) (\s@TimeRangeFilterValue' {} a -> s {staticValue = a} :: TimeRangeFilterValue) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON TimeRangeFilterValue where+  parseJSON =+    Data.withObject+      "TimeRangeFilterValue"+      ( \x ->+          TimeRangeFilterValue'+            Prelude.<$> (x Data..:? "Parameter")+            Prelude.<*> (x Data..:? "RollingDate")+            Prelude.<*> (x Data..:? "StaticValue")+      )++instance Prelude.Hashable TimeRangeFilterValue where+  hashWithSalt _salt TimeRangeFilterValue' {..} =+    _salt+      `Prelude.hashWithSalt` parameter+      `Prelude.hashWithSalt` rollingDate+      `Prelude.hashWithSalt` staticValue++instance Prelude.NFData TimeRangeFilterValue where+  rnf TimeRangeFilterValue' {..} =+    Prelude.rnf parameter+      `Prelude.seq` Prelude.rnf rollingDate+      `Prelude.seq` Prelude.rnf staticValue++instance Data.ToJSON TimeRangeFilterValue where+  toJSON TimeRangeFilterValue' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Parameter" Data..=) Prelude.<$> parameter,+            ("RollingDate" Data..=) Prelude.<$> rollingDate,+            ("StaticValue" Data..=) Prelude.<$> staticValue+          ]+      )
+ gen/Amazonka/QuickSight/Types/TooltipItem.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.QuickSight.Types.TooltipItem+-- 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.QuickSight.Types.TooltipItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnTooltipItem+import Amazonka.QuickSight.Types.FieldTooltipItem++-- | The tooltip.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newTooltipItem' smart constructor.+data TooltipItem = TooltipItem'+  { -- | The tooltip item for the columns that are not part of a field well.+    columnTooltipItem :: Prelude.Maybe ColumnTooltipItem,+    -- | The tooltip item for the fields.+    fieldTooltipItem :: Prelude.Maybe FieldTooltipItem+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TooltipItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columnTooltipItem', 'tooltipItem_columnTooltipItem' - The tooltip item for the columns that are not part of a field well.+--+-- 'fieldTooltipItem', 'tooltipItem_fieldTooltipItem' - The tooltip item for the fields.+newTooltipItem ::+  TooltipItem+newTooltipItem =+  TooltipItem'+    { columnTooltipItem = Prelude.Nothing,+      fieldTooltipItem = Prelude.Nothing+    }++-- | The tooltip item for the columns that are not part of a field well.+tooltipItem_columnTooltipItem :: Lens.Lens' TooltipItem (Prelude.Maybe ColumnTooltipItem)+tooltipItem_columnTooltipItem = Lens.lens (\TooltipItem' {columnTooltipItem} -> columnTooltipItem) (\s@TooltipItem' {} a -> s {columnTooltipItem = a} :: TooltipItem)++-- | The tooltip item for the fields.+tooltipItem_fieldTooltipItem :: Lens.Lens' TooltipItem (Prelude.Maybe FieldTooltipItem)+tooltipItem_fieldTooltipItem = Lens.lens (\TooltipItem' {fieldTooltipItem} -> fieldTooltipItem) (\s@TooltipItem' {} a -> s {fieldTooltipItem = a} :: TooltipItem)++instance Data.FromJSON TooltipItem where+  parseJSON =+    Data.withObject+      "TooltipItem"+      ( \x ->+          TooltipItem'+            Prelude.<$> (x Data..:? "ColumnTooltipItem")+            Prelude.<*> (x Data..:? "FieldTooltipItem")+      )++instance Prelude.Hashable TooltipItem where+  hashWithSalt _salt TooltipItem' {..} =+    _salt+      `Prelude.hashWithSalt` columnTooltipItem+      `Prelude.hashWithSalt` fieldTooltipItem++instance Prelude.NFData TooltipItem where+  rnf TooltipItem' {..} =+    Prelude.rnf columnTooltipItem+      `Prelude.seq` Prelude.rnf fieldTooltipItem++instance Data.ToJSON TooltipItem where+  toJSON TooltipItem' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ColumnTooltipItem" Data..=)+              Prelude.<$> columnTooltipItem,+            ("FieldTooltipItem" Data..=)+              Prelude.<$> fieldTooltipItem+          ]+      )
+ gen/Amazonka/QuickSight/Types/TooltipOptions.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TooltipOptions+-- 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.QuickSight.Types.TooltipOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FieldBasedTooltip+import Amazonka.QuickSight.Types.SelectedTooltipType+import Amazonka.QuickSight.Types.Visibility++-- | The display options for the visual tooltip.+--+-- /See:/ 'newTooltipOptions' smart constructor.+data TooltipOptions = TooltipOptions'+  { -- | The setup for the detailed tooltip. The tooltip setup is always saved.+    -- The display type is decided based on the tooltip type.+    fieldBasedTooltip :: Prelude.Maybe FieldBasedTooltip,+    -- | The selected type for the tooltip. Choose one of the following options:+    --+    -- -   @BASIC@: A basic tooltip.+    --+    -- -   @DETAILED@: A detailed tooltip.+    selectedTooltipType :: Prelude.Maybe SelectedTooltipType,+    -- | Determines whether or not the tooltip is visible.+    tooltipVisibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TooltipOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldBasedTooltip', 'tooltipOptions_fieldBasedTooltip' - The setup for the detailed tooltip. The tooltip setup is always saved.+-- The display type is decided based on the tooltip type.+--+-- 'selectedTooltipType', 'tooltipOptions_selectedTooltipType' - The selected type for the tooltip. Choose one of the following options:+--+-- -   @BASIC@: A basic tooltip.+--+-- -   @DETAILED@: A detailed tooltip.+--+-- 'tooltipVisibility', 'tooltipOptions_tooltipVisibility' - Determines whether or not the tooltip is visible.+newTooltipOptions ::+  TooltipOptions+newTooltipOptions =+  TooltipOptions'+    { fieldBasedTooltip =+        Prelude.Nothing,+      selectedTooltipType = Prelude.Nothing,+      tooltipVisibility = Prelude.Nothing+    }++-- | The setup for the detailed tooltip. The tooltip setup is always saved.+-- The display type is decided based on the tooltip type.+tooltipOptions_fieldBasedTooltip :: Lens.Lens' TooltipOptions (Prelude.Maybe FieldBasedTooltip)+tooltipOptions_fieldBasedTooltip = Lens.lens (\TooltipOptions' {fieldBasedTooltip} -> fieldBasedTooltip) (\s@TooltipOptions' {} a -> s {fieldBasedTooltip = a} :: TooltipOptions)++-- | The selected type for the tooltip. Choose one of the following options:+--+-- -   @BASIC@: A basic tooltip.+--+-- -   @DETAILED@: A detailed tooltip.+tooltipOptions_selectedTooltipType :: Lens.Lens' TooltipOptions (Prelude.Maybe SelectedTooltipType)+tooltipOptions_selectedTooltipType = Lens.lens (\TooltipOptions' {selectedTooltipType} -> selectedTooltipType) (\s@TooltipOptions' {} a -> s {selectedTooltipType = a} :: TooltipOptions)++-- | Determines whether or not the tooltip is visible.+tooltipOptions_tooltipVisibility :: Lens.Lens' TooltipOptions (Prelude.Maybe Visibility)+tooltipOptions_tooltipVisibility = Lens.lens (\TooltipOptions' {tooltipVisibility} -> tooltipVisibility) (\s@TooltipOptions' {} a -> s {tooltipVisibility = a} :: TooltipOptions)++instance Data.FromJSON TooltipOptions where+  parseJSON =+    Data.withObject+      "TooltipOptions"+      ( \x ->+          TooltipOptions'+            Prelude.<$> (x Data..:? "FieldBasedTooltip")+            Prelude.<*> (x Data..:? "SelectedTooltipType")+            Prelude.<*> (x Data..:? "TooltipVisibility")+      )++instance Prelude.Hashable TooltipOptions where+  hashWithSalt _salt TooltipOptions' {..} =+    _salt+      `Prelude.hashWithSalt` fieldBasedTooltip+      `Prelude.hashWithSalt` selectedTooltipType+      `Prelude.hashWithSalt` tooltipVisibility++instance Prelude.NFData TooltipOptions where+  rnf TooltipOptions' {..} =+    Prelude.rnf fieldBasedTooltip+      `Prelude.seq` Prelude.rnf selectedTooltipType+      `Prelude.seq` Prelude.rnf tooltipVisibility++instance Data.ToJSON TooltipOptions where+  toJSON TooltipOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FieldBasedTooltip" Data..=)+              Prelude.<$> fieldBasedTooltip,+            ("SelectedTooltipType" Data..=)+              Prelude.<$> selectedTooltipType,+            ("TooltipVisibility" Data..=)+              Prelude.<$> tooltipVisibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/TooltipTitleType.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.QuickSight.Types.TooltipTitleType+-- 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.QuickSight.Types.TooltipTitleType+  ( TooltipTitleType+      ( ..,+        TooltipTitleType_NONE,+        TooltipTitleType_PRIMARY_VALUE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TooltipTitleType = TooltipTitleType'+  { fromTooltipTitleType ::+      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 TooltipTitleType_NONE :: TooltipTitleType+pattern TooltipTitleType_NONE = TooltipTitleType' "NONE"++pattern TooltipTitleType_PRIMARY_VALUE :: TooltipTitleType+pattern TooltipTitleType_PRIMARY_VALUE = TooltipTitleType' "PRIMARY_VALUE"++{-# COMPLETE+  TooltipTitleType_NONE,+  TooltipTitleType_PRIMARY_VALUE,+  TooltipTitleType'+  #-}
+ gen/Amazonka/QuickSight/Types/TopBottomComputationType.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.QuickSight.Types.TopBottomComputationType+-- 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.QuickSight.Types.TopBottomComputationType+  ( TopBottomComputationType+      ( ..,+        TopBottomComputationType_BOTTOM,+        TopBottomComputationType_TOP+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TopBottomComputationType = TopBottomComputationType'+  { fromTopBottomComputationType ::+      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 TopBottomComputationType_BOTTOM :: TopBottomComputationType+pattern TopBottomComputationType_BOTTOM = TopBottomComputationType' "BOTTOM"++pattern TopBottomComputationType_TOP :: TopBottomComputationType+pattern TopBottomComputationType_TOP = TopBottomComputationType' "TOP"++{-# COMPLETE+  TopBottomComputationType_BOTTOM,+  TopBottomComputationType_TOP,+  TopBottomComputationType'+  #-}
+ gen/Amazonka/QuickSight/Types/TopBottomFilter.hs view
@@ -0,0 +1,162 @@+{-# 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.QuickSight.Types.TopBottomFilter+-- 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.QuickSight.Types.TopBottomFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AggregationSortConfiguration+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.TimeGranularity++-- | A @TopBottomFilter@ filters values that are at the top or the bottom.+--+-- /See:/ 'newTopBottomFilter' smart constructor.+data TopBottomFilter = TopBottomFilter'+  { -- | The number of items to include in the top bottom filter results.+    limit :: Prelude.Maybe Prelude.Int,+    -- | The parameter whose value should be used for the filter value.+    parameterName :: Prelude.Maybe Prelude.Text,+    -- | The level of time precision that is used to aggregate @DateTime@ values.+    timeGranularity :: Prelude.Maybe TimeGranularity,+    -- | An identifier that uniquely identifies a filter within a dashboard,+    -- analysis, or template.+    filterId :: Prelude.Text,+    -- | The column that the filter is applied to.+    column :: ColumnIdentifier,+    -- | The aggregation and sort configuration of the top bottom filter.+    aggregationSortConfigurations :: [AggregationSortConfiguration]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TopBottomFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'limit', 'topBottomFilter_limit' - The number of items to include in the top bottom filter results.+--+-- 'parameterName', 'topBottomFilter_parameterName' - The parameter whose value should be used for the filter value.+--+-- 'timeGranularity', 'topBottomFilter_timeGranularity' - The level of time precision that is used to aggregate @DateTime@ values.+--+-- 'filterId', 'topBottomFilter_filterId' - An identifier that uniquely identifies a filter within a dashboard,+-- analysis, or template.+--+-- 'column', 'topBottomFilter_column' - The column that the filter is applied to.+--+-- 'aggregationSortConfigurations', 'topBottomFilter_aggregationSortConfigurations' - The aggregation and sort configuration of the top bottom filter.+newTopBottomFilter ::+  -- | 'filterId'+  Prelude.Text ->+  -- | 'column'+  ColumnIdentifier ->+  TopBottomFilter+newTopBottomFilter pFilterId_ pColumn_ =+  TopBottomFilter'+    { limit = Prelude.Nothing,+      parameterName = Prelude.Nothing,+      timeGranularity = Prelude.Nothing,+      filterId = pFilterId_,+      column = pColumn_,+      aggregationSortConfigurations = Prelude.mempty+    }++-- | The number of items to include in the top bottom filter results.+topBottomFilter_limit :: Lens.Lens' TopBottomFilter (Prelude.Maybe Prelude.Int)+topBottomFilter_limit = Lens.lens (\TopBottomFilter' {limit} -> limit) (\s@TopBottomFilter' {} a -> s {limit = a} :: TopBottomFilter)++-- | The parameter whose value should be used for the filter value.+topBottomFilter_parameterName :: Lens.Lens' TopBottomFilter (Prelude.Maybe Prelude.Text)+topBottomFilter_parameterName = Lens.lens (\TopBottomFilter' {parameterName} -> parameterName) (\s@TopBottomFilter' {} a -> s {parameterName = a} :: TopBottomFilter)++-- | The level of time precision that is used to aggregate @DateTime@ values.+topBottomFilter_timeGranularity :: Lens.Lens' TopBottomFilter (Prelude.Maybe TimeGranularity)+topBottomFilter_timeGranularity = Lens.lens (\TopBottomFilter' {timeGranularity} -> timeGranularity) (\s@TopBottomFilter' {} a -> s {timeGranularity = a} :: TopBottomFilter)++-- | An identifier that uniquely identifies a filter within a dashboard,+-- analysis, or template.+topBottomFilter_filterId :: Lens.Lens' TopBottomFilter Prelude.Text+topBottomFilter_filterId = Lens.lens (\TopBottomFilter' {filterId} -> filterId) (\s@TopBottomFilter' {} a -> s {filterId = a} :: TopBottomFilter)++-- | The column that the filter is applied to.+topBottomFilter_column :: Lens.Lens' TopBottomFilter ColumnIdentifier+topBottomFilter_column = Lens.lens (\TopBottomFilter' {column} -> column) (\s@TopBottomFilter' {} a -> s {column = a} :: TopBottomFilter)++-- | The aggregation and sort configuration of the top bottom filter.+topBottomFilter_aggregationSortConfigurations :: Lens.Lens' TopBottomFilter [AggregationSortConfiguration]+topBottomFilter_aggregationSortConfigurations = Lens.lens (\TopBottomFilter' {aggregationSortConfigurations} -> aggregationSortConfigurations) (\s@TopBottomFilter' {} a -> s {aggregationSortConfigurations = a} :: TopBottomFilter) Prelude.. Lens.coerced++instance Data.FromJSON TopBottomFilter where+  parseJSON =+    Data.withObject+      "TopBottomFilter"+      ( \x ->+          TopBottomFilter'+            Prelude.<$> (x Data..:? "Limit")+            Prelude.<*> (x Data..:? "ParameterName")+            Prelude.<*> (x Data..:? "TimeGranularity")+            Prelude.<*> (x Data..: "FilterId")+            Prelude.<*> (x Data..: "Column")+            Prelude.<*> ( x+                            Data..:? "AggregationSortConfigurations"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable TopBottomFilter where+  hashWithSalt _salt TopBottomFilter' {..} =+    _salt+      `Prelude.hashWithSalt` limit+      `Prelude.hashWithSalt` parameterName+      `Prelude.hashWithSalt` timeGranularity+      `Prelude.hashWithSalt` filterId+      `Prelude.hashWithSalt` column+      `Prelude.hashWithSalt` aggregationSortConfigurations++instance Prelude.NFData TopBottomFilter where+  rnf TopBottomFilter' {..} =+    Prelude.rnf limit+      `Prelude.seq` Prelude.rnf parameterName+      `Prelude.seq` Prelude.rnf timeGranularity+      `Prelude.seq` Prelude.rnf filterId+      `Prelude.seq` Prelude.rnf column+      `Prelude.seq` Prelude.rnf aggregationSortConfigurations++instance Data.ToJSON TopBottomFilter where+  toJSON TopBottomFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Limit" Data..=) Prelude.<$> limit,+            ("ParameterName" Data..=) Prelude.<$> parameterName,+            ("TimeGranularity" Data..=)+              Prelude.<$> timeGranularity,+            Prelude.Just ("FilterId" Data..= filterId),+            Prelude.Just ("Column" Data..= column),+            Prelude.Just+              ( "AggregationSortConfigurations"+                  Data..= aggregationSortConfigurations+              )+          ]+      )
+ gen/Amazonka/QuickSight/Types/TopBottomMoversComputation.hs view
@@ -0,0 +1,200 @@+{-# 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.QuickSight.Types.TopBottomMoversComputation+-- 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.QuickSight.Types.TopBottomMoversComputation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField+import Amazonka.QuickSight.Types.TopBottomComputationType+import Amazonka.QuickSight.Types.TopBottomSortOrder++-- | The top movers and bottom movers computation setup.+--+-- /See:/ 'newTopBottomMoversComputation' smart constructor.+data TopBottomMoversComputation = TopBottomMoversComputation'+  { -- | The mover size setup of the top and bottom movers computation.+    moverSize :: Prelude.Maybe Prelude.Natural,+    -- | The name of a computation.+    name :: Prelude.Maybe Prelude.Text,+    -- | The sort order setup of the top and bottom movers computation.+    sortOrder :: Prelude.Maybe TopBottomSortOrder,+    -- | The value field that is used in a computation.+    value :: Prelude.Maybe MeasureField,+    -- | The ID for a computation.+    computationId :: Prelude.Text,+    -- | The time field that is used in a computation.+    time :: DimensionField,+    -- | The category field that is used in a computation.+    category :: DimensionField,+    -- | The computation type. Choose from the following options:+    --+    -- -   TOP: Top movers computation.+    --+    -- -   BOTTOM: Bottom movers computation.+    type' :: TopBottomComputationType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TopBottomMoversComputation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'moverSize', 'topBottomMoversComputation_moverSize' - The mover size setup of the top and bottom movers computation.+--+-- 'name', 'topBottomMoversComputation_name' - The name of a computation.+--+-- 'sortOrder', 'topBottomMoversComputation_sortOrder' - The sort order setup of the top and bottom movers computation.+--+-- 'value', 'topBottomMoversComputation_value' - The value field that is used in a computation.+--+-- 'computationId', 'topBottomMoversComputation_computationId' - The ID for a computation.+--+-- 'time', 'topBottomMoversComputation_time' - The time field that is used in a computation.+--+-- 'category', 'topBottomMoversComputation_category' - The category field that is used in a computation.+--+-- 'type'', 'topBottomMoversComputation_type' - The computation type. Choose from the following options:+--+-- -   TOP: Top movers computation.+--+-- -   BOTTOM: Bottom movers computation.+newTopBottomMoversComputation ::+  -- | 'computationId'+  Prelude.Text ->+  -- | 'time'+  DimensionField ->+  -- | 'category'+  DimensionField ->+  -- | 'type''+  TopBottomComputationType ->+  TopBottomMoversComputation+newTopBottomMoversComputation+  pComputationId_+  pTime_+  pCategory_+  pType_ =+    TopBottomMoversComputation'+      { moverSize =+          Prelude.Nothing,+        name = Prelude.Nothing,+        sortOrder = Prelude.Nothing,+        value = Prelude.Nothing,+        computationId = pComputationId_,+        time = pTime_,+        category = pCategory_,+        type' = pType_+      }++-- | The mover size setup of the top and bottom movers computation.+topBottomMoversComputation_moverSize :: Lens.Lens' TopBottomMoversComputation (Prelude.Maybe Prelude.Natural)+topBottomMoversComputation_moverSize = Lens.lens (\TopBottomMoversComputation' {moverSize} -> moverSize) (\s@TopBottomMoversComputation' {} a -> s {moverSize = a} :: TopBottomMoversComputation)++-- | The name of a computation.+topBottomMoversComputation_name :: Lens.Lens' TopBottomMoversComputation (Prelude.Maybe Prelude.Text)+topBottomMoversComputation_name = Lens.lens (\TopBottomMoversComputation' {name} -> name) (\s@TopBottomMoversComputation' {} a -> s {name = a} :: TopBottomMoversComputation)++-- | The sort order setup of the top and bottom movers computation.+topBottomMoversComputation_sortOrder :: Lens.Lens' TopBottomMoversComputation (Prelude.Maybe TopBottomSortOrder)+topBottomMoversComputation_sortOrder = Lens.lens (\TopBottomMoversComputation' {sortOrder} -> sortOrder) (\s@TopBottomMoversComputation' {} a -> s {sortOrder = a} :: TopBottomMoversComputation)++-- | The value field that is used in a computation.+topBottomMoversComputation_value :: Lens.Lens' TopBottomMoversComputation (Prelude.Maybe MeasureField)+topBottomMoversComputation_value = Lens.lens (\TopBottomMoversComputation' {value} -> value) (\s@TopBottomMoversComputation' {} a -> s {value = a} :: TopBottomMoversComputation)++-- | The ID for a computation.+topBottomMoversComputation_computationId :: Lens.Lens' TopBottomMoversComputation Prelude.Text+topBottomMoversComputation_computationId = Lens.lens (\TopBottomMoversComputation' {computationId} -> computationId) (\s@TopBottomMoversComputation' {} a -> s {computationId = a} :: TopBottomMoversComputation)++-- | The time field that is used in a computation.+topBottomMoversComputation_time :: Lens.Lens' TopBottomMoversComputation DimensionField+topBottomMoversComputation_time = Lens.lens (\TopBottomMoversComputation' {time} -> time) (\s@TopBottomMoversComputation' {} a -> s {time = a} :: TopBottomMoversComputation)++-- | The category field that is used in a computation.+topBottomMoversComputation_category :: Lens.Lens' TopBottomMoversComputation DimensionField+topBottomMoversComputation_category = Lens.lens (\TopBottomMoversComputation' {category} -> category) (\s@TopBottomMoversComputation' {} a -> s {category = a} :: TopBottomMoversComputation)++-- | The computation type. Choose from the following options:+--+-- -   TOP: Top movers computation.+--+-- -   BOTTOM: Bottom movers computation.+topBottomMoversComputation_type :: Lens.Lens' TopBottomMoversComputation TopBottomComputationType+topBottomMoversComputation_type = Lens.lens (\TopBottomMoversComputation' {type'} -> type') (\s@TopBottomMoversComputation' {} a -> s {type' = a} :: TopBottomMoversComputation)++instance Data.FromJSON TopBottomMoversComputation where+  parseJSON =+    Data.withObject+      "TopBottomMoversComputation"+      ( \x ->+          TopBottomMoversComputation'+            Prelude.<$> (x Data..:? "MoverSize")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "SortOrder")+            Prelude.<*> (x Data..:? "Value")+            Prelude.<*> (x Data..: "ComputationId")+            Prelude.<*> (x Data..: "Time")+            Prelude.<*> (x Data..: "Category")+            Prelude.<*> (x Data..: "Type")+      )++instance Prelude.Hashable TopBottomMoversComputation where+  hashWithSalt _salt TopBottomMoversComputation' {..} =+    _salt+      `Prelude.hashWithSalt` moverSize+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` sortOrder+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` computationId+      `Prelude.hashWithSalt` time+      `Prelude.hashWithSalt` category+      `Prelude.hashWithSalt` type'++instance Prelude.NFData TopBottomMoversComputation where+  rnf TopBottomMoversComputation' {..} =+    Prelude.rnf moverSize+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf sortOrder+      `Prelude.seq` Prelude.rnf value+      `Prelude.seq` Prelude.rnf computationId+      `Prelude.seq` Prelude.rnf time+      `Prelude.seq` Prelude.rnf category+      `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON TopBottomMoversComputation where+  toJSON TopBottomMoversComputation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MoverSize" Data..=) Prelude.<$> moverSize,+            ("Name" Data..=) Prelude.<$> name,+            ("SortOrder" Data..=) Prelude.<$> sortOrder,+            ("Value" Data..=) Prelude.<$> value,+            Prelude.Just ("ComputationId" Data..= computationId),+            Prelude.Just ("Time" Data..= time),+            Prelude.Just ("Category" Data..= category),+            Prelude.Just ("Type" Data..= type')+          ]+      )
+ gen/Amazonka/QuickSight/Types/TopBottomRankedComputation.hs view
@@ -0,0 +1,169 @@+{-# 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.QuickSight.Types.TopBottomRankedComputation+-- 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.QuickSight.Types.TopBottomRankedComputation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField+import Amazonka.QuickSight.Types.TopBottomComputationType++-- | The top ranked and bottom ranked computation configuration.+--+-- /See:/ 'newTopBottomRankedComputation' smart constructor.+data TopBottomRankedComputation = TopBottomRankedComputation'+  { -- | The name of a computation.+    name :: Prelude.Maybe Prelude.Text,+    -- | The result size of a top and bottom ranked computation.+    resultSize :: Prelude.Maybe Prelude.Natural,+    -- | The value field that is used in a computation.+    value :: Prelude.Maybe MeasureField,+    -- | The ID for a computation.+    computationId :: Prelude.Text,+    -- | The category field that is used in a computation.+    category :: DimensionField,+    -- | The computation type. Choose one of the following options:+    --+    -- -   TOP: A top ranked computation.+    --+    -- -   BOTTOM: A bottom ranked computation.+    type' :: TopBottomComputationType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TopBottomRankedComputation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'topBottomRankedComputation_name' - The name of a computation.+--+-- 'resultSize', 'topBottomRankedComputation_resultSize' - The result size of a top and bottom ranked computation.+--+-- 'value', 'topBottomRankedComputation_value' - The value field that is used in a computation.+--+-- 'computationId', 'topBottomRankedComputation_computationId' - The ID for a computation.+--+-- 'category', 'topBottomRankedComputation_category' - The category field that is used in a computation.+--+-- 'type'', 'topBottomRankedComputation_type' - The computation type. Choose one of the following options:+--+-- -   TOP: A top ranked computation.+--+-- -   BOTTOM: A bottom ranked computation.+newTopBottomRankedComputation ::+  -- | 'computationId'+  Prelude.Text ->+  -- | 'category'+  DimensionField ->+  -- | 'type''+  TopBottomComputationType ->+  TopBottomRankedComputation+newTopBottomRankedComputation+  pComputationId_+  pCategory_+  pType_ =+    TopBottomRankedComputation'+      { name = Prelude.Nothing,+        resultSize = Prelude.Nothing,+        value = Prelude.Nothing,+        computationId = pComputationId_,+        category = pCategory_,+        type' = pType_+      }++-- | The name of a computation.+topBottomRankedComputation_name :: Lens.Lens' TopBottomRankedComputation (Prelude.Maybe Prelude.Text)+topBottomRankedComputation_name = Lens.lens (\TopBottomRankedComputation' {name} -> name) (\s@TopBottomRankedComputation' {} a -> s {name = a} :: TopBottomRankedComputation)++-- | The result size of a top and bottom ranked computation.+topBottomRankedComputation_resultSize :: Lens.Lens' TopBottomRankedComputation (Prelude.Maybe Prelude.Natural)+topBottomRankedComputation_resultSize = Lens.lens (\TopBottomRankedComputation' {resultSize} -> resultSize) (\s@TopBottomRankedComputation' {} a -> s {resultSize = a} :: TopBottomRankedComputation)++-- | The value field that is used in a computation.+topBottomRankedComputation_value :: Lens.Lens' TopBottomRankedComputation (Prelude.Maybe MeasureField)+topBottomRankedComputation_value = Lens.lens (\TopBottomRankedComputation' {value} -> value) (\s@TopBottomRankedComputation' {} a -> s {value = a} :: TopBottomRankedComputation)++-- | The ID for a computation.+topBottomRankedComputation_computationId :: Lens.Lens' TopBottomRankedComputation Prelude.Text+topBottomRankedComputation_computationId = Lens.lens (\TopBottomRankedComputation' {computationId} -> computationId) (\s@TopBottomRankedComputation' {} a -> s {computationId = a} :: TopBottomRankedComputation)++-- | The category field that is used in a computation.+topBottomRankedComputation_category :: Lens.Lens' TopBottomRankedComputation DimensionField+topBottomRankedComputation_category = Lens.lens (\TopBottomRankedComputation' {category} -> category) (\s@TopBottomRankedComputation' {} a -> s {category = a} :: TopBottomRankedComputation)++-- | The computation type. Choose one of the following options:+--+-- -   TOP: A top ranked computation.+--+-- -   BOTTOM: A bottom ranked computation.+topBottomRankedComputation_type :: Lens.Lens' TopBottomRankedComputation TopBottomComputationType+topBottomRankedComputation_type = Lens.lens (\TopBottomRankedComputation' {type'} -> type') (\s@TopBottomRankedComputation' {} a -> s {type' = a} :: TopBottomRankedComputation)++instance Data.FromJSON TopBottomRankedComputation where+  parseJSON =+    Data.withObject+      "TopBottomRankedComputation"+      ( \x ->+          TopBottomRankedComputation'+            Prelude.<$> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "ResultSize")+            Prelude.<*> (x Data..:? "Value")+            Prelude.<*> (x Data..: "ComputationId")+            Prelude.<*> (x Data..: "Category")+            Prelude.<*> (x Data..: "Type")+      )++instance Prelude.Hashable TopBottomRankedComputation where+  hashWithSalt _salt TopBottomRankedComputation' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` resultSize+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` computationId+      `Prelude.hashWithSalt` category+      `Prelude.hashWithSalt` type'++instance Prelude.NFData TopBottomRankedComputation where+  rnf TopBottomRankedComputation' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf resultSize+      `Prelude.seq` Prelude.rnf value+      `Prelude.seq` Prelude.rnf computationId+      `Prelude.seq` Prelude.rnf category+      `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON TopBottomRankedComputation where+  toJSON TopBottomRankedComputation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Name" Data..=) Prelude.<$> name,+            ("ResultSize" Data..=) Prelude.<$> resultSize,+            ("Value" Data..=) Prelude.<$> value,+            Prelude.Just ("ComputationId" Data..= computationId),+            Prelude.Just ("Category" Data..= category),+            Prelude.Just ("Type" Data..= type')+          ]+      )
+ gen/Amazonka/QuickSight/Types/TopBottomSortOrder.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.QuickSight.Types.TopBottomSortOrder+-- 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.QuickSight.Types.TopBottomSortOrder+  ( TopBottomSortOrder+      ( ..,+        TopBottomSortOrder_ABSOLUTE_DIFFERENCE,+        TopBottomSortOrder_PERCENT_DIFFERENCE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TopBottomSortOrder = TopBottomSortOrder'+  { fromTopBottomSortOrder ::+      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 TopBottomSortOrder_ABSOLUTE_DIFFERENCE :: TopBottomSortOrder+pattern TopBottomSortOrder_ABSOLUTE_DIFFERENCE = TopBottomSortOrder' "ABSOLUTE_DIFFERENCE"++pattern TopBottomSortOrder_PERCENT_DIFFERENCE :: TopBottomSortOrder+pattern TopBottomSortOrder_PERCENT_DIFFERENCE = TopBottomSortOrder' "PERCENT_DIFFERENCE"++{-# COMPLETE+  TopBottomSortOrder_ABSOLUTE_DIFFERENCE,+  TopBottomSortOrder_PERCENT_DIFFERENCE,+  TopBottomSortOrder'+  #-}
+ gen/Amazonka/QuickSight/Types/TotalAggregationComputation.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.QuickSight.Types.TotalAggregationComputation+-- 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.QuickSight.Types.TotalAggregationComputation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.MeasureField++-- | The total aggregation computation configuration.+--+-- /See:/ 'newTotalAggregationComputation' smart constructor.+data TotalAggregationComputation = TotalAggregationComputation'+  { -- | The name of a computation.+    name :: Prelude.Maybe Prelude.Text,+    -- | The ID for a computation.+    computationId :: Prelude.Text,+    -- | The value field that is used in a computation.+    value :: MeasureField+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TotalAggregationComputation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'totalAggregationComputation_name' - The name of a computation.+--+-- 'computationId', 'totalAggregationComputation_computationId' - The ID for a computation.+--+-- 'value', 'totalAggregationComputation_value' - The value field that is used in a computation.+newTotalAggregationComputation ::+  -- | 'computationId'+  Prelude.Text ->+  -- | 'value'+  MeasureField ->+  TotalAggregationComputation+newTotalAggregationComputation+  pComputationId_+  pValue_ =+    TotalAggregationComputation'+      { name =+          Prelude.Nothing,+        computationId = pComputationId_,+        value = pValue_+      }++-- | The name of a computation.+totalAggregationComputation_name :: Lens.Lens' TotalAggregationComputation (Prelude.Maybe Prelude.Text)+totalAggregationComputation_name = Lens.lens (\TotalAggregationComputation' {name} -> name) (\s@TotalAggregationComputation' {} a -> s {name = a} :: TotalAggregationComputation)++-- | The ID for a computation.+totalAggregationComputation_computationId :: Lens.Lens' TotalAggregationComputation Prelude.Text+totalAggregationComputation_computationId = Lens.lens (\TotalAggregationComputation' {computationId} -> computationId) (\s@TotalAggregationComputation' {} a -> s {computationId = a} :: TotalAggregationComputation)++-- | The value field that is used in a computation.+totalAggregationComputation_value :: Lens.Lens' TotalAggregationComputation MeasureField+totalAggregationComputation_value = Lens.lens (\TotalAggregationComputation' {value} -> value) (\s@TotalAggregationComputation' {} a -> s {value = a} :: TotalAggregationComputation)++instance Data.FromJSON TotalAggregationComputation where+  parseJSON =+    Data.withObject+      "TotalAggregationComputation"+      ( \x ->+          TotalAggregationComputation'+            Prelude.<$> (x Data..:? "Name")+            Prelude.<*> (x Data..: "ComputationId")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable TotalAggregationComputation where+  hashWithSalt _salt TotalAggregationComputation' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` computationId+      `Prelude.hashWithSalt` value++instance Prelude.NFData TotalAggregationComputation where+  rnf TotalAggregationComputation' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf computationId+      `Prelude.seq` Prelude.rnf value++instance Data.ToJSON TotalAggregationComputation where+  toJSON TotalAggregationComputation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Name" Data..=) Prelude.<$> name,+            Prelude.Just ("ComputationId" Data..= computationId),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/QuickSight/Types/TotalOptions.hs view
@@ -0,0 +1,138 @@+{-# 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.QuickSight.Types.TotalOptions+-- 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.QuickSight.Types.TotalOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TableCellStyle+import Amazonka.QuickSight.Types.TableTotalsPlacement+import Amazonka.QuickSight.Types.TableTotalsScrollStatus+import Amazonka.QuickSight.Types.Visibility++-- | The total options for a table visual.+--+-- /See:/ 'newTotalOptions' smart constructor.+data TotalOptions = TotalOptions'+  { -- | The custom label string for the total cells.+    customLabel :: Prelude.Maybe Prelude.Text,+    -- | The placement (start, end) for the total cells.+    placement :: Prelude.Maybe TableTotalsPlacement,+    -- | The scroll status (pinned, scrolled) for the total cells.+    scrollStatus :: Prelude.Maybe TableTotalsScrollStatus,+    -- | Cell styling options for the total cells.+    totalCellStyle :: Prelude.Maybe TableCellStyle,+    -- | The visibility configuration for the total cells.+    totalsVisibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TotalOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customLabel', 'totalOptions_customLabel' - The custom label string for the total cells.+--+-- 'placement', 'totalOptions_placement' - The placement (start, end) for the total cells.+--+-- 'scrollStatus', 'totalOptions_scrollStatus' - The scroll status (pinned, scrolled) for the total cells.+--+-- 'totalCellStyle', 'totalOptions_totalCellStyle' - Cell styling options for the total cells.+--+-- 'totalsVisibility', 'totalOptions_totalsVisibility' - The visibility configuration for the total cells.+newTotalOptions ::+  TotalOptions+newTotalOptions =+  TotalOptions'+    { customLabel = Prelude.Nothing,+      placement = Prelude.Nothing,+      scrollStatus = Prelude.Nothing,+      totalCellStyle = Prelude.Nothing,+      totalsVisibility = Prelude.Nothing+    }++-- | The custom label string for the total cells.+totalOptions_customLabel :: Lens.Lens' TotalOptions (Prelude.Maybe Prelude.Text)+totalOptions_customLabel = Lens.lens (\TotalOptions' {customLabel} -> customLabel) (\s@TotalOptions' {} a -> s {customLabel = a} :: TotalOptions)++-- | The placement (start, end) for the total cells.+totalOptions_placement :: Lens.Lens' TotalOptions (Prelude.Maybe TableTotalsPlacement)+totalOptions_placement = Lens.lens (\TotalOptions' {placement} -> placement) (\s@TotalOptions' {} a -> s {placement = a} :: TotalOptions)++-- | The scroll status (pinned, scrolled) for the total cells.+totalOptions_scrollStatus :: Lens.Lens' TotalOptions (Prelude.Maybe TableTotalsScrollStatus)+totalOptions_scrollStatus = Lens.lens (\TotalOptions' {scrollStatus} -> scrollStatus) (\s@TotalOptions' {} a -> s {scrollStatus = a} :: TotalOptions)++-- | Cell styling options for the total cells.+totalOptions_totalCellStyle :: Lens.Lens' TotalOptions (Prelude.Maybe TableCellStyle)+totalOptions_totalCellStyle = Lens.lens (\TotalOptions' {totalCellStyle} -> totalCellStyle) (\s@TotalOptions' {} a -> s {totalCellStyle = a} :: TotalOptions)++-- | The visibility configuration for the total cells.+totalOptions_totalsVisibility :: Lens.Lens' TotalOptions (Prelude.Maybe Visibility)+totalOptions_totalsVisibility = Lens.lens (\TotalOptions' {totalsVisibility} -> totalsVisibility) (\s@TotalOptions' {} a -> s {totalsVisibility = a} :: TotalOptions)++instance Data.FromJSON TotalOptions where+  parseJSON =+    Data.withObject+      "TotalOptions"+      ( \x ->+          TotalOptions'+            Prelude.<$> (x Data..:? "CustomLabel")+            Prelude.<*> (x Data..:? "Placement")+            Prelude.<*> (x Data..:? "ScrollStatus")+            Prelude.<*> (x Data..:? "TotalCellStyle")+            Prelude.<*> (x Data..:? "TotalsVisibility")+      )++instance Prelude.Hashable TotalOptions where+  hashWithSalt _salt TotalOptions' {..} =+    _salt+      `Prelude.hashWithSalt` customLabel+      `Prelude.hashWithSalt` placement+      `Prelude.hashWithSalt` scrollStatus+      `Prelude.hashWithSalt` totalCellStyle+      `Prelude.hashWithSalt` totalsVisibility++instance Prelude.NFData TotalOptions where+  rnf TotalOptions' {..} =+    Prelude.rnf customLabel+      `Prelude.seq` Prelude.rnf placement+      `Prelude.seq` Prelude.rnf scrollStatus+      `Prelude.seq` Prelude.rnf totalCellStyle+      `Prelude.seq` Prelude.rnf totalsVisibility++instance Data.ToJSON TotalOptions where+  toJSON TotalOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomLabel" Data..=) Prelude.<$> customLabel,+            ("Placement" Data..=) Prelude.<$> placement,+            ("ScrollStatus" Data..=) Prelude.<$> scrollStatus,+            ("TotalCellStyle" Data..=)+              Prelude.<$> totalCellStyle,+            ("TotalsVisibility" Data..=)+              Prelude.<$> totalsVisibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/TransformOperation.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TransformOperation+-- 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.QuickSight.Types.TransformOperation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CastColumnTypeOperation+import Amazonka.QuickSight.Types.CreateColumnsOperation+import Amazonka.QuickSight.Types.FilterOperation+import Amazonka.QuickSight.Types.ProjectOperation+import Amazonka.QuickSight.Types.RenameColumnOperation+import Amazonka.QuickSight.Types.TagColumnOperation+import Amazonka.QuickSight.Types.UntagColumnOperation++-- | A data transformation on a logical table. This is a variant type+-- structure. For this structure to be valid, only one of the attributes+-- can be non-null.+--+-- /See:/ 'newTransformOperation' smart constructor.+data TransformOperation = TransformOperation'+  { -- | A transform operation that casts a column to a different type.+    castColumnTypeOperation :: Prelude.Maybe CastColumnTypeOperation,+    -- | An operation that creates calculated columns. Columns created in one+    -- such operation form a lexical closure.+    createColumnsOperation :: Prelude.Maybe CreateColumnsOperation,+    -- | An operation that filters rows based on some condition.+    filterOperation :: Prelude.Maybe FilterOperation,+    -- | An operation that projects columns. Operations that come after a+    -- projection can only refer to projected columns.+    projectOperation :: Prelude.Maybe ProjectOperation,+    -- | An operation that renames a column.+    renameColumnOperation :: Prelude.Maybe RenameColumnOperation,+    -- | An operation that tags a column with additional information.+    tagColumnOperation :: Prelude.Maybe TagColumnOperation,+    untagColumnOperation :: Prelude.Maybe UntagColumnOperation+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TransformOperation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'castColumnTypeOperation', 'transformOperation_castColumnTypeOperation' - A transform operation that casts a column to a different type.+--+-- 'createColumnsOperation', 'transformOperation_createColumnsOperation' - An operation that creates calculated columns. Columns created in one+-- such operation form a lexical closure.+--+-- 'filterOperation', 'transformOperation_filterOperation' - An operation that filters rows based on some condition.+--+-- 'projectOperation', 'transformOperation_projectOperation' - An operation that projects columns. Operations that come after a+-- projection can only refer to projected columns.+--+-- 'renameColumnOperation', 'transformOperation_renameColumnOperation' - An operation that renames a column.+--+-- 'tagColumnOperation', 'transformOperation_tagColumnOperation' - An operation that tags a column with additional information.+--+-- 'untagColumnOperation', 'transformOperation_untagColumnOperation' - Undocumented member.+newTransformOperation ::+  TransformOperation+newTransformOperation =+  TransformOperation'+    { castColumnTypeOperation =+        Prelude.Nothing,+      createColumnsOperation = Prelude.Nothing,+      filterOperation = Prelude.Nothing,+      projectOperation = Prelude.Nothing,+      renameColumnOperation = Prelude.Nothing,+      tagColumnOperation = Prelude.Nothing,+      untagColumnOperation = Prelude.Nothing+    }++-- | A transform operation that casts a column to a different type.+transformOperation_castColumnTypeOperation :: Lens.Lens' TransformOperation (Prelude.Maybe CastColumnTypeOperation)+transformOperation_castColumnTypeOperation = Lens.lens (\TransformOperation' {castColumnTypeOperation} -> castColumnTypeOperation) (\s@TransformOperation' {} a -> s {castColumnTypeOperation = a} :: TransformOperation)++-- | An operation that creates calculated columns. Columns created in one+-- such operation form a lexical closure.+transformOperation_createColumnsOperation :: Lens.Lens' TransformOperation (Prelude.Maybe CreateColumnsOperation)+transformOperation_createColumnsOperation = Lens.lens (\TransformOperation' {createColumnsOperation} -> createColumnsOperation) (\s@TransformOperation' {} a -> s {createColumnsOperation = a} :: TransformOperation)++-- | An operation that filters rows based on some condition.+transformOperation_filterOperation :: Lens.Lens' TransformOperation (Prelude.Maybe FilterOperation)+transformOperation_filterOperation = Lens.lens (\TransformOperation' {filterOperation} -> filterOperation) (\s@TransformOperation' {} a -> s {filterOperation = a} :: TransformOperation)++-- | An operation that projects columns. Operations that come after a+-- projection can only refer to projected columns.+transformOperation_projectOperation :: Lens.Lens' TransformOperation (Prelude.Maybe ProjectOperation)+transformOperation_projectOperation = Lens.lens (\TransformOperation' {projectOperation} -> projectOperation) (\s@TransformOperation' {} a -> s {projectOperation = a} :: TransformOperation)++-- | An operation that renames a column.+transformOperation_renameColumnOperation :: Lens.Lens' TransformOperation (Prelude.Maybe RenameColumnOperation)+transformOperation_renameColumnOperation = Lens.lens (\TransformOperation' {renameColumnOperation} -> renameColumnOperation) (\s@TransformOperation' {} a -> s {renameColumnOperation = a} :: TransformOperation)++-- | An operation that tags a column with additional information.+transformOperation_tagColumnOperation :: Lens.Lens' TransformOperation (Prelude.Maybe TagColumnOperation)+transformOperation_tagColumnOperation = Lens.lens (\TransformOperation' {tagColumnOperation} -> tagColumnOperation) (\s@TransformOperation' {} a -> s {tagColumnOperation = a} :: TransformOperation)++-- | Undocumented member.+transformOperation_untagColumnOperation :: Lens.Lens' TransformOperation (Prelude.Maybe UntagColumnOperation)+transformOperation_untagColumnOperation = Lens.lens (\TransformOperation' {untagColumnOperation} -> untagColumnOperation) (\s@TransformOperation' {} a -> s {untagColumnOperation = a} :: TransformOperation)++instance Data.FromJSON TransformOperation where+  parseJSON =+    Data.withObject+      "TransformOperation"+      ( \x ->+          TransformOperation'+            Prelude.<$> (x Data..:? "CastColumnTypeOperation")+            Prelude.<*> (x Data..:? "CreateColumnsOperation")+            Prelude.<*> (x Data..:? "FilterOperation")+            Prelude.<*> (x Data..:? "ProjectOperation")+            Prelude.<*> (x Data..:? "RenameColumnOperation")+            Prelude.<*> (x Data..:? "TagColumnOperation")+            Prelude.<*> (x Data..:? "UntagColumnOperation")+      )++instance Prelude.Hashable TransformOperation where+  hashWithSalt _salt TransformOperation' {..} =+    _salt+      `Prelude.hashWithSalt` castColumnTypeOperation+      `Prelude.hashWithSalt` createColumnsOperation+      `Prelude.hashWithSalt` filterOperation+      `Prelude.hashWithSalt` projectOperation+      `Prelude.hashWithSalt` renameColumnOperation+      `Prelude.hashWithSalt` tagColumnOperation+      `Prelude.hashWithSalt` untagColumnOperation++instance Prelude.NFData TransformOperation where+  rnf TransformOperation' {..} =+    Prelude.rnf castColumnTypeOperation+      `Prelude.seq` Prelude.rnf createColumnsOperation+      `Prelude.seq` Prelude.rnf filterOperation+      `Prelude.seq` Prelude.rnf projectOperation+      `Prelude.seq` Prelude.rnf renameColumnOperation+      `Prelude.seq` Prelude.rnf tagColumnOperation+      `Prelude.seq` Prelude.rnf untagColumnOperation++instance Data.ToJSON TransformOperation where+  toJSON TransformOperation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CastColumnTypeOperation" Data..=)+              Prelude.<$> castColumnTypeOperation,+            ("CreateColumnsOperation" Data..=)+              Prelude.<$> createColumnsOperation,+            ("FilterOperation" Data..=)+              Prelude.<$> filterOperation,+            ("ProjectOperation" Data..=)+              Prelude.<$> projectOperation,+            ("RenameColumnOperation" Data..=)+              Prelude.<$> renameColumnOperation,+            ("TagColumnOperation" Data..=)+              Prelude.<$> tagColumnOperation,+            ("UntagColumnOperation" Data..=)+              Prelude.<$> untagColumnOperation+          ]+      )
+ gen/Amazonka/QuickSight/Types/TreeMapAggregatedFieldWells.hs view
@@ -0,0 +1,118 @@+{-# 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.QuickSight.Types.TreeMapAggregatedFieldWells+-- 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.QuickSight.Types.TreeMapAggregatedFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | Aggregated field wells of a tree map.+--+-- /See:/ 'newTreeMapAggregatedFieldWells' smart constructor.+data TreeMapAggregatedFieldWells = TreeMapAggregatedFieldWells'+  { -- | The color field well of a tree map. Values are grouped by aggregations+    -- based on group by fields.+    colors :: Prelude.Maybe [MeasureField],+    -- | The group by field well of a tree map. Values are grouped based on group+    -- by fields.+    groups :: Prelude.Maybe [DimensionField],+    -- | The size field well of a tree map. Values are aggregated based on group+    -- by fields.+    sizes :: Prelude.Maybe [MeasureField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TreeMapAggregatedFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'colors', 'treeMapAggregatedFieldWells_colors' - The color field well of a tree map. Values are grouped by aggregations+-- based on group by fields.+--+-- 'groups', 'treeMapAggregatedFieldWells_groups' - The group by field well of a tree map. Values are grouped based on group+-- by fields.+--+-- 'sizes', 'treeMapAggregatedFieldWells_sizes' - The size field well of a tree map. Values are aggregated based on group+-- by fields.+newTreeMapAggregatedFieldWells ::+  TreeMapAggregatedFieldWells+newTreeMapAggregatedFieldWells =+  TreeMapAggregatedFieldWells'+    { colors =+        Prelude.Nothing,+      groups = Prelude.Nothing,+      sizes = Prelude.Nothing+    }++-- | The color field well of a tree map. Values are grouped by aggregations+-- based on group by fields.+treeMapAggregatedFieldWells_colors :: Lens.Lens' TreeMapAggregatedFieldWells (Prelude.Maybe [MeasureField])+treeMapAggregatedFieldWells_colors = Lens.lens (\TreeMapAggregatedFieldWells' {colors} -> colors) (\s@TreeMapAggregatedFieldWells' {} a -> s {colors = a} :: TreeMapAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The group by field well of a tree map. Values are grouped based on group+-- by fields.+treeMapAggregatedFieldWells_groups :: Lens.Lens' TreeMapAggregatedFieldWells (Prelude.Maybe [DimensionField])+treeMapAggregatedFieldWells_groups = Lens.lens (\TreeMapAggregatedFieldWells' {groups} -> groups) (\s@TreeMapAggregatedFieldWells' {} a -> s {groups = a} :: TreeMapAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The size field well of a tree map. Values are aggregated based on group+-- by fields.+treeMapAggregatedFieldWells_sizes :: Lens.Lens' TreeMapAggregatedFieldWells (Prelude.Maybe [MeasureField])+treeMapAggregatedFieldWells_sizes = Lens.lens (\TreeMapAggregatedFieldWells' {sizes} -> sizes) (\s@TreeMapAggregatedFieldWells' {} a -> s {sizes = a} :: TreeMapAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON TreeMapAggregatedFieldWells where+  parseJSON =+    Data.withObject+      "TreeMapAggregatedFieldWells"+      ( \x ->+          TreeMapAggregatedFieldWells'+            Prelude.<$> (x Data..:? "Colors" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Groups" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Sizes" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable TreeMapAggregatedFieldWells where+  hashWithSalt _salt TreeMapAggregatedFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` colors+      `Prelude.hashWithSalt` groups+      `Prelude.hashWithSalt` sizes++instance Prelude.NFData TreeMapAggregatedFieldWells where+  rnf TreeMapAggregatedFieldWells' {..} =+    Prelude.rnf colors+      `Prelude.seq` Prelude.rnf groups+      `Prelude.seq` Prelude.rnf sizes++instance Data.ToJSON TreeMapAggregatedFieldWells where+  toJSON TreeMapAggregatedFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Colors" Data..=) Prelude.<$> colors,+            ("Groups" Data..=) Prelude.<$> groups,+            ("Sizes" Data..=) Prelude.<$> sizes+          ]+      )
+ gen/Amazonka/QuickSight/Types/TreeMapConfiguration.hs view
@@ -0,0 +1,205 @@+{-# 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.QuickSight.Types.TreeMapConfiguration+-- 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.QuickSight.Types.TreeMapConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ChartAxisLabelOptions+import Amazonka.QuickSight.Types.ColorScale+import Amazonka.QuickSight.Types.DataLabelOptions+import Amazonka.QuickSight.Types.LegendOptions+import Amazonka.QuickSight.Types.TooltipOptions+import Amazonka.QuickSight.Types.TreeMapFieldWells+import Amazonka.QuickSight.Types.TreeMapSortConfiguration++-- | The configuration of a tree map.+--+-- /See:/ 'newTreeMapConfiguration' smart constructor.+data TreeMapConfiguration = TreeMapConfiguration'+  { -- | The label options (label text, label visibility) for the colors+    -- displayed in a tree map.+    colorLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The color options (gradient color, point of divergence) of a tree map.+    colorScale :: Prelude.Maybe ColorScale,+    -- | The options that determine if visual data labels are displayed.+    dataLabels :: Prelude.Maybe DataLabelOptions,+    -- | The field wells of the visual.+    fieldWells :: Prelude.Maybe TreeMapFieldWells,+    -- | The label options (label text, label visibility) of the groups that are+    -- displayed in a tree map.+    groupLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The legend display setup of the visual.+    legend :: Prelude.Maybe LegendOptions,+    -- | The label options (label text, label visibility) of the sizes that are+    -- displayed in a tree map.+    sizeLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The sort configuration of a tree map.+    sortConfiguration :: Prelude.Maybe TreeMapSortConfiguration,+    -- | The tooltip display setup of the visual.+    tooltip :: Prelude.Maybe TooltipOptions+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TreeMapConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'colorLabelOptions', 'treeMapConfiguration_colorLabelOptions' - The label options (label text, label visibility) for the colors+-- displayed in a tree map.+--+-- 'colorScale', 'treeMapConfiguration_colorScale' - The color options (gradient color, point of divergence) of a tree map.+--+-- 'dataLabels', 'treeMapConfiguration_dataLabels' - The options that determine if visual data labels are displayed.+--+-- 'fieldWells', 'treeMapConfiguration_fieldWells' - The field wells of the visual.+--+-- 'groupLabelOptions', 'treeMapConfiguration_groupLabelOptions' - The label options (label text, label visibility) of the groups that are+-- displayed in a tree map.+--+-- 'legend', 'treeMapConfiguration_legend' - The legend display setup of the visual.+--+-- 'sizeLabelOptions', 'treeMapConfiguration_sizeLabelOptions' - The label options (label text, label visibility) of the sizes that are+-- displayed in a tree map.+--+-- 'sortConfiguration', 'treeMapConfiguration_sortConfiguration' - The sort configuration of a tree map.+--+-- 'tooltip', 'treeMapConfiguration_tooltip' - The tooltip display setup of the visual.+newTreeMapConfiguration ::+  TreeMapConfiguration+newTreeMapConfiguration =+  TreeMapConfiguration'+    { colorLabelOptions =+        Prelude.Nothing,+      colorScale = Prelude.Nothing,+      dataLabels = Prelude.Nothing,+      fieldWells = Prelude.Nothing,+      groupLabelOptions = Prelude.Nothing,+      legend = Prelude.Nothing,+      sizeLabelOptions = Prelude.Nothing,+      sortConfiguration = Prelude.Nothing,+      tooltip = Prelude.Nothing+    }++-- | The label options (label text, label visibility) for the colors+-- displayed in a tree map.+treeMapConfiguration_colorLabelOptions :: Lens.Lens' TreeMapConfiguration (Prelude.Maybe ChartAxisLabelOptions)+treeMapConfiguration_colorLabelOptions = Lens.lens (\TreeMapConfiguration' {colorLabelOptions} -> colorLabelOptions) (\s@TreeMapConfiguration' {} a -> s {colorLabelOptions = a} :: TreeMapConfiguration)++-- | The color options (gradient color, point of divergence) of a tree map.+treeMapConfiguration_colorScale :: Lens.Lens' TreeMapConfiguration (Prelude.Maybe ColorScale)+treeMapConfiguration_colorScale = Lens.lens (\TreeMapConfiguration' {colorScale} -> colorScale) (\s@TreeMapConfiguration' {} a -> s {colorScale = a} :: TreeMapConfiguration)++-- | The options that determine if visual data labels are displayed.+treeMapConfiguration_dataLabels :: Lens.Lens' TreeMapConfiguration (Prelude.Maybe DataLabelOptions)+treeMapConfiguration_dataLabels = Lens.lens (\TreeMapConfiguration' {dataLabels} -> dataLabels) (\s@TreeMapConfiguration' {} a -> s {dataLabels = a} :: TreeMapConfiguration)++-- | The field wells of the visual.+treeMapConfiguration_fieldWells :: Lens.Lens' TreeMapConfiguration (Prelude.Maybe TreeMapFieldWells)+treeMapConfiguration_fieldWells = Lens.lens (\TreeMapConfiguration' {fieldWells} -> fieldWells) (\s@TreeMapConfiguration' {} a -> s {fieldWells = a} :: TreeMapConfiguration)++-- | The label options (label text, label visibility) of the groups that are+-- displayed in a tree map.+treeMapConfiguration_groupLabelOptions :: Lens.Lens' TreeMapConfiguration (Prelude.Maybe ChartAxisLabelOptions)+treeMapConfiguration_groupLabelOptions = Lens.lens (\TreeMapConfiguration' {groupLabelOptions} -> groupLabelOptions) (\s@TreeMapConfiguration' {} a -> s {groupLabelOptions = a} :: TreeMapConfiguration)++-- | The legend display setup of the visual.+treeMapConfiguration_legend :: Lens.Lens' TreeMapConfiguration (Prelude.Maybe LegendOptions)+treeMapConfiguration_legend = Lens.lens (\TreeMapConfiguration' {legend} -> legend) (\s@TreeMapConfiguration' {} a -> s {legend = a} :: TreeMapConfiguration)++-- | The label options (label text, label visibility) of the sizes that are+-- displayed in a tree map.+treeMapConfiguration_sizeLabelOptions :: Lens.Lens' TreeMapConfiguration (Prelude.Maybe ChartAxisLabelOptions)+treeMapConfiguration_sizeLabelOptions = Lens.lens (\TreeMapConfiguration' {sizeLabelOptions} -> sizeLabelOptions) (\s@TreeMapConfiguration' {} a -> s {sizeLabelOptions = a} :: TreeMapConfiguration)++-- | The sort configuration of a tree map.+treeMapConfiguration_sortConfiguration :: Lens.Lens' TreeMapConfiguration (Prelude.Maybe TreeMapSortConfiguration)+treeMapConfiguration_sortConfiguration = Lens.lens (\TreeMapConfiguration' {sortConfiguration} -> sortConfiguration) (\s@TreeMapConfiguration' {} a -> s {sortConfiguration = a} :: TreeMapConfiguration)++-- | The tooltip display setup of the visual.+treeMapConfiguration_tooltip :: Lens.Lens' TreeMapConfiguration (Prelude.Maybe TooltipOptions)+treeMapConfiguration_tooltip = Lens.lens (\TreeMapConfiguration' {tooltip} -> tooltip) (\s@TreeMapConfiguration' {} a -> s {tooltip = a} :: TreeMapConfiguration)++instance Data.FromJSON TreeMapConfiguration where+  parseJSON =+    Data.withObject+      "TreeMapConfiguration"+      ( \x ->+          TreeMapConfiguration'+            Prelude.<$> (x Data..:? "ColorLabelOptions")+            Prelude.<*> (x Data..:? "ColorScale")+            Prelude.<*> (x Data..:? "DataLabels")+            Prelude.<*> (x Data..:? "FieldWells")+            Prelude.<*> (x Data..:? "GroupLabelOptions")+            Prelude.<*> (x Data..:? "Legend")+            Prelude.<*> (x Data..:? "SizeLabelOptions")+            Prelude.<*> (x Data..:? "SortConfiguration")+            Prelude.<*> (x Data..:? "Tooltip")+      )++instance Prelude.Hashable TreeMapConfiguration where+  hashWithSalt _salt TreeMapConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` colorLabelOptions+      `Prelude.hashWithSalt` colorScale+      `Prelude.hashWithSalt` dataLabels+      `Prelude.hashWithSalt` fieldWells+      `Prelude.hashWithSalt` groupLabelOptions+      `Prelude.hashWithSalt` legend+      `Prelude.hashWithSalt` sizeLabelOptions+      `Prelude.hashWithSalt` sortConfiguration+      `Prelude.hashWithSalt` tooltip++instance Prelude.NFData TreeMapConfiguration where+  rnf TreeMapConfiguration' {..} =+    Prelude.rnf colorLabelOptions+      `Prelude.seq` Prelude.rnf colorScale+      `Prelude.seq` Prelude.rnf dataLabels+      `Prelude.seq` Prelude.rnf fieldWells+      `Prelude.seq` Prelude.rnf groupLabelOptions+      `Prelude.seq` Prelude.rnf legend+      `Prelude.seq` Prelude.rnf sizeLabelOptions+      `Prelude.seq` Prelude.rnf sortConfiguration+      `Prelude.seq` Prelude.rnf tooltip++instance Data.ToJSON TreeMapConfiguration where+  toJSON TreeMapConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ColorLabelOptions" Data..=)+              Prelude.<$> colorLabelOptions,+            ("ColorScale" Data..=) Prelude.<$> colorScale,+            ("DataLabels" Data..=) Prelude.<$> dataLabels,+            ("FieldWells" Data..=) Prelude.<$> fieldWells,+            ("GroupLabelOptions" Data..=)+              Prelude.<$> groupLabelOptions,+            ("Legend" Data..=) Prelude.<$> legend,+            ("SizeLabelOptions" Data..=)+              Prelude.<$> sizeLabelOptions,+            ("SortConfiguration" Data..=)+              Prelude.<$> sortConfiguration,+            ("Tooltip" Data..=) Prelude.<$> tooltip+          ]+      )
+ gen/Amazonka/QuickSight/Types/TreeMapFieldWells.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.QuickSight.Types.TreeMapFieldWells+-- 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.QuickSight.Types.TreeMapFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.TreeMapAggregatedFieldWells++-- | The field wells of a tree map.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newTreeMapFieldWells' smart constructor.+data TreeMapFieldWells = TreeMapFieldWells'+  { -- | The aggregated field wells of a tree map.+    treeMapAggregatedFieldWells :: Prelude.Maybe TreeMapAggregatedFieldWells+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TreeMapFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'treeMapAggregatedFieldWells', 'treeMapFieldWells_treeMapAggregatedFieldWells' - The aggregated field wells of a tree map.+newTreeMapFieldWells ::+  TreeMapFieldWells+newTreeMapFieldWells =+  TreeMapFieldWells'+    { treeMapAggregatedFieldWells =+        Prelude.Nothing+    }++-- | The aggregated field wells of a tree map.+treeMapFieldWells_treeMapAggregatedFieldWells :: Lens.Lens' TreeMapFieldWells (Prelude.Maybe TreeMapAggregatedFieldWells)+treeMapFieldWells_treeMapAggregatedFieldWells = Lens.lens (\TreeMapFieldWells' {treeMapAggregatedFieldWells} -> treeMapAggregatedFieldWells) (\s@TreeMapFieldWells' {} a -> s {treeMapAggregatedFieldWells = a} :: TreeMapFieldWells)++instance Data.FromJSON TreeMapFieldWells where+  parseJSON =+    Data.withObject+      "TreeMapFieldWells"+      ( \x ->+          TreeMapFieldWells'+            Prelude.<$> (x Data..:? "TreeMapAggregatedFieldWells")+      )++instance Prelude.Hashable TreeMapFieldWells where+  hashWithSalt _salt TreeMapFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` treeMapAggregatedFieldWells++instance Prelude.NFData TreeMapFieldWells where+  rnf TreeMapFieldWells' {..} =+    Prelude.rnf treeMapAggregatedFieldWells++instance Data.ToJSON TreeMapFieldWells where+  toJSON TreeMapFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TreeMapAggregatedFieldWells" Data..=)+              Prelude.<$> treeMapAggregatedFieldWells+          ]+      )
+ gen/Amazonka/QuickSight/Types/TreeMapSortConfiguration.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.TreeMapSortConfiguration+-- 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.QuickSight.Types.TreeMapSortConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FieldSortOptions+import Amazonka.QuickSight.Types.ItemsLimitConfiguration++-- | The sort configuration of a tree map.+--+-- /See:/ 'newTreeMapSortConfiguration' smart constructor.+data TreeMapSortConfiguration = TreeMapSortConfiguration'+  { -- | The limit on the number of groups that are displayed.+    treeMapGroupItemsLimitConfiguration :: Prelude.Maybe ItemsLimitConfiguration,+    -- | The sort configuration of group by fields.+    treeMapSort :: Prelude.Maybe [FieldSortOptions]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TreeMapSortConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'treeMapGroupItemsLimitConfiguration', 'treeMapSortConfiguration_treeMapGroupItemsLimitConfiguration' - The limit on the number of groups that are displayed.+--+-- 'treeMapSort', 'treeMapSortConfiguration_treeMapSort' - The sort configuration of group by fields.+newTreeMapSortConfiguration ::+  TreeMapSortConfiguration+newTreeMapSortConfiguration =+  TreeMapSortConfiguration'+    { treeMapGroupItemsLimitConfiguration =+        Prelude.Nothing,+      treeMapSort = Prelude.Nothing+    }++-- | The limit on the number of groups that are displayed.+treeMapSortConfiguration_treeMapGroupItemsLimitConfiguration :: Lens.Lens' TreeMapSortConfiguration (Prelude.Maybe ItemsLimitConfiguration)+treeMapSortConfiguration_treeMapGroupItemsLimitConfiguration = Lens.lens (\TreeMapSortConfiguration' {treeMapGroupItemsLimitConfiguration} -> treeMapGroupItemsLimitConfiguration) (\s@TreeMapSortConfiguration' {} a -> s {treeMapGroupItemsLimitConfiguration = a} :: TreeMapSortConfiguration)++-- | The sort configuration of group by fields.+treeMapSortConfiguration_treeMapSort :: Lens.Lens' TreeMapSortConfiguration (Prelude.Maybe [FieldSortOptions])+treeMapSortConfiguration_treeMapSort = Lens.lens (\TreeMapSortConfiguration' {treeMapSort} -> treeMapSort) (\s@TreeMapSortConfiguration' {} a -> s {treeMapSort = a} :: TreeMapSortConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON TreeMapSortConfiguration where+  parseJSON =+    Data.withObject+      "TreeMapSortConfiguration"+      ( \x ->+          TreeMapSortConfiguration'+            Prelude.<$> (x Data..:? "TreeMapGroupItemsLimitConfiguration")+            Prelude.<*> (x Data..:? "TreeMapSort" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable TreeMapSortConfiguration where+  hashWithSalt _salt TreeMapSortConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` treeMapGroupItemsLimitConfiguration+      `Prelude.hashWithSalt` treeMapSort++instance Prelude.NFData TreeMapSortConfiguration where+  rnf TreeMapSortConfiguration' {..} =+    Prelude.rnf treeMapGroupItemsLimitConfiguration+      `Prelude.seq` Prelude.rnf treeMapSort++instance Data.ToJSON TreeMapSortConfiguration where+  toJSON TreeMapSortConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TreeMapGroupItemsLimitConfiguration" Data..=)+              Prelude.<$> treeMapGroupItemsLimitConfiguration,+            ("TreeMapSort" Data..=) Prelude.<$> treeMapSort+          ]+      )
+ gen/Amazonka/QuickSight/Types/TreeMapVisual.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.QuickSight.Types.TreeMapVisual+-- 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.QuickSight.Types.TreeMapVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnHierarchy+import Amazonka.QuickSight.Types.TreeMapConfiguration+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions++-- | A tree map.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/tree-map.html Using tree maps>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newTreeMapVisual' smart constructor.+data TreeMapVisual = TreeMapVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration settings of the visual.+    chartConfiguration :: Prelude.Maybe TreeMapConfiguration,+    -- | The column hierarchy that is used during drill-downs and drill-ups.+    columnHierarchies :: Prelude.Maybe [ColumnHierarchy],+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers..+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TreeMapVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'treeMapVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'treeMapVisual_chartConfiguration' - The configuration settings of the visual.+--+-- 'columnHierarchies', 'treeMapVisual_columnHierarchies' - The column hierarchy that is used during drill-downs and drill-ups.+--+-- 'subtitle', 'treeMapVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'treeMapVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'treeMapVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers..+newTreeMapVisual ::+  -- | 'visualId'+  Prelude.Text ->+  TreeMapVisual+newTreeMapVisual pVisualId_ =+  TreeMapVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      columnHierarchies = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_+    }++-- | The list of custom actions that are configured for a visual.+treeMapVisual_actions :: Lens.Lens' TreeMapVisual (Prelude.Maybe [VisualCustomAction])+treeMapVisual_actions = Lens.lens (\TreeMapVisual' {actions} -> actions) (\s@TreeMapVisual' {} a -> s {actions = a} :: TreeMapVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration settings of the visual.+treeMapVisual_chartConfiguration :: Lens.Lens' TreeMapVisual (Prelude.Maybe TreeMapConfiguration)+treeMapVisual_chartConfiguration = Lens.lens (\TreeMapVisual' {chartConfiguration} -> chartConfiguration) (\s@TreeMapVisual' {} a -> s {chartConfiguration = a} :: TreeMapVisual)++-- | The column hierarchy that is used during drill-downs and drill-ups.+treeMapVisual_columnHierarchies :: Lens.Lens' TreeMapVisual (Prelude.Maybe [ColumnHierarchy])+treeMapVisual_columnHierarchies = Lens.lens (\TreeMapVisual' {columnHierarchies} -> columnHierarchies) (\s@TreeMapVisual' {} a -> s {columnHierarchies = a} :: TreeMapVisual) Prelude.. Lens.mapping Lens.coerced++-- | The subtitle that is displayed on the visual.+treeMapVisual_subtitle :: Lens.Lens' TreeMapVisual (Prelude.Maybe VisualSubtitleLabelOptions)+treeMapVisual_subtitle = Lens.lens (\TreeMapVisual' {subtitle} -> subtitle) (\s@TreeMapVisual' {} a -> s {subtitle = a} :: TreeMapVisual)++-- | The title that is displayed on the visual.+treeMapVisual_title :: Lens.Lens' TreeMapVisual (Prelude.Maybe VisualTitleLabelOptions)+treeMapVisual_title = Lens.lens (\TreeMapVisual' {title} -> title) (\s@TreeMapVisual' {} a -> s {title = a} :: TreeMapVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers..+treeMapVisual_visualId :: Lens.Lens' TreeMapVisual Prelude.Text+treeMapVisual_visualId = Lens.lens (\TreeMapVisual' {visualId} -> visualId) (\s@TreeMapVisual' {} a -> s {visualId = a} :: TreeMapVisual)++instance Data.FromJSON TreeMapVisual where+  parseJSON =+    Data.withObject+      "TreeMapVisual"+      ( \x ->+          TreeMapVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> ( x+                            Data..:? "ColumnHierarchies"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+      )++instance Prelude.Hashable TreeMapVisual where+  hashWithSalt _salt TreeMapVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` columnHierarchies+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData TreeMapVisual where+  rnf TreeMapVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf columnHierarchies+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON TreeMapVisual where+  toJSON TreeMapVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("ColumnHierarchies" Data..=)+              Prelude.<$> columnHierarchies,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/TrendArrowOptions.hs view
@@ -0,0 +1,77 @@+{-# 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.QuickSight.Types.TrendArrowOptions+-- 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.QuickSight.Types.TrendArrowOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Visibility++-- | The options that determine the presentation of trend arrows in a KPI+-- visual.+--+-- /See:/ 'newTrendArrowOptions' smart constructor.+data TrendArrowOptions = TrendArrowOptions'+  { -- | The visibility of the trend arrows.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TrendArrowOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'visibility', 'trendArrowOptions_visibility' - The visibility of the trend arrows.+newTrendArrowOptions ::+  TrendArrowOptions+newTrendArrowOptions =+  TrendArrowOptions' {visibility = Prelude.Nothing}++-- | The visibility of the trend arrows.+trendArrowOptions_visibility :: Lens.Lens' TrendArrowOptions (Prelude.Maybe Visibility)+trendArrowOptions_visibility = Lens.lens (\TrendArrowOptions' {visibility} -> visibility) (\s@TrendArrowOptions' {} a -> s {visibility = a} :: TrendArrowOptions)++instance Data.FromJSON TrendArrowOptions where+  parseJSON =+    Data.withObject+      "TrendArrowOptions"+      ( \x ->+          TrendArrowOptions'+            Prelude.<$> (x Data..:? "Visibility")+      )++instance Prelude.Hashable TrendArrowOptions where+  hashWithSalt _salt TrendArrowOptions' {..} =+    _salt `Prelude.hashWithSalt` visibility++instance Prelude.NFData TrendArrowOptions where+  rnf TrendArrowOptions' {..} = Prelude.rnf visibility++instance Data.ToJSON TrendArrowOptions where+  toJSON TrendArrowOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Visibility" Data..=) Prelude.<$> visibility]+      )
+ gen/Amazonka/QuickSight/Types/TwitterParameters.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.QuickSight.Types.TwitterParameters+-- 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.QuickSight.Types.TwitterParameters 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 parameters for Twitter.+--+-- /See:/ 'newTwitterParameters' smart constructor.+data TwitterParameters = TwitterParameters'+  { -- | Twitter query string.+    query :: Prelude.Text,+    -- | Maximum number of rows to query Twitter.+    maxRows :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TwitterParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'query', 'twitterParameters_query' - Twitter query string.+--+-- 'maxRows', 'twitterParameters_maxRows' - Maximum number of rows to query Twitter.+newTwitterParameters ::+  -- | 'query'+  Prelude.Text ->+  -- | 'maxRows'+  Prelude.Natural ->+  TwitterParameters+newTwitterParameters pQuery_ pMaxRows_ =+  TwitterParameters'+    { query = pQuery_,+      maxRows = pMaxRows_+    }++-- | Twitter query string.+twitterParameters_query :: Lens.Lens' TwitterParameters Prelude.Text+twitterParameters_query = Lens.lens (\TwitterParameters' {query} -> query) (\s@TwitterParameters' {} a -> s {query = a} :: TwitterParameters)++-- | Maximum number of rows to query Twitter.+twitterParameters_maxRows :: Lens.Lens' TwitterParameters Prelude.Natural+twitterParameters_maxRows = Lens.lens (\TwitterParameters' {maxRows} -> maxRows) (\s@TwitterParameters' {} a -> s {maxRows = a} :: TwitterParameters)++instance Data.FromJSON TwitterParameters where+  parseJSON =+    Data.withObject+      "TwitterParameters"+      ( \x ->+          TwitterParameters'+            Prelude.<$> (x Data..: "Query")+            Prelude.<*> (x Data..: "MaxRows")+      )++instance Prelude.Hashable TwitterParameters where+  hashWithSalt _salt TwitterParameters' {..} =+    _salt+      `Prelude.hashWithSalt` query+      `Prelude.hashWithSalt` maxRows++instance Prelude.NFData TwitterParameters where+  rnf TwitterParameters' {..} =+    Prelude.rnf query `Prelude.seq` Prelude.rnf maxRows++instance Data.ToJSON TwitterParameters where+  toJSON TwitterParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Query" Data..= query),+            Prelude.Just ("MaxRows" Data..= maxRows)+          ]+      )
+ gen/Amazonka/QuickSight/Types/Typography.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.Typography+-- 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.QuickSight.Types.Typography where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.Font++-- | Determines the typography options.+--+-- /See:/ 'newTypography' smart constructor.+data Typography = Typography'+  { -- | Determines the list of font families.+    fontFamilies :: Prelude.Maybe [Font]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Typography' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fontFamilies', 'typography_fontFamilies' - Determines the list of font families.+newTypography ::+  Typography+newTypography =+  Typography' {fontFamilies = Prelude.Nothing}++-- | Determines the list of font families.+typography_fontFamilies :: Lens.Lens' Typography (Prelude.Maybe [Font])+typography_fontFamilies = Lens.lens (\Typography' {fontFamilies} -> fontFamilies) (\s@Typography' {} a -> s {fontFamilies = a} :: Typography) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Typography where+  parseJSON =+    Data.withObject+      "Typography"+      ( \x ->+          Typography'+            Prelude.<$> (x Data..:? "FontFamilies" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable Typography where+  hashWithSalt _salt Typography' {..} =+    _salt `Prelude.hashWithSalt` fontFamilies++instance Prelude.NFData Typography where+  rnf Typography' {..} = Prelude.rnf fontFamilies++instance Data.ToJSON Typography where+  toJSON Typography' {..} =+    Data.object+      ( Prelude.catMaybes+          [("FontFamilies" Data..=) Prelude.<$> fontFamilies]+      )
+ gen/Amazonka/QuickSight/Types/UIColorPalette.hs view
@@ -0,0 +1,329 @@+{-# 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.QuickSight.Types.UIColorPalette+-- 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.QuickSight.Types.UIColorPalette 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 theme colors that apply to UI and to charts, excluding data colors.+-- The colors description is a hexadecimal color code that consists of six+-- alphanumerical characters, prefixed with @#@, for example #37BFF5. For+-- more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/themes-in-quicksight.html Using Themes in Amazon QuickSight>+-- in the /Amazon QuickSight User Guide./+--+-- /See:/ 'newUIColorPalette' smart constructor.+data UIColorPalette = UIColorPalette'+  { -- | This color is that applies to selected states and buttons.+    accent :: Prelude.Maybe Prelude.Text,+    -- | The foreground color that applies to any text or other elements that+    -- appear over the accent color.+    accentForeground :: Prelude.Maybe Prelude.Text,+    -- | The color that applies to error messages.+    danger :: Prelude.Maybe Prelude.Text,+    -- | The foreground color that applies to any text or other elements that+    -- appear over the error color.+    dangerForeground :: Prelude.Maybe Prelude.Text,+    -- | The color that applies to the names of fields that are identified as+    -- dimensions.+    dimension :: Prelude.Maybe Prelude.Text,+    -- | The foreground color that applies to any text or other elements that+    -- appear over the dimension color.+    dimensionForeground :: Prelude.Maybe Prelude.Text,+    -- | The color that applies to the names of fields that are identified as+    -- measures.+    measure :: Prelude.Maybe Prelude.Text,+    -- | The foreground color that applies to any text or other elements that+    -- appear over the measure color.+    measureForeground :: Prelude.Maybe Prelude.Text,+    -- | The background color that applies to visuals and other high emphasis UI.+    primaryBackground :: Prelude.Maybe Prelude.Text,+    -- | The color of text and other foreground elements that appear over the+    -- primary background regions, such as grid lines, borders, table banding,+    -- icons, and so on.+    primaryForeground :: Prelude.Maybe Prelude.Text,+    -- | The background color that applies to the sheet background and sheet+    -- controls.+    secondaryBackground :: Prelude.Maybe Prelude.Text,+    -- | The foreground color that applies to any sheet title, sheet control+    -- text, or UI that appears over the secondary background.+    secondaryForeground :: Prelude.Maybe Prelude.Text,+    -- | The color that applies to success messages, for example the check mark+    -- for a successful download.+    success :: Prelude.Maybe Prelude.Text,+    -- | The foreground color that applies to any text or other elements that+    -- appear over the success color.+    successForeground :: Prelude.Maybe Prelude.Text,+    -- | This color that applies to warning and informational messages.+    warning :: Prelude.Maybe Prelude.Text,+    -- | The foreground color that applies to any text or other elements that+    -- appear over the warning color.+    warningForeground :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UIColorPalette' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accent', 'uIColorPalette_accent' - This color is that applies to selected states and buttons.+--+-- 'accentForeground', 'uIColorPalette_accentForeground' - The foreground color that applies to any text or other elements that+-- appear over the accent color.+--+-- 'danger', 'uIColorPalette_danger' - The color that applies to error messages.+--+-- 'dangerForeground', 'uIColorPalette_dangerForeground' - The foreground color that applies to any text or other elements that+-- appear over the error color.+--+-- 'dimension', 'uIColorPalette_dimension' - The color that applies to the names of fields that are identified as+-- dimensions.+--+-- 'dimensionForeground', 'uIColorPalette_dimensionForeground' - The foreground color that applies to any text or other elements that+-- appear over the dimension color.+--+-- 'measure', 'uIColorPalette_measure' - The color that applies to the names of fields that are identified as+-- measures.+--+-- 'measureForeground', 'uIColorPalette_measureForeground' - The foreground color that applies to any text or other elements that+-- appear over the measure color.+--+-- 'primaryBackground', 'uIColorPalette_primaryBackground' - The background color that applies to visuals and other high emphasis UI.+--+-- 'primaryForeground', 'uIColorPalette_primaryForeground' - The color of text and other foreground elements that appear over the+-- primary background regions, such as grid lines, borders, table banding,+-- icons, and so on.+--+-- 'secondaryBackground', 'uIColorPalette_secondaryBackground' - The background color that applies to the sheet background and sheet+-- controls.+--+-- 'secondaryForeground', 'uIColorPalette_secondaryForeground' - The foreground color that applies to any sheet title, sheet control+-- text, or UI that appears over the secondary background.+--+-- 'success', 'uIColorPalette_success' - The color that applies to success messages, for example the check mark+-- for a successful download.+--+-- 'successForeground', 'uIColorPalette_successForeground' - The foreground color that applies to any text or other elements that+-- appear over the success color.+--+-- 'warning', 'uIColorPalette_warning' - This color that applies to warning and informational messages.+--+-- 'warningForeground', 'uIColorPalette_warningForeground' - The foreground color that applies to any text or other elements that+-- appear over the warning color.+newUIColorPalette ::+  UIColorPalette+newUIColorPalette =+  UIColorPalette'+    { accent = Prelude.Nothing,+      accentForeground = Prelude.Nothing,+      danger = Prelude.Nothing,+      dangerForeground = Prelude.Nothing,+      dimension = Prelude.Nothing,+      dimensionForeground = Prelude.Nothing,+      measure = Prelude.Nothing,+      measureForeground = Prelude.Nothing,+      primaryBackground = Prelude.Nothing,+      primaryForeground = Prelude.Nothing,+      secondaryBackground = Prelude.Nothing,+      secondaryForeground = Prelude.Nothing,+      success = Prelude.Nothing,+      successForeground = Prelude.Nothing,+      warning = Prelude.Nothing,+      warningForeground = Prelude.Nothing+    }++-- | This color is that applies to selected states and buttons.+uIColorPalette_accent :: Lens.Lens' UIColorPalette (Prelude.Maybe Prelude.Text)+uIColorPalette_accent = Lens.lens (\UIColorPalette' {accent} -> accent) (\s@UIColorPalette' {} a -> s {accent = a} :: UIColorPalette)++-- | The foreground color that applies to any text or other elements that+-- appear over the accent color.+uIColorPalette_accentForeground :: Lens.Lens' UIColorPalette (Prelude.Maybe Prelude.Text)+uIColorPalette_accentForeground = Lens.lens (\UIColorPalette' {accentForeground} -> accentForeground) (\s@UIColorPalette' {} a -> s {accentForeground = a} :: UIColorPalette)++-- | The color that applies to error messages.+uIColorPalette_danger :: Lens.Lens' UIColorPalette (Prelude.Maybe Prelude.Text)+uIColorPalette_danger = Lens.lens (\UIColorPalette' {danger} -> danger) (\s@UIColorPalette' {} a -> s {danger = a} :: UIColorPalette)++-- | The foreground color that applies to any text or other elements that+-- appear over the error color.+uIColorPalette_dangerForeground :: Lens.Lens' UIColorPalette (Prelude.Maybe Prelude.Text)+uIColorPalette_dangerForeground = Lens.lens (\UIColorPalette' {dangerForeground} -> dangerForeground) (\s@UIColorPalette' {} a -> s {dangerForeground = a} :: UIColorPalette)++-- | The color that applies to the names of fields that are identified as+-- dimensions.+uIColorPalette_dimension :: Lens.Lens' UIColorPalette (Prelude.Maybe Prelude.Text)+uIColorPalette_dimension = Lens.lens (\UIColorPalette' {dimension} -> dimension) (\s@UIColorPalette' {} a -> s {dimension = a} :: UIColorPalette)++-- | The foreground color that applies to any text or other elements that+-- appear over the dimension color.+uIColorPalette_dimensionForeground :: Lens.Lens' UIColorPalette (Prelude.Maybe Prelude.Text)+uIColorPalette_dimensionForeground = Lens.lens (\UIColorPalette' {dimensionForeground} -> dimensionForeground) (\s@UIColorPalette' {} a -> s {dimensionForeground = a} :: UIColorPalette)++-- | The color that applies to the names of fields that are identified as+-- measures.+uIColorPalette_measure :: Lens.Lens' UIColorPalette (Prelude.Maybe Prelude.Text)+uIColorPalette_measure = Lens.lens (\UIColorPalette' {measure} -> measure) (\s@UIColorPalette' {} a -> s {measure = a} :: UIColorPalette)++-- | The foreground color that applies to any text or other elements that+-- appear over the measure color.+uIColorPalette_measureForeground :: Lens.Lens' UIColorPalette (Prelude.Maybe Prelude.Text)+uIColorPalette_measureForeground = Lens.lens (\UIColorPalette' {measureForeground} -> measureForeground) (\s@UIColorPalette' {} a -> s {measureForeground = a} :: UIColorPalette)++-- | The background color that applies to visuals and other high emphasis UI.+uIColorPalette_primaryBackground :: Lens.Lens' UIColorPalette (Prelude.Maybe Prelude.Text)+uIColorPalette_primaryBackground = Lens.lens (\UIColorPalette' {primaryBackground} -> primaryBackground) (\s@UIColorPalette' {} a -> s {primaryBackground = a} :: UIColorPalette)++-- | The color of text and other foreground elements that appear over the+-- primary background regions, such as grid lines, borders, table banding,+-- icons, and so on.+uIColorPalette_primaryForeground :: Lens.Lens' UIColorPalette (Prelude.Maybe Prelude.Text)+uIColorPalette_primaryForeground = Lens.lens (\UIColorPalette' {primaryForeground} -> primaryForeground) (\s@UIColorPalette' {} a -> s {primaryForeground = a} :: UIColorPalette)++-- | The background color that applies to the sheet background and sheet+-- controls.+uIColorPalette_secondaryBackground :: Lens.Lens' UIColorPalette (Prelude.Maybe Prelude.Text)+uIColorPalette_secondaryBackground = Lens.lens (\UIColorPalette' {secondaryBackground} -> secondaryBackground) (\s@UIColorPalette' {} a -> s {secondaryBackground = a} :: UIColorPalette)++-- | The foreground color that applies to any sheet title, sheet control+-- text, or UI that appears over the secondary background.+uIColorPalette_secondaryForeground :: Lens.Lens' UIColorPalette (Prelude.Maybe Prelude.Text)+uIColorPalette_secondaryForeground = Lens.lens (\UIColorPalette' {secondaryForeground} -> secondaryForeground) (\s@UIColorPalette' {} a -> s {secondaryForeground = a} :: UIColorPalette)++-- | The color that applies to success messages, for example the check mark+-- for a successful download.+uIColorPalette_success :: Lens.Lens' UIColorPalette (Prelude.Maybe Prelude.Text)+uIColorPalette_success = Lens.lens (\UIColorPalette' {success} -> success) (\s@UIColorPalette' {} a -> s {success = a} :: UIColorPalette)++-- | The foreground color that applies to any text or other elements that+-- appear over the success color.+uIColorPalette_successForeground :: Lens.Lens' UIColorPalette (Prelude.Maybe Prelude.Text)+uIColorPalette_successForeground = Lens.lens (\UIColorPalette' {successForeground} -> successForeground) (\s@UIColorPalette' {} a -> s {successForeground = a} :: UIColorPalette)++-- | This color that applies to warning and informational messages.+uIColorPalette_warning :: Lens.Lens' UIColorPalette (Prelude.Maybe Prelude.Text)+uIColorPalette_warning = Lens.lens (\UIColorPalette' {warning} -> warning) (\s@UIColorPalette' {} a -> s {warning = a} :: UIColorPalette)++-- | The foreground color that applies to any text or other elements that+-- appear over the warning color.+uIColorPalette_warningForeground :: Lens.Lens' UIColorPalette (Prelude.Maybe Prelude.Text)+uIColorPalette_warningForeground = Lens.lens (\UIColorPalette' {warningForeground} -> warningForeground) (\s@UIColorPalette' {} a -> s {warningForeground = a} :: UIColorPalette)++instance Data.FromJSON UIColorPalette where+  parseJSON =+    Data.withObject+      "UIColorPalette"+      ( \x ->+          UIColorPalette'+            Prelude.<$> (x Data..:? "Accent")+            Prelude.<*> (x Data..:? "AccentForeground")+            Prelude.<*> (x Data..:? "Danger")+            Prelude.<*> (x Data..:? "DangerForeground")+            Prelude.<*> (x Data..:? "Dimension")+            Prelude.<*> (x Data..:? "DimensionForeground")+            Prelude.<*> (x Data..:? "Measure")+            Prelude.<*> (x Data..:? "MeasureForeground")+            Prelude.<*> (x Data..:? "PrimaryBackground")+            Prelude.<*> (x Data..:? "PrimaryForeground")+            Prelude.<*> (x Data..:? "SecondaryBackground")+            Prelude.<*> (x Data..:? "SecondaryForeground")+            Prelude.<*> (x Data..:? "Success")+            Prelude.<*> (x Data..:? "SuccessForeground")+            Prelude.<*> (x Data..:? "Warning")+            Prelude.<*> (x Data..:? "WarningForeground")+      )++instance Prelude.Hashable UIColorPalette where+  hashWithSalt _salt UIColorPalette' {..} =+    _salt+      `Prelude.hashWithSalt` accent+      `Prelude.hashWithSalt` accentForeground+      `Prelude.hashWithSalt` danger+      `Prelude.hashWithSalt` dangerForeground+      `Prelude.hashWithSalt` dimension+      `Prelude.hashWithSalt` dimensionForeground+      `Prelude.hashWithSalt` measure+      `Prelude.hashWithSalt` measureForeground+      `Prelude.hashWithSalt` primaryBackground+      `Prelude.hashWithSalt` primaryForeground+      `Prelude.hashWithSalt` secondaryBackground+      `Prelude.hashWithSalt` secondaryForeground+      `Prelude.hashWithSalt` success+      `Prelude.hashWithSalt` successForeground+      `Prelude.hashWithSalt` warning+      `Prelude.hashWithSalt` warningForeground++instance Prelude.NFData UIColorPalette where+  rnf UIColorPalette' {..} =+    Prelude.rnf accent+      `Prelude.seq` Prelude.rnf accentForeground+      `Prelude.seq` Prelude.rnf danger+      `Prelude.seq` Prelude.rnf dangerForeground+      `Prelude.seq` Prelude.rnf dimension+      `Prelude.seq` Prelude.rnf dimensionForeground+      `Prelude.seq` Prelude.rnf measure+      `Prelude.seq` Prelude.rnf measureForeground+      `Prelude.seq` Prelude.rnf primaryBackground+      `Prelude.seq` Prelude.rnf primaryForeground+      `Prelude.seq` Prelude.rnf secondaryBackground+      `Prelude.seq` Prelude.rnf secondaryForeground+      `Prelude.seq` Prelude.rnf success+      `Prelude.seq` Prelude.rnf successForeground+      `Prelude.seq` Prelude.rnf warning+      `Prelude.seq` Prelude.rnf warningForeground++instance Data.ToJSON UIColorPalette where+  toJSON UIColorPalette' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Accent" Data..=) Prelude.<$> accent,+            ("AccentForeground" Data..=)+              Prelude.<$> accentForeground,+            ("Danger" Data..=) Prelude.<$> danger,+            ("DangerForeground" Data..=)+              Prelude.<$> dangerForeground,+            ("Dimension" Data..=) Prelude.<$> dimension,+            ("DimensionForeground" Data..=)+              Prelude.<$> dimensionForeground,+            ("Measure" Data..=) Prelude.<$> measure,+            ("MeasureForeground" Data..=)+              Prelude.<$> measureForeground,+            ("PrimaryBackground" Data..=)+              Prelude.<$> primaryBackground,+            ("PrimaryForeground" Data..=)+              Prelude.<$> primaryForeground,+            ("SecondaryBackground" Data..=)+              Prelude.<$> secondaryBackground,+            ("SecondaryForeground" Data..=)+              Prelude.<$> secondaryForeground,+            ("Success" Data..=) Prelude.<$> success,+            ("SuccessForeground" Data..=)+              Prelude.<$> successForeground,+            ("Warning" Data..=) Prelude.<$> warning,+            ("WarningForeground" Data..=)+              Prelude.<$> warningForeground+          ]+      )
+ gen/Amazonka/QuickSight/Types/URLTargetConfiguration.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.URLTargetConfiguration+-- 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.QuickSight.Types.URLTargetConfiguration+  ( URLTargetConfiguration+      ( ..,+        URLTargetConfiguration_NEW_TAB,+        URLTargetConfiguration_NEW_WINDOW,+        URLTargetConfiguration_SAME_TAB+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype URLTargetConfiguration = URLTargetConfiguration'+  { fromURLTargetConfiguration ::+      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 URLTargetConfiguration_NEW_TAB :: URLTargetConfiguration+pattern URLTargetConfiguration_NEW_TAB = URLTargetConfiguration' "NEW_TAB"++pattern URLTargetConfiguration_NEW_WINDOW :: URLTargetConfiguration+pattern URLTargetConfiguration_NEW_WINDOW = URLTargetConfiguration' "NEW_WINDOW"++pattern URLTargetConfiguration_SAME_TAB :: URLTargetConfiguration+pattern URLTargetConfiguration_SAME_TAB = URLTargetConfiguration' "SAME_TAB"++{-# COMPLETE+  URLTargetConfiguration_NEW_TAB,+  URLTargetConfiguration_NEW_WINDOW,+  URLTargetConfiguration_SAME_TAB,+  URLTargetConfiguration'+  #-}
+ gen/Amazonka/QuickSight/Types/UnaggregatedField.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.QuickSight.Types.UnaggregatedField+-- 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.QuickSight.Types.UnaggregatedField where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnIdentifier+import Amazonka.QuickSight.Types.FormatConfiguration++-- | The unaggregated field for a table.+--+-- /See:/ 'newUnaggregatedField' smart constructor.+data UnaggregatedField = UnaggregatedField'+  { -- | The format configuration of the field.+    formatConfiguration :: Prelude.Maybe FormatConfiguration,+    -- | The custom field ID.+    fieldId :: Prelude.Text,+    -- | The column that is used in the @UnaggregatedField@.+    column :: ColumnIdentifier+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UnaggregatedField' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'formatConfiguration', 'unaggregatedField_formatConfiguration' - The format configuration of the field.+--+-- 'fieldId', 'unaggregatedField_fieldId' - The custom field ID.+--+-- 'column', 'unaggregatedField_column' - The column that is used in the @UnaggregatedField@.+newUnaggregatedField ::+  -- | 'fieldId'+  Prelude.Text ->+  -- | 'column'+  ColumnIdentifier ->+  UnaggregatedField+newUnaggregatedField pFieldId_ pColumn_ =+  UnaggregatedField'+    { formatConfiguration =+        Prelude.Nothing,+      fieldId = pFieldId_,+      column = pColumn_+    }++-- | The format configuration of the field.+unaggregatedField_formatConfiguration :: Lens.Lens' UnaggregatedField (Prelude.Maybe FormatConfiguration)+unaggregatedField_formatConfiguration = Lens.lens (\UnaggregatedField' {formatConfiguration} -> formatConfiguration) (\s@UnaggregatedField' {} a -> s {formatConfiguration = a} :: UnaggregatedField)++-- | The custom field ID.+unaggregatedField_fieldId :: Lens.Lens' UnaggregatedField Prelude.Text+unaggregatedField_fieldId = Lens.lens (\UnaggregatedField' {fieldId} -> fieldId) (\s@UnaggregatedField' {} a -> s {fieldId = a} :: UnaggregatedField)++-- | The column that is used in the @UnaggregatedField@.+unaggregatedField_column :: Lens.Lens' UnaggregatedField ColumnIdentifier+unaggregatedField_column = Lens.lens (\UnaggregatedField' {column} -> column) (\s@UnaggregatedField' {} a -> s {column = a} :: UnaggregatedField)++instance Data.FromJSON UnaggregatedField where+  parseJSON =+    Data.withObject+      "UnaggregatedField"+      ( \x ->+          UnaggregatedField'+            Prelude.<$> (x Data..:? "FormatConfiguration")+            Prelude.<*> (x Data..: "FieldId")+            Prelude.<*> (x Data..: "Column")+      )++instance Prelude.Hashable UnaggregatedField where+  hashWithSalt _salt UnaggregatedField' {..} =+    _salt+      `Prelude.hashWithSalt` formatConfiguration+      `Prelude.hashWithSalt` fieldId+      `Prelude.hashWithSalt` column++instance Prelude.NFData UnaggregatedField where+  rnf UnaggregatedField' {..} =+    Prelude.rnf formatConfiguration+      `Prelude.seq` Prelude.rnf fieldId+      `Prelude.seq` Prelude.rnf column++instance Data.ToJSON UnaggregatedField where+  toJSON UnaggregatedField' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FormatConfiguration" Data..=)+              Prelude.<$> formatConfiguration,+            Prelude.Just ("FieldId" Data..= fieldId),+            Prelude.Just ("Column" Data..= column)+          ]+      )
+ gen/Amazonka/QuickSight/Types/UniqueValuesComputation.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.QuickSight.Types.UniqueValuesComputation+-- 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.QuickSight.Types.UniqueValuesComputation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField++-- | The unique values computation configuration.+--+-- /See:/ 'newUniqueValuesComputation' smart constructor.+data UniqueValuesComputation = UniqueValuesComputation'+  { -- | The name of a computation.+    name :: Prelude.Maybe Prelude.Text,+    -- | The ID for a computation.+    computationId :: Prelude.Text,+    -- | The category field that is used in a computation.+    category :: DimensionField+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UniqueValuesComputation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'uniqueValuesComputation_name' - The name of a computation.+--+-- 'computationId', 'uniqueValuesComputation_computationId' - The ID for a computation.+--+-- 'category', 'uniqueValuesComputation_category' - The category field that is used in a computation.+newUniqueValuesComputation ::+  -- | 'computationId'+  Prelude.Text ->+  -- | 'category'+  DimensionField ->+  UniqueValuesComputation+newUniqueValuesComputation pComputationId_ pCategory_ =+  UniqueValuesComputation'+    { name = Prelude.Nothing,+      computationId = pComputationId_,+      category = pCategory_+    }++-- | The name of a computation.+uniqueValuesComputation_name :: Lens.Lens' UniqueValuesComputation (Prelude.Maybe Prelude.Text)+uniqueValuesComputation_name = Lens.lens (\UniqueValuesComputation' {name} -> name) (\s@UniqueValuesComputation' {} a -> s {name = a} :: UniqueValuesComputation)++-- | The ID for a computation.+uniqueValuesComputation_computationId :: Lens.Lens' UniqueValuesComputation Prelude.Text+uniqueValuesComputation_computationId = Lens.lens (\UniqueValuesComputation' {computationId} -> computationId) (\s@UniqueValuesComputation' {} a -> s {computationId = a} :: UniqueValuesComputation)++-- | The category field that is used in a computation.+uniqueValuesComputation_category :: Lens.Lens' UniqueValuesComputation DimensionField+uniqueValuesComputation_category = Lens.lens (\UniqueValuesComputation' {category} -> category) (\s@UniqueValuesComputation' {} a -> s {category = a} :: UniqueValuesComputation)++instance Data.FromJSON UniqueValuesComputation where+  parseJSON =+    Data.withObject+      "UniqueValuesComputation"+      ( \x ->+          UniqueValuesComputation'+            Prelude.<$> (x Data..:? "Name")+            Prelude.<*> (x Data..: "ComputationId")+            Prelude.<*> (x Data..: "Category")+      )++instance Prelude.Hashable UniqueValuesComputation where+  hashWithSalt _salt UniqueValuesComputation' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` computationId+      `Prelude.hashWithSalt` category++instance Prelude.NFData UniqueValuesComputation where+  rnf UniqueValuesComputation' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf computationId+      `Prelude.seq` Prelude.rnf category++instance Data.ToJSON UniqueValuesComputation where+  toJSON UniqueValuesComputation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Name" Data..=) Prelude.<$> name,+            Prelude.Just ("ComputationId" Data..= computationId),+            Prelude.Just ("Category" Data..= category)+          ]+      )
+ gen/Amazonka/QuickSight/Types/UntagColumnOperation.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.QuickSight.Types.UntagColumnOperation+-- 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.QuickSight.Types.UntagColumnOperation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnTagName++-- | A transform operation that removes tags associated with a column.+--+-- /See:/ 'newUntagColumnOperation' smart constructor.+data UntagColumnOperation = UntagColumnOperation'+  { -- | The column that this operation acts on.+    columnName :: Prelude.Text,+    -- | The column tags to remove from this column.+    tagNames :: [ColumnTagName]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagColumnOperation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columnName', 'untagColumnOperation_columnName' - The column that this operation acts on.+--+-- 'tagNames', 'untagColumnOperation_tagNames' - The column tags to remove from this column.+newUntagColumnOperation ::+  -- | 'columnName'+  Prelude.Text ->+  UntagColumnOperation+newUntagColumnOperation pColumnName_ =+  UntagColumnOperation'+    { columnName = pColumnName_,+      tagNames = Prelude.mempty+    }++-- | The column that this operation acts on.+untagColumnOperation_columnName :: Lens.Lens' UntagColumnOperation Prelude.Text+untagColumnOperation_columnName = Lens.lens (\UntagColumnOperation' {columnName} -> columnName) (\s@UntagColumnOperation' {} a -> s {columnName = a} :: UntagColumnOperation)++-- | The column tags to remove from this column.+untagColumnOperation_tagNames :: Lens.Lens' UntagColumnOperation [ColumnTagName]+untagColumnOperation_tagNames = Lens.lens (\UntagColumnOperation' {tagNames} -> tagNames) (\s@UntagColumnOperation' {} a -> s {tagNames = a} :: UntagColumnOperation) Prelude.. Lens.coerced++instance Data.FromJSON UntagColumnOperation where+  parseJSON =+    Data.withObject+      "UntagColumnOperation"+      ( \x ->+          UntagColumnOperation'+            Prelude.<$> (x Data..: "ColumnName")+            Prelude.<*> (x Data..:? "TagNames" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable UntagColumnOperation where+  hashWithSalt _salt UntagColumnOperation' {..} =+    _salt+      `Prelude.hashWithSalt` columnName+      `Prelude.hashWithSalt` tagNames++instance Prelude.NFData UntagColumnOperation where+  rnf UntagColumnOperation' {..} =+    Prelude.rnf columnName+      `Prelude.seq` Prelude.rnf tagNames++instance Data.ToJSON UntagColumnOperation where+  toJSON UntagColumnOperation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ColumnName" Data..= columnName),+            Prelude.Just ("TagNames" Data..= tagNames)+          ]+      )
+ gen/Amazonka/QuickSight/Types/UploadSettings.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.QuickSight.Types.UploadSettings+-- 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.QuickSight.Types.UploadSettings where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FileFormat+import Amazonka.QuickSight.Types.TextQualifier++-- | Information about the format for a source file or files.+--+-- /See:/ 'newUploadSettings' smart constructor.+data UploadSettings = UploadSettings'+  { -- | Whether the file has a header row, or the files each have a header row.+    containsHeader :: Prelude.Maybe Prelude.Bool,+    -- | The delimiter between values in the file.+    delimiter :: Prelude.Maybe Prelude.Text,+    -- | File format.+    format :: Prelude.Maybe FileFormat,+    -- | A row number to start reading data from.+    startFromRow :: Prelude.Maybe Prelude.Natural,+    -- | Text qualifier.+    textQualifier :: Prelude.Maybe TextQualifier+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UploadSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'containsHeader', 'uploadSettings_containsHeader' - Whether the file has a header row, or the files each have a header row.+--+-- 'delimiter', 'uploadSettings_delimiter' - The delimiter between values in the file.+--+-- 'format', 'uploadSettings_format' - File format.+--+-- 'startFromRow', 'uploadSettings_startFromRow' - A row number to start reading data from.+--+-- 'textQualifier', 'uploadSettings_textQualifier' - Text qualifier.+newUploadSettings ::+  UploadSettings+newUploadSettings =+  UploadSettings'+    { containsHeader = Prelude.Nothing,+      delimiter = Prelude.Nothing,+      format = Prelude.Nothing,+      startFromRow = Prelude.Nothing,+      textQualifier = Prelude.Nothing+    }++-- | Whether the file has a header row, or the files each have a header row.+uploadSettings_containsHeader :: Lens.Lens' UploadSettings (Prelude.Maybe Prelude.Bool)+uploadSettings_containsHeader = Lens.lens (\UploadSettings' {containsHeader} -> containsHeader) (\s@UploadSettings' {} a -> s {containsHeader = a} :: UploadSettings)++-- | The delimiter between values in the file.+uploadSettings_delimiter :: Lens.Lens' UploadSettings (Prelude.Maybe Prelude.Text)+uploadSettings_delimiter = Lens.lens (\UploadSettings' {delimiter} -> delimiter) (\s@UploadSettings' {} a -> s {delimiter = a} :: UploadSettings)++-- | File format.+uploadSettings_format :: Lens.Lens' UploadSettings (Prelude.Maybe FileFormat)+uploadSettings_format = Lens.lens (\UploadSettings' {format} -> format) (\s@UploadSettings' {} a -> s {format = a} :: UploadSettings)++-- | A row number to start reading data from.+uploadSettings_startFromRow :: Lens.Lens' UploadSettings (Prelude.Maybe Prelude.Natural)+uploadSettings_startFromRow = Lens.lens (\UploadSettings' {startFromRow} -> startFromRow) (\s@UploadSettings' {} a -> s {startFromRow = a} :: UploadSettings)++-- | Text qualifier.+uploadSettings_textQualifier :: Lens.Lens' UploadSettings (Prelude.Maybe TextQualifier)+uploadSettings_textQualifier = Lens.lens (\UploadSettings' {textQualifier} -> textQualifier) (\s@UploadSettings' {} a -> s {textQualifier = a} :: UploadSettings)++instance Data.FromJSON UploadSettings where+  parseJSON =+    Data.withObject+      "UploadSettings"+      ( \x ->+          UploadSettings'+            Prelude.<$> (x Data..:? "ContainsHeader")+            Prelude.<*> (x Data..:? "Delimiter")+            Prelude.<*> (x Data..:? "Format")+            Prelude.<*> (x Data..:? "StartFromRow")+            Prelude.<*> (x Data..:? "TextQualifier")+      )++instance Prelude.Hashable UploadSettings where+  hashWithSalt _salt UploadSettings' {..} =+    _salt+      `Prelude.hashWithSalt` containsHeader+      `Prelude.hashWithSalt` delimiter+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` startFromRow+      `Prelude.hashWithSalt` textQualifier++instance Prelude.NFData UploadSettings where+  rnf UploadSettings' {..} =+    Prelude.rnf containsHeader+      `Prelude.seq` Prelude.rnf delimiter+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf startFromRow+      `Prelude.seq` Prelude.rnf textQualifier++instance Data.ToJSON UploadSettings where+  toJSON UploadSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ContainsHeader" Data..=)+              Prelude.<$> containsHeader,+            ("Delimiter" Data..=) Prelude.<$> delimiter,+            ("Format" Data..=) Prelude.<$> format,+            ("StartFromRow" Data..=) Prelude.<$> startFromRow,+            ("TextQualifier" Data..=) Prelude.<$> textQualifier+          ]+      )
+ gen/Amazonka/QuickSight/Types/User.hs view
@@ -0,0 +1,270 @@+{-# 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.QuickSight.Types.User+-- 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.QuickSight.Types.User where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.IdentityType+import Amazonka.QuickSight.Types.UserRole++-- | A registered user of Amazon QuickSight.+--+-- /See:/ 'newUser' smart constructor.+data User = User'+  { -- | The active status of user. When you create an Amazon QuickSight user+    -- that’s not an IAM user or an Active Directory user, that user is+    -- inactive until they sign in and provide a password.+    active :: Prelude.Maybe Prelude.Bool,+    -- | The Amazon Resource Name (ARN) for the user.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The custom permissions profile associated with this user.+    customPermissionsName :: Prelude.Maybe Prelude.Text,+    -- | The user\'s email address.+    email :: Prelude.Maybe Prelude.Text,+    -- | The type of supported external login provider that provides identity to+    -- let the user federate into Amazon QuickSight with an associated IAM+    -- role. The type can be one of the following.+    --+    -- -   @COGNITO@: Amazon Cognito. The provider URL is+    --     cognito-identity.amazonaws.com.+    --+    -- -   @CUSTOM_OIDC@: Custom OpenID Connect (OIDC) provider.+    externalLoginFederationProviderType :: Prelude.Maybe Prelude.Text,+    -- | The URL of the external login provider.+    externalLoginFederationProviderUrl :: Prelude.Maybe Prelude.Text,+    -- | The identity ID for the user in the external login provider.+    externalLoginId :: Prelude.Maybe Prelude.Text,+    -- | The type of identity authentication used by the user.+    identityType :: Prelude.Maybe IdentityType,+    -- | The principal ID of the user.+    principalId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon QuickSight role for the user. The user role can be one of the+    -- following:.+    --+    -- -   @READER@: A user who has read-only access to dashboards.+    --+    -- -   @AUTHOR@: A user who can create data sources, datasets, analyses,+    --     and dashboards.+    --+    -- -   @ADMIN@: A user who is an author, who can also manage Amazon Amazon+    --     QuickSight settings.+    --+    -- -   @RESTRICTED_READER@: This role isn\'t currently available for use.+    --+    -- -   @RESTRICTED_AUTHOR@: This role isn\'t currently available for use.+    role' :: Prelude.Maybe UserRole,+    -- | The user\'s user name. This value is required if you are registering a+    -- user that will be managed in Amazon QuickSight. In the output, the value+    -- for @UserName@ is @N\/A@ when the value for @IdentityType@ is @IAM@ and+    -- the corresponding IAM user is deleted.+    userName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'User' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'active', 'user_active' - The active status of user. When you create an Amazon QuickSight user+-- that’s not an IAM user or an Active Directory user, that user is+-- inactive until they sign in and provide a password.+--+-- 'arn', 'user_arn' - The Amazon Resource Name (ARN) for the user.+--+-- 'customPermissionsName', 'user_customPermissionsName' - The custom permissions profile associated with this user.+--+-- 'email', 'user_email' - The user\'s email address.+--+-- 'externalLoginFederationProviderType', 'user_externalLoginFederationProviderType' - The type of supported external login provider that provides identity to+-- let the user federate into Amazon QuickSight with an associated IAM+-- role. The type can be one of the following.+--+-- -   @COGNITO@: Amazon Cognito. The provider URL is+--     cognito-identity.amazonaws.com.+--+-- -   @CUSTOM_OIDC@: Custom OpenID Connect (OIDC) provider.+--+-- 'externalLoginFederationProviderUrl', 'user_externalLoginFederationProviderUrl' - The URL of the external login provider.+--+-- 'externalLoginId', 'user_externalLoginId' - The identity ID for the user in the external login provider.+--+-- 'identityType', 'user_identityType' - The type of identity authentication used by the user.+--+-- 'principalId', 'user_principalId' - The principal ID of the user.+--+-- 'role'', 'user_role' - The Amazon QuickSight role for the user. The user role can be one of the+-- following:.+--+-- -   @READER@: A user who has read-only access to dashboards.+--+-- -   @AUTHOR@: A user who can create data sources, datasets, analyses,+--     and dashboards.+--+-- -   @ADMIN@: A user who is an author, who can also manage Amazon Amazon+--     QuickSight settings.+--+-- -   @RESTRICTED_READER@: This role isn\'t currently available for use.+--+-- -   @RESTRICTED_AUTHOR@: This role isn\'t currently available for use.+--+-- 'userName', 'user_userName' - The user\'s user name. This value is required if you are registering a+-- user that will be managed in Amazon QuickSight. In the output, the value+-- for @UserName@ is @N\/A@ when the value for @IdentityType@ is @IAM@ and+-- the corresponding IAM user is deleted.+newUser ::+  User+newUser =+  User'+    { active = Prelude.Nothing,+      arn = Prelude.Nothing,+      customPermissionsName = Prelude.Nothing,+      email = Prelude.Nothing,+      externalLoginFederationProviderType =+        Prelude.Nothing,+      externalLoginFederationProviderUrl = Prelude.Nothing,+      externalLoginId = Prelude.Nothing,+      identityType = Prelude.Nothing,+      principalId = Prelude.Nothing,+      role' = Prelude.Nothing,+      userName = Prelude.Nothing+    }++-- | The active status of user. When you create an Amazon QuickSight user+-- that’s not an IAM user or an Active Directory user, that user is+-- inactive until they sign in and provide a password.+user_active :: Lens.Lens' User (Prelude.Maybe Prelude.Bool)+user_active = Lens.lens (\User' {active} -> active) (\s@User' {} a -> s {active = a} :: User)++-- | The Amazon Resource Name (ARN) for the user.+user_arn :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_arn = Lens.lens (\User' {arn} -> arn) (\s@User' {} a -> s {arn = a} :: User)++-- | The custom permissions profile associated with this user.+user_customPermissionsName :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_customPermissionsName = Lens.lens (\User' {customPermissionsName} -> customPermissionsName) (\s@User' {} a -> s {customPermissionsName = a} :: User)++-- | The user\'s email address.+user_email :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_email = Lens.lens (\User' {email} -> email) (\s@User' {} a -> s {email = a} :: User)++-- | The type of supported external login provider that provides identity to+-- let the user federate into Amazon QuickSight with an associated IAM+-- role. The type can be one of the following.+--+-- -   @COGNITO@: Amazon Cognito. The provider URL is+--     cognito-identity.amazonaws.com.+--+-- -   @CUSTOM_OIDC@: Custom OpenID Connect (OIDC) provider.+user_externalLoginFederationProviderType :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_externalLoginFederationProviderType = Lens.lens (\User' {externalLoginFederationProviderType} -> externalLoginFederationProviderType) (\s@User' {} a -> s {externalLoginFederationProviderType = a} :: User)++-- | The URL of the external login provider.+user_externalLoginFederationProviderUrl :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_externalLoginFederationProviderUrl = Lens.lens (\User' {externalLoginFederationProviderUrl} -> externalLoginFederationProviderUrl) (\s@User' {} a -> s {externalLoginFederationProviderUrl = a} :: User)++-- | The identity ID for the user in the external login provider.+user_externalLoginId :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_externalLoginId = Lens.lens (\User' {externalLoginId} -> externalLoginId) (\s@User' {} a -> s {externalLoginId = a} :: User)++-- | The type of identity authentication used by the user.+user_identityType :: Lens.Lens' User (Prelude.Maybe IdentityType)+user_identityType = Lens.lens (\User' {identityType} -> identityType) (\s@User' {} a -> s {identityType = a} :: User)++-- | The principal ID of the user.+user_principalId :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_principalId = Lens.lens (\User' {principalId} -> principalId) (\s@User' {} a -> s {principalId = a} :: User)++-- | The Amazon QuickSight role for the user. The user role can be one of the+-- following:.+--+-- -   @READER@: A user who has read-only access to dashboards.+--+-- -   @AUTHOR@: A user who can create data sources, datasets, analyses,+--     and dashboards.+--+-- -   @ADMIN@: A user who is an author, who can also manage Amazon Amazon+--     QuickSight settings.+--+-- -   @RESTRICTED_READER@: This role isn\'t currently available for use.+--+-- -   @RESTRICTED_AUTHOR@: This role isn\'t currently available for use.+user_role :: Lens.Lens' User (Prelude.Maybe UserRole)+user_role = Lens.lens (\User' {role'} -> role') (\s@User' {} a -> s {role' = a} :: User)++-- | The user\'s user name. This value is required if you are registering a+-- user that will be managed in Amazon QuickSight. In the output, the value+-- for @UserName@ is @N\/A@ when the value for @IdentityType@ is @IAM@ and+-- the corresponding IAM user is deleted.+user_userName :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_userName = Lens.lens (\User' {userName} -> userName) (\s@User' {} a -> s {userName = a} :: User)++instance Data.FromJSON User where+  parseJSON =+    Data.withObject+      "User"+      ( \x ->+          User'+            Prelude.<$> (x Data..:? "Active")+            Prelude.<*> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CustomPermissionsName")+            Prelude.<*> (x Data..:? "Email")+            Prelude.<*> (x Data..:? "ExternalLoginFederationProviderType")+            Prelude.<*> (x Data..:? "ExternalLoginFederationProviderUrl")+            Prelude.<*> (x Data..:? "ExternalLoginId")+            Prelude.<*> (x Data..:? "IdentityType")+            Prelude.<*> (x Data..:? "PrincipalId")+            Prelude.<*> (x Data..:? "Role")+            Prelude.<*> (x Data..:? "UserName")+      )++instance Prelude.Hashable User where+  hashWithSalt _salt User' {..} =+    _salt+      `Prelude.hashWithSalt` active+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` customPermissionsName+      `Prelude.hashWithSalt` email+      `Prelude.hashWithSalt` externalLoginFederationProviderType+      `Prelude.hashWithSalt` externalLoginFederationProviderUrl+      `Prelude.hashWithSalt` externalLoginId+      `Prelude.hashWithSalt` identityType+      `Prelude.hashWithSalt` principalId+      `Prelude.hashWithSalt` role'+      `Prelude.hashWithSalt` userName++instance Prelude.NFData User where+  rnf User' {..} =+    Prelude.rnf active+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf customPermissionsName+      `Prelude.seq` Prelude.rnf email+      `Prelude.seq` Prelude.rnf externalLoginFederationProviderType+      `Prelude.seq` Prelude.rnf externalLoginFederationProviderUrl+      `Prelude.seq` Prelude.rnf externalLoginId+      `Prelude.seq` Prelude.rnf identityType+      `Prelude.seq` Prelude.rnf principalId+      `Prelude.seq` Prelude.rnf role'+      `Prelude.seq` Prelude.rnf userName
+ gen/Amazonka/QuickSight/Types/UserRole.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.UserRole+-- 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.QuickSight.Types.UserRole+  ( UserRole+      ( ..,+        UserRole_ADMIN,+        UserRole_AUTHOR,+        UserRole_READER,+        UserRole_RESTRICTED_AUTHOR,+        UserRole_RESTRICTED_READER+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype UserRole = UserRole'+  { fromUserRole ::+      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 UserRole_ADMIN :: UserRole+pattern UserRole_ADMIN = UserRole' "ADMIN"++pattern UserRole_AUTHOR :: UserRole+pattern UserRole_AUTHOR = UserRole' "AUTHOR"++pattern UserRole_READER :: UserRole+pattern UserRole_READER = UserRole' "READER"++pattern UserRole_RESTRICTED_AUTHOR :: UserRole+pattern UserRole_RESTRICTED_AUTHOR = UserRole' "RESTRICTED_AUTHOR"++pattern UserRole_RESTRICTED_READER :: UserRole+pattern UserRole_RESTRICTED_READER = UserRole' "RESTRICTED_READER"++{-# COMPLETE+  UserRole_ADMIN,+  UserRole_AUTHOR,+  UserRole_READER,+  UserRole_RESTRICTED_AUTHOR,+  UserRole_RESTRICTED_READER,+  UserRole'+  #-}
+ gen/Amazonka/QuickSight/Types/ValueWhenUnsetOption.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.QuickSight.Types.ValueWhenUnsetOption+-- 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.QuickSight.Types.ValueWhenUnsetOption+  ( ValueWhenUnsetOption+      ( ..,+        ValueWhenUnsetOption_NULL,+        ValueWhenUnsetOption_RECOMMENDED_VALUE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ValueWhenUnsetOption = ValueWhenUnsetOption'+  { fromValueWhenUnsetOption ::+      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 ValueWhenUnsetOption_NULL :: ValueWhenUnsetOption+pattern ValueWhenUnsetOption_NULL = ValueWhenUnsetOption' "NULL"++pattern ValueWhenUnsetOption_RECOMMENDED_VALUE :: ValueWhenUnsetOption+pattern ValueWhenUnsetOption_RECOMMENDED_VALUE = ValueWhenUnsetOption' "RECOMMENDED_VALUE"++{-# COMPLETE+  ValueWhenUnsetOption_NULL,+  ValueWhenUnsetOption_RECOMMENDED_VALUE,+  ValueWhenUnsetOption'+  #-}
+ gen/Amazonka/QuickSight/Types/VerticalTextAlignment.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.VerticalTextAlignment+-- 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.QuickSight.Types.VerticalTextAlignment+  ( VerticalTextAlignment+      ( ..,+        VerticalTextAlignment_BOTTOM,+        VerticalTextAlignment_MIDDLE,+        VerticalTextAlignment_TOP+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VerticalTextAlignment = VerticalTextAlignment'+  { fromVerticalTextAlignment ::+      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 VerticalTextAlignment_BOTTOM :: VerticalTextAlignment+pattern VerticalTextAlignment_BOTTOM = VerticalTextAlignment' "BOTTOM"++pattern VerticalTextAlignment_MIDDLE :: VerticalTextAlignment+pattern VerticalTextAlignment_MIDDLE = VerticalTextAlignment' "MIDDLE"++pattern VerticalTextAlignment_TOP :: VerticalTextAlignment+pattern VerticalTextAlignment_TOP = VerticalTextAlignment' "TOP"++{-# COMPLETE+  VerticalTextAlignment_BOTTOM,+  VerticalTextAlignment_MIDDLE,+  VerticalTextAlignment_TOP,+  VerticalTextAlignment'+  #-}
+ gen/Amazonka/QuickSight/Types/Visibility.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.QuickSight.Types.Visibility+-- 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.QuickSight.Types.Visibility+  ( Visibility+      ( ..,+        Visibility_HIDDEN,+        Visibility_VISIBLE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Visibility = Visibility'+  { fromVisibility ::+      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 Visibility_HIDDEN :: Visibility+pattern Visibility_HIDDEN = Visibility' "HIDDEN"++pattern Visibility_VISIBLE :: Visibility+pattern Visibility_VISIBLE = Visibility' "VISIBLE"++{-# COMPLETE+  Visibility_HIDDEN,+  Visibility_VISIBLE,+  Visibility'+  #-}
+ gen/Amazonka/QuickSight/Types/VisibleRangeOptions.hs view
@@ -0,0 +1,80 @@+{-# 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.QuickSight.Types.VisibleRangeOptions+-- 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.QuickSight.Types.VisibleRangeOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.PercentVisibleRange++-- | The range options for the data zoom scroll bar.+--+-- /See:/ 'newVisibleRangeOptions' smart constructor.+data VisibleRangeOptions = VisibleRangeOptions'+  { -- | The percent range in the visible range.+    percentRange :: Prelude.Maybe PercentVisibleRange+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VisibleRangeOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'percentRange', 'visibleRangeOptions_percentRange' - The percent range in the visible range.+newVisibleRangeOptions ::+  VisibleRangeOptions+newVisibleRangeOptions =+  VisibleRangeOptions'+    { percentRange =+        Prelude.Nothing+    }++-- | The percent range in the visible range.+visibleRangeOptions_percentRange :: Lens.Lens' VisibleRangeOptions (Prelude.Maybe PercentVisibleRange)+visibleRangeOptions_percentRange = Lens.lens (\VisibleRangeOptions' {percentRange} -> percentRange) (\s@VisibleRangeOptions' {} a -> s {percentRange = a} :: VisibleRangeOptions)++instance Data.FromJSON VisibleRangeOptions where+  parseJSON =+    Data.withObject+      "VisibleRangeOptions"+      ( \x ->+          VisibleRangeOptions'+            Prelude.<$> (x Data..:? "PercentRange")+      )++instance Prelude.Hashable VisibleRangeOptions where+  hashWithSalt _salt VisibleRangeOptions' {..} =+    _salt `Prelude.hashWithSalt` percentRange++instance Prelude.NFData VisibleRangeOptions where+  rnf VisibleRangeOptions' {..} =+    Prelude.rnf percentRange++instance Data.ToJSON VisibleRangeOptions where+  toJSON VisibleRangeOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [("PercentRange" Data..=) Prelude.<$> percentRange]+      )
+ gen/Amazonka/QuickSight/Types/Visual.hs view
@@ -0,0 +1,646 @@+{-# 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.QuickSight.Types.Visual+-- 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.QuickSight.Types.Visual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.BarChartVisual+import Amazonka.QuickSight.Types.BoxPlotVisual+import Amazonka.QuickSight.Types.ComboChartVisual+import Amazonka.QuickSight.Types.CustomContentVisual+import Amazonka.QuickSight.Types.EmptyVisual+import Amazonka.QuickSight.Types.FilledMapVisual+import Amazonka.QuickSight.Types.FunnelChartVisual+import Amazonka.QuickSight.Types.GaugeChartVisual+import Amazonka.QuickSight.Types.GeospatialMapVisual+import Amazonka.QuickSight.Types.HeatMapVisual+import Amazonka.QuickSight.Types.HistogramVisual+import Amazonka.QuickSight.Types.InsightVisual+import Amazonka.QuickSight.Types.KPIVisual+import Amazonka.QuickSight.Types.LineChartVisual+import Amazonka.QuickSight.Types.PieChartVisual+import Amazonka.QuickSight.Types.PivotTableVisual+import Amazonka.QuickSight.Types.SankeyDiagramVisual+import Amazonka.QuickSight.Types.ScatterPlotVisual+import Amazonka.QuickSight.Types.TableVisual+import Amazonka.QuickSight.Types.TreeMapVisual+import Amazonka.QuickSight.Types.WaterfallVisual+import Amazonka.QuickSight.Types.WordCloudVisual++-- | A visual displayed on a sheet in an analysis, dashboard, or template.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newVisual' smart constructor.+data Visual = Visual'+  { -- | A bar chart.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/bar-charts.html Using bar charts>+    -- in the /Amazon QuickSight User Guide/.+    barChartVisual :: Prelude.Maybe BarChartVisual,+    -- | A box plot.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/box-plots.html Using box plots>+    -- in the /Amazon QuickSight User Guide/.+    boxPlotVisual :: Prelude.Maybe BoxPlotVisual,+    -- | A combo chart.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/combo-charts.html Using combo charts>+    -- in the /Amazon QuickSight User Guide/.+    comboChartVisual :: Prelude.Maybe ComboChartVisual,+    -- | A visual that contains custom content.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/custom-visual-content.html Using custom visual content>+    -- in the /Amazon QuickSight User Guide/.+    customContentVisual :: Prelude.Maybe CustomContentVisual,+    -- | An empty visual.+    emptyVisual :: Prelude.Maybe EmptyVisual,+    -- | A filled map.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/filled-maps.html Creating filled maps>+    -- in the /Amazon QuickSight User Guide/.+    filledMapVisual :: Prelude.Maybe FilledMapVisual,+    -- | A funnel chart.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/funnel-visual-content.html Using funnel charts>+    -- in the /Amazon QuickSight User Guide/.+    funnelChartVisual :: Prelude.Maybe FunnelChartVisual,+    -- | A gauge chart.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/gauge-chart.html Using gauge charts>+    -- in the /Amazon QuickSight User Guide/.+    gaugeChartVisual :: Prelude.Maybe GaugeChartVisual,+    -- | A geospatial map or a points on map visual.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/point-maps.html Creating point maps>+    -- in the /Amazon QuickSight User Guide/.+    geospatialMapVisual :: Prelude.Maybe GeospatialMapVisual,+    -- | A heat map.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/heat-map.html Using heat maps>+    -- in the /Amazon QuickSight User Guide/.+    heatMapVisual :: Prelude.Maybe HeatMapVisual,+    -- | A histogram.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/histogram-charts.html Using histograms>+    -- in the /Amazon QuickSight User Guide/.+    histogramVisual :: Prelude.Maybe HistogramVisual,+    -- | An insight visual.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/computational-insights.html Working with insights>+    -- in the /Amazon QuickSight User Guide/.+    insightVisual :: Prelude.Maybe InsightVisual,+    -- | A key performance indicator (KPI).+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/kpi.html Using KPIs>+    -- in the /Amazon QuickSight User Guide/.+    kPIVisual :: Prelude.Maybe KPIVisual,+    -- | A line chart.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/line-charts.html Using line charts>+    -- in the /Amazon QuickSight User Guide/.+    lineChartVisual :: Prelude.Maybe LineChartVisual,+    -- | A pie or donut chart.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/pie-chart.html Using pie charts>+    -- in the /Amazon QuickSight User Guide/.+    pieChartVisual :: Prelude.Maybe PieChartVisual,+    -- | A pivot table.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/pivot-table.html Using pivot tables>+    -- in the /Amazon QuickSight User Guide/.+    pivotTableVisual :: Prelude.Maybe PivotTableVisual,+    -- | A sankey diagram.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/sankey-diagram.html Using Sankey diagrams>+    -- in the /Amazon QuickSight User Guide/.+    sankeyDiagramVisual :: Prelude.Maybe SankeyDiagramVisual,+    -- | A scatter plot.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/scatter-plot.html Using scatter plots>+    -- in the /Amazon QuickSight User Guide/.+    scatterPlotVisual :: Prelude.Maybe ScatterPlotVisual,+    -- | A table visual.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/tabular.html Using tables as visuals>+    -- in the /Amazon QuickSight User Guide/.+    tableVisual :: Prelude.Maybe TableVisual,+    -- | A tree map.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/tree-map.html Using tree maps>+    -- in the /Amazon QuickSight User Guide/.+    treeMapVisual :: Prelude.Maybe TreeMapVisual,+    -- | A waterfall chart.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/waterfall-chart.html Using waterfall charts>+    -- in the /Amazon QuickSight User Guide/.+    waterfallVisual :: Prelude.Maybe WaterfallVisual,+    -- | A word cloud.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/quicksight/latest/user/word-cloud.html Using word clouds>+    -- in the /Amazon QuickSight User Guide/.+    wordCloudVisual :: Prelude.Maybe WordCloudVisual+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Visual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'barChartVisual', 'visual_barChartVisual' - A bar chart.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/bar-charts.html Using bar charts>+-- in the /Amazon QuickSight User Guide/.+--+-- 'boxPlotVisual', 'visual_boxPlotVisual' - A box plot.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/box-plots.html Using box plots>+-- in the /Amazon QuickSight User Guide/.+--+-- 'comboChartVisual', 'visual_comboChartVisual' - A combo chart.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/combo-charts.html Using combo charts>+-- in the /Amazon QuickSight User Guide/.+--+-- 'customContentVisual', 'visual_customContentVisual' - A visual that contains custom content.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/custom-visual-content.html Using custom visual content>+-- in the /Amazon QuickSight User Guide/.+--+-- 'emptyVisual', 'visual_emptyVisual' - An empty visual.+--+-- 'filledMapVisual', 'visual_filledMapVisual' - A filled map.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/filled-maps.html Creating filled maps>+-- in the /Amazon QuickSight User Guide/.+--+-- 'funnelChartVisual', 'visual_funnelChartVisual' - A funnel chart.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/funnel-visual-content.html Using funnel charts>+-- in the /Amazon QuickSight User Guide/.+--+-- 'gaugeChartVisual', 'visual_gaugeChartVisual' - A gauge chart.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/gauge-chart.html Using gauge charts>+-- in the /Amazon QuickSight User Guide/.+--+-- 'geospatialMapVisual', 'visual_geospatialMapVisual' - A geospatial map or a points on map visual.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/point-maps.html Creating point maps>+-- in the /Amazon QuickSight User Guide/.+--+-- 'heatMapVisual', 'visual_heatMapVisual' - A heat map.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/heat-map.html Using heat maps>+-- in the /Amazon QuickSight User Guide/.+--+-- 'histogramVisual', 'visual_histogramVisual' - A histogram.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/histogram-charts.html Using histograms>+-- in the /Amazon QuickSight User Guide/.+--+-- 'insightVisual', 'visual_insightVisual' - An insight visual.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/computational-insights.html Working with insights>+-- in the /Amazon QuickSight User Guide/.+--+-- 'kPIVisual', 'visual_kPIVisual' - A key performance indicator (KPI).+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/kpi.html Using KPIs>+-- in the /Amazon QuickSight User Guide/.+--+-- 'lineChartVisual', 'visual_lineChartVisual' - A line chart.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/line-charts.html Using line charts>+-- in the /Amazon QuickSight User Guide/.+--+-- 'pieChartVisual', 'visual_pieChartVisual' - A pie or donut chart.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/pie-chart.html Using pie charts>+-- in the /Amazon QuickSight User Guide/.+--+-- 'pivotTableVisual', 'visual_pivotTableVisual' - A pivot table.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/pivot-table.html Using pivot tables>+-- in the /Amazon QuickSight User Guide/.+--+-- 'sankeyDiagramVisual', 'visual_sankeyDiagramVisual' - A sankey diagram.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/sankey-diagram.html Using Sankey diagrams>+-- in the /Amazon QuickSight User Guide/.+--+-- 'scatterPlotVisual', 'visual_scatterPlotVisual' - A scatter plot.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/scatter-plot.html Using scatter plots>+-- in the /Amazon QuickSight User Guide/.+--+-- 'tableVisual', 'visual_tableVisual' - A table visual.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/tabular.html Using tables as visuals>+-- in the /Amazon QuickSight User Guide/.+--+-- 'treeMapVisual', 'visual_treeMapVisual' - A tree map.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/tree-map.html Using tree maps>+-- in the /Amazon QuickSight User Guide/.+--+-- 'waterfallVisual', 'visual_waterfallVisual' - A waterfall chart.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/waterfall-chart.html Using waterfall charts>+-- in the /Amazon QuickSight User Guide/.+--+-- 'wordCloudVisual', 'visual_wordCloudVisual' - A word cloud.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/word-cloud.html Using word clouds>+-- in the /Amazon QuickSight User Guide/.+newVisual ::+  Visual+newVisual =+  Visual'+    { barChartVisual = Prelude.Nothing,+      boxPlotVisual = Prelude.Nothing,+      comboChartVisual = Prelude.Nothing,+      customContentVisual = Prelude.Nothing,+      emptyVisual = Prelude.Nothing,+      filledMapVisual = Prelude.Nothing,+      funnelChartVisual = Prelude.Nothing,+      gaugeChartVisual = Prelude.Nothing,+      geospatialMapVisual = Prelude.Nothing,+      heatMapVisual = Prelude.Nothing,+      histogramVisual = Prelude.Nothing,+      insightVisual = Prelude.Nothing,+      kPIVisual = Prelude.Nothing,+      lineChartVisual = Prelude.Nothing,+      pieChartVisual = Prelude.Nothing,+      pivotTableVisual = Prelude.Nothing,+      sankeyDiagramVisual = Prelude.Nothing,+      scatterPlotVisual = Prelude.Nothing,+      tableVisual = Prelude.Nothing,+      treeMapVisual = Prelude.Nothing,+      waterfallVisual = Prelude.Nothing,+      wordCloudVisual = Prelude.Nothing+    }++-- | A bar chart.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/bar-charts.html Using bar charts>+-- in the /Amazon QuickSight User Guide/.+visual_barChartVisual :: Lens.Lens' Visual (Prelude.Maybe BarChartVisual)+visual_barChartVisual = Lens.lens (\Visual' {barChartVisual} -> barChartVisual) (\s@Visual' {} a -> s {barChartVisual = a} :: Visual)++-- | A box plot.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/box-plots.html Using box plots>+-- in the /Amazon QuickSight User Guide/.+visual_boxPlotVisual :: Lens.Lens' Visual (Prelude.Maybe BoxPlotVisual)+visual_boxPlotVisual = Lens.lens (\Visual' {boxPlotVisual} -> boxPlotVisual) (\s@Visual' {} a -> s {boxPlotVisual = a} :: Visual)++-- | A combo chart.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/combo-charts.html Using combo charts>+-- in the /Amazon QuickSight User Guide/.+visual_comboChartVisual :: Lens.Lens' Visual (Prelude.Maybe ComboChartVisual)+visual_comboChartVisual = Lens.lens (\Visual' {comboChartVisual} -> comboChartVisual) (\s@Visual' {} a -> s {comboChartVisual = a} :: Visual)++-- | A visual that contains custom content.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/custom-visual-content.html Using custom visual content>+-- in the /Amazon QuickSight User Guide/.+visual_customContentVisual :: Lens.Lens' Visual (Prelude.Maybe CustomContentVisual)+visual_customContentVisual = Lens.lens (\Visual' {customContentVisual} -> customContentVisual) (\s@Visual' {} a -> s {customContentVisual = a} :: Visual)++-- | An empty visual.+visual_emptyVisual :: Lens.Lens' Visual (Prelude.Maybe EmptyVisual)+visual_emptyVisual = Lens.lens (\Visual' {emptyVisual} -> emptyVisual) (\s@Visual' {} a -> s {emptyVisual = a} :: Visual)++-- | A filled map.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/filled-maps.html Creating filled maps>+-- in the /Amazon QuickSight User Guide/.+visual_filledMapVisual :: Lens.Lens' Visual (Prelude.Maybe FilledMapVisual)+visual_filledMapVisual = Lens.lens (\Visual' {filledMapVisual} -> filledMapVisual) (\s@Visual' {} a -> s {filledMapVisual = a} :: Visual)++-- | A funnel chart.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/funnel-visual-content.html Using funnel charts>+-- in the /Amazon QuickSight User Guide/.+visual_funnelChartVisual :: Lens.Lens' Visual (Prelude.Maybe FunnelChartVisual)+visual_funnelChartVisual = Lens.lens (\Visual' {funnelChartVisual} -> funnelChartVisual) (\s@Visual' {} a -> s {funnelChartVisual = a} :: Visual)++-- | A gauge chart.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/gauge-chart.html Using gauge charts>+-- in the /Amazon QuickSight User Guide/.+visual_gaugeChartVisual :: Lens.Lens' Visual (Prelude.Maybe GaugeChartVisual)+visual_gaugeChartVisual = Lens.lens (\Visual' {gaugeChartVisual} -> gaugeChartVisual) (\s@Visual' {} a -> s {gaugeChartVisual = a} :: Visual)++-- | A geospatial map or a points on map visual.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/point-maps.html Creating point maps>+-- in the /Amazon QuickSight User Guide/.+visual_geospatialMapVisual :: Lens.Lens' Visual (Prelude.Maybe GeospatialMapVisual)+visual_geospatialMapVisual = Lens.lens (\Visual' {geospatialMapVisual} -> geospatialMapVisual) (\s@Visual' {} a -> s {geospatialMapVisual = a} :: Visual)++-- | A heat map.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/heat-map.html Using heat maps>+-- in the /Amazon QuickSight User Guide/.+visual_heatMapVisual :: Lens.Lens' Visual (Prelude.Maybe HeatMapVisual)+visual_heatMapVisual = Lens.lens (\Visual' {heatMapVisual} -> heatMapVisual) (\s@Visual' {} a -> s {heatMapVisual = a} :: Visual)++-- | A histogram.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/histogram-charts.html Using histograms>+-- in the /Amazon QuickSight User Guide/.+visual_histogramVisual :: Lens.Lens' Visual (Prelude.Maybe HistogramVisual)+visual_histogramVisual = Lens.lens (\Visual' {histogramVisual} -> histogramVisual) (\s@Visual' {} a -> s {histogramVisual = a} :: Visual)++-- | An insight visual.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/computational-insights.html Working with insights>+-- in the /Amazon QuickSight User Guide/.+visual_insightVisual :: Lens.Lens' Visual (Prelude.Maybe InsightVisual)+visual_insightVisual = Lens.lens (\Visual' {insightVisual} -> insightVisual) (\s@Visual' {} a -> s {insightVisual = a} :: Visual)++-- | A key performance indicator (KPI).+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/kpi.html Using KPIs>+-- in the /Amazon QuickSight User Guide/.+visual_kPIVisual :: Lens.Lens' Visual (Prelude.Maybe KPIVisual)+visual_kPIVisual = Lens.lens (\Visual' {kPIVisual} -> kPIVisual) (\s@Visual' {} a -> s {kPIVisual = a} :: Visual)++-- | A line chart.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/line-charts.html Using line charts>+-- in the /Amazon QuickSight User Guide/.+visual_lineChartVisual :: Lens.Lens' Visual (Prelude.Maybe LineChartVisual)+visual_lineChartVisual = Lens.lens (\Visual' {lineChartVisual} -> lineChartVisual) (\s@Visual' {} a -> s {lineChartVisual = a} :: Visual)++-- | A pie or donut chart.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/pie-chart.html Using pie charts>+-- in the /Amazon QuickSight User Guide/.+visual_pieChartVisual :: Lens.Lens' Visual (Prelude.Maybe PieChartVisual)+visual_pieChartVisual = Lens.lens (\Visual' {pieChartVisual} -> pieChartVisual) (\s@Visual' {} a -> s {pieChartVisual = a} :: Visual)++-- | A pivot table.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/pivot-table.html Using pivot tables>+-- in the /Amazon QuickSight User Guide/.+visual_pivotTableVisual :: Lens.Lens' Visual (Prelude.Maybe PivotTableVisual)+visual_pivotTableVisual = Lens.lens (\Visual' {pivotTableVisual} -> pivotTableVisual) (\s@Visual' {} a -> s {pivotTableVisual = a} :: Visual)++-- | A sankey diagram.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/sankey-diagram.html Using Sankey diagrams>+-- in the /Amazon QuickSight User Guide/.+visual_sankeyDiagramVisual :: Lens.Lens' Visual (Prelude.Maybe SankeyDiagramVisual)+visual_sankeyDiagramVisual = Lens.lens (\Visual' {sankeyDiagramVisual} -> sankeyDiagramVisual) (\s@Visual' {} a -> s {sankeyDiagramVisual = a} :: Visual)++-- | A scatter plot.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/scatter-plot.html Using scatter plots>+-- in the /Amazon QuickSight User Guide/.+visual_scatterPlotVisual :: Lens.Lens' Visual (Prelude.Maybe ScatterPlotVisual)+visual_scatterPlotVisual = Lens.lens (\Visual' {scatterPlotVisual} -> scatterPlotVisual) (\s@Visual' {} a -> s {scatterPlotVisual = a} :: Visual)++-- | A table visual.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/tabular.html Using tables as visuals>+-- in the /Amazon QuickSight User Guide/.+visual_tableVisual :: Lens.Lens' Visual (Prelude.Maybe TableVisual)+visual_tableVisual = Lens.lens (\Visual' {tableVisual} -> tableVisual) (\s@Visual' {} a -> s {tableVisual = a} :: Visual)++-- | A tree map.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/tree-map.html Using tree maps>+-- in the /Amazon QuickSight User Guide/.+visual_treeMapVisual :: Lens.Lens' Visual (Prelude.Maybe TreeMapVisual)+visual_treeMapVisual = Lens.lens (\Visual' {treeMapVisual} -> treeMapVisual) (\s@Visual' {} a -> s {treeMapVisual = a} :: Visual)++-- | A waterfall chart.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/waterfall-chart.html Using waterfall charts>+-- in the /Amazon QuickSight User Guide/.+visual_waterfallVisual :: Lens.Lens' Visual (Prelude.Maybe WaterfallVisual)+visual_waterfallVisual = Lens.lens (\Visual' {waterfallVisual} -> waterfallVisual) (\s@Visual' {} a -> s {waterfallVisual = a} :: Visual)++-- | A word cloud.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/word-cloud.html Using word clouds>+-- in the /Amazon QuickSight User Guide/.+visual_wordCloudVisual :: Lens.Lens' Visual (Prelude.Maybe WordCloudVisual)+visual_wordCloudVisual = Lens.lens (\Visual' {wordCloudVisual} -> wordCloudVisual) (\s@Visual' {} a -> s {wordCloudVisual = a} :: Visual)++instance Data.FromJSON Visual where+  parseJSON =+    Data.withObject+      "Visual"+      ( \x ->+          Visual'+            Prelude.<$> (x Data..:? "BarChartVisual")+            Prelude.<*> (x Data..:? "BoxPlotVisual")+            Prelude.<*> (x Data..:? "ComboChartVisual")+            Prelude.<*> (x Data..:? "CustomContentVisual")+            Prelude.<*> (x Data..:? "EmptyVisual")+            Prelude.<*> (x Data..:? "FilledMapVisual")+            Prelude.<*> (x Data..:? "FunnelChartVisual")+            Prelude.<*> (x Data..:? "GaugeChartVisual")+            Prelude.<*> (x Data..:? "GeospatialMapVisual")+            Prelude.<*> (x Data..:? "HeatMapVisual")+            Prelude.<*> (x Data..:? "HistogramVisual")+            Prelude.<*> (x Data..:? "InsightVisual")+            Prelude.<*> (x Data..:? "KPIVisual")+            Prelude.<*> (x Data..:? "LineChartVisual")+            Prelude.<*> (x Data..:? "PieChartVisual")+            Prelude.<*> (x Data..:? "PivotTableVisual")+            Prelude.<*> (x Data..:? "SankeyDiagramVisual")+            Prelude.<*> (x Data..:? "ScatterPlotVisual")+            Prelude.<*> (x Data..:? "TableVisual")+            Prelude.<*> (x Data..:? "TreeMapVisual")+            Prelude.<*> (x Data..:? "WaterfallVisual")+            Prelude.<*> (x Data..:? "WordCloudVisual")+      )++instance Prelude.Hashable Visual where+  hashWithSalt _salt Visual' {..} =+    _salt+      `Prelude.hashWithSalt` barChartVisual+      `Prelude.hashWithSalt` boxPlotVisual+      `Prelude.hashWithSalt` comboChartVisual+      `Prelude.hashWithSalt` customContentVisual+      `Prelude.hashWithSalt` emptyVisual+      `Prelude.hashWithSalt` filledMapVisual+      `Prelude.hashWithSalt` funnelChartVisual+      `Prelude.hashWithSalt` gaugeChartVisual+      `Prelude.hashWithSalt` geospatialMapVisual+      `Prelude.hashWithSalt` heatMapVisual+      `Prelude.hashWithSalt` histogramVisual+      `Prelude.hashWithSalt` insightVisual+      `Prelude.hashWithSalt` kPIVisual+      `Prelude.hashWithSalt` lineChartVisual+      `Prelude.hashWithSalt` pieChartVisual+      `Prelude.hashWithSalt` pivotTableVisual+      `Prelude.hashWithSalt` sankeyDiagramVisual+      `Prelude.hashWithSalt` scatterPlotVisual+      `Prelude.hashWithSalt` tableVisual+      `Prelude.hashWithSalt` treeMapVisual+      `Prelude.hashWithSalt` waterfallVisual+      `Prelude.hashWithSalt` wordCloudVisual++instance Prelude.NFData Visual where+  rnf Visual' {..} =+    Prelude.rnf barChartVisual+      `Prelude.seq` Prelude.rnf boxPlotVisual+      `Prelude.seq` Prelude.rnf comboChartVisual+      `Prelude.seq` Prelude.rnf customContentVisual+      `Prelude.seq` Prelude.rnf emptyVisual+      `Prelude.seq` Prelude.rnf filledMapVisual+      `Prelude.seq` Prelude.rnf funnelChartVisual+      `Prelude.seq` Prelude.rnf gaugeChartVisual+      `Prelude.seq` Prelude.rnf geospatialMapVisual+      `Prelude.seq` Prelude.rnf heatMapVisual+      `Prelude.seq` Prelude.rnf histogramVisual+      `Prelude.seq` Prelude.rnf insightVisual+      `Prelude.seq` Prelude.rnf kPIVisual+      `Prelude.seq` Prelude.rnf lineChartVisual+      `Prelude.seq` Prelude.rnf pieChartVisual+      `Prelude.seq` Prelude.rnf pivotTableVisual+      `Prelude.seq` Prelude.rnf sankeyDiagramVisual+      `Prelude.seq` Prelude.rnf scatterPlotVisual+      `Prelude.seq` Prelude.rnf tableVisual+      `Prelude.seq` Prelude.rnf treeMapVisual+      `Prelude.seq` Prelude.rnf waterfallVisual+      `Prelude.seq` Prelude.rnf+        wordCloudVisual++instance Data.ToJSON Visual where+  toJSON Visual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BarChartVisual" Data..=)+              Prelude.<$> barChartVisual,+            ("BoxPlotVisual" Data..=) Prelude.<$> boxPlotVisual,+            ("ComboChartVisual" Data..=)+              Prelude.<$> comboChartVisual,+            ("CustomContentVisual" Data..=)+              Prelude.<$> customContentVisual,+            ("EmptyVisual" Data..=) Prelude.<$> emptyVisual,+            ("FilledMapVisual" Data..=)+              Prelude.<$> filledMapVisual,+            ("FunnelChartVisual" Data..=)+              Prelude.<$> funnelChartVisual,+            ("GaugeChartVisual" Data..=)+              Prelude.<$> gaugeChartVisual,+            ("GeospatialMapVisual" Data..=)+              Prelude.<$> geospatialMapVisual,+            ("HeatMapVisual" Data..=) Prelude.<$> heatMapVisual,+            ("HistogramVisual" Data..=)+              Prelude.<$> histogramVisual,+            ("InsightVisual" Data..=) Prelude.<$> insightVisual,+            ("KPIVisual" Data..=) Prelude.<$> kPIVisual,+            ("LineChartVisual" Data..=)+              Prelude.<$> lineChartVisual,+            ("PieChartVisual" Data..=)+              Prelude.<$> pieChartVisual,+            ("PivotTableVisual" Data..=)+              Prelude.<$> pivotTableVisual,+            ("SankeyDiagramVisual" Data..=)+              Prelude.<$> sankeyDiagramVisual,+            ("ScatterPlotVisual" Data..=)+              Prelude.<$> scatterPlotVisual,+            ("TableVisual" Data..=) Prelude.<$> tableVisual,+            ("TreeMapVisual" Data..=) Prelude.<$> treeMapVisual,+            ("WaterfallVisual" Data..=)+              Prelude.<$> waterfallVisual,+            ("WordCloudVisual" Data..=)+              Prelude.<$> wordCloudVisual+          ]+      )
+ gen/Amazonka/QuickSight/Types/VisualCustomAction.hs view
@@ -0,0 +1,183 @@+{-# 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.QuickSight.Types.VisualCustomAction+-- 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.QuickSight.Types.VisualCustomAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.VisualCustomActionOperation+import Amazonka.QuickSight.Types.VisualCustomActionTrigger+import Amazonka.QuickSight.Types.WidgetStatus++-- | A custom action defined on a visual.+--+-- /See:/ 'newVisualCustomAction' smart constructor.+data VisualCustomAction = VisualCustomAction'+  { -- | The status of the @VisualCustomAction@.+    status :: Prelude.Maybe WidgetStatus,+    -- | The ID of the @VisualCustomAction@.+    customActionId :: Prelude.Text,+    -- | The name of the @VisualCustomAction@.+    name :: Prelude.Text,+    -- | The trigger of the @VisualCustomAction@.+    --+    -- Valid values are defined as follows:+    --+    -- -   @DATA_POINT_CLICK@: Initiates a custom action by a left pointer+    --     click on a data point.+    --+    -- -   @DATA_POINT_MENU@: Initiates a custom action by right pointer click+    --     from the menu.+    trigger :: VisualCustomActionTrigger,+    -- | A list of @VisualCustomActionOperations@.+    --+    -- This is a union type structure. For this structure to be valid, only one+    -- of the attributes can be defined.+    actionOperations :: Prelude.NonEmpty VisualCustomActionOperation+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VisualCustomAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'visualCustomAction_status' - The status of the @VisualCustomAction@.+--+-- 'customActionId', 'visualCustomAction_customActionId' - The ID of the @VisualCustomAction@.+--+-- 'name', 'visualCustomAction_name' - The name of the @VisualCustomAction@.+--+-- 'trigger', 'visualCustomAction_trigger' - The trigger of the @VisualCustomAction@.+--+-- Valid values are defined as follows:+--+-- -   @DATA_POINT_CLICK@: Initiates a custom action by a left pointer+--     click on a data point.+--+-- -   @DATA_POINT_MENU@: Initiates a custom action by right pointer click+--     from the menu.+--+-- 'actionOperations', 'visualCustomAction_actionOperations' - A list of @VisualCustomActionOperations@.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+newVisualCustomAction ::+  -- | 'customActionId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'trigger'+  VisualCustomActionTrigger ->+  -- | 'actionOperations'+  Prelude.NonEmpty VisualCustomActionOperation ->+  VisualCustomAction+newVisualCustomAction+  pCustomActionId_+  pName_+  pTrigger_+  pActionOperations_ =+    VisualCustomAction'+      { status = Prelude.Nothing,+        customActionId = pCustomActionId_,+        name = pName_,+        trigger = pTrigger_,+        actionOperations =+          Lens.coerced Lens.# pActionOperations_+      }++-- | The status of the @VisualCustomAction@.+visualCustomAction_status :: Lens.Lens' VisualCustomAction (Prelude.Maybe WidgetStatus)+visualCustomAction_status = Lens.lens (\VisualCustomAction' {status} -> status) (\s@VisualCustomAction' {} a -> s {status = a} :: VisualCustomAction)++-- | The ID of the @VisualCustomAction@.+visualCustomAction_customActionId :: Lens.Lens' VisualCustomAction Prelude.Text+visualCustomAction_customActionId = Lens.lens (\VisualCustomAction' {customActionId} -> customActionId) (\s@VisualCustomAction' {} a -> s {customActionId = a} :: VisualCustomAction)++-- | The name of the @VisualCustomAction@.+visualCustomAction_name :: Lens.Lens' VisualCustomAction Prelude.Text+visualCustomAction_name = Lens.lens (\VisualCustomAction' {name} -> name) (\s@VisualCustomAction' {} a -> s {name = a} :: VisualCustomAction)++-- | The trigger of the @VisualCustomAction@.+--+-- Valid values are defined as follows:+--+-- -   @DATA_POINT_CLICK@: Initiates a custom action by a left pointer+--     click on a data point.+--+-- -   @DATA_POINT_MENU@: Initiates a custom action by right pointer click+--     from the menu.+visualCustomAction_trigger :: Lens.Lens' VisualCustomAction VisualCustomActionTrigger+visualCustomAction_trigger = Lens.lens (\VisualCustomAction' {trigger} -> trigger) (\s@VisualCustomAction' {} a -> s {trigger = a} :: VisualCustomAction)++-- | A list of @VisualCustomActionOperations@.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+visualCustomAction_actionOperations :: Lens.Lens' VisualCustomAction (Prelude.NonEmpty VisualCustomActionOperation)+visualCustomAction_actionOperations = Lens.lens (\VisualCustomAction' {actionOperations} -> actionOperations) (\s@VisualCustomAction' {} a -> s {actionOperations = a} :: VisualCustomAction) Prelude.. Lens.coerced++instance Data.FromJSON VisualCustomAction where+  parseJSON =+    Data.withObject+      "VisualCustomAction"+      ( \x ->+          VisualCustomAction'+            Prelude.<$> (x Data..:? "Status")+            Prelude.<*> (x Data..: "CustomActionId")+            Prelude.<*> (x Data..: "Name")+            Prelude.<*> (x Data..: "Trigger")+            Prelude.<*> (x Data..: "ActionOperations")+      )++instance Prelude.Hashable VisualCustomAction where+  hashWithSalt _salt VisualCustomAction' {..} =+    _salt+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` customActionId+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` trigger+      `Prelude.hashWithSalt` actionOperations++instance Prelude.NFData VisualCustomAction where+  rnf VisualCustomAction' {..} =+    Prelude.rnf status+      `Prelude.seq` Prelude.rnf customActionId+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf trigger+      `Prelude.seq` Prelude.rnf actionOperations++instance Data.ToJSON VisualCustomAction where+  toJSON VisualCustomAction' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Status" Data..=) Prelude.<$> status,+            Prelude.Just+              ("CustomActionId" Data..= customActionId),+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Trigger" Data..= trigger),+            Prelude.Just+              ("ActionOperations" Data..= actionOperations)+          ]+      )
+ gen/Amazonka/QuickSight/Types/VisualCustomActionOperation.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.QuickSight.Types.VisualCustomActionOperation+-- 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.QuickSight.Types.VisualCustomActionOperation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.CustomActionFilterOperation+import Amazonka.QuickSight.Types.CustomActionNavigationOperation+import Amazonka.QuickSight.Types.CustomActionSetParametersOperation+import Amazonka.QuickSight.Types.CustomActionURLOperation++-- | The operation that is defined by the custom action.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newVisualCustomActionOperation' smart constructor.+data VisualCustomActionOperation = VisualCustomActionOperation'+  { -- | The filter operation that filters data included in a visual or in an+    -- entire sheet.+    filterOperation :: Prelude.Maybe CustomActionFilterOperation,+    -- | The navigation operation that navigates between different sheets in the+    -- same analysis.+    navigationOperation :: Prelude.Maybe CustomActionNavigationOperation,+    -- | The set parameter operation that sets parameters in custom action.+    setParametersOperation :: Prelude.Maybe CustomActionSetParametersOperation,+    -- | The URL operation that opens a link to another webpage.+    uRLOperation :: Prelude.Maybe CustomActionURLOperation+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VisualCustomActionOperation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filterOperation', 'visualCustomActionOperation_filterOperation' - The filter operation that filters data included in a visual or in an+-- entire sheet.+--+-- 'navigationOperation', 'visualCustomActionOperation_navigationOperation' - The navigation operation that navigates between different sheets in the+-- same analysis.+--+-- 'setParametersOperation', 'visualCustomActionOperation_setParametersOperation' - The set parameter operation that sets parameters in custom action.+--+-- 'uRLOperation', 'visualCustomActionOperation_uRLOperation' - The URL operation that opens a link to another webpage.+newVisualCustomActionOperation ::+  VisualCustomActionOperation+newVisualCustomActionOperation =+  VisualCustomActionOperation'+    { filterOperation =+        Prelude.Nothing,+      navigationOperation = Prelude.Nothing,+      setParametersOperation = Prelude.Nothing,+      uRLOperation = Prelude.Nothing+    }++-- | The filter operation that filters data included in a visual or in an+-- entire sheet.+visualCustomActionOperation_filterOperation :: Lens.Lens' VisualCustomActionOperation (Prelude.Maybe CustomActionFilterOperation)+visualCustomActionOperation_filterOperation = Lens.lens (\VisualCustomActionOperation' {filterOperation} -> filterOperation) (\s@VisualCustomActionOperation' {} a -> s {filterOperation = a} :: VisualCustomActionOperation)++-- | The navigation operation that navigates between different sheets in the+-- same analysis.+visualCustomActionOperation_navigationOperation :: Lens.Lens' VisualCustomActionOperation (Prelude.Maybe CustomActionNavigationOperation)+visualCustomActionOperation_navigationOperation = Lens.lens (\VisualCustomActionOperation' {navigationOperation} -> navigationOperation) (\s@VisualCustomActionOperation' {} a -> s {navigationOperation = a} :: VisualCustomActionOperation)++-- | The set parameter operation that sets parameters in custom action.+visualCustomActionOperation_setParametersOperation :: Lens.Lens' VisualCustomActionOperation (Prelude.Maybe CustomActionSetParametersOperation)+visualCustomActionOperation_setParametersOperation = Lens.lens (\VisualCustomActionOperation' {setParametersOperation} -> setParametersOperation) (\s@VisualCustomActionOperation' {} a -> s {setParametersOperation = a} :: VisualCustomActionOperation)++-- | The URL operation that opens a link to another webpage.+visualCustomActionOperation_uRLOperation :: Lens.Lens' VisualCustomActionOperation (Prelude.Maybe CustomActionURLOperation)+visualCustomActionOperation_uRLOperation = Lens.lens (\VisualCustomActionOperation' {uRLOperation} -> uRLOperation) (\s@VisualCustomActionOperation' {} a -> s {uRLOperation = a} :: VisualCustomActionOperation)++instance Data.FromJSON VisualCustomActionOperation where+  parseJSON =+    Data.withObject+      "VisualCustomActionOperation"+      ( \x ->+          VisualCustomActionOperation'+            Prelude.<$> (x Data..:? "FilterOperation")+            Prelude.<*> (x Data..:? "NavigationOperation")+            Prelude.<*> (x Data..:? "SetParametersOperation")+            Prelude.<*> (x Data..:? "URLOperation")+      )++instance Prelude.Hashable VisualCustomActionOperation where+  hashWithSalt _salt VisualCustomActionOperation' {..} =+    _salt+      `Prelude.hashWithSalt` filterOperation+      `Prelude.hashWithSalt` navigationOperation+      `Prelude.hashWithSalt` setParametersOperation+      `Prelude.hashWithSalt` uRLOperation++instance Prelude.NFData VisualCustomActionOperation where+  rnf VisualCustomActionOperation' {..} =+    Prelude.rnf filterOperation+      `Prelude.seq` Prelude.rnf navigationOperation+      `Prelude.seq` Prelude.rnf setParametersOperation+      `Prelude.seq` Prelude.rnf uRLOperation++instance Data.ToJSON VisualCustomActionOperation where+  toJSON VisualCustomActionOperation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FilterOperation" Data..=)+              Prelude.<$> filterOperation,+            ("NavigationOperation" Data..=)+              Prelude.<$> navigationOperation,+            ("SetParametersOperation" Data..=)+              Prelude.<$> setParametersOperation,+            ("URLOperation" Data..=) Prelude.<$> uRLOperation+          ]+      )
+ gen/Amazonka/QuickSight/Types/VisualCustomActionTrigger.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.QuickSight.Types.VisualCustomActionTrigger+-- 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.QuickSight.Types.VisualCustomActionTrigger+  ( VisualCustomActionTrigger+      ( ..,+        VisualCustomActionTrigger_DATA_POINT_CLICK,+        VisualCustomActionTrigger_DATA_POINT_MENU+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VisualCustomActionTrigger = VisualCustomActionTrigger'+  { fromVisualCustomActionTrigger ::+      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 VisualCustomActionTrigger_DATA_POINT_CLICK :: VisualCustomActionTrigger+pattern VisualCustomActionTrigger_DATA_POINT_CLICK = VisualCustomActionTrigger' "DATA_POINT_CLICK"++pattern VisualCustomActionTrigger_DATA_POINT_MENU :: VisualCustomActionTrigger+pattern VisualCustomActionTrigger_DATA_POINT_MENU = VisualCustomActionTrigger' "DATA_POINT_MENU"++{-# COMPLETE+  VisualCustomActionTrigger_DATA_POINT_CLICK,+  VisualCustomActionTrigger_DATA_POINT_MENU,+  VisualCustomActionTrigger'+  #-}
+ gen/Amazonka/QuickSight/Types/VisualPalette.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.VisualPalette+-- 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.QuickSight.Types.VisualPalette where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DataPathColor++-- | The visual display options for the visual palette.+--+-- /See:/ 'newVisualPalette' smart constructor.+data VisualPalette = VisualPalette'+  { -- | The chart color options for the visual palette.+    chartColor :: Prelude.Maybe Prelude.Text,+    -- | The color map options for the visual palette.+    colorMap :: Prelude.Maybe [DataPathColor]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VisualPalette' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'chartColor', 'visualPalette_chartColor' - The chart color options for the visual palette.+--+-- 'colorMap', 'visualPalette_colorMap' - The color map options for the visual palette.+newVisualPalette ::+  VisualPalette+newVisualPalette =+  VisualPalette'+    { chartColor = Prelude.Nothing,+      colorMap = Prelude.Nothing+    }++-- | The chart color options for the visual palette.+visualPalette_chartColor :: Lens.Lens' VisualPalette (Prelude.Maybe Prelude.Text)+visualPalette_chartColor = Lens.lens (\VisualPalette' {chartColor} -> chartColor) (\s@VisualPalette' {} a -> s {chartColor = a} :: VisualPalette)++-- | The color map options for the visual palette.+visualPalette_colorMap :: Lens.Lens' VisualPalette (Prelude.Maybe [DataPathColor])+visualPalette_colorMap = Lens.lens (\VisualPalette' {colorMap} -> colorMap) (\s@VisualPalette' {} a -> s {colorMap = a} :: VisualPalette) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON VisualPalette where+  parseJSON =+    Data.withObject+      "VisualPalette"+      ( \x ->+          VisualPalette'+            Prelude.<$> (x Data..:? "ChartColor")+            Prelude.<*> (x Data..:? "ColorMap" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable VisualPalette where+  hashWithSalt _salt VisualPalette' {..} =+    _salt+      `Prelude.hashWithSalt` chartColor+      `Prelude.hashWithSalt` colorMap++instance Prelude.NFData VisualPalette where+  rnf VisualPalette' {..} =+    Prelude.rnf chartColor+      `Prelude.seq` Prelude.rnf colorMap++instance Data.ToJSON VisualPalette where+  toJSON VisualPalette' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ChartColor" Data..=) Prelude.<$> chartColor,+            ("ColorMap" Data..=) Prelude.<$> colorMap+          ]+      )
+ gen/Amazonka/QuickSight/Types/VisualSubtitleLabelOptions.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+-- 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.QuickSight.Types.VisualSubtitleLabelOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.LongFormatText+import Amazonka.QuickSight.Types.Visibility++-- | The subtitle label options for a visual.+--+-- /See:/ 'newVisualSubtitleLabelOptions' smart constructor.+data VisualSubtitleLabelOptions = VisualSubtitleLabelOptions'+  { -- | The long text format of the subtitle label, such as plain text or rich+    -- text.+    formatText :: Prelude.Maybe LongFormatText,+    -- | The visibility of the subtitle label.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VisualSubtitleLabelOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'formatText', 'visualSubtitleLabelOptions_formatText' - The long text format of the subtitle label, such as plain text or rich+-- text.+--+-- 'visibility', 'visualSubtitleLabelOptions_visibility' - The visibility of the subtitle label.+newVisualSubtitleLabelOptions ::+  VisualSubtitleLabelOptions+newVisualSubtitleLabelOptions =+  VisualSubtitleLabelOptions'+    { formatText =+        Prelude.Nothing,+      visibility = Prelude.Nothing+    }++-- | The long text format of the subtitle label, such as plain text or rich+-- text.+visualSubtitleLabelOptions_formatText :: Lens.Lens' VisualSubtitleLabelOptions (Prelude.Maybe LongFormatText)+visualSubtitleLabelOptions_formatText = Lens.lens (\VisualSubtitleLabelOptions' {formatText} -> formatText) (\s@VisualSubtitleLabelOptions' {} a -> s {formatText = a} :: VisualSubtitleLabelOptions)++-- | The visibility of the subtitle label.+visualSubtitleLabelOptions_visibility :: Lens.Lens' VisualSubtitleLabelOptions (Prelude.Maybe Visibility)+visualSubtitleLabelOptions_visibility = Lens.lens (\VisualSubtitleLabelOptions' {visibility} -> visibility) (\s@VisualSubtitleLabelOptions' {} a -> s {visibility = a} :: VisualSubtitleLabelOptions)++instance Data.FromJSON VisualSubtitleLabelOptions where+  parseJSON =+    Data.withObject+      "VisualSubtitleLabelOptions"+      ( \x ->+          VisualSubtitleLabelOptions'+            Prelude.<$> (x Data..:? "FormatText")+            Prelude.<*> (x Data..:? "Visibility")+      )++instance Prelude.Hashable VisualSubtitleLabelOptions where+  hashWithSalt _salt VisualSubtitleLabelOptions' {..} =+    _salt+      `Prelude.hashWithSalt` formatText+      `Prelude.hashWithSalt` visibility++instance Prelude.NFData VisualSubtitleLabelOptions where+  rnf VisualSubtitleLabelOptions' {..} =+    Prelude.rnf formatText+      `Prelude.seq` Prelude.rnf visibility++instance Data.ToJSON VisualSubtitleLabelOptions where+  toJSON VisualSubtitleLabelOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FormatText" Data..=) Prelude.<$> formatText,+            ("Visibility" Data..=) Prelude.<$> visibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/VisualTitleLabelOptions.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.VisualTitleLabelOptions+-- 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.QuickSight.Types.VisualTitleLabelOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ShortFormatText+import Amazonka.QuickSight.Types.Visibility++-- | The title label options for a visual.+--+-- /See:/ 'newVisualTitleLabelOptions' smart constructor.+data VisualTitleLabelOptions = VisualTitleLabelOptions'+  { -- | The short text format of the title label, such as plain text or rich+    -- text.+    formatText :: Prelude.Maybe ShortFormatText,+    -- | The visibility of the title label.+    visibility :: Prelude.Maybe Visibility+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VisualTitleLabelOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'formatText', 'visualTitleLabelOptions_formatText' - The short text format of the title label, such as plain text or rich+-- text.+--+-- 'visibility', 'visualTitleLabelOptions_visibility' - The visibility of the title label.+newVisualTitleLabelOptions ::+  VisualTitleLabelOptions+newVisualTitleLabelOptions =+  VisualTitleLabelOptions'+    { formatText =+        Prelude.Nothing,+      visibility = Prelude.Nothing+    }++-- | The short text format of the title label, such as plain text or rich+-- text.+visualTitleLabelOptions_formatText :: Lens.Lens' VisualTitleLabelOptions (Prelude.Maybe ShortFormatText)+visualTitleLabelOptions_formatText = Lens.lens (\VisualTitleLabelOptions' {formatText} -> formatText) (\s@VisualTitleLabelOptions' {} a -> s {formatText = a} :: VisualTitleLabelOptions)++-- | The visibility of the title label.+visualTitleLabelOptions_visibility :: Lens.Lens' VisualTitleLabelOptions (Prelude.Maybe Visibility)+visualTitleLabelOptions_visibility = Lens.lens (\VisualTitleLabelOptions' {visibility} -> visibility) (\s@VisualTitleLabelOptions' {} a -> s {visibility = a} :: VisualTitleLabelOptions)++instance Data.FromJSON VisualTitleLabelOptions where+  parseJSON =+    Data.withObject+      "VisualTitleLabelOptions"+      ( \x ->+          VisualTitleLabelOptions'+            Prelude.<$> (x Data..:? "FormatText")+            Prelude.<*> (x Data..:? "Visibility")+      )++instance Prelude.Hashable VisualTitleLabelOptions where+  hashWithSalt _salt VisualTitleLabelOptions' {..} =+    _salt+      `Prelude.hashWithSalt` formatText+      `Prelude.hashWithSalt` visibility++instance Prelude.NFData VisualTitleLabelOptions where+  rnf VisualTitleLabelOptions' {..} =+    Prelude.rnf formatText+      `Prelude.seq` Prelude.rnf visibility++instance Data.ToJSON VisualTitleLabelOptions where+  toJSON VisualTitleLabelOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FormatText" Data..=) Prelude.<$> formatText,+            ("Visibility" Data..=) Prelude.<$> visibility+          ]+      )
+ gen/Amazonka/QuickSight/Types/VpcConnectionProperties.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.VpcConnectionProperties+-- 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.QuickSight.Types.VpcConnectionProperties 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++-- | VPC connection properties.+--+-- /See:/ 'newVpcConnectionProperties' smart constructor.+data VpcConnectionProperties = VpcConnectionProperties'+  { -- | The Amazon Resource Name (ARN) for the VPC connection.+    vpcConnectionArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VpcConnectionProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vpcConnectionArn', 'vpcConnectionProperties_vpcConnectionArn' - The Amazon Resource Name (ARN) for the VPC connection.+newVpcConnectionProperties ::+  -- | 'vpcConnectionArn'+  Prelude.Text ->+  VpcConnectionProperties+newVpcConnectionProperties pVpcConnectionArn_ =+  VpcConnectionProperties'+    { vpcConnectionArn =+        pVpcConnectionArn_+    }++-- | The Amazon Resource Name (ARN) for the VPC connection.+vpcConnectionProperties_vpcConnectionArn :: Lens.Lens' VpcConnectionProperties Prelude.Text+vpcConnectionProperties_vpcConnectionArn = Lens.lens (\VpcConnectionProperties' {vpcConnectionArn} -> vpcConnectionArn) (\s@VpcConnectionProperties' {} a -> s {vpcConnectionArn = a} :: VpcConnectionProperties)++instance Data.FromJSON VpcConnectionProperties where+  parseJSON =+    Data.withObject+      "VpcConnectionProperties"+      ( \x ->+          VpcConnectionProperties'+            Prelude.<$> (x Data..: "VpcConnectionArn")+      )++instance Prelude.Hashable VpcConnectionProperties where+  hashWithSalt _salt VpcConnectionProperties' {..} =+    _salt `Prelude.hashWithSalt` vpcConnectionArn++instance Prelude.NFData VpcConnectionProperties where+  rnf VpcConnectionProperties' {..} =+    Prelude.rnf vpcConnectionArn++instance Data.ToJSON VpcConnectionProperties where+  toJSON VpcConnectionProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("VpcConnectionArn" Data..= vpcConnectionArn)+          ]+      )
+ gen/Amazonka/QuickSight/Types/WaterfallChartAggregatedFieldWells.hs view
@@ -0,0 +1,123 @@+{-# 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.QuickSight.Types.WaterfallChartAggregatedFieldWells+-- 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.QuickSight.Types.WaterfallChartAggregatedFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The field well configuration of a waterfall visual.+--+-- /See:/ 'newWaterfallChartAggregatedFieldWells' smart constructor.+data WaterfallChartAggregatedFieldWells = WaterfallChartAggregatedFieldWells'+  { -- | The breakdown field wells of a waterfall visual.+    breakdowns :: Prelude.Maybe [DimensionField],+    -- | The category field wells of a waterfall visual.+    categories :: Prelude.Maybe [DimensionField],+    -- | The value field wells of a waterfall visual.+    values :: Prelude.Maybe [MeasureField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WaterfallChartAggregatedFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'breakdowns', 'waterfallChartAggregatedFieldWells_breakdowns' - The breakdown field wells of a waterfall visual.+--+-- 'categories', 'waterfallChartAggregatedFieldWells_categories' - The category field wells of a waterfall visual.+--+-- 'values', 'waterfallChartAggregatedFieldWells_values' - The value field wells of a waterfall visual.+newWaterfallChartAggregatedFieldWells ::+  WaterfallChartAggregatedFieldWells+newWaterfallChartAggregatedFieldWells =+  WaterfallChartAggregatedFieldWells'+    { breakdowns =+        Prelude.Nothing,+      categories = Prelude.Nothing,+      values = Prelude.Nothing+    }++-- | The breakdown field wells of a waterfall visual.+waterfallChartAggregatedFieldWells_breakdowns :: Lens.Lens' WaterfallChartAggregatedFieldWells (Prelude.Maybe [DimensionField])+waterfallChartAggregatedFieldWells_breakdowns = Lens.lens (\WaterfallChartAggregatedFieldWells' {breakdowns} -> breakdowns) (\s@WaterfallChartAggregatedFieldWells' {} a -> s {breakdowns = a} :: WaterfallChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The category field wells of a waterfall visual.+waterfallChartAggregatedFieldWells_categories :: Lens.Lens' WaterfallChartAggregatedFieldWells (Prelude.Maybe [DimensionField])+waterfallChartAggregatedFieldWells_categories = Lens.lens (\WaterfallChartAggregatedFieldWells' {categories} -> categories) (\s@WaterfallChartAggregatedFieldWells' {} a -> s {categories = a} :: WaterfallChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The value field wells of a waterfall visual.+waterfallChartAggregatedFieldWells_values :: Lens.Lens' WaterfallChartAggregatedFieldWells (Prelude.Maybe [MeasureField])+waterfallChartAggregatedFieldWells_values = Lens.lens (\WaterfallChartAggregatedFieldWells' {values} -> values) (\s@WaterfallChartAggregatedFieldWells' {} a -> s {values = a} :: WaterfallChartAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++instance+  Data.FromJSON+    WaterfallChartAggregatedFieldWells+  where+  parseJSON =+    Data.withObject+      "WaterfallChartAggregatedFieldWells"+      ( \x ->+          WaterfallChartAggregatedFieldWells'+            Prelude.<$> (x Data..:? "Breakdowns" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Categories" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Values" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    WaterfallChartAggregatedFieldWells+  where+  hashWithSalt+    _salt+    WaterfallChartAggregatedFieldWells' {..} =+      _salt+        `Prelude.hashWithSalt` breakdowns+        `Prelude.hashWithSalt` categories+        `Prelude.hashWithSalt` values++instance+  Prelude.NFData+    WaterfallChartAggregatedFieldWells+  where+  rnf WaterfallChartAggregatedFieldWells' {..} =+    Prelude.rnf breakdowns+      `Prelude.seq` Prelude.rnf categories+      `Prelude.seq` Prelude.rnf values++instance+  Data.ToJSON+    WaterfallChartAggregatedFieldWells+  where+  toJSON WaterfallChartAggregatedFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Breakdowns" Data..=) Prelude.<$> breakdowns,+            ("Categories" Data..=) Prelude.<$> categories,+            ("Values" Data..=) Prelude.<$> values+          ]+      )
+ gen/Amazonka/QuickSight/Types/WaterfallChartConfiguration.hs view
@@ -0,0 +1,212 @@+{-# 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.QuickSight.Types.WaterfallChartConfiguration+-- 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.QuickSight.Types.WaterfallChartConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.AxisDisplayOptions+import Amazonka.QuickSight.Types.ChartAxisLabelOptions+import Amazonka.QuickSight.Types.DataLabelOptions+import Amazonka.QuickSight.Types.LegendOptions+import Amazonka.QuickSight.Types.VisualPalette+import Amazonka.QuickSight.Types.WaterfallChartFieldWells+import Amazonka.QuickSight.Types.WaterfallChartOptions+import Amazonka.QuickSight.Types.WaterfallChartSortConfiguration++-- | The configuration for a waterfall visual.+--+-- /See:/ 'newWaterfallChartConfiguration' smart constructor.+data WaterfallChartConfiguration = WaterfallChartConfiguration'+  { -- | The options that determine the presentation of the category axis.+    categoryAxisDisplayOptions :: Prelude.Maybe AxisDisplayOptions,+    -- | The options that determine the presentation of the category axis label.+    categoryAxisLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The data label configuration of a waterfall visual.+    dataLabels :: Prelude.Maybe DataLabelOptions,+    -- | The field well configuration of a waterfall visual.+    fieldWells :: Prelude.Maybe WaterfallChartFieldWells,+    -- | The legend configuration of a waterfall visual.+    legend :: Prelude.Maybe LegendOptions,+    -- | The options that determine the presentation of the y-axis.+    primaryYAxisDisplayOptions :: Prelude.Maybe AxisDisplayOptions,+    -- | The options that determine the presentation of the y-axis label.+    primaryYAxisLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The sort configuration of a waterfall visual.+    sortConfiguration :: Prelude.Maybe WaterfallChartSortConfiguration,+    -- | The visual palette configuration of a waterfall visual.+    visualPalette :: Prelude.Maybe VisualPalette,+    -- | The options that determine the presentation of a waterfall visual.+    waterfallChartOptions :: Prelude.Maybe WaterfallChartOptions+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WaterfallChartConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categoryAxisDisplayOptions', 'waterfallChartConfiguration_categoryAxisDisplayOptions' - The options that determine the presentation of the category axis.+--+-- 'categoryAxisLabelOptions', 'waterfallChartConfiguration_categoryAxisLabelOptions' - The options that determine the presentation of the category axis label.+--+-- 'dataLabels', 'waterfallChartConfiguration_dataLabels' - The data label configuration of a waterfall visual.+--+-- 'fieldWells', 'waterfallChartConfiguration_fieldWells' - The field well configuration of a waterfall visual.+--+-- 'legend', 'waterfallChartConfiguration_legend' - The legend configuration of a waterfall visual.+--+-- 'primaryYAxisDisplayOptions', 'waterfallChartConfiguration_primaryYAxisDisplayOptions' - The options that determine the presentation of the y-axis.+--+-- 'primaryYAxisLabelOptions', 'waterfallChartConfiguration_primaryYAxisLabelOptions' - The options that determine the presentation of the y-axis label.+--+-- 'sortConfiguration', 'waterfallChartConfiguration_sortConfiguration' - The sort configuration of a waterfall visual.+--+-- 'visualPalette', 'waterfallChartConfiguration_visualPalette' - The visual palette configuration of a waterfall visual.+--+-- 'waterfallChartOptions', 'waterfallChartConfiguration_waterfallChartOptions' - The options that determine the presentation of a waterfall visual.+newWaterfallChartConfiguration ::+  WaterfallChartConfiguration+newWaterfallChartConfiguration =+  WaterfallChartConfiguration'+    { categoryAxisDisplayOptions =+        Prelude.Nothing,+      categoryAxisLabelOptions = Prelude.Nothing,+      dataLabels = Prelude.Nothing,+      fieldWells = Prelude.Nothing,+      legend = Prelude.Nothing,+      primaryYAxisDisplayOptions = Prelude.Nothing,+      primaryYAxisLabelOptions = Prelude.Nothing,+      sortConfiguration = Prelude.Nothing,+      visualPalette = Prelude.Nothing,+      waterfallChartOptions = Prelude.Nothing+    }++-- | The options that determine the presentation of the category axis.+waterfallChartConfiguration_categoryAxisDisplayOptions :: Lens.Lens' WaterfallChartConfiguration (Prelude.Maybe AxisDisplayOptions)+waterfallChartConfiguration_categoryAxisDisplayOptions = Lens.lens (\WaterfallChartConfiguration' {categoryAxisDisplayOptions} -> categoryAxisDisplayOptions) (\s@WaterfallChartConfiguration' {} a -> s {categoryAxisDisplayOptions = a} :: WaterfallChartConfiguration)++-- | The options that determine the presentation of the category axis label.+waterfallChartConfiguration_categoryAxisLabelOptions :: Lens.Lens' WaterfallChartConfiguration (Prelude.Maybe ChartAxisLabelOptions)+waterfallChartConfiguration_categoryAxisLabelOptions = Lens.lens (\WaterfallChartConfiguration' {categoryAxisLabelOptions} -> categoryAxisLabelOptions) (\s@WaterfallChartConfiguration' {} a -> s {categoryAxisLabelOptions = a} :: WaterfallChartConfiguration)++-- | The data label configuration of a waterfall visual.+waterfallChartConfiguration_dataLabels :: Lens.Lens' WaterfallChartConfiguration (Prelude.Maybe DataLabelOptions)+waterfallChartConfiguration_dataLabels = Lens.lens (\WaterfallChartConfiguration' {dataLabels} -> dataLabels) (\s@WaterfallChartConfiguration' {} a -> s {dataLabels = a} :: WaterfallChartConfiguration)++-- | The field well configuration of a waterfall visual.+waterfallChartConfiguration_fieldWells :: Lens.Lens' WaterfallChartConfiguration (Prelude.Maybe WaterfallChartFieldWells)+waterfallChartConfiguration_fieldWells = Lens.lens (\WaterfallChartConfiguration' {fieldWells} -> fieldWells) (\s@WaterfallChartConfiguration' {} a -> s {fieldWells = a} :: WaterfallChartConfiguration)++-- | The legend configuration of a waterfall visual.+waterfallChartConfiguration_legend :: Lens.Lens' WaterfallChartConfiguration (Prelude.Maybe LegendOptions)+waterfallChartConfiguration_legend = Lens.lens (\WaterfallChartConfiguration' {legend} -> legend) (\s@WaterfallChartConfiguration' {} a -> s {legend = a} :: WaterfallChartConfiguration)++-- | The options that determine the presentation of the y-axis.+waterfallChartConfiguration_primaryYAxisDisplayOptions :: Lens.Lens' WaterfallChartConfiguration (Prelude.Maybe AxisDisplayOptions)+waterfallChartConfiguration_primaryYAxisDisplayOptions = Lens.lens (\WaterfallChartConfiguration' {primaryYAxisDisplayOptions} -> primaryYAxisDisplayOptions) (\s@WaterfallChartConfiguration' {} a -> s {primaryYAxisDisplayOptions = a} :: WaterfallChartConfiguration)++-- | The options that determine the presentation of the y-axis label.+waterfallChartConfiguration_primaryYAxisLabelOptions :: Lens.Lens' WaterfallChartConfiguration (Prelude.Maybe ChartAxisLabelOptions)+waterfallChartConfiguration_primaryYAxisLabelOptions = Lens.lens (\WaterfallChartConfiguration' {primaryYAxisLabelOptions} -> primaryYAxisLabelOptions) (\s@WaterfallChartConfiguration' {} a -> s {primaryYAxisLabelOptions = a} :: WaterfallChartConfiguration)++-- | The sort configuration of a waterfall visual.+waterfallChartConfiguration_sortConfiguration :: Lens.Lens' WaterfallChartConfiguration (Prelude.Maybe WaterfallChartSortConfiguration)+waterfallChartConfiguration_sortConfiguration = Lens.lens (\WaterfallChartConfiguration' {sortConfiguration} -> sortConfiguration) (\s@WaterfallChartConfiguration' {} a -> s {sortConfiguration = a} :: WaterfallChartConfiguration)++-- | The visual palette configuration of a waterfall visual.+waterfallChartConfiguration_visualPalette :: Lens.Lens' WaterfallChartConfiguration (Prelude.Maybe VisualPalette)+waterfallChartConfiguration_visualPalette = Lens.lens (\WaterfallChartConfiguration' {visualPalette} -> visualPalette) (\s@WaterfallChartConfiguration' {} a -> s {visualPalette = a} :: WaterfallChartConfiguration)++-- | The options that determine the presentation of a waterfall visual.+waterfallChartConfiguration_waterfallChartOptions :: Lens.Lens' WaterfallChartConfiguration (Prelude.Maybe WaterfallChartOptions)+waterfallChartConfiguration_waterfallChartOptions = Lens.lens (\WaterfallChartConfiguration' {waterfallChartOptions} -> waterfallChartOptions) (\s@WaterfallChartConfiguration' {} a -> s {waterfallChartOptions = a} :: WaterfallChartConfiguration)++instance Data.FromJSON WaterfallChartConfiguration where+  parseJSON =+    Data.withObject+      "WaterfallChartConfiguration"+      ( \x ->+          WaterfallChartConfiguration'+            Prelude.<$> (x Data..:? "CategoryAxisDisplayOptions")+            Prelude.<*> (x Data..:? "CategoryAxisLabelOptions")+            Prelude.<*> (x Data..:? "DataLabels")+            Prelude.<*> (x Data..:? "FieldWells")+            Prelude.<*> (x Data..:? "Legend")+            Prelude.<*> (x Data..:? "PrimaryYAxisDisplayOptions")+            Prelude.<*> (x Data..:? "PrimaryYAxisLabelOptions")+            Prelude.<*> (x Data..:? "SortConfiguration")+            Prelude.<*> (x Data..:? "VisualPalette")+            Prelude.<*> (x Data..:? "WaterfallChartOptions")+      )++instance Prelude.Hashable WaterfallChartConfiguration where+  hashWithSalt _salt WaterfallChartConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` categoryAxisDisplayOptions+      `Prelude.hashWithSalt` categoryAxisLabelOptions+      `Prelude.hashWithSalt` dataLabels+      `Prelude.hashWithSalt` fieldWells+      `Prelude.hashWithSalt` legend+      `Prelude.hashWithSalt` primaryYAxisDisplayOptions+      `Prelude.hashWithSalt` primaryYAxisLabelOptions+      `Prelude.hashWithSalt` sortConfiguration+      `Prelude.hashWithSalt` visualPalette+      `Prelude.hashWithSalt` waterfallChartOptions++instance Prelude.NFData WaterfallChartConfiguration where+  rnf WaterfallChartConfiguration' {..} =+    Prelude.rnf categoryAxisDisplayOptions+      `Prelude.seq` Prelude.rnf categoryAxisLabelOptions+      `Prelude.seq` Prelude.rnf dataLabels+      `Prelude.seq` Prelude.rnf fieldWells+      `Prelude.seq` Prelude.rnf legend+      `Prelude.seq` Prelude.rnf primaryYAxisDisplayOptions+      `Prelude.seq` Prelude.rnf primaryYAxisLabelOptions+      `Prelude.seq` Prelude.rnf sortConfiguration+      `Prelude.seq` Prelude.rnf visualPalette+      `Prelude.seq` Prelude.rnf waterfallChartOptions++instance Data.ToJSON WaterfallChartConfiguration where+  toJSON WaterfallChartConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoryAxisDisplayOptions" Data..=)+              Prelude.<$> categoryAxisDisplayOptions,+            ("CategoryAxisLabelOptions" Data..=)+              Prelude.<$> categoryAxisLabelOptions,+            ("DataLabels" Data..=) Prelude.<$> dataLabels,+            ("FieldWells" Data..=) Prelude.<$> fieldWells,+            ("Legend" Data..=) Prelude.<$> legend,+            ("PrimaryYAxisDisplayOptions" Data..=)+              Prelude.<$> primaryYAxisDisplayOptions,+            ("PrimaryYAxisLabelOptions" Data..=)+              Prelude.<$> primaryYAxisLabelOptions,+            ("SortConfiguration" Data..=)+              Prelude.<$> sortConfiguration,+            ("VisualPalette" Data..=) Prelude.<$> visualPalette,+            ("WaterfallChartOptions" Data..=)+              Prelude.<$> waterfallChartOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/WaterfallChartFieldWells.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.WaterfallChartFieldWells+-- 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.QuickSight.Types.WaterfallChartFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.WaterfallChartAggregatedFieldWells++-- | The field well configuration of a waterfall visual.+--+-- /See:/ 'newWaterfallChartFieldWells' smart constructor.+data WaterfallChartFieldWells = WaterfallChartFieldWells'+  { -- | The field well configuration of a waterfall visual.+    waterfallChartAggregatedFieldWells :: Prelude.Maybe WaterfallChartAggregatedFieldWells+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WaterfallChartFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'waterfallChartAggregatedFieldWells', 'waterfallChartFieldWells_waterfallChartAggregatedFieldWells' - The field well configuration of a waterfall visual.+newWaterfallChartFieldWells ::+  WaterfallChartFieldWells+newWaterfallChartFieldWells =+  WaterfallChartFieldWells'+    { waterfallChartAggregatedFieldWells =+        Prelude.Nothing+    }++-- | The field well configuration of a waterfall visual.+waterfallChartFieldWells_waterfallChartAggregatedFieldWells :: Lens.Lens' WaterfallChartFieldWells (Prelude.Maybe WaterfallChartAggregatedFieldWells)+waterfallChartFieldWells_waterfallChartAggregatedFieldWells = Lens.lens (\WaterfallChartFieldWells' {waterfallChartAggregatedFieldWells} -> waterfallChartAggregatedFieldWells) (\s@WaterfallChartFieldWells' {} a -> s {waterfallChartAggregatedFieldWells = a} :: WaterfallChartFieldWells)++instance Data.FromJSON WaterfallChartFieldWells where+  parseJSON =+    Data.withObject+      "WaterfallChartFieldWells"+      ( \x ->+          WaterfallChartFieldWells'+            Prelude.<$> (x Data..:? "WaterfallChartAggregatedFieldWells")+      )++instance Prelude.Hashable WaterfallChartFieldWells where+  hashWithSalt _salt WaterfallChartFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` waterfallChartAggregatedFieldWells++instance Prelude.NFData WaterfallChartFieldWells where+  rnf WaterfallChartFieldWells' {..} =+    Prelude.rnf waterfallChartAggregatedFieldWells++instance Data.ToJSON WaterfallChartFieldWells where+  toJSON WaterfallChartFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("WaterfallChartAggregatedFieldWells" Data..=)+              Prelude.<$> waterfallChartAggregatedFieldWells+          ]+      )
+ gen/Amazonka/QuickSight/Types/WaterfallChartOptions.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.QuickSight.Types.WaterfallChartOptions+-- 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.QuickSight.Types.WaterfallChartOptions 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 options that determine the presentation of a waterfall visual.+--+-- /See:/ 'newWaterfallChartOptions' smart constructor.+data WaterfallChartOptions = WaterfallChartOptions'+  { -- | This option determines the total bar label of a waterfall visual.+    totalBarLabel :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WaterfallChartOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'totalBarLabel', 'waterfallChartOptions_totalBarLabel' - This option determines the total bar label of a waterfall visual.+newWaterfallChartOptions ::+  WaterfallChartOptions+newWaterfallChartOptions =+  WaterfallChartOptions'+    { totalBarLabel =+        Prelude.Nothing+    }++-- | This option determines the total bar label of a waterfall visual.+waterfallChartOptions_totalBarLabel :: Lens.Lens' WaterfallChartOptions (Prelude.Maybe Prelude.Text)+waterfallChartOptions_totalBarLabel = Lens.lens (\WaterfallChartOptions' {totalBarLabel} -> totalBarLabel) (\s@WaterfallChartOptions' {} a -> s {totalBarLabel = a} :: WaterfallChartOptions)++instance Data.FromJSON WaterfallChartOptions where+  parseJSON =+    Data.withObject+      "WaterfallChartOptions"+      ( \x ->+          WaterfallChartOptions'+            Prelude.<$> (x Data..:? "TotalBarLabel")+      )++instance Prelude.Hashable WaterfallChartOptions where+  hashWithSalt _salt WaterfallChartOptions' {..} =+    _salt `Prelude.hashWithSalt` totalBarLabel++instance Prelude.NFData WaterfallChartOptions where+  rnf WaterfallChartOptions' {..} =+    Prelude.rnf totalBarLabel++instance Data.ToJSON WaterfallChartOptions where+  toJSON WaterfallChartOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TotalBarLabel" Data..=)+              Prelude.<$> totalBarLabel+          ]+      )
+ gen/Amazonka/QuickSight/Types/WaterfallChartSortConfiguration.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.QuickSight.Types.WaterfallChartSortConfiguration+-- 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.QuickSight.Types.WaterfallChartSortConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FieldSortOptions+import Amazonka.QuickSight.Types.ItemsLimitConfiguration++-- | The sort configuration of a waterfall visual.+--+-- /See:/ 'newWaterfallChartSortConfiguration' smart constructor.+data WaterfallChartSortConfiguration = WaterfallChartSortConfiguration'+  { -- | The limit on the number of bar groups that are displayed.+    breakdownItemsLimit :: Prelude.Maybe ItemsLimitConfiguration,+    -- | The sort configuration of the category fields.+    categorySort :: Prelude.Maybe [FieldSortOptions]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WaterfallChartSortConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'breakdownItemsLimit', 'waterfallChartSortConfiguration_breakdownItemsLimit' - The limit on the number of bar groups that are displayed.+--+-- 'categorySort', 'waterfallChartSortConfiguration_categorySort' - The sort configuration of the category fields.+newWaterfallChartSortConfiguration ::+  WaterfallChartSortConfiguration+newWaterfallChartSortConfiguration =+  WaterfallChartSortConfiguration'+    { breakdownItemsLimit =+        Prelude.Nothing,+      categorySort = Prelude.Nothing+    }++-- | The limit on the number of bar groups that are displayed.+waterfallChartSortConfiguration_breakdownItemsLimit :: Lens.Lens' WaterfallChartSortConfiguration (Prelude.Maybe ItemsLimitConfiguration)+waterfallChartSortConfiguration_breakdownItemsLimit = Lens.lens (\WaterfallChartSortConfiguration' {breakdownItemsLimit} -> breakdownItemsLimit) (\s@WaterfallChartSortConfiguration' {} a -> s {breakdownItemsLimit = a} :: WaterfallChartSortConfiguration)++-- | The sort configuration of the category fields.+waterfallChartSortConfiguration_categorySort :: Lens.Lens' WaterfallChartSortConfiguration (Prelude.Maybe [FieldSortOptions])+waterfallChartSortConfiguration_categorySort = Lens.lens (\WaterfallChartSortConfiguration' {categorySort} -> categorySort) (\s@WaterfallChartSortConfiguration' {} a -> s {categorySort = a} :: WaterfallChartSortConfiguration) Prelude.. Lens.mapping Lens.coerced++instance+  Data.FromJSON+    WaterfallChartSortConfiguration+  where+  parseJSON =+    Data.withObject+      "WaterfallChartSortConfiguration"+      ( \x ->+          WaterfallChartSortConfiguration'+            Prelude.<$> (x Data..:? "BreakdownItemsLimit")+            Prelude.<*> (x Data..:? "CategorySort" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    WaterfallChartSortConfiguration+  where+  hashWithSalt+    _salt+    WaterfallChartSortConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` breakdownItemsLimit+        `Prelude.hashWithSalt` categorySort++instance+  Prelude.NFData+    WaterfallChartSortConfiguration+  where+  rnf WaterfallChartSortConfiguration' {..} =+    Prelude.rnf breakdownItemsLimit+      `Prelude.seq` Prelude.rnf categorySort++instance Data.ToJSON WaterfallChartSortConfiguration where+  toJSON WaterfallChartSortConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BreakdownItemsLimit" Data..=)+              Prelude.<$> breakdownItemsLimit,+            ("CategorySort" Data..=) Prelude.<$> categorySort+          ]+      )
+ gen/Amazonka/QuickSight/Types/WaterfallVisual.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.QuickSight.Types.WaterfallVisual+-- 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.QuickSight.Types.WaterfallVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnHierarchy+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions+import Amazonka.QuickSight.Types.WaterfallChartConfiguration++-- | A waterfall chart.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/waterfall-chart.html Using waterfall charts>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newWaterfallVisual' smart constructor.+data WaterfallVisual = WaterfallVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration for a waterfall visual.+    chartConfiguration :: Prelude.Maybe WaterfallChartConfiguration,+    -- | The column hierarchy that is used during drill-downs and drill-ups.+    columnHierarchies :: Prelude.Maybe [ColumnHierarchy],+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers.+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WaterfallVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'waterfallVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'waterfallVisual_chartConfiguration' - The configuration for a waterfall visual.+--+-- 'columnHierarchies', 'waterfallVisual_columnHierarchies' - The column hierarchy that is used during drill-downs and drill-ups.+--+-- 'subtitle', 'waterfallVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'waterfallVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'waterfallVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+newWaterfallVisual ::+  -- | 'visualId'+  Prelude.Text ->+  WaterfallVisual+newWaterfallVisual pVisualId_ =+  WaterfallVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      columnHierarchies = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_+    }++-- | The list of custom actions that are configured for a visual.+waterfallVisual_actions :: Lens.Lens' WaterfallVisual (Prelude.Maybe [VisualCustomAction])+waterfallVisual_actions = Lens.lens (\WaterfallVisual' {actions} -> actions) (\s@WaterfallVisual' {} a -> s {actions = a} :: WaterfallVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration for a waterfall visual.+waterfallVisual_chartConfiguration :: Lens.Lens' WaterfallVisual (Prelude.Maybe WaterfallChartConfiguration)+waterfallVisual_chartConfiguration = Lens.lens (\WaterfallVisual' {chartConfiguration} -> chartConfiguration) (\s@WaterfallVisual' {} a -> s {chartConfiguration = a} :: WaterfallVisual)++-- | The column hierarchy that is used during drill-downs and drill-ups.+waterfallVisual_columnHierarchies :: Lens.Lens' WaterfallVisual (Prelude.Maybe [ColumnHierarchy])+waterfallVisual_columnHierarchies = Lens.lens (\WaterfallVisual' {columnHierarchies} -> columnHierarchies) (\s@WaterfallVisual' {} a -> s {columnHierarchies = a} :: WaterfallVisual) Prelude.. Lens.mapping Lens.coerced++-- | The subtitle that is displayed on the visual.+waterfallVisual_subtitle :: Lens.Lens' WaterfallVisual (Prelude.Maybe VisualSubtitleLabelOptions)+waterfallVisual_subtitle = Lens.lens (\WaterfallVisual' {subtitle} -> subtitle) (\s@WaterfallVisual' {} a -> s {subtitle = a} :: WaterfallVisual)++-- | The title that is displayed on the visual.+waterfallVisual_title :: Lens.Lens' WaterfallVisual (Prelude.Maybe VisualTitleLabelOptions)+waterfallVisual_title = Lens.lens (\WaterfallVisual' {title} -> title) (\s@WaterfallVisual' {} a -> s {title = a} :: WaterfallVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers.+waterfallVisual_visualId :: Lens.Lens' WaterfallVisual Prelude.Text+waterfallVisual_visualId = Lens.lens (\WaterfallVisual' {visualId} -> visualId) (\s@WaterfallVisual' {} a -> s {visualId = a} :: WaterfallVisual)++instance Data.FromJSON WaterfallVisual where+  parseJSON =+    Data.withObject+      "WaterfallVisual"+      ( \x ->+          WaterfallVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> ( x+                            Data..:? "ColumnHierarchies"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+      )++instance Prelude.Hashable WaterfallVisual where+  hashWithSalt _salt WaterfallVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` columnHierarchies+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData WaterfallVisual where+  rnf WaterfallVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf columnHierarchies+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON WaterfallVisual where+  toJSON WaterfallVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("ColumnHierarchies" Data..=)+              Prelude.<$> columnHierarchies,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/WhatIfPointScenario.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.WhatIfPointScenario+-- 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.QuickSight.Types.WhatIfPointScenario 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 the forecast to meet the target for a particular date.+--+-- /See:/ 'newWhatIfPointScenario' smart constructor.+data WhatIfPointScenario = WhatIfPointScenario'+  { -- | The date that you need the forecast results for.+    date :: Data.POSIX,+    -- | The target value that you want to meet for the provided date.+    value :: Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WhatIfPointScenario' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'whatIfPointScenario_date' - The date that you need the forecast results for.+--+-- 'value', 'whatIfPointScenario_value' - The target value that you want to meet for the provided date.+newWhatIfPointScenario ::+  -- | 'date'+  Prelude.UTCTime ->+  -- | 'value'+  Prelude.Double ->+  WhatIfPointScenario+newWhatIfPointScenario pDate_ pValue_ =+  WhatIfPointScenario'+    { date =+        Data._Time Lens.# pDate_,+      value = pValue_+    }++-- | The date that you need the forecast results for.+whatIfPointScenario_date :: Lens.Lens' WhatIfPointScenario Prelude.UTCTime+whatIfPointScenario_date = Lens.lens (\WhatIfPointScenario' {date} -> date) (\s@WhatIfPointScenario' {} a -> s {date = a} :: WhatIfPointScenario) Prelude.. Data._Time++-- | The target value that you want to meet for the provided date.+whatIfPointScenario_value :: Lens.Lens' WhatIfPointScenario Prelude.Double+whatIfPointScenario_value = Lens.lens (\WhatIfPointScenario' {value} -> value) (\s@WhatIfPointScenario' {} a -> s {value = a} :: WhatIfPointScenario)++instance Data.FromJSON WhatIfPointScenario where+  parseJSON =+    Data.withObject+      "WhatIfPointScenario"+      ( \x ->+          WhatIfPointScenario'+            Prelude.<$> (x Data..: "Date")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable WhatIfPointScenario where+  hashWithSalt _salt WhatIfPointScenario' {..} =+    _salt+      `Prelude.hashWithSalt` date+      `Prelude.hashWithSalt` value++instance Prelude.NFData WhatIfPointScenario where+  rnf WhatIfPointScenario' {..} =+    Prelude.rnf date `Prelude.seq` Prelude.rnf value++instance Data.ToJSON WhatIfPointScenario where+  toJSON WhatIfPointScenario' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Date" Data..= date),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/QuickSight/Types/WhatIfRangeScenario.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.QuickSight.Types.WhatIfRangeScenario+-- 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.QuickSight.Types.WhatIfRangeScenario 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 the forecast to meet the target for a particular date range.+--+-- /See:/ 'newWhatIfRangeScenario' smart constructor.+data WhatIfRangeScenario = WhatIfRangeScenario'+  { -- | The start date in the date range that you need the forecast results for.+    startDate :: Data.POSIX,+    -- | The end date in the date range that you need the forecast results for.+    endDate :: Data.POSIX,+    -- | The target value that you want to meet for the provided date range.+    value :: Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WhatIfRangeScenario' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'startDate', 'whatIfRangeScenario_startDate' - The start date in the date range that you need the forecast results for.+--+-- 'endDate', 'whatIfRangeScenario_endDate' - The end date in the date range that you need the forecast results for.+--+-- 'value', 'whatIfRangeScenario_value' - The target value that you want to meet for the provided date range.+newWhatIfRangeScenario ::+  -- | 'startDate'+  Prelude.UTCTime ->+  -- | 'endDate'+  Prelude.UTCTime ->+  -- | 'value'+  Prelude.Double ->+  WhatIfRangeScenario+newWhatIfRangeScenario pStartDate_ pEndDate_ pValue_ =+  WhatIfRangeScenario'+    { startDate =+        Data._Time Lens.# pStartDate_,+      endDate = Data._Time Lens.# pEndDate_,+      value = pValue_+    }++-- | The start date in the date range that you need the forecast results for.+whatIfRangeScenario_startDate :: Lens.Lens' WhatIfRangeScenario Prelude.UTCTime+whatIfRangeScenario_startDate = Lens.lens (\WhatIfRangeScenario' {startDate} -> startDate) (\s@WhatIfRangeScenario' {} a -> s {startDate = a} :: WhatIfRangeScenario) Prelude.. Data._Time++-- | The end date in the date range that you need the forecast results for.+whatIfRangeScenario_endDate :: Lens.Lens' WhatIfRangeScenario Prelude.UTCTime+whatIfRangeScenario_endDate = Lens.lens (\WhatIfRangeScenario' {endDate} -> endDate) (\s@WhatIfRangeScenario' {} a -> s {endDate = a} :: WhatIfRangeScenario) Prelude.. Data._Time++-- | The target value that you want to meet for the provided date range.+whatIfRangeScenario_value :: Lens.Lens' WhatIfRangeScenario Prelude.Double+whatIfRangeScenario_value = Lens.lens (\WhatIfRangeScenario' {value} -> value) (\s@WhatIfRangeScenario' {} a -> s {value = a} :: WhatIfRangeScenario)++instance Data.FromJSON WhatIfRangeScenario where+  parseJSON =+    Data.withObject+      "WhatIfRangeScenario"+      ( \x ->+          WhatIfRangeScenario'+            Prelude.<$> (x Data..: "StartDate")+            Prelude.<*> (x Data..: "EndDate")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable WhatIfRangeScenario where+  hashWithSalt _salt WhatIfRangeScenario' {..} =+    _salt+      `Prelude.hashWithSalt` startDate+      `Prelude.hashWithSalt` endDate+      `Prelude.hashWithSalt` value++instance Prelude.NFData WhatIfRangeScenario where+  rnf WhatIfRangeScenario' {..} =+    Prelude.rnf startDate+      `Prelude.seq` Prelude.rnf endDate+      `Prelude.seq` Prelude.rnf value++instance Data.ToJSON WhatIfRangeScenario where+  toJSON WhatIfRangeScenario' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("StartDate" Data..= startDate),+            Prelude.Just ("EndDate" Data..= endDate),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/QuickSight/Types/WidgetStatus.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.QuickSight.Types.WidgetStatus+-- 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.QuickSight.Types.WidgetStatus+  ( WidgetStatus+      ( ..,+        WidgetStatus_DISABLED,+        WidgetStatus_ENABLED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype WidgetStatus = WidgetStatus'+  { fromWidgetStatus ::+      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 WidgetStatus_DISABLED :: WidgetStatus+pattern WidgetStatus_DISABLED = WidgetStatus' "DISABLED"++pattern WidgetStatus_ENABLED :: WidgetStatus+pattern WidgetStatus_ENABLED = WidgetStatus' "ENABLED"++{-# COMPLETE+  WidgetStatus_DISABLED,+  WidgetStatus_ENABLED,+  WidgetStatus'+  #-}
+ gen/Amazonka/QuickSight/Types/WordCloudAggregatedFieldWells.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.QuickSight.Types.WordCloudAggregatedFieldWells+-- 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.QuickSight.Types.WordCloudAggregatedFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.DimensionField+import Amazonka.QuickSight.Types.MeasureField++-- | The aggregated field wells of a word cloud.+--+-- /See:/ 'newWordCloudAggregatedFieldWells' smart constructor.+data WordCloudAggregatedFieldWells = WordCloudAggregatedFieldWells'+  { -- | The group by field well of a word cloud. Values are grouped by group by+    -- fields.+    groupBy :: Prelude.Maybe [DimensionField],+    -- | The size field well of a word cloud. Values are aggregated based on+    -- group by fields.+    size :: Prelude.Maybe [MeasureField]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WordCloudAggregatedFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'groupBy', 'wordCloudAggregatedFieldWells_groupBy' - The group by field well of a word cloud. Values are grouped by group by+-- fields.+--+-- 'size', 'wordCloudAggregatedFieldWells_size' - The size field well of a word cloud. Values are aggregated based on+-- group by fields.+newWordCloudAggregatedFieldWells ::+  WordCloudAggregatedFieldWells+newWordCloudAggregatedFieldWells =+  WordCloudAggregatedFieldWells'+    { groupBy =+        Prelude.Nothing,+      size = Prelude.Nothing+    }++-- | The group by field well of a word cloud. Values are grouped by group by+-- fields.+wordCloudAggregatedFieldWells_groupBy :: Lens.Lens' WordCloudAggregatedFieldWells (Prelude.Maybe [DimensionField])+wordCloudAggregatedFieldWells_groupBy = Lens.lens (\WordCloudAggregatedFieldWells' {groupBy} -> groupBy) (\s@WordCloudAggregatedFieldWells' {} a -> s {groupBy = a} :: WordCloudAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++-- | The size field well of a word cloud. Values are aggregated based on+-- group by fields.+wordCloudAggregatedFieldWells_size :: Lens.Lens' WordCloudAggregatedFieldWells (Prelude.Maybe [MeasureField])+wordCloudAggregatedFieldWells_size = Lens.lens (\WordCloudAggregatedFieldWells' {size} -> size) (\s@WordCloudAggregatedFieldWells' {} a -> s {size = a} :: WordCloudAggregatedFieldWells) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON WordCloudAggregatedFieldWells where+  parseJSON =+    Data.withObject+      "WordCloudAggregatedFieldWells"+      ( \x ->+          WordCloudAggregatedFieldWells'+            Prelude.<$> (x Data..:? "GroupBy" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Size" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    WordCloudAggregatedFieldWells+  where+  hashWithSalt _salt WordCloudAggregatedFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` groupBy+      `Prelude.hashWithSalt` size++instance Prelude.NFData WordCloudAggregatedFieldWells where+  rnf WordCloudAggregatedFieldWells' {..} =+    Prelude.rnf groupBy `Prelude.seq` Prelude.rnf size++instance Data.ToJSON WordCloudAggregatedFieldWells where+  toJSON WordCloudAggregatedFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("GroupBy" Data..=) Prelude.<$> groupBy,+            ("Size" Data..=) Prelude.<$> size+          ]+      )
+ gen/Amazonka/QuickSight/Types/WordCloudChartConfiguration.hs view
@@ -0,0 +1,130 @@+{-# 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.QuickSight.Types.WordCloudChartConfiguration+-- 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.QuickSight.Types.WordCloudChartConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ChartAxisLabelOptions+import Amazonka.QuickSight.Types.WordCloudFieldWells+import Amazonka.QuickSight.Types.WordCloudOptions+import Amazonka.QuickSight.Types.WordCloudSortConfiguration++-- | The configuration of a word cloud visual.+--+-- /See:/ 'newWordCloudChartConfiguration' smart constructor.+data WordCloudChartConfiguration = WordCloudChartConfiguration'+  { -- | The label options (label text, label visibility, and sort icon+    -- visibility) for the word cloud category.+    categoryLabelOptions :: Prelude.Maybe ChartAxisLabelOptions,+    -- | The field wells of the visual.+    fieldWells :: Prelude.Maybe WordCloudFieldWells,+    -- | The sort configuration of a word cloud visual.+    sortConfiguration :: Prelude.Maybe WordCloudSortConfiguration,+    -- | The options for a word cloud visual.+    wordCloudOptions :: Prelude.Maybe WordCloudOptions+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WordCloudChartConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categoryLabelOptions', 'wordCloudChartConfiguration_categoryLabelOptions' - The label options (label text, label visibility, and sort icon+-- visibility) for the word cloud category.+--+-- 'fieldWells', 'wordCloudChartConfiguration_fieldWells' - The field wells of the visual.+--+-- 'sortConfiguration', 'wordCloudChartConfiguration_sortConfiguration' - The sort configuration of a word cloud visual.+--+-- 'wordCloudOptions', 'wordCloudChartConfiguration_wordCloudOptions' - The options for a word cloud visual.+newWordCloudChartConfiguration ::+  WordCloudChartConfiguration+newWordCloudChartConfiguration =+  WordCloudChartConfiguration'+    { categoryLabelOptions =+        Prelude.Nothing,+      fieldWells = Prelude.Nothing,+      sortConfiguration = Prelude.Nothing,+      wordCloudOptions = Prelude.Nothing+    }++-- | The label options (label text, label visibility, and sort icon+-- visibility) for the word cloud category.+wordCloudChartConfiguration_categoryLabelOptions :: Lens.Lens' WordCloudChartConfiguration (Prelude.Maybe ChartAxisLabelOptions)+wordCloudChartConfiguration_categoryLabelOptions = Lens.lens (\WordCloudChartConfiguration' {categoryLabelOptions} -> categoryLabelOptions) (\s@WordCloudChartConfiguration' {} a -> s {categoryLabelOptions = a} :: WordCloudChartConfiguration)++-- | The field wells of the visual.+wordCloudChartConfiguration_fieldWells :: Lens.Lens' WordCloudChartConfiguration (Prelude.Maybe WordCloudFieldWells)+wordCloudChartConfiguration_fieldWells = Lens.lens (\WordCloudChartConfiguration' {fieldWells} -> fieldWells) (\s@WordCloudChartConfiguration' {} a -> s {fieldWells = a} :: WordCloudChartConfiguration)++-- | The sort configuration of a word cloud visual.+wordCloudChartConfiguration_sortConfiguration :: Lens.Lens' WordCloudChartConfiguration (Prelude.Maybe WordCloudSortConfiguration)+wordCloudChartConfiguration_sortConfiguration = Lens.lens (\WordCloudChartConfiguration' {sortConfiguration} -> sortConfiguration) (\s@WordCloudChartConfiguration' {} a -> s {sortConfiguration = a} :: WordCloudChartConfiguration)++-- | The options for a word cloud visual.+wordCloudChartConfiguration_wordCloudOptions :: Lens.Lens' WordCloudChartConfiguration (Prelude.Maybe WordCloudOptions)+wordCloudChartConfiguration_wordCloudOptions = Lens.lens (\WordCloudChartConfiguration' {wordCloudOptions} -> wordCloudOptions) (\s@WordCloudChartConfiguration' {} a -> s {wordCloudOptions = a} :: WordCloudChartConfiguration)++instance Data.FromJSON WordCloudChartConfiguration where+  parseJSON =+    Data.withObject+      "WordCloudChartConfiguration"+      ( \x ->+          WordCloudChartConfiguration'+            Prelude.<$> (x Data..:? "CategoryLabelOptions")+            Prelude.<*> (x Data..:? "FieldWells")+            Prelude.<*> (x Data..:? "SortConfiguration")+            Prelude.<*> (x Data..:? "WordCloudOptions")+      )++instance Prelude.Hashable WordCloudChartConfiguration where+  hashWithSalt _salt WordCloudChartConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` categoryLabelOptions+      `Prelude.hashWithSalt` fieldWells+      `Prelude.hashWithSalt` sortConfiguration+      `Prelude.hashWithSalt` wordCloudOptions++instance Prelude.NFData WordCloudChartConfiguration where+  rnf WordCloudChartConfiguration' {..} =+    Prelude.rnf categoryLabelOptions+      `Prelude.seq` Prelude.rnf fieldWells+      `Prelude.seq` Prelude.rnf sortConfiguration+      `Prelude.seq` Prelude.rnf wordCloudOptions++instance Data.ToJSON WordCloudChartConfiguration where+  toJSON WordCloudChartConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoryLabelOptions" Data..=)+              Prelude.<$> categoryLabelOptions,+            ("FieldWells" Data..=) Prelude.<$> fieldWells,+            ("SortConfiguration" Data..=)+              Prelude.<$> sortConfiguration,+            ("WordCloudOptions" Data..=)+              Prelude.<$> wordCloudOptions+          ]+      )
+ gen/Amazonka/QuickSight/Types/WordCloudCloudLayout.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.QuickSight.Types.WordCloudCloudLayout+-- 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.QuickSight.Types.WordCloudCloudLayout+  ( WordCloudCloudLayout+      ( ..,+        WordCloudCloudLayout_FLUID,+        WordCloudCloudLayout_NORMAL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype WordCloudCloudLayout = WordCloudCloudLayout'+  { fromWordCloudCloudLayout ::+      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 WordCloudCloudLayout_FLUID :: WordCloudCloudLayout+pattern WordCloudCloudLayout_FLUID = WordCloudCloudLayout' "FLUID"++pattern WordCloudCloudLayout_NORMAL :: WordCloudCloudLayout+pattern WordCloudCloudLayout_NORMAL = WordCloudCloudLayout' "NORMAL"++{-# COMPLETE+  WordCloudCloudLayout_FLUID,+  WordCloudCloudLayout_NORMAL,+  WordCloudCloudLayout'+  #-}
+ gen/Amazonka/QuickSight/Types/WordCloudFieldWells.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.QuickSight.Types.WordCloudFieldWells+-- 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.QuickSight.Types.WordCloudFieldWells where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.WordCloudAggregatedFieldWells++-- | The field wells of a word cloud visual.+--+-- This is a union type structure. For this structure to be valid, only one+-- of the attributes can be defined.+--+-- /See:/ 'newWordCloudFieldWells' smart constructor.+data WordCloudFieldWells = WordCloudFieldWells'+  { -- | The aggregated field wells of a word cloud.+    wordCloudAggregatedFieldWells :: Prelude.Maybe WordCloudAggregatedFieldWells+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WordCloudFieldWells' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'wordCloudAggregatedFieldWells', 'wordCloudFieldWells_wordCloudAggregatedFieldWells' - The aggregated field wells of a word cloud.+newWordCloudFieldWells ::+  WordCloudFieldWells+newWordCloudFieldWells =+  WordCloudFieldWells'+    { wordCloudAggregatedFieldWells =+        Prelude.Nothing+    }++-- | The aggregated field wells of a word cloud.+wordCloudFieldWells_wordCloudAggregatedFieldWells :: Lens.Lens' WordCloudFieldWells (Prelude.Maybe WordCloudAggregatedFieldWells)+wordCloudFieldWells_wordCloudAggregatedFieldWells = Lens.lens (\WordCloudFieldWells' {wordCloudAggregatedFieldWells} -> wordCloudAggregatedFieldWells) (\s@WordCloudFieldWells' {} a -> s {wordCloudAggregatedFieldWells = a} :: WordCloudFieldWells)++instance Data.FromJSON WordCloudFieldWells where+  parseJSON =+    Data.withObject+      "WordCloudFieldWells"+      ( \x ->+          WordCloudFieldWells'+            Prelude.<$> (x Data..:? "WordCloudAggregatedFieldWells")+      )++instance Prelude.Hashable WordCloudFieldWells where+  hashWithSalt _salt WordCloudFieldWells' {..} =+    _salt+      `Prelude.hashWithSalt` wordCloudAggregatedFieldWells++instance Prelude.NFData WordCloudFieldWells where+  rnf WordCloudFieldWells' {..} =+    Prelude.rnf wordCloudAggregatedFieldWells++instance Data.ToJSON WordCloudFieldWells where+  toJSON WordCloudFieldWells' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("WordCloudAggregatedFieldWells" Data..=)+              Prelude.<$> wordCloudAggregatedFieldWells+          ]+      )
+ gen/Amazonka/QuickSight/Types/WordCloudOptions.hs view
@@ -0,0 +1,164 @@+{-# 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.QuickSight.Types.WordCloudOptions+-- 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.QuickSight.Types.WordCloudOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.WordCloudCloudLayout+import Amazonka.QuickSight.Types.WordCloudWordCasing+import Amazonka.QuickSight.Types.WordCloudWordOrientation+import Amazonka.QuickSight.Types.WordCloudWordPadding+import Amazonka.QuickSight.Types.WordCloudWordScaling++-- | The word cloud options for a word cloud visual.+--+-- /See:/ 'newWordCloudOptions' smart constructor.+data WordCloudOptions = WordCloudOptions'+  { -- | The cloud layout options (fluid, normal) of a word cloud.+    cloudLayout :: Prelude.Maybe WordCloudCloudLayout,+    -- | The length limit of each word from 1-100.+    maximumStringLength :: Prelude.Maybe Prelude.Natural,+    -- | The word casing options (lower_case, existing_case) for the words in a+    -- word cloud.+    wordCasing :: Prelude.Maybe WordCloudWordCasing,+    -- | The word orientation options (horizontal, horizontal_and_vertical) for+    -- the words in a word cloud.+    wordOrientation :: Prelude.Maybe WordCloudWordOrientation,+    -- | The word padding options (none, small, medium, large) for the words in a+    -- word cloud.+    wordPadding :: Prelude.Maybe WordCloudWordPadding,+    -- | The word scaling options (emphasize, normal) for the words in a word+    -- cloud.+    wordScaling :: Prelude.Maybe WordCloudWordScaling+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WordCloudOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cloudLayout', 'wordCloudOptions_cloudLayout' - The cloud layout options (fluid, normal) of a word cloud.+--+-- 'maximumStringLength', 'wordCloudOptions_maximumStringLength' - The length limit of each word from 1-100.+--+-- 'wordCasing', 'wordCloudOptions_wordCasing' - The word casing options (lower_case, existing_case) for the words in a+-- word cloud.+--+-- 'wordOrientation', 'wordCloudOptions_wordOrientation' - The word orientation options (horizontal, horizontal_and_vertical) for+-- the words in a word cloud.+--+-- 'wordPadding', 'wordCloudOptions_wordPadding' - The word padding options (none, small, medium, large) for the words in a+-- word cloud.+--+-- 'wordScaling', 'wordCloudOptions_wordScaling' - The word scaling options (emphasize, normal) for the words in a word+-- cloud.+newWordCloudOptions ::+  WordCloudOptions+newWordCloudOptions =+  WordCloudOptions'+    { cloudLayout = Prelude.Nothing,+      maximumStringLength = Prelude.Nothing,+      wordCasing = Prelude.Nothing,+      wordOrientation = Prelude.Nothing,+      wordPadding = Prelude.Nothing,+      wordScaling = Prelude.Nothing+    }++-- | The cloud layout options (fluid, normal) of a word cloud.+wordCloudOptions_cloudLayout :: Lens.Lens' WordCloudOptions (Prelude.Maybe WordCloudCloudLayout)+wordCloudOptions_cloudLayout = Lens.lens (\WordCloudOptions' {cloudLayout} -> cloudLayout) (\s@WordCloudOptions' {} a -> s {cloudLayout = a} :: WordCloudOptions)++-- | The length limit of each word from 1-100.+wordCloudOptions_maximumStringLength :: Lens.Lens' WordCloudOptions (Prelude.Maybe Prelude.Natural)+wordCloudOptions_maximumStringLength = Lens.lens (\WordCloudOptions' {maximumStringLength} -> maximumStringLength) (\s@WordCloudOptions' {} a -> s {maximumStringLength = a} :: WordCloudOptions)++-- | The word casing options (lower_case, existing_case) for the words in a+-- word cloud.+wordCloudOptions_wordCasing :: Lens.Lens' WordCloudOptions (Prelude.Maybe WordCloudWordCasing)+wordCloudOptions_wordCasing = Lens.lens (\WordCloudOptions' {wordCasing} -> wordCasing) (\s@WordCloudOptions' {} a -> s {wordCasing = a} :: WordCloudOptions)++-- | The word orientation options (horizontal, horizontal_and_vertical) for+-- the words in a word cloud.+wordCloudOptions_wordOrientation :: Lens.Lens' WordCloudOptions (Prelude.Maybe WordCloudWordOrientation)+wordCloudOptions_wordOrientation = Lens.lens (\WordCloudOptions' {wordOrientation} -> wordOrientation) (\s@WordCloudOptions' {} a -> s {wordOrientation = a} :: WordCloudOptions)++-- | The word padding options (none, small, medium, large) for the words in a+-- word cloud.+wordCloudOptions_wordPadding :: Lens.Lens' WordCloudOptions (Prelude.Maybe WordCloudWordPadding)+wordCloudOptions_wordPadding = Lens.lens (\WordCloudOptions' {wordPadding} -> wordPadding) (\s@WordCloudOptions' {} a -> s {wordPadding = a} :: WordCloudOptions)++-- | The word scaling options (emphasize, normal) for the words in a word+-- cloud.+wordCloudOptions_wordScaling :: Lens.Lens' WordCloudOptions (Prelude.Maybe WordCloudWordScaling)+wordCloudOptions_wordScaling = Lens.lens (\WordCloudOptions' {wordScaling} -> wordScaling) (\s@WordCloudOptions' {} a -> s {wordScaling = a} :: WordCloudOptions)++instance Data.FromJSON WordCloudOptions where+  parseJSON =+    Data.withObject+      "WordCloudOptions"+      ( \x ->+          WordCloudOptions'+            Prelude.<$> (x Data..:? "CloudLayout")+            Prelude.<*> (x Data..:? "MaximumStringLength")+            Prelude.<*> (x Data..:? "WordCasing")+            Prelude.<*> (x Data..:? "WordOrientation")+            Prelude.<*> (x Data..:? "WordPadding")+            Prelude.<*> (x Data..:? "WordScaling")+      )++instance Prelude.Hashable WordCloudOptions where+  hashWithSalt _salt WordCloudOptions' {..} =+    _salt+      `Prelude.hashWithSalt` cloudLayout+      `Prelude.hashWithSalt` maximumStringLength+      `Prelude.hashWithSalt` wordCasing+      `Prelude.hashWithSalt` wordOrientation+      `Prelude.hashWithSalt` wordPadding+      `Prelude.hashWithSalt` wordScaling++instance Prelude.NFData WordCloudOptions where+  rnf WordCloudOptions' {..} =+    Prelude.rnf cloudLayout+      `Prelude.seq` Prelude.rnf maximumStringLength+      `Prelude.seq` Prelude.rnf wordCasing+      `Prelude.seq` Prelude.rnf wordOrientation+      `Prelude.seq` Prelude.rnf wordPadding+      `Prelude.seq` Prelude.rnf wordScaling++instance Data.ToJSON WordCloudOptions where+  toJSON WordCloudOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CloudLayout" Data..=) Prelude.<$> cloudLayout,+            ("MaximumStringLength" Data..=)+              Prelude.<$> maximumStringLength,+            ("WordCasing" Data..=) Prelude.<$> wordCasing,+            ("WordOrientation" Data..=)+              Prelude.<$> wordOrientation,+            ("WordPadding" Data..=) Prelude.<$> wordPadding,+            ("WordScaling" Data..=) Prelude.<$> wordScaling+          ]+      )
+ gen/Amazonka/QuickSight/Types/WordCloudSortConfiguration.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.WordCloudSortConfiguration+-- 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.QuickSight.Types.WordCloudSortConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.FieldSortOptions+import Amazonka.QuickSight.Types.ItemsLimitConfiguration++-- | The sort configuration of a word cloud visual.+--+-- /See:/ 'newWordCloudSortConfiguration' smart constructor.+data WordCloudSortConfiguration = WordCloudSortConfiguration'+  { -- | The limit on the number of groups that are displayed in a word cloud.+    categoryItemsLimit :: Prelude.Maybe ItemsLimitConfiguration,+    -- | The sort configuration of group by fields.+    categorySort :: Prelude.Maybe [FieldSortOptions]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WordCloudSortConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'categoryItemsLimit', 'wordCloudSortConfiguration_categoryItemsLimit' - The limit on the number of groups that are displayed in a word cloud.+--+-- 'categorySort', 'wordCloudSortConfiguration_categorySort' - The sort configuration of group by fields.+newWordCloudSortConfiguration ::+  WordCloudSortConfiguration+newWordCloudSortConfiguration =+  WordCloudSortConfiguration'+    { categoryItemsLimit =+        Prelude.Nothing,+      categorySort = Prelude.Nothing+    }++-- | The limit on the number of groups that are displayed in a word cloud.+wordCloudSortConfiguration_categoryItemsLimit :: Lens.Lens' WordCloudSortConfiguration (Prelude.Maybe ItemsLimitConfiguration)+wordCloudSortConfiguration_categoryItemsLimit = Lens.lens (\WordCloudSortConfiguration' {categoryItemsLimit} -> categoryItemsLimit) (\s@WordCloudSortConfiguration' {} a -> s {categoryItemsLimit = a} :: WordCloudSortConfiguration)++-- | The sort configuration of group by fields.+wordCloudSortConfiguration_categorySort :: Lens.Lens' WordCloudSortConfiguration (Prelude.Maybe [FieldSortOptions])+wordCloudSortConfiguration_categorySort = Lens.lens (\WordCloudSortConfiguration' {categorySort} -> categorySort) (\s@WordCloudSortConfiguration' {} a -> s {categorySort = a} :: WordCloudSortConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON WordCloudSortConfiguration where+  parseJSON =+    Data.withObject+      "WordCloudSortConfiguration"+      ( \x ->+          WordCloudSortConfiguration'+            Prelude.<$> (x Data..:? "CategoryItemsLimit")+            Prelude.<*> (x Data..:? "CategorySort" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable WordCloudSortConfiguration where+  hashWithSalt _salt WordCloudSortConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` categoryItemsLimit+      `Prelude.hashWithSalt` categorySort++instance Prelude.NFData WordCloudSortConfiguration where+  rnf WordCloudSortConfiguration' {..} =+    Prelude.rnf categoryItemsLimit+      `Prelude.seq` Prelude.rnf categorySort++instance Data.ToJSON WordCloudSortConfiguration where+  toJSON WordCloudSortConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoryItemsLimit" Data..=)+              Prelude.<$> categoryItemsLimit,+            ("CategorySort" Data..=) Prelude.<$> categorySort+          ]+      )
+ gen/Amazonka/QuickSight/Types/WordCloudVisual.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.QuickSight.Types.WordCloudVisual+-- 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.QuickSight.Types.WordCloudVisual where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types.ColumnHierarchy+import Amazonka.QuickSight.Types.VisualCustomAction+import Amazonka.QuickSight.Types.VisualSubtitleLabelOptions+import Amazonka.QuickSight.Types.VisualTitleLabelOptions+import Amazonka.QuickSight.Types.WordCloudChartConfiguration++-- | A word cloud.+--+-- For more information, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/word-cloud.html Using word clouds>+-- in the /Amazon QuickSight User Guide/.+--+-- /See:/ 'newWordCloudVisual' smart constructor.+data WordCloudVisual = WordCloudVisual'+  { -- | The list of custom actions that are configured for a visual.+    actions :: Prelude.Maybe [VisualCustomAction],+    -- | The configuration settings of the visual.+    chartConfiguration :: Prelude.Maybe WordCloudChartConfiguration,+    -- | The column hierarchy that is used during drill-downs and drill-ups.+    columnHierarchies :: Prelude.Maybe [ColumnHierarchy],+    -- | The subtitle that is displayed on the visual.+    subtitle :: Prelude.Maybe VisualSubtitleLabelOptions,+    -- | The title that is displayed on the visual.+    title :: Prelude.Maybe VisualTitleLabelOptions,+    -- | The unique identifier of a visual. This identifier must be unique within+    -- the context of a dashboard, template, or analysis. Two dashboards,+    -- analyses, or templates can have visuals with the same identifiers..+    visualId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WordCloudVisual' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'wordCloudVisual_actions' - The list of custom actions that are configured for a visual.+--+-- 'chartConfiguration', 'wordCloudVisual_chartConfiguration' - The configuration settings of the visual.+--+-- 'columnHierarchies', 'wordCloudVisual_columnHierarchies' - The column hierarchy that is used during drill-downs and drill-ups.+--+-- 'subtitle', 'wordCloudVisual_subtitle' - The subtitle that is displayed on the visual.+--+-- 'title', 'wordCloudVisual_title' - The title that is displayed on the visual.+--+-- 'visualId', 'wordCloudVisual_visualId' - The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers..+newWordCloudVisual ::+  -- | 'visualId'+  Prelude.Text ->+  WordCloudVisual+newWordCloudVisual pVisualId_ =+  WordCloudVisual'+    { actions = Prelude.Nothing,+      chartConfiguration = Prelude.Nothing,+      columnHierarchies = Prelude.Nothing,+      subtitle = Prelude.Nothing,+      title = Prelude.Nothing,+      visualId = pVisualId_+    }++-- | The list of custom actions that are configured for a visual.+wordCloudVisual_actions :: Lens.Lens' WordCloudVisual (Prelude.Maybe [VisualCustomAction])+wordCloudVisual_actions = Lens.lens (\WordCloudVisual' {actions} -> actions) (\s@WordCloudVisual' {} a -> s {actions = a} :: WordCloudVisual) Prelude.. Lens.mapping Lens.coerced++-- | The configuration settings of the visual.+wordCloudVisual_chartConfiguration :: Lens.Lens' WordCloudVisual (Prelude.Maybe WordCloudChartConfiguration)+wordCloudVisual_chartConfiguration = Lens.lens (\WordCloudVisual' {chartConfiguration} -> chartConfiguration) (\s@WordCloudVisual' {} a -> s {chartConfiguration = a} :: WordCloudVisual)++-- | The column hierarchy that is used during drill-downs and drill-ups.+wordCloudVisual_columnHierarchies :: Lens.Lens' WordCloudVisual (Prelude.Maybe [ColumnHierarchy])+wordCloudVisual_columnHierarchies = Lens.lens (\WordCloudVisual' {columnHierarchies} -> columnHierarchies) (\s@WordCloudVisual' {} a -> s {columnHierarchies = a} :: WordCloudVisual) Prelude.. Lens.mapping Lens.coerced++-- | The subtitle that is displayed on the visual.+wordCloudVisual_subtitle :: Lens.Lens' WordCloudVisual (Prelude.Maybe VisualSubtitleLabelOptions)+wordCloudVisual_subtitle = Lens.lens (\WordCloudVisual' {subtitle} -> subtitle) (\s@WordCloudVisual' {} a -> s {subtitle = a} :: WordCloudVisual)++-- | The title that is displayed on the visual.+wordCloudVisual_title :: Lens.Lens' WordCloudVisual (Prelude.Maybe VisualTitleLabelOptions)+wordCloudVisual_title = Lens.lens (\WordCloudVisual' {title} -> title) (\s@WordCloudVisual' {} a -> s {title = a} :: WordCloudVisual)++-- | The unique identifier of a visual. This identifier must be unique within+-- the context of a dashboard, template, or analysis. Two dashboards,+-- analyses, or templates can have visuals with the same identifiers..+wordCloudVisual_visualId :: Lens.Lens' WordCloudVisual Prelude.Text+wordCloudVisual_visualId = Lens.lens (\WordCloudVisual' {visualId} -> visualId) (\s@WordCloudVisual' {} a -> s {visualId = a} :: WordCloudVisual)++instance Data.FromJSON WordCloudVisual where+  parseJSON =+    Data.withObject+      "WordCloudVisual"+      ( \x ->+          WordCloudVisual'+            Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChartConfiguration")+            Prelude.<*> ( x+                            Data..:? "ColumnHierarchies"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Subtitle")+            Prelude.<*> (x Data..:? "Title")+            Prelude.<*> (x Data..: "VisualId")+      )++instance Prelude.Hashable WordCloudVisual where+  hashWithSalt _salt WordCloudVisual' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chartConfiguration+      `Prelude.hashWithSalt` columnHierarchies+      `Prelude.hashWithSalt` subtitle+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` visualId++instance Prelude.NFData WordCloudVisual where+  rnf WordCloudVisual' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chartConfiguration+      `Prelude.seq` Prelude.rnf columnHierarchies+      `Prelude.seq` Prelude.rnf subtitle+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf visualId++instance Data.ToJSON WordCloudVisual where+  toJSON WordCloudVisual' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Actions" Data..=) Prelude.<$> actions,+            ("ChartConfiguration" Data..=)+              Prelude.<$> chartConfiguration,+            ("ColumnHierarchies" Data..=)+              Prelude.<$> columnHierarchies,+            ("Subtitle" Data..=) Prelude.<$> subtitle,+            ("Title" Data..=) Prelude.<$> title,+            Prelude.Just ("VisualId" Data..= visualId)+          ]+      )
+ gen/Amazonka/QuickSight/Types/WordCloudWordCasing.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.QuickSight.Types.WordCloudWordCasing+-- 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.QuickSight.Types.WordCloudWordCasing+  ( WordCloudWordCasing+      ( ..,+        WordCloudWordCasing_EXISTING_CASE,+        WordCloudWordCasing_LOWER_CASE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype WordCloudWordCasing = WordCloudWordCasing'+  { fromWordCloudWordCasing ::+      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 WordCloudWordCasing_EXISTING_CASE :: WordCloudWordCasing+pattern WordCloudWordCasing_EXISTING_CASE = WordCloudWordCasing' "EXISTING_CASE"++pattern WordCloudWordCasing_LOWER_CASE :: WordCloudWordCasing+pattern WordCloudWordCasing_LOWER_CASE = WordCloudWordCasing' "LOWER_CASE"++{-# COMPLETE+  WordCloudWordCasing_EXISTING_CASE,+  WordCloudWordCasing_LOWER_CASE,+  WordCloudWordCasing'+  #-}
+ gen/Amazonka/QuickSight/Types/WordCloudWordOrientation.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.QuickSight.Types.WordCloudWordOrientation+-- 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.QuickSight.Types.WordCloudWordOrientation+  ( WordCloudWordOrientation+      ( ..,+        WordCloudWordOrientation_HORIZONTAL,+        WordCloudWordOrientation_HORIZONTAL_AND_VERTICAL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype WordCloudWordOrientation = WordCloudWordOrientation'+  { fromWordCloudWordOrientation ::+      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 WordCloudWordOrientation_HORIZONTAL :: WordCloudWordOrientation+pattern WordCloudWordOrientation_HORIZONTAL = WordCloudWordOrientation' "HORIZONTAL"++pattern WordCloudWordOrientation_HORIZONTAL_AND_VERTICAL :: WordCloudWordOrientation+pattern WordCloudWordOrientation_HORIZONTAL_AND_VERTICAL = WordCloudWordOrientation' "HORIZONTAL_AND_VERTICAL"++{-# COMPLETE+  WordCloudWordOrientation_HORIZONTAL,+  WordCloudWordOrientation_HORIZONTAL_AND_VERTICAL,+  WordCloudWordOrientation'+  #-}
+ gen/Amazonka/QuickSight/Types/WordCloudWordPadding.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.Types.WordCloudWordPadding+-- 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.QuickSight.Types.WordCloudWordPadding+  ( WordCloudWordPadding+      ( ..,+        WordCloudWordPadding_LARGE,+        WordCloudWordPadding_MEDIUM,+        WordCloudWordPadding_NONE,+        WordCloudWordPadding_SMALL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype WordCloudWordPadding = WordCloudWordPadding'+  { fromWordCloudWordPadding ::+      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 WordCloudWordPadding_LARGE :: WordCloudWordPadding+pattern WordCloudWordPadding_LARGE = WordCloudWordPadding' "LARGE"++pattern WordCloudWordPadding_MEDIUM :: WordCloudWordPadding+pattern WordCloudWordPadding_MEDIUM = WordCloudWordPadding' "MEDIUM"++pattern WordCloudWordPadding_NONE :: WordCloudWordPadding+pattern WordCloudWordPadding_NONE = WordCloudWordPadding' "NONE"++pattern WordCloudWordPadding_SMALL :: WordCloudWordPadding+pattern WordCloudWordPadding_SMALL = WordCloudWordPadding' "SMALL"++{-# COMPLETE+  WordCloudWordPadding_LARGE,+  WordCloudWordPadding_MEDIUM,+  WordCloudWordPadding_NONE,+  WordCloudWordPadding_SMALL,+  WordCloudWordPadding'+  #-}
+ gen/Amazonka/QuickSight/Types/WordCloudWordScaling.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.QuickSight.Types.WordCloudWordScaling+-- 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.QuickSight.Types.WordCloudWordScaling+  ( WordCloudWordScaling+      ( ..,+        WordCloudWordScaling_EMPHASIZE,+        WordCloudWordScaling_NORMAL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype WordCloudWordScaling = WordCloudWordScaling'+  { fromWordCloudWordScaling ::+      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 WordCloudWordScaling_EMPHASIZE :: WordCloudWordScaling+pattern WordCloudWordScaling_EMPHASIZE = WordCloudWordScaling' "EMPHASIZE"++pattern WordCloudWordScaling_NORMAL :: WordCloudWordScaling+pattern WordCloudWordScaling_NORMAL = WordCloudWordScaling' "NORMAL"++{-# COMPLETE+  WordCloudWordScaling_EMPHASIZE,+  WordCloudWordScaling_NORMAL,+  WordCloudWordScaling'+  #-}
+ gen/Amazonka/QuickSight/UntagResource.hs view
@@ -0,0 +1,181 @@+{-# 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.QuickSight.UntagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes a tag or tags from a resource.+module Amazonka.QuickSight.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceArn,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,++    -- * Response Lenses+    untagResourceResponse_requestId,+    untagResourceResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The Amazon Resource Name (ARN) of the resource that you want to untag.+    resourceArn :: Prelude.Text,+    -- | The keys of the key-value pairs for the resource tag or tags assigned to+    -- the resource.+    tagKeys :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource that you want to untag.+--+-- 'tagKeys', 'untagResource_tagKeys' - The keys of the key-value pairs for the resource tag or tags assigned to+-- the resource.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  -- | 'tagKeys'+  Prelude.NonEmpty Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ pTagKeys_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Lens.coerced Lens.# pTagKeys_+    }++-- | The Amazon Resource Name (ARN) of the resource that you want to untag.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The keys of the key-value pairs for the resource tag or tags assigned to+-- the resource.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath UntagResource where+  toPath UntagResource' {..} =+    Prelude.mconcat+      ["/resources/", Data.toBS resourceArn, "/tags"]++instance Data.ToQuery UntagResource where+  toQuery UntagResource' {..} =+    Prelude.mconcat+      ["keys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'untagResourceResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'untagResourceResponse_status' - The HTTP status of the request.+newUntagResourceResponse ::+  -- | 'status'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pStatus_ =+  UntagResourceResponse'+    { requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+untagResourceResponse_requestId :: Lens.Lens' UntagResourceResponse (Prelude.Maybe Prelude.Text)+untagResourceResponse_requestId = Lens.lens (\UntagResourceResponse' {requestId} -> requestId) (\s@UntagResourceResponse' {} a -> s {requestId = a} :: UntagResourceResponse)++-- | The HTTP status of the request.+untagResourceResponse_status :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_status = Lens.lens (\UntagResourceResponse' {status} -> status) (\s@UntagResourceResponse' {} a -> s {status = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateAccountCustomization.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.QuickSight.UpdateAccountCustomization+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates Amazon QuickSight customizations for the current Amazon Web+-- Services Region. Currently, the only customization that you can use is a+-- theme.+--+-- You can use customizations for your Amazon Web Services account or, if+-- you specify a namespace, for a Amazon QuickSight namespace instead.+-- Customizations that apply to a namespace override customizations that+-- apply to an Amazon Web Services account. To find out which+-- customizations apply, use the @DescribeAccountCustomization@ API+-- operation.+module Amazonka.QuickSight.UpdateAccountCustomization+  ( -- * Creating a Request+    UpdateAccountCustomization (..),+    newUpdateAccountCustomization,++    -- * Request Lenses+    updateAccountCustomization_namespace,+    updateAccountCustomization_awsAccountId,+    updateAccountCustomization_accountCustomization,++    -- * Destructuring the Response+    UpdateAccountCustomizationResponse (..),+    newUpdateAccountCustomizationResponse,++    -- * Response Lenses+    updateAccountCustomizationResponse_accountCustomization,+    updateAccountCustomizationResponse_arn,+    updateAccountCustomizationResponse_awsAccountId,+    updateAccountCustomizationResponse_namespace,+    updateAccountCustomizationResponse_requestId,+    updateAccountCustomizationResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateAccountCustomization' smart constructor.+data UpdateAccountCustomization = UpdateAccountCustomization'+  { -- | The namespace that you want to update Amazon QuickSight customizations+    -- for.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The ID for the Amazon Web Services account that you want to update+    -- Amazon QuickSight customizations for.+    awsAccountId :: Prelude.Text,+    -- | The Amazon QuickSight customizations you\'re updating in the current+    -- Amazon Web Services Region.+    accountCustomization :: AccountCustomization+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAccountCustomization' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'namespace', 'updateAccountCustomization_namespace' - The namespace that you want to update Amazon QuickSight customizations+-- for.+--+-- 'awsAccountId', 'updateAccountCustomization_awsAccountId' - The ID for the Amazon Web Services account that you want to update+-- Amazon QuickSight customizations for.+--+-- 'accountCustomization', 'updateAccountCustomization_accountCustomization' - The Amazon QuickSight customizations you\'re updating in the current+-- Amazon Web Services Region.+newUpdateAccountCustomization ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'accountCustomization'+  AccountCustomization ->+  UpdateAccountCustomization+newUpdateAccountCustomization+  pAwsAccountId_+  pAccountCustomization_ =+    UpdateAccountCustomization'+      { namespace =+          Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        accountCustomization = pAccountCustomization_+      }++-- | The namespace that you want to update Amazon QuickSight customizations+-- for.+updateAccountCustomization_namespace :: Lens.Lens' UpdateAccountCustomization (Prelude.Maybe Prelude.Text)+updateAccountCustomization_namespace = Lens.lens (\UpdateAccountCustomization' {namespace} -> namespace) (\s@UpdateAccountCustomization' {} a -> s {namespace = a} :: UpdateAccountCustomization)++-- | The ID for the Amazon Web Services account that you want to update+-- Amazon QuickSight customizations for.+updateAccountCustomization_awsAccountId :: Lens.Lens' UpdateAccountCustomization Prelude.Text+updateAccountCustomization_awsAccountId = Lens.lens (\UpdateAccountCustomization' {awsAccountId} -> awsAccountId) (\s@UpdateAccountCustomization' {} a -> s {awsAccountId = a} :: UpdateAccountCustomization)++-- | The Amazon QuickSight customizations you\'re updating in the current+-- Amazon Web Services Region.+updateAccountCustomization_accountCustomization :: Lens.Lens' UpdateAccountCustomization AccountCustomization+updateAccountCustomization_accountCustomization = Lens.lens (\UpdateAccountCustomization' {accountCustomization} -> accountCustomization) (\s@UpdateAccountCustomization' {} a -> s {accountCustomization = a} :: UpdateAccountCustomization)++instance Core.AWSRequest UpdateAccountCustomization where+  type+    AWSResponse UpdateAccountCustomization =+      UpdateAccountCustomizationResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateAccountCustomizationResponse'+            Prelude.<$> (x Data..?> "AccountCustomization")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "AwsAccountId")+            Prelude.<*> (x Data..?> "Namespace")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateAccountCustomization where+  hashWithSalt _salt UpdateAccountCustomization' {..} =+    _salt+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` accountCustomization++instance Prelude.NFData UpdateAccountCustomization where+  rnf UpdateAccountCustomization' {..} =+    Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf accountCustomization++instance Data.ToHeaders UpdateAccountCustomization where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateAccountCustomization where+  toJSON UpdateAccountCustomization' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "AccountCustomization"+                  Data..= accountCustomization+              )+          ]+      )++instance Data.ToPath UpdateAccountCustomization where+  toPath UpdateAccountCustomization' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/customizations"+      ]++instance Data.ToQuery UpdateAccountCustomization where+  toQuery UpdateAccountCustomization' {..} =+    Prelude.mconcat ["namespace" Data.=: namespace]++-- | /See:/ 'newUpdateAccountCustomizationResponse' smart constructor.+data UpdateAccountCustomizationResponse = UpdateAccountCustomizationResponse'+  { -- | The Amazon QuickSight customizations you\'re updating in the current+    -- Amazon Web Services Region.+    accountCustomization :: Prelude.Maybe AccountCustomization,+    -- | The Amazon Resource Name (ARN) for the updated customization for this+    -- Amazon Web Services account.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID for the Amazon Web Services account that you want to update+    -- Amazon QuickSight customizations for.+    awsAccountId :: Prelude.Maybe Prelude.Text,+    -- | The namespace associated with the customization that you\'re updating.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAccountCustomizationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountCustomization', 'updateAccountCustomizationResponse_accountCustomization' - The Amazon QuickSight customizations you\'re updating in the current+-- Amazon Web Services Region.+--+-- 'arn', 'updateAccountCustomizationResponse_arn' - The Amazon Resource Name (ARN) for the updated customization for this+-- Amazon Web Services account.+--+-- 'awsAccountId', 'updateAccountCustomizationResponse_awsAccountId' - The ID for the Amazon Web Services account that you want to update+-- Amazon QuickSight customizations for.+--+-- 'namespace', 'updateAccountCustomizationResponse_namespace' - The namespace associated with the customization that you\'re updating.+--+-- 'requestId', 'updateAccountCustomizationResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'updateAccountCustomizationResponse_status' - The HTTP status of the request.+newUpdateAccountCustomizationResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateAccountCustomizationResponse+newUpdateAccountCustomizationResponse pStatus_ =+  UpdateAccountCustomizationResponse'+    { accountCustomization =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      awsAccountId = Prelude.Nothing,+      namespace = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon QuickSight customizations you\'re updating in the current+-- Amazon Web Services Region.+updateAccountCustomizationResponse_accountCustomization :: Lens.Lens' UpdateAccountCustomizationResponse (Prelude.Maybe AccountCustomization)+updateAccountCustomizationResponse_accountCustomization = Lens.lens (\UpdateAccountCustomizationResponse' {accountCustomization} -> accountCustomization) (\s@UpdateAccountCustomizationResponse' {} a -> s {accountCustomization = a} :: UpdateAccountCustomizationResponse)++-- | The Amazon Resource Name (ARN) for the updated customization for this+-- Amazon Web Services account.+updateAccountCustomizationResponse_arn :: Lens.Lens' UpdateAccountCustomizationResponse (Prelude.Maybe Prelude.Text)+updateAccountCustomizationResponse_arn = Lens.lens (\UpdateAccountCustomizationResponse' {arn} -> arn) (\s@UpdateAccountCustomizationResponse' {} a -> s {arn = a} :: UpdateAccountCustomizationResponse)++-- | The ID for the Amazon Web Services account that you want to update+-- Amazon QuickSight customizations for.+updateAccountCustomizationResponse_awsAccountId :: Lens.Lens' UpdateAccountCustomizationResponse (Prelude.Maybe Prelude.Text)+updateAccountCustomizationResponse_awsAccountId = Lens.lens (\UpdateAccountCustomizationResponse' {awsAccountId} -> awsAccountId) (\s@UpdateAccountCustomizationResponse' {} a -> s {awsAccountId = a} :: UpdateAccountCustomizationResponse)++-- | The namespace associated with the customization that you\'re updating.+updateAccountCustomizationResponse_namespace :: Lens.Lens' UpdateAccountCustomizationResponse (Prelude.Maybe Prelude.Text)+updateAccountCustomizationResponse_namespace = Lens.lens (\UpdateAccountCustomizationResponse' {namespace} -> namespace) (\s@UpdateAccountCustomizationResponse' {} a -> s {namespace = a} :: UpdateAccountCustomizationResponse)++-- | The Amazon Web Services request ID for this operation.+updateAccountCustomizationResponse_requestId :: Lens.Lens' UpdateAccountCustomizationResponse (Prelude.Maybe Prelude.Text)+updateAccountCustomizationResponse_requestId = Lens.lens (\UpdateAccountCustomizationResponse' {requestId} -> requestId) (\s@UpdateAccountCustomizationResponse' {} a -> s {requestId = a} :: UpdateAccountCustomizationResponse)++-- | The HTTP status of the request.+updateAccountCustomizationResponse_status :: Lens.Lens' UpdateAccountCustomizationResponse Prelude.Int+updateAccountCustomizationResponse_status = Lens.lens (\UpdateAccountCustomizationResponse' {status} -> status) (\s@UpdateAccountCustomizationResponse' {} a -> s {status = a} :: UpdateAccountCustomizationResponse)++instance+  Prelude.NFData+    UpdateAccountCustomizationResponse+  where+  rnf UpdateAccountCustomizationResponse' {..} =+    Prelude.rnf accountCustomization+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateAccountSettings.hs view
@@ -0,0 +1,248 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.UpdateAccountSettings+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the Amazon QuickSight settings in your Amazon Web Services+-- account.+module Amazonka.QuickSight.UpdateAccountSettings+  ( -- * Creating a Request+    UpdateAccountSettings (..),+    newUpdateAccountSettings,++    -- * Request Lenses+    updateAccountSettings_notificationEmail,+    updateAccountSettings_terminationProtectionEnabled,+    updateAccountSettings_awsAccountId,+    updateAccountSettings_defaultNamespace,++    -- * Destructuring the Response+    UpdateAccountSettingsResponse (..),+    newUpdateAccountSettingsResponse,++    -- * Response Lenses+    updateAccountSettingsResponse_requestId,+    updateAccountSettingsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateAccountSettings' smart constructor.+data UpdateAccountSettings = UpdateAccountSettings'+  { -- | The email address that you want Amazon QuickSight to send notifications+    -- to regarding your Amazon Web Services account or Amazon QuickSight+    -- subscription.+    notificationEmail :: Prelude.Maybe Prelude.Text,+    -- | A boolean value that determines whether or not an Amazon QuickSight+    -- account can be deleted. A @True@ value doesn\'t allow the account to be+    -- deleted and results in an error message if a user tries to make a+    -- @DeleteAccountSubscription@ request. A @False@ value will allow the+    -- account to be deleted.+    terminationProtectionEnabled :: Prelude.Maybe Prelude.Bool,+    -- | The ID for the Amazon Web Services account that contains the Amazon+    -- QuickSight settings that you want to list.+    awsAccountId :: Prelude.Text,+    -- | The default namespace for this Amazon Web Services account. Currently,+    -- the default is @default@. Identity and Access Management (IAM) users+    -- that register for the first time with Amazon QuickSight provide an email+    -- address that becomes associated with the default namespace.+    defaultNamespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAccountSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'notificationEmail', 'updateAccountSettings_notificationEmail' - The email address that you want Amazon QuickSight to send notifications+-- to regarding your Amazon Web Services account or Amazon QuickSight+-- subscription.+--+-- 'terminationProtectionEnabled', 'updateAccountSettings_terminationProtectionEnabled' - A boolean value that determines whether or not an Amazon QuickSight+-- account can be deleted. A @True@ value doesn\'t allow the account to be+-- deleted and results in an error message if a user tries to make a+-- @DeleteAccountSubscription@ request. A @False@ value will allow the+-- account to be deleted.+--+-- 'awsAccountId', 'updateAccountSettings_awsAccountId' - The ID for the Amazon Web Services account that contains the Amazon+-- QuickSight settings that you want to list.+--+-- 'defaultNamespace', 'updateAccountSettings_defaultNamespace' - The default namespace for this Amazon Web Services account. Currently,+-- the default is @default@. Identity and Access Management (IAM) users+-- that register for the first time with Amazon QuickSight provide an email+-- address that becomes associated with the default namespace.+newUpdateAccountSettings ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'defaultNamespace'+  Prelude.Text ->+  UpdateAccountSettings+newUpdateAccountSettings+  pAwsAccountId_+  pDefaultNamespace_ =+    UpdateAccountSettings'+      { notificationEmail =+          Prelude.Nothing,+        terminationProtectionEnabled = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        defaultNamespace = pDefaultNamespace_+      }++-- | The email address that you want Amazon QuickSight to send notifications+-- to regarding your Amazon Web Services account or Amazon QuickSight+-- subscription.+updateAccountSettings_notificationEmail :: Lens.Lens' UpdateAccountSettings (Prelude.Maybe Prelude.Text)+updateAccountSettings_notificationEmail = Lens.lens (\UpdateAccountSettings' {notificationEmail} -> notificationEmail) (\s@UpdateAccountSettings' {} a -> s {notificationEmail = a} :: UpdateAccountSettings)++-- | A boolean value that determines whether or not an Amazon QuickSight+-- account can be deleted. A @True@ value doesn\'t allow the account to be+-- deleted and results in an error message if a user tries to make a+-- @DeleteAccountSubscription@ request. A @False@ value will allow the+-- account to be deleted.+updateAccountSettings_terminationProtectionEnabled :: Lens.Lens' UpdateAccountSettings (Prelude.Maybe Prelude.Bool)+updateAccountSettings_terminationProtectionEnabled = Lens.lens (\UpdateAccountSettings' {terminationProtectionEnabled} -> terminationProtectionEnabled) (\s@UpdateAccountSettings' {} a -> s {terminationProtectionEnabled = a} :: UpdateAccountSettings)++-- | The ID for the Amazon Web Services account that contains the Amazon+-- QuickSight settings that you want to list.+updateAccountSettings_awsAccountId :: Lens.Lens' UpdateAccountSettings Prelude.Text+updateAccountSettings_awsAccountId = Lens.lens (\UpdateAccountSettings' {awsAccountId} -> awsAccountId) (\s@UpdateAccountSettings' {} a -> s {awsAccountId = a} :: UpdateAccountSettings)++-- | The default namespace for this Amazon Web Services account. Currently,+-- the default is @default@. Identity and Access Management (IAM) users+-- that register for the first time with Amazon QuickSight provide an email+-- address that becomes associated with the default namespace.+updateAccountSettings_defaultNamespace :: Lens.Lens' UpdateAccountSettings Prelude.Text+updateAccountSettings_defaultNamespace = Lens.lens (\UpdateAccountSettings' {defaultNamespace} -> defaultNamespace) (\s@UpdateAccountSettings' {} a -> s {defaultNamespace = a} :: UpdateAccountSettings)++instance Core.AWSRequest UpdateAccountSettings where+  type+    AWSResponse UpdateAccountSettings =+      UpdateAccountSettingsResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateAccountSettingsResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateAccountSettings where+  hashWithSalt _salt UpdateAccountSettings' {..} =+    _salt+      `Prelude.hashWithSalt` notificationEmail+      `Prelude.hashWithSalt` terminationProtectionEnabled+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` defaultNamespace++instance Prelude.NFData UpdateAccountSettings where+  rnf UpdateAccountSettings' {..} =+    Prelude.rnf notificationEmail+      `Prelude.seq` Prelude.rnf terminationProtectionEnabled+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf defaultNamespace++instance Data.ToHeaders UpdateAccountSettings where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateAccountSettings where+  toJSON UpdateAccountSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("NotificationEmail" Data..=)+              Prelude.<$> notificationEmail,+            ("TerminationProtectionEnabled" Data..=)+              Prelude.<$> terminationProtectionEnabled,+            Prelude.Just+              ("DefaultNamespace" Data..= defaultNamespace)+          ]+      )++instance Data.ToPath UpdateAccountSettings where+  toPath UpdateAccountSettings' {..} =+    Prelude.mconcat+      ["/accounts/", Data.toBS awsAccountId, "/settings"]++instance Data.ToQuery UpdateAccountSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAccountSettingsResponse' smart constructor.+data UpdateAccountSettingsResponse = UpdateAccountSettingsResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAccountSettingsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'updateAccountSettingsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'updateAccountSettingsResponse_status' - The HTTP status of the request.+newUpdateAccountSettingsResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateAccountSettingsResponse+newUpdateAccountSettingsResponse pStatus_ =+  UpdateAccountSettingsResponse'+    { requestId =+        Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+updateAccountSettingsResponse_requestId :: Lens.Lens' UpdateAccountSettingsResponse (Prelude.Maybe Prelude.Text)+updateAccountSettingsResponse_requestId = Lens.lens (\UpdateAccountSettingsResponse' {requestId} -> requestId) (\s@UpdateAccountSettingsResponse' {} a -> s {requestId = a} :: UpdateAccountSettingsResponse)++-- | The HTTP status of the request.+updateAccountSettingsResponse_status :: Lens.Lens' UpdateAccountSettingsResponse Prelude.Int+updateAccountSettingsResponse_status = Lens.lens (\UpdateAccountSettingsResponse' {status} -> status) (\s@UpdateAccountSettingsResponse' {} a -> s {status = a} :: UpdateAccountSettingsResponse)++instance Prelude.NFData UpdateAccountSettingsResponse where+  rnf UpdateAccountSettingsResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateAnalysis.hs view
@@ -0,0 +1,327 @@+{-# 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.QuickSight.UpdateAnalysis+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an analysis in Amazon QuickSight+module Amazonka.QuickSight.UpdateAnalysis+  ( -- * Creating a Request+    UpdateAnalysis (..),+    newUpdateAnalysis,++    -- * Request Lenses+    updateAnalysis_definition,+    updateAnalysis_parameters,+    updateAnalysis_sourceEntity,+    updateAnalysis_themeArn,+    updateAnalysis_awsAccountId,+    updateAnalysis_analysisId,+    updateAnalysis_name,++    -- * Destructuring the Response+    UpdateAnalysisResponse (..),+    newUpdateAnalysisResponse,++    -- * Response Lenses+    updateAnalysisResponse_analysisId,+    updateAnalysisResponse_arn,+    updateAnalysisResponse_requestId,+    updateAnalysisResponse_updateStatus,+    updateAnalysisResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateAnalysis' smart constructor.+data UpdateAnalysis = UpdateAnalysis'+  { -- | The definition of an analysis.+    --+    -- A definition is the data model of all features in a Dashboard, Template,+    -- or Analysis.+    definition :: Prelude.Maybe AnalysisDefinition,+    -- | The parameter names and override values that you want to use. An+    -- analysis can have any parameter type, and some parameters might accept+    -- multiple values.+    parameters :: Prelude.Maybe Parameters,+    -- | A source entity to use for the analysis that you\'re updating. This+    -- metadata structure contains details that describe a source template and+    -- one or more datasets.+    sourceEntity :: Prelude.Maybe AnalysisSourceEntity,+    -- | The Amazon Resource Name (ARN) for the theme to apply to the analysis+    -- that you\'re creating. To see the theme in the Amazon QuickSight+    -- console, make sure that you have access to it.+    themeArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account that contains the analysis+    -- that you\'re updating.+    awsAccountId :: Prelude.Text,+    -- | The ID for the analysis that you\'re updating. This ID displays in the+    -- URL of the analysis.+    analysisId :: Prelude.Text,+    -- | A descriptive name for the analysis that you\'re updating. This name+    -- displays for the analysis in the Amazon QuickSight console.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAnalysis' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'definition', 'updateAnalysis_definition' - The definition of an analysis.+--+-- A definition is the data model of all features in a Dashboard, Template,+-- or Analysis.+--+-- 'parameters', 'updateAnalysis_parameters' - The parameter names and override values that you want to use. An+-- analysis can have any parameter type, and some parameters might accept+-- multiple values.+--+-- 'sourceEntity', 'updateAnalysis_sourceEntity' - A source entity to use for the analysis that you\'re updating. This+-- metadata structure contains details that describe a source template and+-- one or more datasets.+--+-- 'themeArn', 'updateAnalysis_themeArn' - The Amazon Resource Name (ARN) for the theme to apply to the analysis+-- that you\'re creating. To see the theme in the Amazon QuickSight+-- console, make sure that you have access to it.+--+-- 'awsAccountId', 'updateAnalysis_awsAccountId' - The ID of the Amazon Web Services account that contains the analysis+-- that you\'re updating.+--+-- 'analysisId', 'updateAnalysis_analysisId' - The ID for the analysis that you\'re updating. This ID displays in the+-- URL of the analysis.+--+-- 'name', 'updateAnalysis_name' - A descriptive name for the analysis that you\'re updating. This name+-- displays for the analysis in the Amazon QuickSight console.+newUpdateAnalysis ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'analysisId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  UpdateAnalysis+newUpdateAnalysis pAwsAccountId_ pAnalysisId_ pName_ =+  UpdateAnalysis'+    { definition = Prelude.Nothing,+      parameters = Prelude.Nothing,+      sourceEntity = Prelude.Nothing,+      themeArn = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      analysisId = pAnalysisId_,+      name = pName_+    }++-- | The definition of an analysis.+--+-- A definition is the data model of all features in a Dashboard, Template,+-- or Analysis.+updateAnalysis_definition :: Lens.Lens' UpdateAnalysis (Prelude.Maybe AnalysisDefinition)+updateAnalysis_definition = Lens.lens (\UpdateAnalysis' {definition} -> definition) (\s@UpdateAnalysis' {} a -> s {definition = a} :: UpdateAnalysis)++-- | The parameter names and override values that you want to use. An+-- analysis can have any parameter type, and some parameters might accept+-- multiple values.+updateAnalysis_parameters :: Lens.Lens' UpdateAnalysis (Prelude.Maybe Parameters)+updateAnalysis_parameters = Lens.lens (\UpdateAnalysis' {parameters} -> parameters) (\s@UpdateAnalysis' {} a -> s {parameters = a} :: UpdateAnalysis)++-- | A source entity to use for the analysis that you\'re updating. This+-- metadata structure contains details that describe a source template and+-- one or more datasets.+updateAnalysis_sourceEntity :: Lens.Lens' UpdateAnalysis (Prelude.Maybe AnalysisSourceEntity)+updateAnalysis_sourceEntity = Lens.lens (\UpdateAnalysis' {sourceEntity} -> sourceEntity) (\s@UpdateAnalysis' {} a -> s {sourceEntity = a} :: UpdateAnalysis)++-- | The Amazon Resource Name (ARN) for the theme to apply to the analysis+-- that you\'re creating. To see the theme in the Amazon QuickSight+-- console, make sure that you have access to it.+updateAnalysis_themeArn :: Lens.Lens' UpdateAnalysis (Prelude.Maybe Prelude.Text)+updateAnalysis_themeArn = Lens.lens (\UpdateAnalysis' {themeArn} -> themeArn) (\s@UpdateAnalysis' {} a -> s {themeArn = a} :: UpdateAnalysis)++-- | The ID of the Amazon Web Services account that contains the analysis+-- that you\'re updating.+updateAnalysis_awsAccountId :: Lens.Lens' UpdateAnalysis Prelude.Text+updateAnalysis_awsAccountId = Lens.lens (\UpdateAnalysis' {awsAccountId} -> awsAccountId) (\s@UpdateAnalysis' {} a -> s {awsAccountId = a} :: UpdateAnalysis)++-- | The ID for the analysis that you\'re updating. This ID displays in the+-- URL of the analysis.+updateAnalysis_analysisId :: Lens.Lens' UpdateAnalysis Prelude.Text+updateAnalysis_analysisId = Lens.lens (\UpdateAnalysis' {analysisId} -> analysisId) (\s@UpdateAnalysis' {} a -> s {analysisId = a} :: UpdateAnalysis)++-- | A descriptive name for the analysis that you\'re updating. This name+-- displays for the analysis in the Amazon QuickSight console.+updateAnalysis_name :: Lens.Lens' UpdateAnalysis Prelude.Text+updateAnalysis_name = Lens.lens (\UpdateAnalysis' {name} -> name) (\s@UpdateAnalysis' {} a -> s {name = a} :: UpdateAnalysis)++instance Core.AWSRequest UpdateAnalysis where+  type+    AWSResponse UpdateAnalysis =+      UpdateAnalysisResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateAnalysisResponse'+            Prelude.<$> (x Data..?> "AnalysisId")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "UpdateStatus")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateAnalysis where+  hashWithSalt _salt UpdateAnalysis' {..} =+    _salt+      `Prelude.hashWithSalt` definition+      `Prelude.hashWithSalt` parameters+      `Prelude.hashWithSalt` sourceEntity+      `Prelude.hashWithSalt` themeArn+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` analysisId+      `Prelude.hashWithSalt` name++instance Prelude.NFData UpdateAnalysis where+  rnf UpdateAnalysis' {..} =+    Prelude.rnf definition+      `Prelude.seq` Prelude.rnf parameters+      `Prelude.seq` Prelude.rnf sourceEntity+      `Prelude.seq` Prelude.rnf themeArn+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf analysisId+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders UpdateAnalysis where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateAnalysis where+  toJSON UpdateAnalysis' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Definition" Data..=) Prelude.<$> definition,+            ("Parameters" Data..=) Prelude.<$> parameters,+            ("SourceEntity" Data..=) Prelude.<$> sourceEntity,+            ("ThemeArn" Data..=) Prelude.<$> themeArn,+            Prelude.Just ("Name" Data..= name)+          ]+      )++instance Data.ToPath UpdateAnalysis where+  toPath UpdateAnalysis' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/analyses/",+        Data.toBS analysisId+      ]++instance Data.ToQuery UpdateAnalysis where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAnalysisResponse' smart constructor.+data UpdateAnalysisResponse = UpdateAnalysisResponse'+  { -- | The ID of the analysis.+    analysisId :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the analysis that you\'re updating.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The update status of the last update that was made to the analysis.+    updateStatus :: Prelude.Maybe ResourceStatus,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAnalysisResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analysisId', 'updateAnalysisResponse_analysisId' - The ID of the analysis.+--+-- 'arn', 'updateAnalysisResponse_arn' - The ARN of the analysis that you\'re updating.+--+-- 'requestId', 'updateAnalysisResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'updateStatus', 'updateAnalysisResponse_updateStatus' - The update status of the last update that was made to the analysis.+--+-- 'status', 'updateAnalysisResponse_status' - The HTTP status of the request.+newUpdateAnalysisResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateAnalysisResponse+newUpdateAnalysisResponse pStatus_ =+  UpdateAnalysisResponse'+    { analysisId =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      requestId = Prelude.Nothing,+      updateStatus = Prelude.Nothing,+      status = pStatus_+    }++-- | The ID of the analysis.+updateAnalysisResponse_analysisId :: Lens.Lens' UpdateAnalysisResponse (Prelude.Maybe Prelude.Text)+updateAnalysisResponse_analysisId = Lens.lens (\UpdateAnalysisResponse' {analysisId} -> analysisId) (\s@UpdateAnalysisResponse' {} a -> s {analysisId = a} :: UpdateAnalysisResponse)++-- | The ARN of the analysis that you\'re updating.+updateAnalysisResponse_arn :: Lens.Lens' UpdateAnalysisResponse (Prelude.Maybe Prelude.Text)+updateAnalysisResponse_arn = Lens.lens (\UpdateAnalysisResponse' {arn} -> arn) (\s@UpdateAnalysisResponse' {} a -> s {arn = a} :: UpdateAnalysisResponse)++-- | The Amazon Web Services request ID for this operation.+updateAnalysisResponse_requestId :: Lens.Lens' UpdateAnalysisResponse (Prelude.Maybe Prelude.Text)+updateAnalysisResponse_requestId = Lens.lens (\UpdateAnalysisResponse' {requestId} -> requestId) (\s@UpdateAnalysisResponse' {} a -> s {requestId = a} :: UpdateAnalysisResponse)++-- | The update status of the last update that was made to the analysis.+updateAnalysisResponse_updateStatus :: Lens.Lens' UpdateAnalysisResponse (Prelude.Maybe ResourceStatus)+updateAnalysisResponse_updateStatus = Lens.lens (\UpdateAnalysisResponse' {updateStatus} -> updateStatus) (\s@UpdateAnalysisResponse' {} a -> s {updateStatus = a} :: UpdateAnalysisResponse)++-- | The HTTP status of the request.+updateAnalysisResponse_status :: Lens.Lens' UpdateAnalysisResponse Prelude.Int+updateAnalysisResponse_status = Lens.lens (\UpdateAnalysisResponse' {status} -> status) (\s@UpdateAnalysisResponse' {} a -> s {status = a} :: UpdateAnalysisResponse)++instance Prelude.NFData UpdateAnalysisResponse where+  rnf UpdateAnalysisResponse' {..} =+    Prelude.rnf analysisId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf updateStatus+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateAnalysisPermissions.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.QuickSight.UpdateAnalysisPermissions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the read and write permissions for an analysis.+module Amazonka.QuickSight.UpdateAnalysisPermissions+  ( -- * Creating a Request+    UpdateAnalysisPermissions (..),+    newUpdateAnalysisPermissions,++    -- * Request Lenses+    updateAnalysisPermissions_grantPermissions,+    updateAnalysisPermissions_revokePermissions,+    updateAnalysisPermissions_awsAccountId,+    updateAnalysisPermissions_analysisId,++    -- * Destructuring the Response+    UpdateAnalysisPermissionsResponse (..),+    newUpdateAnalysisPermissionsResponse,++    -- * Response Lenses+    updateAnalysisPermissionsResponse_analysisArn,+    updateAnalysisPermissionsResponse_analysisId,+    updateAnalysisPermissionsResponse_permissions,+    updateAnalysisPermissionsResponse_requestId,+    updateAnalysisPermissionsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateAnalysisPermissions' smart constructor.+data UpdateAnalysisPermissions = UpdateAnalysisPermissions'+  { -- | A structure that describes the permissions to add and the principal to+    -- add them to.+    grantPermissions :: Prelude.Maybe [ResourcePermission],+    -- | A structure that describes the permissions to remove and the principal+    -- to remove them from.+    revokePermissions :: Prelude.Maybe [ResourcePermission],+    -- | The ID of the Amazon Web Services account that contains the analysis+    -- whose permissions you\'re updating. You must be using the Amazon Web+    -- Services account that the analysis is in.+    awsAccountId :: Prelude.Text,+    -- | The ID of the analysis whose permissions you\'re updating. The ID is+    -- part of the analysis URL.+    analysisId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAnalysisPermissions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'grantPermissions', 'updateAnalysisPermissions_grantPermissions' - A structure that describes the permissions to add and the principal to+-- add them to.+--+-- 'revokePermissions', 'updateAnalysisPermissions_revokePermissions' - A structure that describes the permissions to remove and the principal+-- to remove them from.+--+-- 'awsAccountId', 'updateAnalysisPermissions_awsAccountId' - The ID of the Amazon Web Services account that contains the analysis+-- whose permissions you\'re updating. You must be using the Amazon Web+-- Services account that the analysis is in.+--+-- 'analysisId', 'updateAnalysisPermissions_analysisId' - The ID of the analysis whose permissions you\'re updating. The ID is+-- part of the analysis URL.+newUpdateAnalysisPermissions ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'analysisId'+  Prelude.Text ->+  UpdateAnalysisPermissions+newUpdateAnalysisPermissions+  pAwsAccountId_+  pAnalysisId_ =+    UpdateAnalysisPermissions'+      { grantPermissions =+          Prelude.Nothing,+        revokePermissions = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        analysisId = pAnalysisId_+      }++-- | A structure that describes the permissions to add and the principal to+-- add them to.+updateAnalysisPermissions_grantPermissions :: Lens.Lens' UpdateAnalysisPermissions (Prelude.Maybe [ResourcePermission])+updateAnalysisPermissions_grantPermissions = Lens.lens (\UpdateAnalysisPermissions' {grantPermissions} -> grantPermissions) (\s@UpdateAnalysisPermissions' {} a -> s {grantPermissions = a} :: UpdateAnalysisPermissions) Prelude.. Lens.mapping Lens.coerced++-- | A structure that describes the permissions to remove and the principal+-- to remove them from.+updateAnalysisPermissions_revokePermissions :: Lens.Lens' UpdateAnalysisPermissions (Prelude.Maybe [ResourcePermission])+updateAnalysisPermissions_revokePermissions = Lens.lens (\UpdateAnalysisPermissions' {revokePermissions} -> revokePermissions) (\s@UpdateAnalysisPermissions' {} a -> s {revokePermissions = a} :: UpdateAnalysisPermissions) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the Amazon Web Services account that contains the analysis+-- whose permissions you\'re updating. You must be using the Amazon Web+-- Services account that the analysis is in.+updateAnalysisPermissions_awsAccountId :: Lens.Lens' UpdateAnalysisPermissions Prelude.Text+updateAnalysisPermissions_awsAccountId = Lens.lens (\UpdateAnalysisPermissions' {awsAccountId} -> awsAccountId) (\s@UpdateAnalysisPermissions' {} a -> s {awsAccountId = a} :: UpdateAnalysisPermissions)++-- | The ID of the analysis whose permissions you\'re updating. The ID is+-- part of the analysis URL.+updateAnalysisPermissions_analysisId :: Lens.Lens' UpdateAnalysisPermissions Prelude.Text+updateAnalysisPermissions_analysisId = Lens.lens (\UpdateAnalysisPermissions' {analysisId} -> analysisId) (\s@UpdateAnalysisPermissions' {} a -> s {analysisId = a} :: UpdateAnalysisPermissions)++instance Core.AWSRequest UpdateAnalysisPermissions where+  type+    AWSResponse UpdateAnalysisPermissions =+      UpdateAnalysisPermissionsResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateAnalysisPermissionsResponse'+            Prelude.<$> (x Data..?> "AnalysisArn")+            Prelude.<*> (x Data..?> "AnalysisId")+            Prelude.<*> (x Data..?> "Permissions")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateAnalysisPermissions where+  hashWithSalt _salt UpdateAnalysisPermissions' {..} =+    _salt+      `Prelude.hashWithSalt` grantPermissions+      `Prelude.hashWithSalt` revokePermissions+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` analysisId++instance Prelude.NFData UpdateAnalysisPermissions where+  rnf UpdateAnalysisPermissions' {..} =+    Prelude.rnf grantPermissions+      `Prelude.seq` Prelude.rnf revokePermissions+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf analysisId++instance Data.ToHeaders UpdateAnalysisPermissions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateAnalysisPermissions where+  toJSON UpdateAnalysisPermissions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("GrantPermissions" Data..=)+              Prelude.<$> grantPermissions,+            ("RevokePermissions" Data..=)+              Prelude.<$> revokePermissions+          ]+      )++instance Data.ToPath UpdateAnalysisPermissions where+  toPath UpdateAnalysisPermissions' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/analyses/",+        Data.toBS analysisId,+        "/permissions"+      ]++instance Data.ToQuery UpdateAnalysisPermissions where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAnalysisPermissionsResponse' smart constructor.+data UpdateAnalysisPermissionsResponse = UpdateAnalysisPermissionsResponse'+  { -- | The Amazon Resource Name (ARN) of the analysis that you updated.+    analysisArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the analysis that you updated permissions for.+    analysisId :: Prelude.Maybe Prelude.Text,+    -- | A structure that describes the principals and the resource-level+    -- permissions on an analysis.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAnalysisPermissionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analysisArn', 'updateAnalysisPermissionsResponse_analysisArn' - The Amazon Resource Name (ARN) of the analysis that you updated.+--+-- 'analysisId', 'updateAnalysisPermissionsResponse_analysisId' - The ID of the analysis that you updated permissions for.+--+-- 'permissions', 'updateAnalysisPermissionsResponse_permissions' - A structure that describes the principals and the resource-level+-- permissions on an analysis.+--+-- 'requestId', 'updateAnalysisPermissionsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'updateAnalysisPermissionsResponse_status' - The HTTP status of the request.+newUpdateAnalysisPermissionsResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateAnalysisPermissionsResponse+newUpdateAnalysisPermissionsResponse pStatus_ =+  UpdateAnalysisPermissionsResponse'+    { analysisArn =+        Prelude.Nothing,+      analysisId = Prelude.Nothing,+      permissions = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) of the analysis that you updated.+updateAnalysisPermissionsResponse_analysisArn :: Lens.Lens' UpdateAnalysisPermissionsResponse (Prelude.Maybe Prelude.Text)+updateAnalysisPermissionsResponse_analysisArn = Lens.lens (\UpdateAnalysisPermissionsResponse' {analysisArn} -> analysisArn) (\s@UpdateAnalysisPermissionsResponse' {} a -> s {analysisArn = a} :: UpdateAnalysisPermissionsResponse)++-- | The ID of the analysis that you updated permissions for.+updateAnalysisPermissionsResponse_analysisId :: Lens.Lens' UpdateAnalysisPermissionsResponse (Prelude.Maybe Prelude.Text)+updateAnalysisPermissionsResponse_analysisId = Lens.lens (\UpdateAnalysisPermissionsResponse' {analysisId} -> analysisId) (\s@UpdateAnalysisPermissionsResponse' {} a -> s {analysisId = a} :: UpdateAnalysisPermissionsResponse)++-- | A structure that describes the principals and the resource-level+-- permissions on an analysis.+updateAnalysisPermissionsResponse_permissions :: Lens.Lens' UpdateAnalysisPermissionsResponse (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+updateAnalysisPermissionsResponse_permissions = Lens.lens (\UpdateAnalysisPermissionsResponse' {permissions} -> permissions) (\s@UpdateAnalysisPermissionsResponse' {} a -> s {permissions = a} :: UpdateAnalysisPermissionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services request ID for this operation.+updateAnalysisPermissionsResponse_requestId :: Lens.Lens' UpdateAnalysisPermissionsResponse (Prelude.Maybe Prelude.Text)+updateAnalysisPermissionsResponse_requestId = Lens.lens (\UpdateAnalysisPermissionsResponse' {requestId} -> requestId) (\s@UpdateAnalysisPermissionsResponse' {} a -> s {requestId = a} :: UpdateAnalysisPermissionsResponse)++-- | The HTTP status of the request.+updateAnalysisPermissionsResponse_status :: Lens.Lens' UpdateAnalysisPermissionsResponse Prelude.Int+updateAnalysisPermissionsResponse_status = Lens.lens (\UpdateAnalysisPermissionsResponse' {status} -> status) (\s@UpdateAnalysisPermissionsResponse' {} a -> s {status = a} :: UpdateAnalysisPermissionsResponse)++instance+  Prelude.NFData+    UpdateAnalysisPermissionsResponse+  where+  rnf UpdateAnalysisPermissionsResponse' {..} =+    Prelude.rnf analysisArn+      `Prelude.seq` Prelude.rnf analysisId+      `Prelude.seq` Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateDashboard.hs view
@@ -0,0 +1,463 @@+{-# 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.QuickSight.UpdateDashboard+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a dashboard in an Amazon Web Services account.+--+-- Updating a Dashboard creates a new dashboard version but does not+-- immediately publish the new version. You can update the published+-- version of a dashboard by using the+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateDashboardPublishedVersion.html UpdateDashboardPublishedVersion>@ @+-- API operation.+module Amazonka.QuickSight.UpdateDashboard+  ( -- * Creating a Request+    UpdateDashboard (..),+    newUpdateDashboard,++    -- * Request Lenses+    updateDashboard_dashboardPublishOptions,+    updateDashboard_definition,+    updateDashboard_parameters,+    updateDashboard_sourceEntity,+    updateDashboard_themeArn,+    updateDashboard_versionDescription,+    updateDashboard_awsAccountId,+    updateDashboard_dashboardId,+    updateDashboard_name,++    -- * Destructuring the Response+    UpdateDashboardResponse (..),+    newUpdateDashboardResponse,++    -- * Response Lenses+    updateDashboardResponse_arn,+    updateDashboardResponse_creationStatus,+    updateDashboardResponse_dashboardId,+    updateDashboardResponse_requestId,+    updateDashboardResponse_status,+    updateDashboardResponse_versionArn,+    updateDashboardResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateDashboard' smart constructor.+data UpdateDashboard = UpdateDashboard'+  { -- | Options for publishing the dashboard when you create it:+    --+    -- -   @AvailabilityStatus@ for @AdHocFilteringOption@ - This status can be+    --     either @ENABLED@ or @DISABLED@. When this is set to @DISABLED@,+    --     Amazon QuickSight disables the left filter pane on the published+    --     dashboard, which can be used for ad hoc (one-time) filtering. This+    --     option is @ENABLED@ by default.+    --+    -- -   @AvailabilityStatus@ for @ExportToCSVOption@ - This status can be+    --     either @ENABLED@ or @DISABLED@. The visual option to export data to+    --     .CSV format isn\'t enabled when this is set to @DISABLED@. This+    --     option is @ENABLED@ by default.+    --+    -- -   @VisibilityState@ for @SheetControlsOption@ - This visibility state+    --     can be either @COLLAPSED@ or @EXPANDED@. This option is @COLLAPSED@+    --     by default.+    dashboardPublishOptions :: Prelude.Maybe DashboardPublishOptions,+    -- | The definition of a dashboard.+    --+    -- A definition is the data model of all features in a Dashboard, Template,+    -- or Analysis.+    definition :: Prelude.Maybe DashboardVersionDefinition,+    -- | A structure that contains the parameters of the dashboard. These are+    -- parameter overrides for a dashboard. A dashboard can have any type of+    -- parameters, and some parameters might accept multiple values.+    parameters :: Prelude.Maybe Parameters,+    -- | The entity that you are using as a source when you update the dashboard.+    -- In @SourceEntity@, you specify the type of object you\'re using as+    -- source. You can only update a dashboard from a template, so you use a+    -- @SourceTemplate@ entity. If you need to update a dashboard from an+    -- analysis, first convert the analysis to a template by using the+    -- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateTemplate.html CreateTemplate>@ @+    -- API operation. For @SourceTemplate@, specify the Amazon Resource Name+    -- (ARN) of the source template. The @SourceTemplate@ ARN can contain any+    -- Amazon Web Services account and any Amazon QuickSight-supported Amazon+    -- Web Services Region.+    --+    -- Use the @DataSetReferences@ entity within @SourceTemplate@ to list the+    -- replacement datasets for the placeholders listed in the original. The+    -- schema in each dataset must match its placeholder.+    sourceEntity :: Prelude.Maybe DashboardSourceEntity,+    -- | The Amazon Resource Name (ARN) of the theme that is being used for this+    -- dashboard. If you add a value for this field, it overrides the value+    -- that was originally associated with the entity. The theme ARN must exist+    -- in the same Amazon Web Services account where you create the dashboard.+    themeArn :: Prelude.Maybe Prelude.Text,+    -- | A description for the first version of the dashboard being created.+    versionDescription :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account that contains the dashboard+    -- that you\'re updating.+    awsAccountId :: Prelude.Text,+    -- | The ID for the dashboard.+    dashboardId :: Prelude.Text,+    -- | The display name of the dashboard.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDashboard' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dashboardPublishOptions', 'updateDashboard_dashboardPublishOptions' - Options for publishing the dashboard when you create it:+--+-- -   @AvailabilityStatus@ for @AdHocFilteringOption@ - This status can be+--     either @ENABLED@ or @DISABLED@. When this is set to @DISABLED@,+--     Amazon QuickSight disables the left filter pane on the published+--     dashboard, which can be used for ad hoc (one-time) filtering. This+--     option is @ENABLED@ by default.+--+-- -   @AvailabilityStatus@ for @ExportToCSVOption@ - This status can be+--     either @ENABLED@ or @DISABLED@. The visual option to export data to+--     .CSV format isn\'t enabled when this is set to @DISABLED@. This+--     option is @ENABLED@ by default.+--+-- -   @VisibilityState@ for @SheetControlsOption@ - This visibility state+--     can be either @COLLAPSED@ or @EXPANDED@. This option is @COLLAPSED@+--     by default.+--+-- 'definition', 'updateDashboard_definition' - The definition of a dashboard.+--+-- A definition is the data model of all features in a Dashboard, Template,+-- or Analysis.+--+-- 'parameters', 'updateDashboard_parameters' - A structure that contains the parameters of the dashboard. These are+-- parameter overrides for a dashboard. A dashboard can have any type of+-- parameters, and some parameters might accept multiple values.+--+-- 'sourceEntity', 'updateDashboard_sourceEntity' - The entity that you are using as a source when you update the dashboard.+-- In @SourceEntity@, you specify the type of object you\'re using as+-- source. You can only update a dashboard from a template, so you use a+-- @SourceTemplate@ entity. If you need to update a dashboard from an+-- analysis, first convert the analysis to a template by using the+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateTemplate.html CreateTemplate>@ @+-- API operation. For @SourceTemplate@, specify the Amazon Resource Name+-- (ARN) of the source template. The @SourceTemplate@ ARN can contain any+-- Amazon Web Services account and any Amazon QuickSight-supported Amazon+-- Web Services Region.+--+-- Use the @DataSetReferences@ entity within @SourceTemplate@ to list the+-- replacement datasets for the placeholders listed in the original. The+-- schema in each dataset must match its placeholder.+--+-- 'themeArn', 'updateDashboard_themeArn' - The Amazon Resource Name (ARN) of the theme that is being used for this+-- dashboard. If you add a value for this field, it overrides the value+-- that was originally associated with the entity. The theme ARN must exist+-- in the same Amazon Web Services account where you create the dashboard.+--+-- 'versionDescription', 'updateDashboard_versionDescription' - A description for the first version of the dashboard being created.+--+-- 'awsAccountId', 'updateDashboard_awsAccountId' - The ID of the Amazon Web Services account that contains the dashboard+-- that you\'re updating.+--+-- 'dashboardId', 'updateDashboard_dashboardId' - The ID for the dashboard.+--+-- 'name', 'updateDashboard_name' - The display name of the dashboard.+newUpdateDashboard ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dashboardId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  UpdateDashboard+newUpdateDashboard+  pAwsAccountId_+  pDashboardId_+  pName_ =+    UpdateDashboard'+      { dashboardPublishOptions =+          Prelude.Nothing,+        definition = Prelude.Nothing,+        parameters = Prelude.Nothing,+        sourceEntity = Prelude.Nothing,+        themeArn = Prelude.Nothing,+        versionDescription = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        dashboardId = pDashboardId_,+        name = pName_+      }++-- | Options for publishing the dashboard when you create it:+--+-- -   @AvailabilityStatus@ for @AdHocFilteringOption@ - This status can be+--     either @ENABLED@ or @DISABLED@. When this is set to @DISABLED@,+--     Amazon QuickSight disables the left filter pane on the published+--     dashboard, which can be used for ad hoc (one-time) filtering. This+--     option is @ENABLED@ by default.+--+-- -   @AvailabilityStatus@ for @ExportToCSVOption@ - This status can be+--     either @ENABLED@ or @DISABLED@. The visual option to export data to+--     .CSV format isn\'t enabled when this is set to @DISABLED@. This+--     option is @ENABLED@ by default.+--+-- -   @VisibilityState@ for @SheetControlsOption@ - This visibility state+--     can be either @COLLAPSED@ or @EXPANDED@. This option is @COLLAPSED@+--     by default.+updateDashboard_dashboardPublishOptions :: Lens.Lens' UpdateDashboard (Prelude.Maybe DashboardPublishOptions)+updateDashboard_dashboardPublishOptions = Lens.lens (\UpdateDashboard' {dashboardPublishOptions} -> dashboardPublishOptions) (\s@UpdateDashboard' {} a -> s {dashboardPublishOptions = a} :: UpdateDashboard)++-- | The definition of a dashboard.+--+-- A definition is the data model of all features in a Dashboard, Template,+-- or Analysis.+updateDashboard_definition :: Lens.Lens' UpdateDashboard (Prelude.Maybe DashboardVersionDefinition)+updateDashboard_definition = Lens.lens (\UpdateDashboard' {definition} -> definition) (\s@UpdateDashboard' {} a -> s {definition = a} :: UpdateDashboard)++-- | A structure that contains the parameters of the dashboard. These are+-- parameter overrides for a dashboard. A dashboard can have any type of+-- parameters, and some parameters might accept multiple values.+updateDashboard_parameters :: Lens.Lens' UpdateDashboard (Prelude.Maybe Parameters)+updateDashboard_parameters = Lens.lens (\UpdateDashboard' {parameters} -> parameters) (\s@UpdateDashboard' {} a -> s {parameters = a} :: UpdateDashboard)++-- | The entity that you are using as a source when you update the dashboard.+-- In @SourceEntity@, you specify the type of object you\'re using as+-- source. You can only update a dashboard from a template, so you use a+-- @SourceTemplate@ entity. If you need to update a dashboard from an+-- analysis, first convert the analysis to a template by using the+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateTemplate.html CreateTemplate>@ @+-- API operation. For @SourceTemplate@, specify the Amazon Resource Name+-- (ARN) of the source template. The @SourceTemplate@ ARN can contain any+-- Amazon Web Services account and any Amazon QuickSight-supported Amazon+-- Web Services Region.+--+-- Use the @DataSetReferences@ entity within @SourceTemplate@ to list the+-- replacement datasets for the placeholders listed in the original. The+-- schema in each dataset must match its placeholder.+updateDashboard_sourceEntity :: Lens.Lens' UpdateDashboard (Prelude.Maybe DashboardSourceEntity)+updateDashboard_sourceEntity = Lens.lens (\UpdateDashboard' {sourceEntity} -> sourceEntity) (\s@UpdateDashboard' {} a -> s {sourceEntity = a} :: UpdateDashboard)++-- | The Amazon Resource Name (ARN) of the theme that is being used for this+-- dashboard. If you add a value for this field, it overrides the value+-- that was originally associated with the entity. The theme ARN must exist+-- in the same Amazon Web Services account where you create the dashboard.+updateDashboard_themeArn :: Lens.Lens' UpdateDashboard (Prelude.Maybe Prelude.Text)+updateDashboard_themeArn = Lens.lens (\UpdateDashboard' {themeArn} -> themeArn) (\s@UpdateDashboard' {} a -> s {themeArn = a} :: UpdateDashboard)++-- | A description for the first version of the dashboard being created.+updateDashboard_versionDescription :: Lens.Lens' UpdateDashboard (Prelude.Maybe Prelude.Text)+updateDashboard_versionDescription = Lens.lens (\UpdateDashboard' {versionDescription} -> versionDescription) (\s@UpdateDashboard' {} a -> s {versionDescription = a} :: UpdateDashboard)++-- | The ID of the Amazon Web Services account that contains the dashboard+-- that you\'re updating.+updateDashboard_awsAccountId :: Lens.Lens' UpdateDashboard Prelude.Text+updateDashboard_awsAccountId = Lens.lens (\UpdateDashboard' {awsAccountId} -> awsAccountId) (\s@UpdateDashboard' {} a -> s {awsAccountId = a} :: UpdateDashboard)++-- | The ID for the dashboard.+updateDashboard_dashboardId :: Lens.Lens' UpdateDashboard Prelude.Text+updateDashboard_dashboardId = Lens.lens (\UpdateDashboard' {dashboardId} -> dashboardId) (\s@UpdateDashboard' {} a -> s {dashboardId = a} :: UpdateDashboard)++-- | The display name of the dashboard.+updateDashboard_name :: Lens.Lens' UpdateDashboard Prelude.Text+updateDashboard_name = Lens.lens (\UpdateDashboard' {name} -> name) (\s@UpdateDashboard' {} a -> s {name = a} :: UpdateDashboard)++instance Core.AWSRequest UpdateDashboard where+  type+    AWSResponse UpdateDashboard =+      UpdateDashboardResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateDashboardResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreationStatus")+            Prelude.<*> (x Data..?> "DashboardId")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "VersionArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateDashboard where+  hashWithSalt _salt UpdateDashboard' {..} =+    _salt+      `Prelude.hashWithSalt` dashboardPublishOptions+      `Prelude.hashWithSalt` definition+      `Prelude.hashWithSalt` parameters+      `Prelude.hashWithSalt` sourceEntity+      `Prelude.hashWithSalt` themeArn+      `Prelude.hashWithSalt` versionDescription+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dashboardId+      `Prelude.hashWithSalt` name++instance Prelude.NFData UpdateDashboard where+  rnf UpdateDashboard' {..} =+    Prelude.rnf dashboardPublishOptions+      `Prelude.seq` Prelude.rnf definition+      `Prelude.seq` Prelude.rnf parameters+      `Prelude.seq` Prelude.rnf sourceEntity+      `Prelude.seq` Prelude.rnf themeArn+      `Prelude.seq` Prelude.rnf versionDescription+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dashboardId+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders UpdateDashboard where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateDashboard where+  toJSON UpdateDashboard' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DashboardPublishOptions" Data..=)+              Prelude.<$> dashboardPublishOptions,+            ("Definition" Data..=) Prelude.<$> definition,+            ("Parameters" Data..=) Prelude.<$> parameters,+            ("SourceEntity" Data..=) Prelude.<$> sourceEntity,+            ("ThemeArn" Data..=) Prelude.<$> themeArn,+            ("VersionDescription" Data..=)+              Prelude.<$> versionDescription,+            Prelude.Just ("Name" Data..= name)+          ]+      )++instance Data.ToPath UpdateDashboard where+  toPath UpdateDashboard' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/dashboards/",+        Data.toBS dashboardId+      ]++instance Data.ToQuery UpdateDashboard where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDashboardResponse' smart constructor.+data UpdateDashboardResponse = UpdateDashboardResponse'+  { -- | The Amazon Resource Name (ARN) of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The creation status of the request.+    creationStatus :: Prelude.Maybe ResourceStatus,+    -- | The ID for the dashboard.+    dashboardId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Maybe Prelude.Int,+    -- | The ARN of the dashboard, including the version number.+    versionArn :: 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 'UpdateDashboardResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'updateDashboardResponse_arn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'creationStatus', 'updateDashboardResponse_creationStatus' - The creation status of the request.+--+-- 'dashboardId', 'updateDashboardResponse_dashboardId' - The ID for the dashboard.+--+-- 'requestId', 'updateDashboardResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'updateDashboardResponse_status' - The HTTP status of the request.+--+-- 'versionArn', 'updateDashboardResponse_versionArn' - The ARN of the dashboard, including the version number.+--+-- 'httpStatus', 'updateDashboardResponse_httpStatus' - The response's http status code.+newUpdateDashboardResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateDashboardResponse+newUpdateDashboardResponse pHttpStatus_ =+  UpdateDashboardResponse'+    { arn = Prelude.Nothing,+      creationStatus = Prelude.Nothing,+      dashboardId = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = Prelude.Nothing,+      versionArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the resource.+updateDashboardResponse_arn :: Lens.Lens' UpdateDashboardResponse (Prelude.Maybe Prelude.Text)+updateDashboardResponse_arn = Lens.lens (\UpdateDashboardResponse' {arn} -> arn) (\s@UpdateDashboardResponse' {} a -> s {arn = a} :: UpdateDashboardResponse)++-- | The creation status of the request.+updateDashboardResponse_creationStatus :: Lens.Lens' UpdateDashboardResponse (Prelude.Maybe ResourceStatus)+updateDashboardResponse_creationStatus = Lens.lens (\UpdateDashboardResponse' {creationStatus} -> creationStatus) (\s@UpdateDashboardResponse' {} a -> s {creationStatus = a} :: UpdateDashboardResponse)++-- | The ID for the dashboard.+updateDashboardResponse_dashboardId :: Lens.Lens' UpdateDashboardResponse (Prelude.Maybe Prelude.Text)+updateDashboardResponse_dashboardId = Lens.lens (\UpdateDashboardResponse' {dashboardId} -> dashboardId) (\s@UpdateDashboardResponse' {} a -> s {dashboardId = a} :: UpdateDashboardResponse)++-- | The Amazon Web Services request ID for this operation.+updateDashboardResponse_requestId :: Lens.Lens' UpdateDashboardResponse (Prelude.Maybe Prelude.Text)+updateDashboardResponse_requestId = Lens.lens (\UpdateDashboardResponse' {requestId} -> requestId) (\s@UpdateDashboardResponse' {} a -> s {requestId = a} :: UpdateDashboardResponse)++-- | The HTTP status of the request.+updateDashboardResponse_status :: Lens.Lens' UpdateDashboardResponse (Prelude.Maybe Prelude.Int)+updateDashboardResponse_status = Lens.lens (\UpdateDashboardResponse' {status} -> status) (\s@UpdateDashboardResponse' {} a -> s {status = a} :: UpdateDashboardResponse)++-- | The ARN of the dashboard, including the version number.+updateDashboardResponse_versionArn :: Lens.Lens' UpdateDashboardResponse (Prelude.Maybe Prelude.Text)+updateDashboardResponse_versionArn = Lens.lens (\UpdateDashboardResponse' {versionArn} -> versionArn) (\s@UpdateDashboardResponse' {} a -> s {versionArn = a} :: UpdateDashboardResponse)++-- | The response's http status code.+updateDashboardResponse_httpStatus :: Lens.Lens' UpdateDashboardResponse Prelude.Int+updateDashboardResponse_httpStatus = Lens.lens (\UpdateDashboardResponse' {httpStatus} -> httpStatus) (\s@UpdateDashboardResponse' {} a -> s {httpStatus = a} :: UpdateDashboardResponse)++instance Prelude.NFData UpdateDashboardResponse where+  rnf UpdateDashboardResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationStatus+      `Prelude.seq` Prelude.rnf dashboardId+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf versionArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/QuickSight/UpdateDashboardPermissions.hs view
@@ -0,0 +1,306 @@+{-# 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.QuickSight.UpdateDashboardPermissions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates read and write permissions on a dashboard.+module Amazonka.QuickSight.UpdateDashboardPermissions+  ( -- * Creating a Request+    UpdateDashboardPermissions (..),+    newUpdateDashboardPermissions,++    -- * Request Lenses+    updateDashboardPermissions_grantLinkPermissions,+    updateDashboardPermissions_grantPermissions,+    updateDashboardPermissions_revokeLinkPermissions,+    updateDashboardPermissions_revokePermissions,+    updateDashboardPermissions_awsAccountId,+    updateDashboardPermissions_dashboardId,++    -- * Destructuring the Response+    UpdateDashboardPermissionsResponse (..),+    newUpdateDashboardPermissionsResponse,++    -- * Response Lenses+    updateDashboardPermissionsResponse_dashboardArn,+    updateDashboardPermissionsResponse_dashboardId,+    updateDashboardPermissionsResponse_linkSharingConfiguration,+    updateDashboardPermissionsResponse_permissions,+    updateDashboardPermissionsResponse_requestId,+    updateDashboardPermissionsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateDashboardPermissions' smart constructor.+data UpdateDashboardPermissions = UpdateDashboardPermissions'+  { -- | Grants link permissions to all users in a defined namespace.+    grantLinkPermissions :: Prelude.Maybe [ResourcePermission],+    -- | The permissions that you want to grant on this resource.+    grantPermissions :: Prelude.Maybe [ResourcePermission],+    -- | Revokes link permissions from all users in a defined namespace.+    revokeLinkPermissions :: Prelude.Maybe [ResourcePermission],+    -- | The permissions that you want to revoke from this resource.+    revokePermissions :: Prelude.Maybe [ResourcePermission],+    -- | The ID of the Amazon Web Services account that contains the dashboard+    -- whose permissions you\'re updating.+    awsAccountId :: Prelude.Text,+    -- | The ID for the dashboard.+    dashboardId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDashboardPermissions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'grantLinkPermissions', 'updateDashboardPermissions_grantLinkPermissions' - Grants link permissions to all users in a defined namespace.+--+-- 'grantPermissions', 'updateDashboardPermissions_grantPermissions' - The permissions that you want to grant on this resource.+--+-- 'revokeLinkPermissions', 'updateDashboardPermissions_revokeLinkPermissions' - Revokes link permissions from all users in a defined namespace.+--+-- 'revokePermissions', 'updateDashboardPermissions_revokePermissions' - The permissions that you want to revoke from this resource.+--+-- 'awsAccountId', 'updateDashboardPermissions_awsAccountId' - The ID of the Amazon Web Services account that contains the dashboard+-- whose permissions you\'re updating.+--+-- 'dashboardId', 'updateDashboardPermissions_dashboardId' - The ID for the dashboard.+newUpdateDashboardPermissions ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dashboardId'+  Prelude.Text ->+  UpdateDashboardPermissions+newUpdateDashboardPermissions+  pAwsAccountId_+  pDashboardId_ =+    UpdateDashboardPermissions'+      { grantLinkPermissions =+          Prelude.Nothing,+        grantPermissions = Prelude.Nothing,+        revokeLinkPermissions = Prelude.Nothing,+        revokePermissions = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        dashboardId = pDashboardId_+      }++-- | Grants link permissions to all users in a defined namespace.+updateDashboardPermissions_grantLinkPermissions :: Lens.Lens' UpdateDashboardPermissions (Prelude.Maybe [ResourcePermission])+updateDashboardPermissions_grantLinkPermissions = Lens.lens (\UpdateDashboardPermissions' {grantLinkPermissions} -> grantLinkPermissions) (\s@UpdateDashboardPermissions' {} a -> s {grantLinkPermissions = a} :: UpdateDashboardPermissions) Prelude.. Lens.mapping Lens.coerced++-- | The permissions that you want to grant on this resource.+updateDashboardPermissions_grantPermissions :: Lens.Lens' UpdateDashboardPermissions (Prelude.Maybe [ResourcePermission])+updateDashboardPermissions_grantPermissions = Lens.lens (\UpdateDashboardPermissions' {grantPermissions} -> grantPermissions) (\s@UpdateDashboardPermissions' {} a -> s {grantPermissions = a} :: UpdateDashboardPermissions) Prelude.. Lens.mapping Lens.coerced++-- | Revokes link permissions from all users in a defined namespace.+updateDashboardPermissions_revokeLinkPermissions :: Lens.Lens' UpdateDashboardPermissions (Prelude.Maybe [ResourcePermission])+updateDashboardPermissions_revokeLinkPermissions = Lens.lens (\UpdateDashboardPermissions' {revokeLinkPermissions} -> revokeLinkPermissions) (\s@UpdateDashboardPermissions' {} a -> s {revokeLinkPermissions = a} :: UpdateDashboardPermissions) Prelude.. Lens.mapping Lens.coerced++-- | The permissions that you want to revoke from this resource.+updateDashboardPermissions_revokePermissions :: Lens.Lens' UpdateDashboardPermissions (Prelude.Maybe [ResourcePermission])+updateDashboardPermissions_revokePermissions = Lens.lens (\UpdateDashboardPermissions' {revokePermissions} -> revokePermissions) (\s@UpdateDashboardPermissions' {} a -> s {revokePermissions = a} :: UpdateDashboardPermissions) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the Amazon Web Services account that contains the dashboard+-- whose permissions you\'re updating.+updateDashboardPermissions_awsAccountId :: Lens.Lens' UpdateDashboardPermissions Prelude.Text+updateDashboardPermissions_awsAccountId = Lens.lens (\UpdateDashboardPermissions' {awsAccountId} -> awsAccountId) (\s@UpdateDashboardPermissions' {} a -> s {awsAccountId = a} :: UpdateDashboardPermissions)++-- | The ID for the dashboard.+updateDashboardPermissions_dashboardId :: Lens.Lens' UpdateDashboardPermissions Prelude.Text+updateDashboardPermissions_dashboardId = Lens.lens (\UpdateDashboardPermissions' {dashboardId} -> dashboardId) (\s@UpdateDashboardPermissions' {} a -> s {dashboardId = a} :: UpdateDashboardPermissions)++instance Core.AWSRequest UpdateDashboardPermissions where+  type+    AWSResponse UpdateDashboardPermissions =+      UpdateDashboardPermissionsResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateDashboardPermissionsResponse'+            Prelude.<$> (x Data..?> "DashboardArn")+            Prelude.<*> (x Data..?> "DashboardId")+            Prelude.<*> (x Data..?> "LinkSharingConfiguration")+            Prelude.<*> (x Data..?> "Permissions")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateDashboardPermissions where+  hashWithSalt _salt UpdateDashboardPermissions' {..} =+    _salt+      `Prelude.hashWithSalt` grantLinkPermissions+      `Prelude.hashWithSalt` grantPermissions+      `Prelude.hashWithSalt` revokeLinkPermissions+      `Prelude.hashWithSalt` revokePermissions+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dashboardId++instance Prelude.NFData UpdateDashboardPermissions where+  rnf UpdateDashboardPermissions' {..} =+    Prelude.rnf grantLinkPermissions+      `Prelude.seq` Prelude.rnf grantPermissions+      `Prelude.seq` Prelude.rnf revokeLinkPermissions+      `Prelude.seq` Prelude.rnf revokePermissions+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dashboardId++instance Data.ToHeaders UpdateDashboardPermissions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateDashboardPermissions where+  toJSON UpdateDashboardPermissions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("GrantLinkPermissions" Data..=)+              Prelude.<$> grantLinkPermissions,+            ("GrantPermissions" Data..=)+              Prelude.<$> grantPermissions,+            ("RevokeLinkPermissions" Data..=)+              Prelude.<$> revokeLinkPermissions,+            ("RevokePermissions" Data..=)+              Prelude.<$> revokePermissions+          ]+      )++instance Data.ToPath UpdateDashboardPermissions where+  toPath UpdateDashboardPermissions' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/dashboards/",+        Data.toBS dashboardId,+        "/permissions"+      ]++instance Data.ToQuery UpdateDashboardPermissions where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDashboardPermissionsResponse' smart constructor.+data UpdateDashboardPermissionsResponse = UpdateDashboardPermissionsResponse'+  { -- | The Amazon Resource Name (ARN) of the dashboard.+    dashboardArn :: Prelude.Maybe Prelude.Text,+    -- | The ID for the dashboard.+    dashboardId :: Prelude.Maybe Prelude.Text,+    -- | Updates the permissions of a shared link to an Amazon QuickSight+    -- dashboard.+    linkSharingConfiguration :: Prelude.Maybe LinkSharingConfiguration,+    -- | Information about the permissions on the dashboard.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDashboardPermissionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dashboardArn', 'updateDashboardPermissionsResponse_dashboardArn' - The Amazon Resource Name (ARN) of the dashboard.+--+-- 'dashboardId', 'updateDashboardPermissionsResponse_dashboardId' - The ID for the dashboard.+--+-- 'linkSharingConfiguration', 'updateDashboardPermissionsResponse_linkSharingConfiguration' - Updates the permissions of a shared link to an Amazon QuickSight+-- dashboard.+--+-- 'permissions', 'updateDashboardPermissionsResponse_permissions' - Information about the permissions on the dashboard.+--+-- 'requestId', 'updateDashboardPermissionsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'updateDashboardPermissionsResponse_status' - The HTTP status of the request.+newUpdateDashboardPermissionsResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateDashboardPermissionsResponse+newUpdateDashboardPermissionsResponse pStatus_ =+  UpdateDashboardPermissionsResponse'+    { dashboardArn =+        Prelude.Nothing,+      dashboardId = Prelude.Nothing,+      linkSharingConfiguration =+        Prelude.Nothing,+      permissions = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) of the dashboard.+updateDashboardPermissionsResponse_dashboardArn :: Lens.Lens' UpdateDashboardPermissionsResponse (Prelude.Maybe Prelude.Text)+updateDashboardPermissionsResponse_dashboardArn = Lens.lens (\UpdateDashboardPermissionsResponse' {dashboardArn} -> dashboardArn) (\s@UpdateDashboardPermissionsResponse' {} a -> s {dashboardArn = a} :: UpdateDashboardPermissionsResponse)++-- | The ID for the dashboard.+updateDashboardPermissionsResponse_dashboardId :: Lens.Lens' UpdateDashboardPermissionsResponse (Prelude.Maybe Prelude.Text)+updateDashboardPermissionsResponse_dashboardId = Lens.lens (\UpdateDashboardPermissionsResponse' {dashboardId} -> dashboardId) (\s@UpdateDashboardPermissionsResponse' {} a -> s {dashboardId = a} :: UpdateDashboardPermissionsResponse)++-- | Updates the permissions of a shared link to an Amazon QuickSight+-- dashboard.+updateDashboardPermissionsResponse_linkSharingConfiguration :: Lens.Lens' UpdateDashboardPermissionsResponse (Prelude.Maybe LinkSharingConfiguration)+updateDashboardPermissionsResponse_linkSharingConfiguration = Lens.lens (\UpdateDashboardPermissionsResponse' {linkSharingConfiguration} -> linkSharingConfiguration) (\s@UpdateDashboardPermissionsResponse' {} a -> s {linkSharingConfiguration = a} :: UpdateDashboardPermissionsResponse)++-- | Information about the permissions on the dashboard.+updateDashboardPermissionsResponse_permissions :: Lens.Lens' UpdateDashboardPermissionsResponse (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+updateDashboardPermissionsResponse_permissions = Lens.lens (\UpdateDashboardPermissionsResponse' {permissions} -> permissions) (\s@UpdateDashboardPermissionsResponse' {} a -> s {permissions = a} :: UpdateDashboardPermissionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services request ID for this operation.+updateDashboardPermissionsResponse_requestId :: Lens.Lens' UpdateDashboardPermissionsResponse (Prelude.Maybe Prelude.Text)+updateDashboardPermissionsResponse_requestId = Lens.lens (\UpdateDashboardPermissionsResponse' {requestId} -> requestId) (\s@UpdateDashboardPermissionsResponse' {} a -> s {requestId = a} :: UpdateDashboardPermissionsResponse)++-- | The HTTP status of the request.+updateDashboardPermissionsResponse_status :: Lens.Lens' UpdateDashboardPermissionsResponse Prelude.Int+updateDashboardPermissionsResponse_status = Lens.lens (\UpdateDashboardPermissionsResponse' {status} -> status) (\s@UpdateDashboardPermissionsResponse' {} a -> s {status = a} :: UpdateDashboardPermissionsResponse)++instance+  Prelude.NFData+    UpdateDashboardPermissionsResponse+  where+  rnf UpdateDashboardPermissionsResponse' {..} =+    Prelude.rnf dashboardArn+      `Prelude.seq` Prelude.rnf dashboardId+      `Prelude.seq` Prelude.rnf linkSharingConfiguration+      `Prelude.seq` Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateDashboardPublishedVersion.hs view
@@ -0,0 +1,248 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.UpdateDashboardPublishedVersion+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the published version of a dashboard.+module Amazonka.QuickSight.UpdateDashboardPublishedVersion+  ( -- * Creating a Request+    UpdateDashboardPublishedVersion (..),+    newUpdateDashboardPublishedVersion,++    -- * Request Lenses+    updateDashboardPublishedVersion_awsAccountId,+    updateDashboardPublishedVersion_dashboardId,+    updateDashboardPublishedVersion_versionNumber,++    -- * Destructuring the Response+    UpdateDashboardPublishedVersionResponse (..),+    newUpdateDashboardPublishedVersionResponse,++    -- * Response Lenses+    updateDashboardPublishedVersionResponse_dashboardArn,+    updateDashboardPublishedVersionResponse_dashboardId,+    updateDashboardPublishedVersionResponse_requestId,+    updateDashboardPublishedVersionResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateDashboardPublishedVersion' smart constructor.+data UpdateDashboardPublishedVersion = UpdateDashboardPublishedVersion'+  { -- | The ID of the Amazon Web Services account that contains the dashboard+    -- that you\'re updating.+    awsAccountId :: Prelude.Text,+    -- | The ID for the dashboard.+    dashboardId :: Prelude.Text,+    -- | The version number of the dashboard.+    versionNumber :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDashboardPublishedVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'updateDashboardPublishedVersion_awsAccountId' - The ID of the Amazon Web Services account that contains the dashboard+-- that you\'re updating.+--+-- 'dashboardId', 'updateDashboardPublishedVersion_dashboardId' - The ID for the dashboard.+--+-- 'versionNumber', 'updateDashboardPublishedVersion_versionNumber' - The version number of the dashboard.+newUpdateDashboardPublishedVersion ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dashboardId'+  Prelude.Text ->+  -- | 'versionNumber'+  Prelude.Natural ->+  UpdateDashboardPublishedVersion+newUpdateDashboardPublishedVersion+  pAwsAccountId_+  pDashboardId_+  pVersionNumber_ =+    UpdateDashboardPublishedVersion'+      { awsAccountId =+          pAwsAccountId_,+        dashboardId = pDashboardId_,+        versionNumber = pVersionNumber_+      }++-- | The ID of the Amazon Web Services account that contains the dashboard+-- that you\'re updating.+updateDashboardPublishedVersion_awsAccountId :: Lens.Lens' UpdateDashboardPublishedVersion Prelude.Text+updateDashboardPublishedVersion_awsAccountId = Lens.lens (\UpdateDashboardPublishedVersion' {awsAccountId} -> awsAccountId) (\s@UpdateDashboardPublishedVersion' {} a -> s {awsAccountId = a} :: UpdateDashboardPublishedVersion)++-- | The ID for the dashboard.+updateDashboardPublishedVersion_dashboardId :: Lens.Lens' UpdateDashboardPublishedVersion Prelude.Text+updateDashboardPublishedVersion_dashboardId = Lens.lens (\UpdateDashboardPublishedVersion' {dashboardId} -> dashboardId) (\s@UpdateDashboardPublishedVersion' {} a -> s {dashboardId = a} :: UpdateDashboardPublishedVersion)++-- | The version number of the dashboard.+updateDashboardPublishedVersion_versionNumber :: Lens.Lens' UpdateDashboardPublishedVersion Prelude.Natural+updateDashboardPublishedVersion_versionNumber = Lens.lens (\UpdateDashboardPublishedVersion' {versionNumber} -> versionNumber) (\s@UpdateDashboardPublishedVersion' {} a -> s {versionNumber = a} :: UpdateDashboardPublishedVersion)++instance+  Core.AWSRequest+    UpdateDashboardPublishedVersion+  where+  type+    AWSResponse UpdateDashboardPublishedVersion =+      UpdateDashboardPublishedVersionResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateDashboardPublishedVersionResponse'+            Prelude.<$> (x Data..?> "DashboardArn")+            Prelude.<*> (x Data..?> "DashboardId")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    UpdateDashboardPublishedVersion+  where+  hashWithSalt+    _salt+    UpdateDashboardPublishedVersion' {..} =+      _salt+        `Prelude.hashWithSalt` awsAccountId+        `Prelude.hashWithSalt` dashboardId+        `Prelude.hashWithSalt` versionNumber++instance+  Prelude.NFData+    UpdateDashboardPublishedVersion+  where+  rnf UpdateDashboardPublishedVersion' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dashboardId+      `Prelude.seq` Prelude.rnf versionNumber++instance+  Data.ToHeaders+    UpdateDashboardPublishedVersion+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateDashboardPublishedVersion where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath UpdateDashboardPublishedVersion where+  toPath UpdateDashboardPublishedVersion' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/dashboards/",+        Data.toBS dashboardId,+        "/versions/",+        Data.toBS versionNumber+      ]++instance Data.ToQuery UpdateDashboardPublishedVersion where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDashboardPublishedVersionResponse' smart constructor.+data UpdateDashboardPublishedVersionResponse = UpdateDashboardPublishedVersionResponse'+  { -- | The Amazon Resource Name (ARN) of the dashboard.+    dashboardArn :: Prelude.Maybe Prelude.Text,+    -- | The ID for the dashboard.+    dashboardId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDashboardPublishedVersionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dashboardArn', 'updateDashboardPublishedVersionResponse_dashboardArn' - The Amazon Resource Name (ARN) of the dashboard.+--+-- 'dashboardId', 'updateDashboardPublishedVersionResponse_dashboardId' - The ID for the dashboard.+--+-- 'requestId', 'updateDashboardPublishedVersionResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'updateDashboardPublishedVersionResponse_status' - The HTTP status of the request.+newUpdateDashboardPublishedVersionResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateDashboardPublishedVersionResponse+newUpdateDashboardPublishedVersionResponse pStatus_ =+  UpdateDashboardPublishedVersionResponse'+    { dashboardArn =+        Prelude.Nothing,+      dashboardId = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) of the dashboard.+updateDashboardPublishedVersionResponse_dashboardArn :: Lens.Lens' UpdateDashboardPublishedVersionResponse (Prelude.Maybe Prelude.Text)+updateDashboardPublishedVersionResponse_dashboardArn = Lens.lens (\UpdateDashboardPublishedVersionResponse' {dashboardArn} -> dashboardArn) (\s@UpdateDashboardPublishedVersionResponse' {} a -> s {dashboardArn = a} :: UpdateDashboardPublishedVersionResponse)++-- | The ID for the dashboard.+updateDashboardPublishedVersionResponse_dashboardId :: Lens.Lens' UpdateDashboardPublishedVersionResponse (Prelude.Maybe Prelude.Text)+updateDashboardPublishedVersionResponse_dashboardId = Lens.lens (\UpdateDashboardPublishedVersionResponse' {dashboardId} -> dashboardId) (\s@UpdateDashboardPublishedVersionResponse' {} a -> s {dashboardId = a} :: UpdateDashboardPublishedVersionResponse)++-- | The Amazon Web Services request ID for this operation.+updateDashboardPublishedVersionResponse_requestId :: Lens.Lens' UpdateDashboardPublishedVersionResponse (Prelude.Maybe Prelude.Text)+updateDashboardPublishedVersionResponse_requestId = Lens.lens (\UpdateDashboardPublishedVersionResponse' {requestId} -> requestId) (\s@UpdateDashboardPublishedVersionResponse' {} a -> s {requestId = a} :: UpdateDashboardPublishedVersionResponse)++-- | The HTTP status of the request.+updateDashboardPublishedVersionResponse_status :: Lens.Lens' UpdateDashboardPublishedVersionResponse Prelude.Int+updateDashboardPublishedVersionResponse_status = Lens.lens (\UpdateDashboardPublishedVersionResponse' {status} -> status) (\s@UpdateDashboardPublishedVersionResponse' {} a -> s {status = a} :: UpdateDashboardPublishedVersionResponse)++instance+  Prelude.NFData+    UpdateDashboardPublishedVersionResponse+  where+  rnf UpdateDashboardPublishedVersionResponse' {..} =+    Prelude.rnf dashboardArn+      `Prelude.seq` Prelude.rnf dashboardId+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateDataSet.hs view
@@ -0,0 +1,410 @@+{-# 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.QuickSight.UpdateDataSet+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a dataset. This operation doesn\'t support datasets that include+-- uploaded files as a source. Partial updates are not supported by this+-- operation.+module Amazonka.QuickSight.UpdateDataSet+  ( -- * Creating a Request+    UpdateDataSet (..),+    newUpdateDataSet,++    -- * Request Lenses+    updateDataSet_columnGroups,+    updateDataSet_columnLevelPermissionRules,+    updateDataSet_dataSetUsageConfiguration,+    updateDataSet_fieldFolders,+    updateDataSet_logicalTableMap,+    updateDataSet_rowLevelPermissionDataSet,+    updateDataSet_rowLevelPermissionTagConfiguration,+    updateDataSet_awsAccountId,+    updateDataSet_dataSetId,+    updateDataSet_name,+    updateDataSet_physicalTableMap,+    updateDataSet_importMode,++    -- * Destructuring the Response+    UpdateDataSetResponse (..),+    newUpdateDataSetResponse,++    -- * Response Lenses+    updateDataSetResponse_arn,+    updateDataSetResponse_dataSetId,+    updateDataSetResponse_ingestionArn,+    updateDataSetResponse_ingestionId,+    updateDataSetResponse_requestId,+    updateDataSetResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateDataSet' smart constructor.+data UpdateDataSet = UpdateDataSet'+  { -- | Groupings of columns that work together in certain Amazon QuickSight+    -- features. Currently, only geospatial hierarchy is supported.+    columnGroups :: Prelude.Maybe (Prelude.NonEmpty ColumnGroup),+    -- | A set of one or more definitions of a+    -- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html ColumnLevelPermissionRule>@ @.+    columnLevelPermissionRules :: Prelude.Maybe (Prelude.NonEmpty ColumnLevelPermissionRule),+    dataSetUsageConfiguration :: Prelude.Maybe DataSetUsageConfiguration,+    -- | The folder that contains fields and nested subfolders for your dataset.+    fieldFolders :: Prelude.Maybe (Prelude.HashMap Prelude.Text FieldFolder),+    -- | Configures the combination and transformation of the data from the+    -- physical tables.+    logicalTableMap :: Prelude.Maybe (Prelude.HashMap Prelude.Text LogicalTable),+    -- | The row-level security configuration for the data you want to create.+    rowLevelPermissionDataSet :: Prelude.Maybe RowLevelPermissionDataSet,+    -- | The configuration of tags on a dataset to set row-level security.+    -- Row-level security tags are currently supported for anonymous embedding+    -- only.+    rowLevelPermissionTagConfiguration :: Prelude.Maybe RowLevelPermissionTagConfiguration,+    -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text,+    -- | The ID for the dataset that you want to update. This ID is unique per+    -- Amazon Web Services Region for each Amazon Web Services account.+    dataSetId :: Prelude.Text,+    -- | The display name for the dataset.+    name :: Prelude.Text,+    -- | Declares the physical tables that are available in the underlying data+    -- sources.+    physicalTableMap :: Prelude.HashMap Prelude.Text PhysicalTable,+    -- | Indicates whether you want to import the data into SPICE.+    importMode :: DataSetImportMode+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDataSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'columnGroups', 'updateDataSet_columnGroups' - Groupings of columns that work together in certain Amazon QuickSight+-- features. Currently, only geospatial hierarchy is supported.+--+-- 'columnLevelPermissionRules', 'updateDataSet_columnLevelPermissionRules' - A set of one or more definitions of a+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html ColumnLevelPermissionRule>@ @.+--+-- 'dataSetUsageConfiguration', 'updateDataSet_dataSetUsageConfiguration' - Undocumented member.+--+-- 'fieldFolders', 'updateDataSet_fieldFolders' - The folder that contains fields and nested subfolders for your dataset.+--+-- 'logicalTableMap', 'updateDataSet_logicalTableMap' - Configures the combination and transformation of the data from the+-- physical tables.+--+-- 'rowLevelPermissionDataSet', 'updateDataSet_rowLevelPermissionDataSet' - The row-level security configuration for the data you want to create.+--+-- 'rowLevelPermissionTagConfiguration', 'updateDataSet_rowLevelPermissionTagConfiguration' - The configuration of tags on a dataset to set row-level security.+-- Row-level security tags are currently supported for anonymous embedding+-- only.+--+-- 'awsAccountId', 'updateDataSet_awsAccountId' - The Amazon Web Services account ID.+--+-- 'dataSetId', 'updateDataSet_dataSetId' - The ID for the dataset that you want to update. This ID is unique per+-- Amazon Web Services Region for each Amazon Web Services account.+--+-- 'name', 'updateDataSet_name' - The display name for the dataset.+--+-- 'physicalTableMap', 'updateDataSet_physicalTableMap' - Declares the physical tables that are available in the underlying data+-- sources.+--+-- 'importMode', 'updateDataSet_importMode' - Indicates whether you want to import the data into SPICE.+newUpdateDataSet ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dataSetId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'importMode'+  DataSetImportMode ->+  UpdateDataSet+newUpdateDataSet+  pAwsAccountId_+  pDataSetId_+  pName_+  pImportMode_ =+    UpdateDataSet'+      { columnGroups = Prelude.Nothing,+        columnLevelPermissionRules = Prelude.Nothing,+        dataSetUsageConfiguration = Prelude.Nothing,+        fieldFolders = Prelude.Nothing,+        logicalTableMap = Prelude.Nothing,+        rowLevelPermissionDataSet = Prelude.Nothing,+        rowLevelPermissionTagConfiguration = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        dataSetId = pDataSetId_,+        name = pName_,+        physicalTableMap = Prelude.mempty,+        importMode = pImportMode_+      }++-- | Groupings of columns that work together in certain Amazon QuickSight+-- features. Currently, only geospatial hierarchy is supported.+updateDataSet_columnGroups :: Lens.Lens' UpdateDataSet (Prelude.Maybe (Prelude.NonEmpty ColumnGroup))+updateDataSet_columnGroups = Lens.lens (\UpdateDataSet' {columnGroups} -> columnGroups) (\s@UpdateDataSet' {} a -> s {columnGroups = a} :: UpdateDataSet) Prelude.. Lens.mapping Lens.coerced++-- | A set of one or more definitions of a+-- @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html ColumnLevelPermissionRule>@ @.+updateDataSet_columnLevelPermissionRules :: Lens.Lens' UpdateDataSet (Prelude.Maybe (Prelude.NonEmpty ColumnLevelPermissionRule))+updateDataSet_columnLevelPermissionRules = Lens.lens (\UpdateDataSet' {columnLevelPermissionRules} -> columnLevelPermissionRules) (\s@UpdateDataSet' {} a -> s {columnLevelPermissionRules = a} :: UpdateDataSet) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+updateDataSet_dataSetUsageConfiguration :: Lens.Lens' UpdateDataSet (Prelude.Maybe DataSetUsageConfiguration)+updateDataSet_dataSetUsageConfiguration = Lens.lens (\UpdateDataSet' {dataSetUsageConfiguration} -> dataSetUsageConfiguration) (\s@UpdateDataSet' {} a -> s {dataSetUsageConfiguration = a} :: UpdateDataSet)++-- | The folder that contains fields and nested subfolders for your dataset.+updateDataSet_fieldFolders :: Lens.Lens' UpdateDataSet (Prelude.Maybe (Prelude.HashMap Prelude.Text FieldFolder))+updateDataSet_fieldFolders = Lens.lens (\UpdateDataSet' {fieldFolders} -> fieldFolders) (\s@UpdateDataSet' {} a -> s {fieldFolders = a} :: UpdateDataSet) Prelude.. Lens.mapping Lens.coerced++-- | Configures the combination and transformation of the data from the+-- physical tables.+updateDataSet_logicalTableMap :: Lens.Lens' UpdateDataSet (Prelude.Maybe (Prelude.HashMap Prelude.Text LogicalTable))+updateDataSet_logicalTableMap = Lens.lens (\UpdateDataSet' {logicalTableMap} -> logicalTableMap) (\s@UpdateDataSet' {} a -> s {logicalTableMap = a} :: UpdateDataSet) Prelude.. Lens.mapping Lens.coerced++-- | The row-level security configuration for the data you want to create.+updateDataSet_rowLevelPermissionDataSet :: Lens.Lens' UpdateDataSet (Prelude.Maybe RowLevelPermissionDataSet)+updateDataSet_rowLevelPermissionDataSet = Lens.lens (\UpdateDataSet' {rowLevelPermissionDataSet} -> rowLevelPermissionDataSet) (\s@UpdateDataSet' {} a -> s {rowLevelPermissionDataSet = a} :: UpdateDataSet)++-- | The configuration of tags on a dataset to set row-level security.+-- Row-level security tags are currently supported for anonymous embedding+-- only.+updateDataSet_rowLevelPermissionTagConfiguration :: Lens.Lens' UpdateDataSet (Prelude.Maybe RowLevelPermissionTagConfiguration)+updateDataSet_rowLevelPermissionTagConfiguration = Lens.lens (\UpdateDataSet' {rowLevelPermissionTagConfiguration} -> rowLevelPermissionTagConfiguration) (\s@UpdateDataSet' {} a -> s {rowLevelPermissionTagConfiguration = a} :: UpdateDataSet)++-- | The Amazon Web Services account ID.+updateDataSet_awsAccountId :: Lens.Lens' UpdateDataSet Prelude.Text+updateDataSet_awsAccountId = Lens.lens (\UpdateDataSet' {awsAccountId} -> awsAccountId) (\s@UpdateDataSet' {} a -> s {awsAccountId = a} :: UpdateDataSet)++-- | The ID for the dataset that you want to update. This ID is unique per+-- Amazon Web Services Region for each Amazon Web Services account.+updateDataSet_dataSetId :: Lens.Lens' UpdateDataSet Prelude.Text+updateDataSet_dataSetId = Lens.lens (\UpdateDataSet' {dataSetId} -> dataSetId) (\s@UpdateDataSet' {} a -> s {dataSetId = a} :: UpdateDataSet)++-- | The display name for the dataset.+updateDataSet_name :: Lens.Lens' UpdateDataSet Prelude.Text+updateDataSet_name = Lens.lens (\UpdateDataSet' {name} -> name) (\s@UpdateDataSet' {} a -> s {name = a} :: UpdateDataSet)++-- | Declares the physical tables that are available in the underlying data+-- sources.+updateDataSet_physicalTableMap :: Lens.Lens' UpdateDataSet (Prelude.HashMap Prelude.Text PhysicalTable)+updateDataSet_physicalTableMap = Lens.lens (\UpdateDataSet' {physicalTableMap} -> physicalTableMap) (\s@UpdateDataSet' {} a -> s {physicalTableMap = a} :: UpdateDataSet) Prelude.. Lens.coerced++-- | Indicates whether you want to import the data into SPICE.+updateDataSet_importMode :: Lens.Lens' UpdateDataSet DataSetImportMode+updateDataSet_importMode = Lens.lens (\UpdateDataSet' {importMode} -> importMode) (\s@UpdateDataSet' {} a -> s {importMode = a} :: UpdateDataSet)++instance Core.AWSRequest UpdateDataSet where+  type+    AWSResponse UpdateDataSet =+      UpdateDataSetResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateDataSetResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "DataSetId")+            Prelude.<*> (x Data..?> "IngestionArn")+            Prelude.<*> (x Data..?> "IngestionId")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateDataSet where+  hashWithSalt _salt UpdateDataSet' {..} =+    _salt+      `Prelude.hashWithSalt` columnGroups+      `Prelude.hashWithSalt` columnLevelPermissionRules+      `Prelude.hashWithSalt` dataSetUsageConfiguration+      `Prelude.hashWithSalt` fieldFolders+      `Prelude.hashWithSalt` logicalTableMap+      `Prelude.hashWithSalt` rowLevelPermissionDataSet+      `Prelude.hashWithSalt` rowLevelPermissionTagConfiguration+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dataSetId+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` physicalTableMap+      `Prelude.hashWithSalt` importMode++instance Prelude.NFData UpdateDataSet where+  rnf UpdateDataSet' {..} =+    Prelude.rnf columnGroups+      `Prelude.seq` Prelude.rnf columnLevelPermissionRules+      `Prelude.seq` Prelude.rnf dataSetUsageConfiguration+      `Prelude.seq` Prelude.rnf fieldFolders+      `Prelude.seq` Prelude.rnf logicalTableMap+      `Prelude.seq` Prelude.rnf rowLevelPermissionDataSet+      `Prelude.seq` Prelude.rnf rowLevelPermissionTagConfiguration+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dataSetId+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf physicalTableMap+      `Prelude.seq` Prelude.rnf importMode++instance Data.ToHeaders UpdateDataSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateDataSet where+  toJSON UpdateDataSet' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ColumnGroups" Data..=) Prelude.<$> columnGroups,+            ("ColumnLevelPermissionRules" Data..=)+              Prelude.<$> columnLevelPermissionRules,+            ("DataSetUsageConfiguration" Data..=)+              Prelude.<$> dataSetUsageConfiguration,+            ("FieldFolders" Data..=) Prelude.<$> fieldFolders,+            ("LogicalTableMap" Data..=)+              Prelude.<$> logicalTableMap,+            ("RowLevelPermissionDataSet" Data..=)+              Prelude.<$> rowLevelPermissionDataSet,+            ("RowLevelPermissionTagConfiguration" Data..=)+              Prelude.<$> rowLevelPermissionTagConfiguration,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just+              ("PhysicalTableMap" Data..= physicalTableMap),+            Prelude.Just ("ImportMode" Data..= importMode)+          ]+      )++instance Data.ToPath UpdateDataSet where+  toPath UpdateDataSet' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/data-sets/",+        Data.toBS dataSetId+      ]++instance Data.ToQuery UpdateDataSet where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDataSetResponse' smart constructor.+data UpdateDataSetResponse = UpdateDataSetResponse'+  { -- | The Amazon Resource Name (ARN) of the dataset.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID for the dataset that you want to create. This ID is unique per+    -- Amazon Web Services Region for each Amazon Web Services account.+    dataSetId :: Prelude.Maybe Prelude.Text,+    -- | The ARN for the ingestion, which is triggered as a result of dataset+    -- creation if the import mode is SPICE.+    ingestionArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the ingestion, which is triggered as a result of dataset+    -- creation if the import mode is SPICE.+    ingestionId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDataSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'updateDataSetResponse_arn' - The Amazon Resource Name (ARN) of the dataset.+--+-- 'dataSetId', 'updateDataSetResponse_dataSetId' - The ID for the dataset that you want to create. This ID is unique per+-- Amazon Web Services Region for each Amazon Web Services account.+--+-- 'ingestionArn', 'updateDataSetResponse_ingestionArn' - The ARN for the ingestion, which is triggered as a result of dataset+-- creation if the import mode is SPICE.+--+-- 'ingestionId', 'updateDataSetResponse_ingestionId' - The ID of the ingestion, which is triggered as a result of dataset+-- creation if the import mode is SPICE.+--+-- 'requestId', 'updateDataSetResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'updateDataSetResponse_status' - The HTTP status of the request.+newUpdateDataSetResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateDataSetResponse+newUpdateDataSetResponse pStatus_ =+  UpdateDataSetResponse'+    { arn = Prelude.Nothing,+      dataSetId = Prelude.Nothing,+      ingestionArn = Prelude.Nothing,+      ingestionId = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) of the dataset.+updateDataSetResponse_arn :: Lens.Lens' UpdateDataSetResponse (Prelude.Maybe Prelude.Text)+updateDataSetResponse_arn = Lens.lens (\UpdateDataSetResponse' {arn} -> arn) (\s@UpdateDataSetResponse' {} a -> s {arn = a} :: UpdateDataSetResponse)++-- | The ID for the dataset that you want to create. This ID is unique per+-- Amazon Web Services Region for each Amazon Web Services account.+updateDataSetResponse_dataSetId :: Lens.Lens' UpdateDataSetResponse (Prelude.Maybe Prelude.Text)+updateDataSetResponse_dataSetId = Lens.lens (\UpdateDataSetResponse' {dataSetId} -> dataSetId) (\s@UpdateDataSetResponse' {} a -> s {dataSetId = a} :: UpdateDataSetResponse)++-- | The ARN for the ingestion, which is triggered as a result of dataset+-- creation if the import mode is SPICE.+updateDataSetResponse_ingestionArn :: Lens.Lens' UpdateDataSetResponse (Prelude.Maybe Prelude.Text)+updateDataSetResponse_ingestionArn = Lens.lens (\UpdateDataSetResponse' {ingestionArn} -> ingestionArn) (\s@UpdateDataSetResponse' {} a -> s {ingestionArn = a} :: UpdateDataSetResponse)++-- | The ID of the ingestion, which is triggered as a result of dataset+-- creation if the import mode is SPICE.+updateDataSetResponse_ingestionId :: Lens.Lens' UpdateDataSetResponse (Prelude.Maybe Prelude.Text)+updateDataSetResponse_ingestionId = Lens.lens (\UpdateDataSetResponse' {ingestionId} -> ingestionId) (\s@UpdateDataSetResponse' {} a -> s {ingestionId = a} :: UpdateDataSetResponse)++-- | The Amazon Web Services request ID for this operation.+updateDataSetResponse_requestId :: Lens.Lens' UpdateDataSetResponse (Prelude.Maybe Prelude.Text)+updateDataSetResponse_requestId = Lens.lens (\UpdateDataSetResponse' {requestId} -> requestId) (\s@UpdateDataSetResponse' {} a -> s {requestId = a} :: UpdateDataSetResponse)++-- | The HTTP status of the request.+updateDataSetResponse_status :: Lens.Lens' UpdateDataSetResponse Prelude.Int+updateDataSetResponse_status = Lens.lens (\UpdateDataSetResponse' {status} -> status) (\s@UpdateDataSetResponse' {} a -> s {status = a} :: UpdateDataSetResponse)++instance Prelude.NFData UpdateDataSetResponse where+  rnf UpdateDataSetResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf dataSetId+      `Prelude.seq` Prelude.rnf ingestionArn+      `Prelude.seq` Prelude.rnf ingestionId+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateDataSetPermissions.hs view
@@ -0,0 +1,262 @@+{-# 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.QuickSight.UpdateDataSetPermissions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the permissions on a dataset.+--+-- The permissions resource is+-- @arn:aws:quicksight:region:aws-account-id:dataset\/data-set-id@.+module Amazonka.QuickSight.UpdateDataSetPermissions+  ( -- * Creating a Request+    UpdateDataSetPermissions (..),+    newUpdateDataSetPermissions,++    -- * Request Lenses+    updateDataSetPermissions_grantPermissions,+    updateDataSetPermissions_revokePermissions,+    updateDataSetPermissions_awsAccountId,+    updateDataSetPermissions_dataSetId,++    -- * Destructuring the Response+    UpdateDataSetPermissionsResponse (..),+    newUpdateDataSetPermissionsResponse,++    -- * Response Lenses+    updateDataSetPermissionsResponse_dataSetArn,+    updateDataSetPermissionsResponse_dataSetId,+    updateDataSetPermissionsResponse_requestId,+    updateDataSetPermissionsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateDataSetPermissions' smart constructor.+data UpdateDataSetPermissions = UpdateDataSetPermissions'+  { -- | The resource permissions that you want to grant to the dataset.+    grantPermissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The resource permissions that you want to revoke from the dataset.+    revokePermissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text,+    -- | The ID for the dataset whose permissions you want to update. This ID is+    -- unique per Amazon Web Services Region for each Amazon Web Services+    -- account.+    dataSetId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDataSetPermissions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'grantPermissions', 'updateDataSetPermissions_grantPermissions' - The resource permissions that you want to grant to the dataset.+--+-- 'revokePermissions', 'updateDataSetPermissions_revokePermissions' - The resource permissions that you want to revoke from the dataset.+--+-- 'awsAccountId', 'updateDataSetPermissions_awsAccountId' - The Amazon Web Services account ID.+--+-- 'dataSetId', 'updateDataSetPermissions_dataSetId' - The ID for the dataset whose permissions you want to update. This ID is+-- unique per Amazon Web Services Region for each Amazon Web Services+-- account.+newUpdateDataSetPermissions ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dataSetId'+  Prelude.Text ->+  UpdateDataSetPermissions+newUpdateDataSetPermissions+  pAwsAccountId_+  pDataSetId_ =+    UpdateDataSetPermissions'+      { grantPermissions =+          Prelude.Nothing,+        revokePermissions = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        dataSetId = pDataSetId_+      }++-- | The resource permissions that you want to grant to the dataset.+updateDataSetPermissions_grantPermissions :: Lens.Lens' UpdateDataSetPermissions (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+updateDataSetPermissions_grantPermissions = Lens.lens (\UpdateDataSetPermissions' {grantPermissions} -> grantPermissions) (\s@UpdateDataSetPermissions' {} a -> s {grantPermissions = a} :: UpdateDataSetPermissions) Prelude.. Lens.mapping Lens.coerced++-- | The resource permissions that you want to revoke from the dataset.+updateDataSetPermissions_revokePermissions :: Lens.Lens' UpdateDataSetPermissions (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+updateDataSetPermissions_revokePermissions = Lens.lens (\UpdateDataSetPermissions' {revokePermissions} -> revokePermissions) (\s@UpdateDataSetPermissions' {} a -> s {revokePermissions = a} :: UpdateDataSetPermissions) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services account ID.+updateDataSetPermissions_awsAccountId :: Lens.Lens' UpdateDataSetPermissions Prelude.Text+updateDataSetPermissions_awsAccountId = Lens.lens (\UpdateDataSetPermissions' {awsAccountId} -> awsAccountId) (\s@UpdateDataSetPermissions' {} a -> s {awsAccountId = a} :: UpdateDataSetPermissions)++-- | The ID for the dataset whose permissions you want to update. This ID is+-- unique per Amazon Web Services Region for each Amazon Web Services+-- account.+updateDataSetPermissions_dataSetId :: Lens.Lens' UpdateDataSetPermissions Prelude.Text+updateDataSetPermissions_dataSetId = Lens.lens (\UpdateDataSetPermissions' {dataSetId} -> dataSetId) (\s@UpdateDataSetPermissions' {} a -> s {dataSetId = a} :: UpdateDataSetPermissions)++instance Core.AWSRequest UpdateDataSetPermissions where+  type+    AWSResponse UpdateDataSetPermissions =+      UpdateDataSetPermissionsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateDataSetPermissionsResponse'+            Prelude.<$> (x Data..?> "DataSetArn")+            Prelude.<*> (x Data..?> "DataSetId")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateDataSetPermissions where+  hashWithSalt _salt UpdateDataSetPermissions' {..} =+    _salt+      `Prelude.hashWithSalt` grantPermissions+      `Prelude.hashWithSalt` revokePermissions+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dataSetId++instance Prelude.NFData UpdateDataSetPermissions where+  rnf UpdateDataSetPermissions' {..} =+    Prelude.rnf grantPermissions+      `Prelude.seq` Prelude.rnf revokePermissions+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dataSetId++instance Data.ToHeaders UpdateDataSetPermissions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateDataSetPermissions where+  toJSON UpdateDataSetPermissions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("GrantPermissions" Data..=)+              Prelude.<$> grantPermissions,+            ("RevokePermissions" Data..=)+              Prelude.<$> revokePermissions+          ]+      )++instance Data.ToPath UpdateDataSetPermissions where+  toPath UpdateDataSetPermissions' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/data-sets/",+        Data.toBS dataSetId,+        "/permissions"+      ]++instance Data.ToQuery UpdateDataSetPermissions where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDataSetPermissionsResponse' smart constructor.+data UpdateDataSetPermissionsResponse = UpdateDataSetPermissionsResponse'+  { -- | The Amazon Resource Name (ARN) of the dataset.+    dataSetArn :: Prelude.Maybe Prelude.Text,+    -- | The ID for the dataset whose permissions you want to update. This ID is+    -- unique per Amazon Web Services Region for each Amazon Web Services+    -- account.+    dataSetId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDataSetPermissionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSetArn', 'updateDataSetPermissionsResponse_dataSetArn' - The Amazon Resource Name (ARN) of the dataset.+--+-- 'dataSetId', 'updateDataSetPermissionsResponse_dataSetId' - The ID for the dataset whose permissions you want to update. This ID is+-- unique per Amazon Web Services Region for each Amazon Web Services+-- account.+--+-- 'requestId', 'updateDataSetPermissionsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'updateDataSetPermissionsResponse_status' - The HTTP status of the request.+newUpdateDataSetPermissionsResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateDataSetPermissionsResponse+newUpdateDataSetPermissionsResponse pStatus_ =+  UpdateDataSetPermissionsResponse'+    { dataSetArn =+        Prelude.Nothing,+      dataSetId = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) of the dataset.+updateDataSetPermissionsResponse_dataSetArn :: Lens.Lens' UpdateDataSetPermissionsResponse (Prelude.Maybe Prelude.Text)+updateDataSetPermissionsResponse_dataSetArn = Lens.lens (\UpdateDataSetPermissionsResponse' {dataSetArn} -> dataSetArn) (\s@UpdateDataSetPermissionsResponse' {} a -> s {dataSetArn = a} :: UpdateDataSetPermissionsResponse)++-- | The ID for the dataset whose permissions you want to update. This ID is+-- unique per Amazon Web Services Region for each Amazon Web Services+-- account.+updateDataSetPermissionsResponse_dataSetId :: Lens.Lens' UpdateDataSetPermissionsResponse (Prelude.Maybe Prelude.Text)+updateDataSetPermissionsResponse_dataSetId = Lens.lens (\UpdateDataSetPermissionsResponse' {dataSetId} -> dataSetId) (\s@UpdateDataSetPermissionsResponse' {} a -> s {dataSetId = a} :: UpdateDataSetPermissionsResponse)++-- | The Amazon Web Services request ID for this operation.+updateDataSetPermissionsResponse_requestId :: Lens.Lens' UpdateDataSetPermissionsResponse (Prelude.Maybe Prelude.Text)+updateDataSetPermissionsResponse_requestId = Lens.lens (\UpdateDataSetPermissionsResponse' {requestId} -> requestId) (\s@UpdateDataSetPermissionsResponse' {} a -> s {requestId = a} :: UpdateDataSetPermissionsResponse)++-- | The HTTP status of the request.+updateDataSetPermissionsResponse_status :: Lens.Lens' UpdateDataSetPermissionsResponse Prelude.Int+updateDataSetPermissionsResponse_status = Lens.lens (\UpdateDataSetPermissionsResponse' {status} -> status) (\s@UpdateDataSetPermissionsResponse' {} a -> s {status = a} :: UpdateDataSetPermissionsResponse)++instance+  Prelude.NFData+    UpdateDataSetPermissionsResponse+  where+  rnf UpdateDataSetPermissionsResponse' {..} =+    Prelude.rnf dataSetArn+      `Prelude.seq` Prelude.rnf dataSetId+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateDataSource.hs view
@@ -0,0 +1,316 @@+{-# 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.QuickSight.UpdateDataSource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a data source.+module Amazonka.QuickSight.UpdateDataSource+  ( -- * Creating a Request+    UpdateDataSource (..),+    newUpdateDataSource,++    -- * Request Lenses+    updateDataSource_credentials,+    updateDataSource_dataSourceParameters,+    updateDataSource_sslProperties,+    updateDataSource_vpcConnectionProperties,+    updateDataSource_awsAccountId,+    updateDataSource_dataSourceId,+    updateDataSource_name,++    -- * Destructuring the Response+    UpdateDataSourceResponse (..),+    newUpdateDataSourceResponse,++    -- * Response Lenses+    updateDataSourceResponse_arn,+    updateDataSourceResponse_dataSourceId,+    updateDataSourceResponse_requestId,+    updateDataSourceResponse_updateStatus,+    updateDataSourceResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateDataSource' smart constructor.+data UpdateDataSource = UpdateDataSource'+  { -- | The credentials that Amazon QuickSight that uses to connect to your+    -- underlying source. Currently, only credentials based on user name and+    -- password are supported.+    credentials :: Prelude.Maybe (Data.Sensitive DataSourceCredentials),+    -- | The parameters that Amazon QuickSight uses to connect to your underlying+    -- source.+    dataSourceParameters :: Prelude.Maybe DataSourceParameters,+    -- | Secure Socket Layer (SSL) properties that apply when Amazon QuickSight+    -- connects to your underlying source.+    sslProperties :: Prelude.Maybe SslProperties,+    -- | Use this parameter only when you want Amazon QuickSight to use a VPC+    -- connection when connecting to your underlying source.+    vpcConnectionProperties :: Prelude.Maybe VpcConnectionProperties,+    -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text,+    -- | The ID of the data source. This ID is unique per Amazon Web Services+    -- Region for each Amazon Web Services account.+    dataSourceId :: Prelude.Text,+    -- | A display name for the data source.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDataSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'credentials', 'updateDataSource_credentials' - The credentials that Amazon QuickSight that uses to connect to your+-- underlying source. Currently, only credentials based on user name and+-- password are supported.+--+-- 'dataSourceParameters', 'updateDataSource_dataSourceParameters' - The parameters that Amazon QuickSight uses to connect to your underlying+-- source.+--+-- 'sslProperties', 'updateDataSource_sslProperties' - Secure Socket Layer (SSL) properties that apply when Amazon QuickSight+-- connects to your underlying source.+--+-- 'vpcConnectionProperties', 'updateDataSource_vpcConnectionProperties' - Use this parameter only when you want Amazon QuickSight to use a VPC+-- connection when connecting to your underlying source.+--+-- 'awsAccountId', 'updateDataSource_awsAccountId' - The Amazon Web Services account ID.+--+-- 'dataSourceId', 'updateDataSource_dataSourceId' - The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+--+-- 'name', 'updateDataSource_name' - A display name for the data source.+newUpdateDataSource ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dataSourceId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  UpdateDataSource+newUpdateDataSource+  pAwsAccountId_+  pDataSourceId_+  pName_ =+    UpdateDataSource'+      { credentials = Prelude.Nothing,+        dataSourceParameters = Prelude.Nothing,+        sslProperties = Prelude.Nothing,+        vpcConnectionProperties = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        dataSourceId = pDataSourceId_,+        name = pName_+      }++-- | The credentials that Amazon QuickSight that uses to connect to your+-- underlying source. Currently, only credentials based on user name and+-- password are supported.+updateDataSource_credentials :: Lens.Lens' UpdateDataSource (Prelude.Maybe DataSourceCredentials)+updateDataSource_credentials = Lens.lens (\UpdateDataSource' {credentials} -> credentials) (\s@UpdateDataSource' {} a -> s {credentials = a} :: UpdateDataSource) Prelude.. Lens.mapping Data._Sensitive++-- | The parameters that Amazon QuickSight uses to connect to your underlying+-- source.+updateDataSource_dataSourceParameters :: Lens.Lens' UpdateDataSource (Prelude.Maybe DataSourceParameters)+updateDataSource_dataSourceParameters = Lens.lens (\UpdateDataSource' {dataSourceParameters} -> dataSourceParameters) (\s@UpdateDataSource' {} a -> s {dataSourceParameters = a} :: UpdateDataSource)++-- | Secure Socket Layer (SSL) properties that apply when Amazon QuickSight+-- connects to your underlying source.+updateDataSource_sslProperties :: Lens.Lens' UpdateDataSource (Prelude.Maybe SslProperties)+updateDataSource_sslProperties = Lens.lens (\UpdateDataSource' {sslProperties} -> sslProperties) (\s@UpdateDataSource' {} a -> s {sslProperties = a} :: UpdateDataSource)++-- | Use this parameter only when you want Amazon QuickSight to use a VPC+-- connection when connecting to your underlying source.+updateDataSource_vpcConnectionProperties :: Lens.Lens' UpdateDataSource (Prelude.Maybe VpcConnectionProperties)+updateDataSource_vpcConnectionProperties = Lens.lens (\UpdateDataSource' {vpcConnectionProperties} -> vpcConnectionProperties) (\s@UpdateDataSource' {} a -> s {vpcConnectionProperties = a} :: UpdateDataSource)++-- | The Amazon Web Services account ID.+updateDataSource_awsAccountId :: Lens.Lens' UpdateDataSource Prelude.Text+updateDataSource_awsAccountId = Lens.lens (\UpdateDataSource' {awsAccountId} -> awsAccountId) (\s@UpdateDataSource' {} a -> s {awsAccountId = a} :: UpdateDataSource)++-- | The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+updateDataSource_dataSourceId :: Lens.Lens' UpdateDataSource Prelude.Text+updateDataSource_dataSourceId = Lens.lens (\UpdateDataSource' {dataSourceId} -> dataSourceId) (\s@UpdateDataSource' {} a -> s {dataSourceId = a} :: UpdateDataSource)++-- | A display name for the data source.+updateDataSource_name :: Lens.Lens' UpdateDataSource Prelude.Text+updateDataSource_name = Lens.lens (\UpdateDataSource' {name} -> name) (\s@UpdateDataSource' {} a -> s {name = a} :: UpdateDataSource)++instance Core.AWSRequest UpdateDataSource where+  type+    AWSResponse UpdateDataSource =+      UpdateDataSourceResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateDataSourceResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "DataSourceId")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "UpdateStatus")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateDataSource where+  hashWithSalt _salt UpdateDataSource' {..} =+    _salt+      `Prelude.hashWithSalt` credentials+      `Prelude.hashWithSalt` dataSourceParameters+      `Prelude.hashWithSalt` sslProperties+      `Prelude.hashWithSalt` vpcConnectionProperties+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dataSourceId+      `Prelude.hashWithSalt` name++instance Prelude.NFData UpdateDataSource where+  rnf UpdateDataSource' {..} =+    Prelude.rnf credentials+      `Prelude.seq` Prelude.rnf dataSourceParameters+      `Prelude.seq` Prelude.rnf sslProperties+      `Prelude.seq` Prelude.rnf vpcConnectionProperties+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dataSourceId+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders UpdateDataSource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateDataSource where+  toJSON UpdateDataSource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Credentials" Data..=) Prelude.<$> credentials,+            ("DataSourceParameters" Data..=)+              Prelude.<$> dataSourceParameters,+            ("SslProperties" Data..=) Prelude.<$> sslProperties,+            ("VpcConnectionProperties" Data..=)+              Prelude.<$> vpcConnectionProperties,+            Prelude.Just ("Name" Data..= name)+          ]+      )++instance Data.ToPath UpdateDataSource where+  toPath UpdateDataSource' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/data-sources/",+        Data.toBS dataSourceId+      ]++instance Data.ToQuery UpdateDataSource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDataSourceResponse' smart constructor.+data UpdateDataSourceResponse = UpdateDataSourceResponse'+  { -- | The Amazon Resource Name (ARN) of the data source.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the data source. This ID is unique per Amazon Web Services+    -- Region for each Amazon Web Services account.+    dataSourceId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The update status of the data source\'s last update.+    updateStatus :: Prelude.Maybe ResourceStatus,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDataSourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'updateDataSourceResponse_arn' - The Amazon Resource Name (ARN) of the data source.+--+-- 'dataSourceId', 'updateDataSourceResponse_dataSourceId' - The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+--+-- 'requestId', 'updateDataSourceResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'updateStatus', 'updateDataSourceResponse_updateStatus' - The update status of the data source\'s last update.+--+-- 'status', 'updateDataSourceResponse_status' - The HTTP status of the request.+newUpdateDataSourceResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateDataSourceResponse+newUpdateDataSourceResponse pStatus_ =+  UpdateDataSourceResponse'+    { arn = Prelude.Nothing,+      dataSourceId = Prelude.Nothing,+      requestId = Prelude.Nothing,+      updateStatus = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) of the data source.+updateDataSourceResponse_arn :: Lens.Lens' UpdateDataSourceResponse (Prelude.Maybe Prelude.Text)+updateDataSourceResponse_arn = Lens.lens (\UpdateDataSourceResponse' {arn} -> arn) (\s@UpdateDataSourceResponse' {} a -> s {arn = a} :: UpdateDataSourceResponse)++-- | The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+updateDataSourceResponse_dataSourceId :: Lens.Lens' UpdateDataSourceResponse (Prelude.Maybe Prelude.Text)+updateDataSourceResponse_dataSourceId = Lens.lens (\UpdateDataSourceResponse' {dataSourceId} -> dataSourceId) (\s@UpdateDataSourceResponse' {} a -> s {dataSourceId = a} :: UpdateDataSourceResponse)++-- | The Amazon Web Services request ID for this operation.+updateDataSourceResponse_requestId :: Lens.Lens' UpdateDataSourceResponse (Prelude.Maybe Prelude.Text)+updateDataSourceResponse_requestId = Lens.lens (\UpdateDataSourceResponse' {requestId} -> requestId) (\s@UpdateDataSourceResponse' {} a -> s {requestId = a} :: UpdateDataSourceResponse)++-- | The update status of the data source\'s last update.+updateDataSourceResponse_updateStatus :: Lens.Lens' UpdateDataSourceResponse (Prelude.Maybe ResourceStatus)+updateDataSourceResponse_updateStatus = Lens.lens (\UpdateDataSourceResponse' {updateStatus} -> updateStatus) (\s@UpdateDataSourceResponse' {} a -> s {updateStatus = a} :: UpdateDataSourceResponse)++-- | The HTTP status of the request.+updateDataSourceResponse_status :: Lens.Lens' UpdateDataSourceResponse Prelude.Int+updateDataSourceResponse_status = Lens.lens (\UpdateDataSourceResponse' {status} -> status) (\s@UpdateDataSourceResponse' {} a -> s {status = a} :: UpdateDataSourceResponse)++instance Prelude.NFData UpdateDataSourceResponse where+  rnf UpdateDataSourceResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf dataSourceId+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf updateStatus+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateDataSourcePermissions.hs view
@@ -0,0 +1,259 @@+{-# 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.QuickSight.UpdateDataSourcePermissions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the permissions to a data source.+module Amazonka.QuickSight.UpdateDataSourcePermissions+  ( -- * Creating a Request+    UpdateDataSourcePermissions (..),+    newUpdateDataSourcePermissions,++    -- * Request Lenses+    updateDataSourcePermissions_grantPermissions,+    updateDataSourcePermissions_revokePermissions,+    updateDataSourcePermissions_awsAccountId,+    updateDataSourcePermissions_dataSourceId,++    -- * Destructuring the Response+    UpdateDataSourcePermissionsResponse (..),+    newUpdateDataSourcePermissionsResponse,++    -- * Response Lenses+    updateDataSourcePermissionsResponse_dataSourceArn,+    updateDataSourcePermissionsResponse_dataSourceId,+    updateDataSourcePermissionsResponse_requestId,+    updateDataSourcePermissionsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateDataSourcePermissions' smart constructor.+data UpdateDataSourcePermissions = UpdateDataSourcePermissions'+  { -- | A list of resource permissions that you want to grant on the data+    -- source.+    grantPermissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | A list of resource permissions that you want to revoke on the data+    -- source.+    revokePermissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The Amazon Web Services account ID.+    awsAccountId :: Prelude.Text,+    -- | The ID of the data source. This ID is unique per Amazon Web Services+    -- Region for each Amazon Web Services account.+    dataSourceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDataSourcePermissions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'grantPermissions', 'updateDataSourcePermissions_grantPermissions' - A list of resource permissions that you want to grant on the data+-- source.+--+-- 'revokePermissions', 'updateDataSourcePermissions_revokePermissions' - A list of resource permissions that you want to revoke on the data+-- source.+--+-- 'awsAccountId', 'updateDataSourcePermissions_awsAccountId' - The Amazon Web Services account ID.+--+-- 'dataSourceId', 'updateDataSourcePermissions_dataSourceId' - The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+newUpdateDataSourcePermissions ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'dataSourceId'+  Prelude.Text ->+  UpdateDataSourcePermissions+newUpdateDataSourcePermissions+  pAwsAccountId_+  pDataSourceId_ =+    UpdateDataSourcePermissions'+      { grantPermissions =+          Prelude.Nothing,+        revokePermissions = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        dataSourceId = pDataSourceId_+      }++-- | A list of resource permissions that you want to grant on the data+-- source.+updateDataSourcePermissions_grantPermissions :: Lens.Lens' UpdateDataSourcePermissions (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+updateDataSourcePermissions_grantPermissions = Lens.lens (\UpdateDataSourcePermissions' {grantPermissions} -> grantPermissions) (\s@UpdateDataSourcePermissions' {} a -> s {grantPermissions = a} :: UpdateDataSourcePermissions) Prelude.. Lens.mapping Lens.coerced++-- | A list of resource permissions that you want to revoke on the data+-- source.+updateDataSourcePermissions_revokePermissions :: Lens.Lens' UpdateDataSourcePermissions (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+updateDataSourcePermissions_revokePermissions = Lens.lens (\UpdateDataSourcePermissions' {revokePermissions} -> revokePermissions) (\s@UpdateDataSourcePermissions' {} a -> s {revokePermissions = a} :: UpdateDataSourcePermissions) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services account ID.+updateDataSourcePermissions_awsAccountId :: Lens.Lens' UpdateDataSourcePermissions Prelude.Text+updateDataSourcePermissions_awsAccountId = Lens.lens (\UpdateDataSourcePermissions' {awsAccountId} -> awsAccountId) (\s@UpdateDataSourcePermissions' {} a -> s {awsAccountId = a} :: UpdateDataSourcePermissions)++-- | The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+updateDataSourcePermissions_dataSourceId :: Lens.Lens' UpdateDataSourcePermissions Prelude.Text+updateDataSourcePermissions_dataSourceId = Lens.lens (\UpdateDataSourcePermissions' {dataSourceId} -> dataSourceId) (\s@UpdateDataSourcePermissions' {} a -> s {dataSourceId = a} :: UpdateDataSourcePermissions)++instance Core.AWSRequest UpdateDataSourcePermissions where+  type+    AWSResponse UpdateDataSourcePermissions =+      UpdateDataSourcePermissionsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateDataSourcePermissionsResponse'+            Prelude.<$> (x Data..?> "DataSourceArn")+            Prelude.<*> (x Data..?> "DataSourceId")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateDataSourcePermissions where+  hashWithSalt _salt UpdateDataSourcePermissions' {..} =+    _salt+      `Prelude.hashWithSalt` grantPermissions+      `Prelude.hashWithSalt` revokePermissions+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` dataSourceId++instance Prelude.NFData UpdateDataSourcePermissions where+  rnf UpdateDataSourcePermissions' {..} =+    Prelude.rnf grantPermissions+      `Prelude.seq` Prelude.rnf revokePermissions+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf dataSourceId++instance Data.ToHeaders UpdateDataSourcePermissions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateDataSourcePermissions where+  toJSON UpdateDataSourcePermissions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("GrantPermissions" Data..=)+              Prelude.<$> grantPermissions,+            ("RevokePermissions" Data..=)+              Prelude.<$> revokePermissions+          ]+      )++instance Data.ToPath UpdateDataSourcePermissions where+  toPath UpdateDataSourcePermissions' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/data-sources/",+        Data.toBS dataSourceId,+        "/permissions"+      ]++instance Data.ToQuery UpdateDataSourcePermissions where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDataSourcePermissionsResponse' smart constructor.+data UpdateDataSourcePermissionsResponse = UpdateDataSourcePermissionsResponse'+  { -- | The Amazon Resource Name (ARN) of the data source.+    dataSourceArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the data source. This ID is unique per Amazon Web Services+    -- Region for each Amazon Web Services account.+    dataSourceId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDataSourcePermissionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSourceArn', 'updateDataSourcePermissionsResponse_dataSourceArn' - The Amazon Resource Name (ARN) of the data source.+--+-- 'dataSourceId', 'updateDataSourcePermissionsResponse_dataSourceId' - The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+--+-- 'requestId', 'updateDataSourcePermissionsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'updateDataSourcePermissionsResponse_status' - The HTTP status of the request.+newUpdateDataSourcePermissionsResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateDataSourcePermissionsResponse+newUpdateDataSourcePermissionsResponse pStatus_ =+  UpdateDataSourcePermissionsResponse'+    { dataSourceArn =+        Prelude.Nothing,+      dataSourceId = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) of the data source.+updateDataSourcePermissionsResponse_dataSourceArn :: Lens.Lens' UpdateDataSourcePermissionsResponse (Prelude.Maybe Prelude.Text)+updateDataSourcePermissionsResponse_dataSourceArn = Lens.lens (\UpdateDataSourcePermissionsResponse' {dataSourceArn} -> dataSourceArn) (\s@UpdateDataSourcePermissionsResponse' {} a -> s {dataSourceArn = a} :: UpdateDataSourcePermissionsResponse)++-- | The ID of the data source. This ID is unique per Amazon Web Services+-- Region for each Amazon Web Services account.+updateDataSourcePermissionsResponse_dataSourceId :: Lens.Lens' UpdateDataSourcePermissionsResponse (Prelude.Maybe Prelude.Text)+updateDataSourcePermissionsResponse_dataSourceId = Lens.lens (\UpdateDataSourcePermissionsResponse' {dataSourceId} -> dataSourceId) (\s@UpdateDataSourcePermissionsResponse' {} a -> s {dataSourceId = a} :: UpdateDataSourcePermissionsResponse)++-- | The Amazon Web Services request ID for this operation.+updateDataSourcePermissionsResponse_requestId :: Lens.Lens' UpdateDataSourcePermissionsResponse (Prelude.Maybe Prelude.Text)+updateDataSourcePermissionsResponse_requestId = Lens.lens (\UpdateDataSourcePermissionsResponse' {requestId} -> requestId) (\s@UpdateDataSourcePermissionsResponse' {} a -> s {requestId = a} :: UpdateDataSourcePermissionsResponse)++-- | The HTTP status of the request.+updateDataSourcePermissionsResponse_status :: Lens.Lens' UpdateDataSourcePermissionsResponse Prelude.Int+updateDataSourcePermissionsResponse_status = Lens.lens (\UpdateDataSourcePermissionsResponse' {status} -> status) (\s@UpdateDataSourcePermissionsResponse' {} a -> s {status = a} :: UpdateDataSourcePermissionsResponse)++instance+  Prelude.NFData+    UpdateDataSourcePermissionsResponse+  where+  rnf UpdateDataSourcePermissionsResponse' {..} =+    Prelude.rnf dataSourceArn+      `Prelude.seq` Prelude.rnf dataSourceId+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateFolder.hs view
@@ -0,0 +1,226 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.UpdateFolder+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the name of a folder.+module Amazonka.QuickSight.UpdateFolder+  ( -- * Creating a Request+    UpdateFolder (..),+    newUpdateFolder,++    -- * Request Lenses+    updateFolder_awsAccountId,+    updateFolder_folderId,+    updateFolder_name,++    -- * Destructuring the Response+    UpdateFolderResponse (..),+    newUpdateFolderResponse,++    -- * Response Lenses+    updateFolderResponse_arn,+    updateFolderResponse_folderId,+    updateFolderResponse_requestId,+    updateFolderResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateFolder' smart constructor.+data UpdateFolder = UpdateFolder'+  { -- | The ID for the Amazon Web Services account that contains the folder to+    -- update.+    awsAccountId :: Prelude.Text,+    -- | The ID of the folder.+    folderId :: Prelude.Text,+    -- | The name of the folder.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFolder' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'updateFolder_awsAccountId' - The ID for the Amazon Web Services account that contains the folder to+-- update.+--+-- 'folderId', 'updateFolder_folderId' - The ID of the folder.+--+-- 'name', 'updateFolder_name' - The name of the folder.+newUpdateFolder ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'folderId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  UpdateFolder+newUpdateFolder pAwsAccountId_ pFolderId_ pName_ =+  UpdateFolder'+    { awsAccountId = pAwsAccountId_,+      folderId = pFolderId_,+      name = pName_+    }++-- | The ID for the Amazon Web Services account that contains the folder to+-- update.+updateFolder_awsAccountId :: Lens.Lens' UpdateFolder Prelude.Text+updateFolder_awsAccountId = Lens.lens (\UpdateFolder' {awsAccountId} -> awsAccountId) (\s@UpdateFolder' {} a -> s {awsAccountId = a} :: UpdateFolder)++-- | The ID of the folder.+updateFolder_folderId :: Lens.Lens' UpdateFolder Prelude.Text+updateFolder_folderId = Lens.lens (\UpdateFolder' {folderId} -> folderId) (\s@UpdateFolder' {} a -> s {folderId = a} :: UpdateFolder)++-- | The name of the folder.+updateFolder_name :: Lens.Lens' UpdateFolder Prelude.Text+updateFolder_name = Lens.lens (\UpdateFolder' {name} -> name) (\s@UpdateFolder' {} a -> s {name = a} :: UpdateFolder)++instance Core.AWSRequest UpdateFolder where+  type AWSResponse UpdateFolder = UpdateFolderResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateFolderResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "FolderId")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateFolder where+  hashWithSalt _salt UpdateFolder' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` folderId+      `Prelude.hashWithSalt` name++instance Prelude.NFData UpdateFolder where+  rnf UpdateFolder' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf folderId+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders UpdateFolder where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateFolder where+  toJSON UpdateFolder' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Name" Data..= name)]+      )++instance Data.ToPath UpdateFolder where+  toPath UpdateFolder' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/folders/",+        Data.toBS folderId+      ]++instance Data.ToQuery UpdateFolder where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateFolderResponse' smart constructor.+data UpdateFolderResponse = UpdateFolderResponse'+  { -- | The Amazon Resource Name (ARN) of the folder.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the folder.+    folderId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFolderResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'updateFolderResponse_arn' - The Amazon Resource Name (ARN) of the folder.+--+-- 'folderId', 'updateFolderResponse_folderId' - The ID of the folder.+--+-- 'requestId', 'updateFolderResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'updateFolderResponse_status' - The HTTP status of the request.+newUpdateFolderResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateFolderResponse+newUpdateFolderResponse pStatus_ =+  UpdateFolderResponse'+    { arn = Prelude.Nothing,+      folderId = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) of the folder.+updateFolderResponse_arn :: Lens.Lens' UpdateFolderResponse (Prelude.Maybe Prelude.Text)+updateFolderResponse_arn = Lens.lens (\UpdateFolderResponse' {arn} -> arn) (\s@UpdateFolderResponse' {} a -> s {arn = a} :: UpdateFolderResponse)++-- | The ID of the folder.+updateFolderResponse_folderId :: Lens.Lens' UpdateFolderResponse (Prelude.Maybe Prelude.Text)+updateFolderResponse_folderId = Lens.lens (\UpdateFolderResponse' {folderId} -> folderId) (\s@UpdateFolderResponse' {} a -> s {folderId = a} :: UpdateFolderResponse)++-- | The Amazon Web Services request ID for this operation.+updateFolderResponse_requestId :: Lens.Lens' UpdateFolderResponse (Prelude.Maybe Prelude.Text)+updateFolderResponse_requestId = Lens.lens (\UpdateFolderResponse' {requestId} -> requestId) (\s@UpdateFolderResponse' {} a -> s {requestId = a} :: UpdateFolderResponse)++-- | The HTTP status of the request.+updateFolderResponse_status :: Lens.Lens' UpdateFolderResponse Prelude.Int+updateFolderResponse_status = Lens.lens (\UpdateFolderResponse' {status} -> status) (\s@UpdateFolderResponse' {} a -> s {status = a} :: UpdateFolderResponse)++instance Prelude.NFData UpdateFolderResponse where+  rnf UpdateFolderResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf folderId+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateFolderPermissions.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.QuickSight.UpdateFolderPermissions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates permissions of a folder.+module Amazonka.QuickSight.UpdateFolderPermissions+  ( -- * Creating a Request+    UpdateFolderPermissions (..),+    newUpdateFolderPermissions,++    -- * Request Lenses+    updateFolderPermissions_grantPermissions,+    updateFolderPermissions_revokePermissions,+    updateFolderPermissions_awsAccountId,+    updateFolderPermissions_folderId,++    -- * Destructuring the Response+    UpdateFolderPermissionsResponse (..),+    newUpdateFolderPermissionsResponse,++    -- * Response Lenses+    updateFolderPermissionsResponse_arn,+    updateFolderPermissionsResponse_folderId,+    updateFolderPermissionsResponse_permissions,+    updateFolderPermissionsResponse_requestId,+    updateFolderPermissionsResponse_status,+    updateFolderPermissionsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateFolderPermissions' smart constructor.+data UpdateFolderPermissions = UpdateFolderPermissions'+  { -- | The permissions that you want to grant on a resource.+    grantPermissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The permissions that you want to revoke from a resource.+    revokePermissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The ID for the Amazon Web Services account that contains the folder to+    -- update.+    awsAccountId :: Prelude.Text,+    -- | The ID of the folder.+    folderId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFolderPermissions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'grantPermissions', 'updateFolderPermissions_grantPermissions' - The permissions that you want to grant on a resource.+--+-- 'revokePermissions', 'updateFolderPermissions_revokePermissions' - The permissions that you want to revoke from a resource.+--+-- 'awsAccountId', 'updateFolderPermissions_awsAccountId' - The ID for the Amazon Web Services account that contains the folder to+-- update.+--+-- 'folderId', 'updateFolderPermissions_folderId' - The ID of the folder.+newUpdateFolderPermissions ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'folderId'+  Prelude.Text ->+  UpdateFolderPermissions+newUpdateFolderPermissions pAwsAccountId_ pFolderId_ =+  UpdateFolderPermissions'+    { grantPermissions =+        Prelude.Nothing,+      revokePermissions = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      folderId = pFolderId_+    }++-- | The permissions that you want to grant on a resource.+updateFolderPermissions_grantPermissions :: Lens.Lens' UpdateFolderPermissions (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+updateFolderPermissions_grantPermissions = Lens.lens (\UpdateFolderPermissions' {grantPermissions} -> grantPermissions) (\s@UpdateFolderPermissions' {} a -> s {grantPermissions = a} :: UpdateFolderPermissions) Prelude.. Lens.mapping Lens.coerced++-- | The permissions that you want to revoke from a resource.+updateFolderPermissions_revokePermissions :: Lens.Lens' UpdateFolderPermissions (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+updateFolderPermissions_revokePermissions = Lens.lens (\UpdateFolderPermissions' {revokePermissions} -> revokePermissions) (\s@UpdateFolderPermissions' {} a -> s {revokePermissions = a} :: UpdateFolderPermissions) Prelude.. Lens.mapping Lens.coerced++-- | The ID for the Amazon Web Services account that contains the folder to+-- update.+updateFolderPermissions_awsAccountId :: Lens.Lens' UpdateFolderPermissions Prelude.Text+updateFolderPermissions_awsAccountId = Lens.lens (\UpdateFolderPermissions' {awsAccountId} -> awsAccountId) (\s@UpdateFolderPermissions' {} a -> s {awsAccountId = a} :: UpdateFolderPermissions)++-- | The ID of the folder.+updateFolderPermissions_folderId :: Lens.Lens' UpdateFolderPermissions Prelude.Text+updateFolderPermissions_folderId = Lens.lens (\UpdateFolderPermissions' {folderId} -> folderId) (\s@UpdateFolderPermissions' {} a -> s {folderId = a} :: UpdateFolderPermissions)++instance Core.AWSRequest UpdateFolderPermissions where+  type+    AWSResponse UpdateFolderPermissions =+      UpdateFolderPermissionsResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateFolderPermissionsResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "FolderId")+            Prelude.<*> (x Data..?> "Permissions")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateFolderPermissions where+  hashWithSalt _salt UpdateFolderPermissions' {..} =+    _salt+      `Prelude.hashWithSalt` grantPermissions+      `Prelude.hashWithSalt` revokePermissions+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` folderId++instance Prelude.NFData UpdateFolderPermissions where+  rnf UpdateFolderPermissions' {..} =+    Prelude.rnf grantPermissions+      `Prelude.seq` Prelude.rnf revokePermissions+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf folderId++instance Data.ToHeaders UpdateFolderPermissions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateFolderPermissions where+  toJSON UpdateFolderPermissions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("GrantPermissions" Data..=)+              Prelude.<$> grantPermissions,+            ("RevokePermissions" Data..=)+              Prelude.<$> revokePermissions+          ]+      )++instance Data.ToPath UpdateFolderPermissions where+  toPath UpdateFolderPermissions' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/folders/",+        Data.toBS folderId,+        "/permissions"+      ]++instance Data.ToQuery UpdateFolderPermissions where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateFolderPermissionsResponse' smart constructor.+data UpdateFolderPermissionsResponse = UpdateFolderPermissionsResponse'+  { -- | The Amazon Resource Name (ARN) of the folder.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the folder.+    folderId :: Prelude.Maybe Prelude.Text,+    -- | Information about the permissions for the folder.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Maybe Prelude.Int,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFolderPermissionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'updateFolderPermissionsResponse_arn' - The Amazon Resource Name (ARN) of the folder.+--+-- 'folderId', 'updateFolderPermissionsResponse_folderId' - The ID of the folder.+--+-- 'permissions', 'updateFolderPermissionsResponse_permissions' - Information about the permissions for the folder.+--+-- 'requestId', 'updateFolderPermissionsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'updateFolderPermissionsResponse_status' - The HTTP status of the request.+--+-- 'httpStatus', 'updateFolderPermissionsResponse_httpStatus' - The response's http status code.+newUpdateFolderPermissionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateFolderPermissionsResponse+newUpdateFolderPermissionsResponse pHttpStatus_ =+  UpdateFolderPermissionsResponse'+    { arn =+        Prelude.Nothing,+      folderId = Prelude.Nothing,+      permissions = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the folder.+updateFolderPermissionsResponse_arn :: Lens.Lens' UpdateFolderPermissionsResponse (Prelude.Maybe Prelude.Text)+updateFolderPermissionsResponse_arn = Lens.lens (\UpdateFolderPermissionsResponse' {arn} -> arn) (\s@UpdateFolderPermissionsResponse' {} a -> s {arn = a} :: UpdateFolderPermissionsResponse)++-- | The ID of the folder.+updateFolderPermissionsResponse_folderId :: Lens.Lens' UpdateFolderPermissionsResponse (Prelude.Maybe Prelude.Text)+updateFolderPermissionsResponse_folderId = Lens.lens (\UpdateFolderPermissionsResponse' {folderId} -> folderId) (\s@UpdateFolderPermissionsResponse' {} a -> s {folderId = a} :: UpdateFolderPermissionsResponse)++-- | Information about the permissions for the folder.+updateFolderPermissionsResponse_permissions :: Lens.Lens' UpdateFolderPermissionsResponse (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+updateFolderPermissionsResponse_permissions = Lens.lens (\UpdateFolderPermissionsResponse' {permissions} -> permissions) (\s@UpdateFolderPermissionsResponse' {} a -> s {permissions = a} :: UpdateFolderPermissionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services request ID for this operation.+updateFolderPermissionsResponse_requestId :: Lens.Lens' UpdateFolderPermissionsResponse (Prelude.Maybe Prelude.Text)+updateFolderPermissionsResponse_requestId = Lens.lens (\UpdateFolderPermissionsResponse' {requestId} -> requestId) (\s@UpdateFolderPermissionsResponse' {} a -> s {requestId = a} :: UpdateFolderPermissionsResponse)++-- | The HTTP status of the request.+updateFolderPermissionsResponse_status :: Lens.Lens' UpdateFolderPermissionsResponse (Prelude.Maybe Prelude.Int)+updateFolderPermissionsResponse_status = Lens.lens (\UpdateFolderPermissionsResponse' {status} -> status) (\s@UpdateFolderPermissionsResponse' {} a -> s {status = a} :: UpdateFolderPermissionsResponse)++-- | The response's http status code.+updateFolderPermissionsResponse_httpStatus :: Lens.Lens' UpdateFolderPermissionsResponse Prelude.Int+updateFolderPermissionsResponse_httpStatus = Lens.lens (\UpdateFolderPermissionsResponse' {httpStatus} -> httpStatus) (\s@UpdateFolderPermissionsResponse' {} a -> s {httpStatus = a} :: UpdateFolderPermissionsResponse)++instance+  Prelude.NFData+    UpdateFolderPermissionsResponse+  where+  rnf UpdateFolderPermissionsResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf folderId+      `Prelude.seq` Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/QuickSight/UpdateGroup.hs view
@@ -0,0 +1,231 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.UpdateGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Changes a group description.+module Amazonka.QuickSight.UpdateGroup+  ( -- * Creating a Request+    UpdateGroup (..),+    newUpdateGroup,++    -- * Request Lenses+    updateGroup_description,+    updateGroup_groupName,+    updateGroup_awsAccountId,+    updateGroup_namespace,++    -- * Destructuring the Response+    UpdateGroupResponse (..),+    newUpdateGroupResponse,++    -- * Response Lenses+    updateGroupResponse_group,+    updateGroupResponse_requestId,+    updateGroupResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateGroup' smart constructor.+data UpdateGroup = UpdateGroup'+  { -- | The description for the group that you want to update.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the group that you want to update.+    groupName :: Prelude.Text,+    -- | The ID for the Amazon Web Services account that the group is in.+    -- Currently, you use the ID for the Amazon Web Services account that+    -- contains your Amazon QuickSight account.+    awsAccountId :: Prelude.Text,+    -- | The namespace of the group that you want to update.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updateGroup_description' - The description for the group that you want to update.+--+-- 'groupName', 'updateGroup_groupName' - The name of the group that you want to update.+--+-- 'awsAccountId', 'updateGroup_awsAccountId' - The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+--+-- 'namespace', 'updateGroup_namespace' - The namespace of the group that you want to update.+newUpdateGroup ::+  -- | 'groupName'+  Prelude.Text ->+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  UpdateGroup+newUpdateGroup pGroupName_ pAwsAccountId_ pNamespace_ =+  UpdateGroup'+    { description = Prelude.Nothing,+      groupName = pGroupName_,+      awsAccountId = pAwsAccountId_,+      namespace = pNamespace_+    }++-- | The description for the group that you want to update.+updateGroup_description :: Lens.Lens' UpdateGroup (Prelude.Maybe Prelude.Text)+updateGroup_description = Lens.lens (\UpdateGroup' {description} -> description) (\s@UpdateGroup' {} a -> s {description = a} :: UpdateGroup)++-- | The name of the group that you want to update.+updateGroup_groupName :: Lens.Lens' UpdateGroup Prelude.Text+updateGroup_groupName = Lens.lens (\UpdateGroup' {groupName} -> groupName) (\s@UpdateGroup' {} a -> s {groupName = a} :: UpdateGroup)++-- | The ID for the Amazon Web Services account that the group is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+updateGroup_awsAccountId :: Lens.Lens' UpdateGroup Prelude.Text+updateGroup_awsAccountId = Lens.lens (\UpdateGroup' {awsAccountId} -> awsAccountId) (\s@UpdateGroup' {} a -> s {awsAccountId = a} :: UpdateGroup)++-- | The namespace of the group that you want to update.+updateGroup_namespace :: Lens.Lens' UpdateGroup Prelude.Text+updateGroup_namespace = Lens.lens (\UpdateGroup' {namespace} -> namespace) (\s@UpdateGroup' {} a -> s {namespace = a} :: UpdateGroup)++instance Core.AWSRequest UpdateGroup where+  type AWSResponse UpdateGroup = UpdateGroupResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateGroupResponse'+            Prelude.<$> (x Data..?> "Group")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateGroup where+  hashWithSalt _salt UpdateGroup' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` groupName+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData UpdateGroup where+  rnf UpdateGroup' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf groupName+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders UpdateGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateGroup where+  toJSON UpdateGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Description" Data..=) Prelude.<$> description]+      )++instance Data.ToPath UpdateGroup where+  toPath UpdateGroup' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/groups/",+        Data.toBS groupName+      ]++instance Data.ToQuery UpdateGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateGroupResponse' smart constructor.+data UpdateGroupResponse = UpdateGroupResponse'+  { -- | The name of the group.+    group' :: Prelude.Maybe Group,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'group'', 'updateGroupResponse_group' - The name of the group.+--+-- 'requestId', 'updateGroupResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'updateGroupResponse_status' - The HTTP status of the request.+newUpdateGroupResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateGroupResponse+newUpdateGroupResponse pStatus_ =+  UpdateGroupResponse'+    { group' = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The name of the group.+updateGroupResponse_group :: Lens.Lens' UpdateGroupResponse (Prelude.Maybe Group)+updateGroupResponse_group = Lens.lens (\UpdateGroupResponse' {group'} -> group') (\s@UpdateGroupResponse' {} a -> s {group' = a} :: UpdateGroupResponse)++-- | The Amazon Web Services request ID for this operation.+updateGroupResponse_requestId :: Lens.Lens' UpdateGroupResponse (Prelude.Maybe Prelude.Text)+updateGroupResponse_requestId = Lens.lens (\UpdateGroupResponse' {requestId} -> requestId) (\s@UpdateGroupResponse' {} a -> s {requestId = a} :: UpdateGroupResponse)++-- | The HTTP status of the request.+updateGroupResponse_status :: Lens.Lens' UpdateGroupResponse Prelude.Int+updateGroupResponse_status = Lens.lens (\UpdateGroupResponse' {status} -> status) (\s@UpdateGroupResponse' {} a -> s {status = a} :: UpdateGroupResponse)++instance Prelude.NFData UpdateGroupResponse where+  rnf UpdateGroupResponse' {..} =+    Prelude.rnf group'+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateIAMPolicyAssignment.hs view
@@ -0,0 +1,385 @@+{-# 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.QuickSight.UpdateIAMPolicyAssignment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing IAM policy assignment. This operation updates only+-- the optional parameter or parameters that are specified in the request.+-- This overwrites all of the users included in @Identities@.+module Amazonka.QuickSight.UpdateIAMPolicyAssignment+  ( -- * Creating a Request+    UpdateIAMPolicyAssignment (..),+    newUpdateIAMPolicyAssignment,++    -- * Request Lenses+    updateIAMPolicyAssignment_assignmentStatus,+    updateIAMPolicyAssignment_identities,+    updateIAMPolicyAssignment_policyArn,+    updateIAMPolicyAssignment_awsAccountId,+    updateIAMPolicyAssignment_assignmentName,+    updateIAMPolicyAssignment_namespace,++    -- * Destructuring the Response+    UpdateIAMPolicyAssignmentResponse (..),+    newUpdateIAMPolicyAssignmentResponse,++    -- * Response Lenses+    updateIAMPolicyAssignmentResponse_assignmentId,+    updateIAMPolicyAssignmentResponse_assignmentName,+    updateIAMPolicyAssignmentResponse_assignmentStatus,+    updateIAMPolicyAssignmentResponse_identities,+    updateIAMPolicyAssignmentResponse_policyArn,+    updateIAMPolicyAssignmentResponse_requestId,+    updateIAMPolicyAssignmentResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateIAMPolicyAssignment' smart constructor.+data UpdateIAMPolicyAssignment = UpdateIAMPolicyAssignment'+  { -- | The status of the assignment. Possible values are as follows:+    --+    -- -   @ENABLED@ - Anything specified in this assignment is used when+    --     creating the data source.+    --+    -- -   @DISABLED@ - This assignment isn\'t used when creating the data+    --     source.+    --+    -- -   @DRAFT@ - This assignment is an unfinished draft and isn\'t used+    --     when creating the data source.+    assignmentStatus :: Prelude.Maybe AssignmentStatus,+    -- | The Amazon QuickSight users, groups, or both that you want to assign the+    -- policy to.+    identities :: Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]),+    -- | The ARN for the IAM policy to apply to the Amazon QuickSight users and+    -- groups specified in this assignment.+    policyArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account that contains the IAM policy+    -- assignment.+    awsAccountId :: Prelude.Text,+    -- | The name of the assignment, also called a rule. This name must be unique+    -- within an Amazon Web Services account.+    assignmentName :: Prelude.Text,+    -- | The namespace of the assignment.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateIAMPolicyAssignment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assignmentStatus', 'updateIAMPolicyAssignment_assignmentStatus' - The status of the assignment. Possible values are as follows:+--+-- -   @ENABLED@ - Anything specified in this assignment is used when+--     creating the data source.+--+-- -   @DISABLED@ - This assignment isn\'t used when creating the data+--     source.+--+-- -   @DRAFT@ - This assignment is an unfinished draft and isn\'t used+--     when creating the data source.+--+-- 'identities', 'updateIAMPolicyAssignment_identities' - The Amazon QuickSight users, groups, or both that you want to assign the+-- policy to.+--+-- 'policyArn', 'updateIAMPolicyAssignment_policyArn' - The ARN for the IAM policy to apply to the Amazon QuickSight users and+-- groups specified in this assignment.+--+-- 'awsAccountId', 'updateIAMPolicyAssignment_awsAccountId' - The ID of the Amazon Web Services account that contains the IAM policy+-- assignment.+--+-- 'assignmentName', 'updateIAMPolicyAssignment_assignmentName' - The name of the assignment, also called a rule. This name must be unique+-- within an Amazon Web Services account.+--+-- 'namespace', 'updateIAMPolicyAssignment_namespace' - The namespace of the assignment.+newUpdateIAMPolicyAssignment ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'assignmentName'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  UpdateIAMPolicyAssignment+newUpdateIAMPolicyAssignment+  pAwsAccountId_+  pAssignmentName_+  pNamespace_ =+    UpdateIAMPolicyAssignment'+      { assignmentStatus =+          Prelude.Nothing,+        identities = Prelude.Nothing,+        policyArn = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        assignmentName = pAssignmentName_,+        namespace = pNamespace_+      }++-- | The status of the assignment. Possible values are as follows:+--+-- -   @ENABLED@ - Anything specified in this assignment is used when+--     creating the data source.+--+-- -   @DISABLED@ - This assignment isn\'t used when creating the data+--     source.+--+-- -   @DRAFT@ - This assignment is an unfinished draft and isn\'t used+--     when creating the data source.+updateIAMPolicyAssignment_assignmentStatus :: Lens.Lens' UpdateIAMPolicyAssignment (Prelude.Maybe AssignmentStatus)+updateIAMPolicyAssignment_assignmentStatus = Lens.lens (\UpdateIAMPolicyAssignment' {assignmentStatus} -> assignmentStatus) (\s@UpdateIAMPolicyAssignment' {} a -> s {assignmentStatus = a} :: UpdateIAMPolicyAssignment)++-- | The Amazon QuickSight users, groups, or both that you want to assign the+-- policy to.+updateIAMPolicyAssignment_identities :: Lens.Lens' UpdateIAMPolicyAssignment (Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]))+updateIAMPolicyAssignment_identities = Lens.lens (\UpdateIAMPolicyAssignment' {identities} -> identities) (\s@UpdateIAMPolicyAssignment' {} a -> s {identities = a} :: UpdateIAMPolicyAssignment) Prelude.. Lens.mapping Lens.coerced++-- | The ARN for the IAM policy to apply to the Amazon QuickSight users and+-- groups specified in this assignment.+updateIAMPolicyAssignment_policyArn :: Lens.Lens' UpdateIAMPolicyAssignment (Prelude.Maybe Prelude.Text)+updateIAMPolicyAssignment_policyArn = Lens.lens (\UpdateIAMPolicyAssignment' {policyArn} -> policyArn) (\s@UpdateIAMPolicyAssignment' {} a -> s {policyArn = a} :: UpdateIAMPolicyAssignment)++-- | The ID of the Amazon Web Services account that contains the IAM policy+-- assignment.+updateIAMPolicyAssignment_awsAccountId :: Lens.Lens' UpdateIAMPolicyAssignment Prelude.Text+updateIAMPolicyAssignment_awsAccountId = Lens.lens (\UpdateIAMPolicyAssignment' {awsAccountId} -> awsAccountId) (\s@UpdateIAMPolicyAssignment' {} a -> s {awsAccountId = a} :: UpdateIAMPolicyAssignment)++-- | The name of the assignment, also called a rule. This name must be unique+-- within an Amazon Web Services account.+updateIAMPolicyAssignment_assignmentName :: Lens.Lens' UpdateIAMPolicyAssignment Prelude.Text+updateIAMPolicyAssignment_assignmentName = Lens.lens (\UpdateIAMPolicyAssignment' {assignmentName} -> assignmentName) (\s@UpdateIAMPolicyAssignment' {} a -> s {assignmentName = a} :: UpdateIAMPolicyAssignment)++-- | The namespace of the assignment.+updateIAMPolicyAssignment_namespace :: Lens.Lens' UpdateIAMPolicyAssignment Prelude.Text+updateIAMPolicyAssignment_namespace = Lens.lens (\UpdateIAMPolicyAssignment' {namespace} -> namespace) (\s@UpdateIAMPolicyAssignment' {} a -> s {namespace = a} :: UpdateIAMPolicyAssignment)++instance Core.AWSRequest UpdateIAMPolicyAssignment where+  type+    AWSResponse UpdateIAMPolicyAssignment =+      UpdateIAMPolicyAssignmentResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateIAMPolicyAssignmentResponse'+            Prelude.<$> (x Data..?> "AssignmentId")+            Prelude.<*> (x Data..?> "AssignmentName")+            Prelude.<*> (x Data..?> "AssignmentStatus")+            Prelude.<*> (x Data..?> "Identities" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "PolicyArn")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateIAMPolicyAssignment where+  hashWithSalt _salt UpdateIAMPolicyAssignment' {..} =+    _salt+      `Prelude.hashWithSalt` assignmentStatus+      `Prelude.hashWithSalt` identities+      `Prelude.hashWithSalt` policyArn+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` assignmentName+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData UpdateIAMPolicyAssignment where+  rnf UpdateIAMPolicyAssignment' {..} =+    Prelude.rnf assignmentStatus+      `Prelude.seq` Prelude.rnf identities+      `Prelude.seq` Prelude.rnf policyArn+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf assignmentName+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders UpdateIAMPolicyAssignment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateIAMPolicyAssignment where+  toJSON UpdateIAMPolicyAssignment' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AssignmentStatus" Data..=)+              Prelude.<$> assignmentStatus,+            ("Identities" Data..=) Prelude.<$> identities,+            ("PolicyArn" Data..=) Prelude.<$> policyArn+          ]+      )++instance Data.ToPath UpdateIAMPolicyAssignment where+  toPath UpdateIAMPolicyAssignment' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/iam-policy-assignments/",+        Data.toBS assignmentName+      ]++instance Data.ToQuery UpdateIAMPolicyAssignment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateIAMPolicyAssignmentResponse' smart constructor.+data UpdateIAMPolicyAssignmentResponse = UpdateIAMPolicyAssignmentResponse'+  { -- | The ID of the assignment.+    assignmentId :: Prelude.Maybe Prelude.Text,+    -- | The name of the assignment or rule.+    assignmentName :: Prelude.Maybe Prelude.Text,+    -- | The status of the assignment. Possible values are as follows:+    --+    -- -   @ENABLED@ - Anything specified in this assignment is used when+    --     creating the data source.+    --+    -- -   @DISABLED@ - This assignment isn\'t used when creating the data+    --     source.+    --+    -- -   @DRAFT@ - This assignment is an unfinished draft and isn\'t used+    --     when creating the data source.+    assignmentStatus :: Prelude.Maybe AssignmentStatus,+    -- | The Amazon QuickSight users, groups, or both that the IAM policy is+    -- assigned to.+    identities :: Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]),+    -- | The ARN for the IAM policy applied to the Amazon QuickSight users and+    -- groups specified in this assignment.+    policyArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateIAMPolicyAssignmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assignmentId', 'updateIAMPolicyAssignmentResponse_assignmentId' - The ID of the assignment.+--+-- 'assignmentName', 'updateIAMPolicyAssignmentResponse_assignmentName' - The name of the assignment or rule.+--+-- 'assignmentStatus', 'updateIAMPolicyAssignmentResponse_assignmentStatus' - The status of the assignment. Possible values are as follows:+--+-- -   @ENABLED@ - Anything specified in this assignment is used when+--     creating the data source.+--+-- -   @DISABLED@ - This assignment isn\'t used when creating the data+--     source.+--+-- -   @DRAFT@ - This assignment is an unfinished draft and isn\'t used+--     when creating the data source.+--+-- 'identities', 'updateIAMPolicyAssignmentResponse_identities' - The Amazon QuickSight users, groups, or both that the IAM policy is+-- assigned to.+--+-- 'policyArn', 'updateIAMPolicyAssignmentResponse_policyArn' - The ARN for the IAM policy applied to the Amazon QuickSight users and+-- groups specified in this assignment.+--+-- 'requestId', 'updateIAMPolicyAssignmentResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'updateIAMPolicyAssignmentResponse_status' - The HTTP status of the request.+newUpdateIAMPolicyAssignmentResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateIAMPolicyAssignmentResponse+newUpdateIAMPolicyAssignmentResponse pStatus_ =+  UpdateIAMPolicyAssignmentResponse'+    { assignmentId =+        Prelude.Nothing,+      assignmentName = Prelude.Nothing,+      assignmentStatus = Prelude.Nothing,+      identities = Prelude.Nothing,+      policyArn = Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The ID of the assignment.+updateIAMPolicyAssignmentResponse_assignmentId :: Lens.Lens' UpdateIAMPolicyAssignmentResponse (Prelude.Maybe Prelude.Text)+updateIAMPolicyAssignmentResponse_assignmentId = Lens.lens (\UpdateIAMPolicyAssignmentResponse' {assignmentId} -> assignmentId) (\s@UpdateIAMPolicyAssignmentResponse' {} a -> s {assignmentId = a} :: UpdateIAMPolicyAssignmentResponse)++-- | The name of the assignment or rule.+updateIAMPolicyAssignmentResponse_assignmentName :: Lens.Lens' UpdateIAMPolicyAssignmentResponse (Prelude.Maybe Prelude.Text)+updateIAMPolicyAssignmentResponse_assignmentName = Lens.lens (\UpdateIAMPolicyAssignmentResponse' {assignmentName} -> assignmentName) (\s@UpdateIAMPolicyAssignmentResponse' {} a -> s {assignmentName = a} :: UpdateIAMPolicyAssignmentResponse)++-- | The status of the assignment. Possible values are as follows:+--+-- -   @ENABLED@ - Anything specified in this assignment is used when+--     creating the data source.+--+-- -   @DISABLED@ - This assignment isn\'t used when creating the data+--     source.+--+-- -   @DRAFT@ - This assignment is an unfinished draft and isn\'t used+--     when creating the data source.+updateIAMPolicyAssignmentResponse_assignmentStatus :: Lens.Lens' UpdateIAMPolicyAssignmentResponse (Prelude.Maybe AssignmentStatus)+updateIAMPolicyAssignmentResponse_assignmentStatus = Lens.lens (\UpdateIAMPolicyAssignmentResponse' {assignmentStatus} -> assignmentStatus) (\s@UpdateIAMPolicyAssignmentResponse' {} a -> s {assignmentStatus = a} :: UpdateIAMPolicyAssignmentResponse)++-- | The Amazon QuickSight users, groups, or both that the IAM policy is+-- assigned to.+updateIAMPolicyAssignmentResponse_identities :: Lens.Lens' UpdateIAMPolicyAssignmentResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]))+updateIAMPolicyAssignmentResponse_identities = Lens.lens (\UpdateIAMPolicyAssignmentResponse' {identities} -> identities) (\s@UpdateIAMPolicyAssignmentResponse' {} a -> s {identities = a} :: UpdateIAMPolicyAssignmentResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ARN for the IAM policy applied to the Amazon QuickSight users and+-- groups specified in this assignment.+updateIAMPolicyAssignmentResponse_policyArn :: Lens.Lens' UpdateIAMPolicyAssignmentResponse (Prelude.Maybe Prelude.Text)+updateIAMPolicyAssignmentResponse_policyArn = Lens.lens (\UpdateIAMPolicyAssignmentResponse' {policyArn} -> policyArn) (\s@UpdateIAMPolicyAssignmentResponse' {} a -> s {policyArn = a} :: UpdateIAMPolicyAssignmentResponse)++-- | The Amazon Web Services request ID for this operation.+updateIAMPolicyAssignmentResponse_requestId :: Lens.Lens' UpdateIAMPolicyAssignmentResponse (Prelude.Maybe Prelude.Text)+updateIAMPolicyAssignmentResponse_requestId = Lens.lens (\UpdateIAMPolicyAssignmentResponse' {requestId} -> requestId) (\s@UpdateIAMPolicyAssignmentResponse' {} a -> s {requestId = a} :: UpdateIAMPolicyAssignmentResponse)++-- | The HTTP status of the request.+updateIAMPolicyAssignmentResponse_status :: Lens.Lens' UpdateIAMPolicyAssignmentResponse Prelude.Int+updateIAMPolicyAssignmentResponse_status = Lens.lens (\UpdateIAMPolicyAssignmentResponse' {status} -> status) (\s@UpdateIAMPolicyAssignmentResponse' {} a -> s {status = a} :: UpdateIAMPolicyAssignmentResponse)++instance+  Prelude.NFData+    UpdateIAMPolicyAssignmentResponse+  where+  rnf UpdateIAMPolicyAssignmentResponse' {..} =+    Prelude.rnf assignmentId+      `Prelude.seq` Prelude.rnf assignmentName+      `Prelude.seq` Prelude.rnf assignmentStatus+      `Prelude.seq` Prelude.rnf identities+      `Prelude.seq` Prelude.rnf policyArn+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateIpRestriction.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.QuickSight.UpdateIpRestriction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the content and status of IP rules. To use this operation, you+-- need to provide the entire map of rules. You can use the+-- @DescribeIpRestriction@ operation to get the current rule map.+module Amazonka.QuickSight.UpdateIpRestriction+  ( -- * Creating a Request+    UpdateIpRestriction (..),+    newUpdateIpRestriction,++    -- * Request Lenses+    updateIpRestriction_enabled,+    updateIpRestriction_ipRestrictionRuleMap,+    updateIpRestriction_awsAccountId,++    -- * Destructuring the Response+    UpdateIpRestrictionResponse (..),+    newUpdateIpRestrictionResponse,++    -- * Response Lenses+    updateIpRestrictionResponse_awsAccountId,+    updateIpRestrictionResponse_requestId,+    updateIpRestrictionResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateIpRestriction' smart constructor.+data UpdateIpRestriction = UpdateIpRestriction'+  { -- | A value that specifies whether IP rules are turned on.+    enabled :: Prelude.Maybe Prelude.Bool,+    -- | A map that describes the updated IP rules with CIDR ranges and+    -- descriptions.+    ipRestrictionRuleMap :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The ID of the Amazon Web Services account that contains the IP rules.+    awsAccountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateIpRestriction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateIpRestriction_enabled' - A value that specifies whether IP rules are turned on.+--+-- 'ipRestrictionRuleMap', 'updateIpRestriction_ipRestrictionRuleMap' - A map that describes the updated IP rules with CIDR ranges and+-- descriptions.+--+-- 'awsAccountId', 'updateIpRestriction_awsAccountId' - The ID of the Amazon Web Services account that contains the IP rules.+newUpdateIpRestriction ::+  -- | 'awsAccountId'+  Prelude.Text ->+  UpdateIpRestriction+newUpdateIpRestriction pAwsAccountId_ =+  UpdateIpRestriction'+    { enabled = Prelude.Nothing,+      ipRestrictionRuleMap = Prelude.Nothing,+      awsAccountId = pAwsAccountId_+    }++-- | A value that specifies whether IP rules are turned on.+updateIpRestriction_enabled :: Lens.Lens' UpdateIpRestriction (Prelude.Maybe Prelude.Bool)+updateIpRestriction_enabled = Lens.lens (\UpdateIpRestriction' {enabled} -> enabled) (\s@UpdateIpRestriction' {} a -> s {enabled = a} :: UpdateIpRestriction)++-- | A map that describes the updated IP rules with CIDR ranges and+-- descriptions.+updateIpRestriction_ipRestrictionRuleMap :: Lens.Lens' UpdateIpRestriction (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateIpRestriction_ipRestrictionRuleMap = Lens.lens (\UpdateIpRestriction' {ipRestrictionRuleMap} -> ipRestrictionRuleMap) (\s@UpdateIpRestriction' {} a -> s {ipRestrictionRuleMap = a} :: UpdateIpRestriction) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the Amazon Web Services account that contains the IP rules.+updateIpRestriction_awsAccountId :: Lens.Lens' UpdateIpRestriction Prelude.Text+updateIpRestriction_awsAccountId = Lens.lens (\UpdateIpRestriction' {awsAccountId} -> awsAccountId) (\s@UpdateIpRestriction' {} a -> s {awsAccountId = a} :: UpdateIpRestriction)++instance Core.AWSRequest UpdateIpRestriction where+  type+    AWSResponse UpdateIpRestriction =+      UpdateIpRestrictionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateIpRestrictionResponse'+            Prelude.<$> (x Data..?> "AwsAccountId")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateIpRestriction where+  hashWithSalt _salt UpdateIpRestriction' {..} =+    _salt+      `Prelude.hashWithSalt` enabled+      `Prelude.hashWithSalt` ipRestrictionRuleMap+      `Prelude.hashWithSalt` awsAccountId++instance Prelude.NFData UpdateIpRestriction where+  rnf UpdateIpRestriction' {..} =+    Prelude.rnf enabled+      `Prelude.seq` Prelude.rnf ipRestrictionRuleMap+      `Prelude.seq` Prelude.rnf awsAccountId++instance Data.ToHeaders UpdateIpRestriction where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateIpRestriction where+  toJSON UpdateIpRestriction' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Enabled" Data..=) Prelude.<$> enabled,+            ("IpRestrictionRuleMap" Data..=)+              Prelude.<$> ipRestrictionRuleMap+          ]+      )++instance Data.ToPath UpdateIpRestriction where+  toPath UpdateIpRestriction' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/ip-restriction"+      ]++instance Data.ToQuery UpdateIpRestriction where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateIpRestrictionResponse' smart constructor.+data UpdateIpRestrictionResponse = UpdateIpRestrictionResponse'+  { -- | The ID of the Amazon Web Services account that contains the IP rules.+    awsAccountId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateIpRestrictionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'updateIpRestrictionResponse_awsAccountId' - The ID of the Amazon Web Services account that contains the IP rules.+--+-- 'requestId', 'updateIpRestrictionResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'updateIpRestrictionResponse_status' - The HTTP status of the request.+newUpdateIpRestrictionResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateIpRestrictionResponse+newUpdateIpRestrictionResponse pStatus_ =+  UpdateIpRestrictionResponse'+    { awsAccountId =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      status = pStatus_+    }++-- | The ID of the Amazon Web Services account that contains the IP rules.+updateIpRestrictionResponse_awsAccountId :: Lens.Lens' UpdateIpRestrictionResponse (Prelude.Maybe Prelude.Text)+updateIpRestrictionResponse_awsAccountId = Lens.lens (\UpdateIpRestrictionResponse' {awsAccountId} -> awsAccountId) (\s@UpdateIpRestrictionResponse' {} a -> s {awsAccountId = a} :: UpdateIpRestrictionResponse)++-- | The Amazon Web Services request ID for this operation.+updateIpRestrictionResponse_requestId :: Lens.Lens' UpdateIpRestrictionResponse (Prelude.Maybe Prelude.Text)+updateIpRestrictionResponse_requestId = Lens.lens (\UpdateIpRestrictionResponse' {requestId} -> requestId) (\s@UpdateIpRestrictionResponse' {} a -> s {requestId = a} :: UpdateIpRestrictionResponse)++-- | The HTTP status of the request.+updateIpRestrictionResponse_status :: Lens.Lens' UpdateIpRestrictionResponse Prelude.Int+updateIpRestrictionResponse_status = Lens.lens (\UpdateIpRestrictionResponse' {status} -> status) (\s@UpdateIpRestrictionResponse' {} a -> s {status = a} :: UpdateIpRestrictionResponse)++instance Prelude.NFData UpdateIpRestrictionResponse where+  rnf UpdateIpRestrictionResponse' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdatePublicSharingSettings.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.QuickSight.UpdatePublicSharingSettings+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use the @UpdatePublicSharingSettings@ operation to turn on or turn off+-- the public sharing settings of an Amazon QuickSight dashboard.+--+-- To use this operation, turn on session capacity pricing for your Amazon+-- QuickSight account.+--+-- Before you can turn on public sharing on your account, make sure to give+-- public sharing permissions to an administrative user in the Identity and+-- Access Management (IAM) console. For more information on using IAM with+-- Amazon QuickSight, see+-- <https://docs.aws.amazon.com/quicksight/latest/user/security_iam_service-with-iam.html Using Amazon QuickSight with IAM>+-- in the /Amazon QuickSight User Guide/.+module Amazonka.QuickSight.UpdatePublicSharingSettings+  ( -- * Creating a Request+    UpdatePublicSharingSettings (..),+    newUpdatePublicSharingSettings,++    -- * Request Lenses+    updatePublicSharingSettings_publicSharingEnabled,+    updatePublicSharingSettings_awsAccountId,++    -- * Destructuring the Response+    UpdatePublicSharingSettingsResponse (..),+    newUpdatePublicSharingSettingsResponse,++    -- * Response Lenses+    updatePublicSharingSettingsResponse_requestId,+    updatePublicSharingSettingsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdatePublicSharingSettings' smart constructor.+data UpdatePublicSharingSettings = UpdatePublicSharingSettings'+  { -- | A Boolean value that indicates whether public sharing is turned on for+    -- an Amazon QuickSight account.+    publicSharingEnabled :: Prelude.Maybe Prelude.Bool,+    -- | The Amazon Web Services account ID associated with your Amazon+    -- QuickSight subscription.+    awsAccountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePublicSharingSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'publicSharingEnabled', 'updatePublicSharingSettings_publicSharingEnabled' - A Boolean value that indicates whether public sharing is turned on for+-- an Amazon QuickSight account.+--+-- 'awsAccountId', 'updatePublicSharingSettings_awsAccountId' - The Amazon Web Services account ID associated with your Amazon+-- QuickSight subscription.+newUpdatePublicSharingSettings ::+  -- | 'awsAccountId'+  Prelude.Text ->+  UpdatePublicSharingSettings+newUpdatePublicSharingSettings pAwsAccountId_ =+  UpdatePublicSharingSettings'+    { publicSharingEnabled =+        Prelude.Nothing,+      awsAccountId = pAwsAccountId_+    }++-- | A Boolean value that indicates whether public sharing is turned on for+-- an Amazon QuickSight account.+updatePublicSharingSettings_publicSharingEnabled :: Lens.Lens' UpdatePublicSharingSettings (Prelude.Maybe Prelude.Bool)+updatePublicSharingSettings_publicSharingEnabled = Lens.lens (\UpdatePublicSharingSettings' {publicSharingEnabled} -> publicSharingEnabled) (\s@UpdatePublicSharingSettings' {} a -> s {publicSharingEnabled = a} :: UpdatePublicSharingSettings)++-- | The Amazon Web Services account ID associated with your Amazon+-- QuickSight subscription.+updatePublicSharingSettings_awsAccountId :: Lens.Lens' UpdatePublicSharingSettings Prelude.Text+updatePublicSharingSettings_awsAccountId = Lens.lens (\UpdatePublicSharingSettings' {awsAccountId} -> awsAccountId) (\s@UpdatePublicSharingSettings' {} a -> s {awsAccountId = a} :: UpdatePublicSharingSettings)++instance Core.AWSRequest UpdatePublicSharingSettings where+  type+    AWSResponse UpdatePublicSharingSettings =+      UpdatePublicSharingSettingsResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdatePublicSharingSettingsResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdatePublicSharingSettings where+  hashWithSalt _salt UpdatePublicSharingSettings' {..} =+    _salt+      `Prelude.hashWithSalt` publicSharingEnabled+      `Prelude.hashWithSalt` awsAccountId++instance Prelude.NFData UpdatePublicSharingSettings where+  rnf UpdatePublicSharingSettings' {..} =+    Prelude.rnf publicSharingEnabled+      `Prelude.seq` Prelude.rnf awsAccountId++instance Data.ToHeaders UpdatePublicSharingSettings where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdatePublicSharingSettings where+  toJSON UpdatePublicSharingSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PublicSharingEnabled" Data..=)+              Prelude.<$> publicSharingEnabled+          ]+      )++instance Data.ToPath UpdatePublicSharingSettings where+  toPath UpdatePublicSharingSettings' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/public-sharing-settings"+      ]++instance Data.ToQuery UpdatePublicSharingSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdatePublicSharingSettingsResponse' smart constructor.+data UpdatePublicSharingSettingsResponse = UpdatePublicSharingSettingsResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePublicSharingSettingsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'updatePublicSharingSettingsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'status', 'updatePublicSharingSettingsResponse_status' - The HTTP status of the request.+newUpdatePublicSharingSettingsResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdatePublicSharingSettingsResponse+newUpdatePublicSharingSettingsResponse pStatus_ =+  UpdatePublicSharingSettingsResponse'+    { requestId =+        Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+updatePublicSharingSettingsResponse_requestId :: Lens.Lens' UpdatePublicSharingSettingsResponse (Prelude.Maybe Prelude.Text)+updatePublicSharingSettingsResponse_requestId = Lens.lens (\UpdatePublicSharingSettingsResponse' {requestId} -> requestId) (\s@UpdatePublicSharingSettingsResponse' {} a -> s {requestId = a} :: UpdatePublicSharingSettingsResponse)++-- | The HTTP status of the request.+updatePublicSharingSettingsResponse_status :: Lens.Lens' UpdatePublicSharingSettingsResponse Prelude.Int+updatePublicSharingSettingsResponse_status = Lens.lens (\UpdatePublicSharingSettingsResponse' {status} -> status) (\s@UpdatePublicSharingSettingsResponse' {} a -> s {status = a} :: UpdatePublicSharingSettingsResponse)++instance+  Prelude.NFData+    UpdatePublicSharingSettingsResponse+  where+  rnf UpdatePublicSharingSettingsResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateTemplate.hs view
@@ -0,0 +1,349 @@+{-# 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.QuickSight.UpdateTemplate+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a template from an existing Amazon QuickSight analysis or+-- another template.+module Amazonka.QuickSight.UpdateTemplate+  ( -- * Creating a Request+    UpdateTemplate (..),+    newUpdateTemplate,++    -- * Request Lenses+    updateTemplate_definition,+    updateTemplate_name,+    updateTemplate_sourceEntity,+    updateTemplate_versionDescription,+    updateTemplate_awsAccountId,+    updateTemplate_templateId,++    -- * Destructuring the Response+    UpdateTemplateResponse (..),+    newUpdateTemplateResponse,++    -- * Response Lenses+    updateTemplateResponse_arn,+    updateTemplateResponse_creationStatus,+    updateTemplateResponse_requestId,+    updateTemplateResponse_templateId,+    updateTemplateResponse_versionArn,+    updateTemplateResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateTemplate' smart constructor.+data UpdateTemplate = UpdateTemplate'+  { -- | The definition of a template.+    --+    -- A definition is the data model of all features in a Dashboard, Template,+    -- or Analysis.+    definition :: Prelude.Maybe TemplateVersionDefinition,+    -- | The name for the template.+    name :: Prelude.Maybe Prelude.Text,+    -- | The entity that you are using as a source when you update the template.+    -- In @SourceEntity@, you specify the type of object you\'re using as+    -- source: @SourceTemplate@ for a template or @SourceAnalysis@ for an+    -- analysis. Both of these require an Amazon Resource Name (ARN). For+    -- @SourceTemplate@, specify the ARN of the source template. For+    -- @SourceAnalysis@, specify the ARN of the source analysis. The+    -- @SourceTemplate@ ARN can contain any Amazon Web Services account and any+    -- Amazon QuickSight-supported Amazon Web Services Region;.+    --+    -- Use the @DataSetReferences@ entity within @SourceTemplate@ or+    -- @SourceAnalysis@ to list the replacement datasets for the placeholders+    -- listed in the original. The schema in each dataset must match its+    -- placeholder.+    sourceEntity :: Prelude.Maybe TemplateSourceEntity,+    -- | A description of the current template version that is being updated.+    -- Every time you call @UpdateTemplate@, you create a new version of the+    -- template. Each version of the template maintains a description of the+    -- version in the @VersionDescription@ field.+    versionDescription :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account that contains the template+    -- that you\'re updating.+    awsAccountId :: Prelude.Text,+    -- | The ID for the template.+    templateId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'definition', 'updateTemplate_definition' - The definition of a template.+--+-- A definition is the data model of all features in a Dashboard, Template,+-- or Analysis.+--+-- 'name', 'updateTemplate_name' - The name for the template.+--+-- 'sourceEntity', 'updateTemplate_sourceEntity' - The entity that you are using as a source when you update the template.+-- In @SourceEntity@, you specify the type of object you\'re using as+-- source: @SourceTemplate@ for a template or @SourceAnalysis@ for an+-- analysis. Both of these require an Amazon Resource Name (ARN). For+-- @SourceTemplate@, specify the ARN of the source template. For+-- @SourceAnalysis@, specify the ARN of the source analysis. The+-- @SourceTemplate@ ARN can contain any Amazon Web Services account and any+-- Amazon QuickSight-supported Amazon Web Services Region;.+--+-- Use the @DataSetReferences@ entity within @SourceTemplate@ or+-- @SourceAnalysis@ to list the replacement datasets for the placeholders+-- listed in the original. The schema in each dataset must match its+-- placeholder.+--+-- 'versionDescription', 'updateTemplate_versionDescription' - A description of the current template version that is being updated.+-- Every time you call @UpdateTemplate@, you create a new version of the+-- template. Each version of the template maintains a description of the+-- version in the @VersionDescription@ field.+--+-- 'awsAccountId', 'updateTemplate_awsAccountId' - The ID of the Amazon Web Services account that contains the template+-- that you\'re updating.+--+-- 'templateId', 'updateTemplate_templateId' - The ID for the template.+newUpdateTemplate ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'templateId'+  Prelude.Text ->+  UpdateTemplate+newUpdateTemplate pAwsAccountId_ pTemplateId_ =+  UpdateTemplate'+    { definition = Prelude.Nothing,+      name = Prelude.Nothing,+      sourceEntity = Prelude.Nothing,+      versionDescription = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      templateId = pTemplateId_+    }++-- | The definition of a template.+--+-- A definition is the data model of all features in a Dashboard, Template,+-- or Analysis.+updateTemplate_definition :: Lens.Lens' UpdateTemplate (Prelude.Maybe TemplateVersionDefinition)+updateTemplate_definition = Lens.lens (\UpdateTemplate' {definition} -> definition) (\s@UpdateTemplate' {} a -> s {definition = a} :: UpdateTemplate)++-- | The name for the template.+updateTemplate_name :: Lens.Lens' UpdateTemplate (Prelude.Maybe Prelude.Text)+updateTemplate_name = Lens.lens (\UpdateTemplate' {name} -> name) (\s@UpdateTemplate' {} a -> s {name = a} :: UpdateTemplate)++-- | The entity that you are using as a source when you update the template.+-- In @SourceEntity@, you specify the type of object you\'re using as+-- source: @SourceTemplate@ for a template or @SourceAnalysis@ for an+-- analysis. Both of these require an Amazon Resource Name (ARN). For+-- @SourceTemplate@, specify the ARN of the source template. For+-- @SourceAnalysis@, specify the ARN of the source analysis. The+-- @SourceTemplate@ ARN can contain any Amazon Web Services account and any+-- Amazon QuickSight-supported Amazon Web Services Region;.+--+-- Use the @DataSetReferences@ entity within @SourceTemplate@ or+-- @SourceAnalysis@ to list the replacement datasets for the placeholders+-- listed in the original. The schema in each dataset must match its+-- placeholder.+updateTemplate_sourceEntity :: Lens.Lens' UpdateTemplate (Prelude.Maybe TemplateSourceEntity)+updateTemplate_sourceEntity = Lens.lens (\UpdateTemplate' {sourceEntity} -> sourceEntity) (\s@UpdateTemplate' {} a -> s {sourceEntity = a} :: UpdateTemplate)++-- | A description of the current template version that is being updated.+-- Every time you call @UpdateTemplate@, you create a new version of the+-- template. Each version of the template maintains a description of the+-- version in the @VersionDescription@ field.+updateTemplate_versionDescription :: Lens.Lens' UpdateTemplate (Prelude.Maybe Prelude.Text)+updateTemplate_versionDescription = Lens.lens (\UpdateTemplate' {versionDescription} -> versionDescription) (\s@UpdateTemplate' {} a -> s {versionDescription = a} :: UpdateTemplate)++-- | The ID of the Amazon Web Services account that contains the template+-- that you\'re updating.+updateTemplate_awsAccountId :: Lens.Lens' UpdateTemplate Prelude.Text+updateTemplate_awsAccountId = Lens.lens (\UpdateTemplate' {awsAccountId} -> awsAccountId) (\s@UpdateTemplate' {} a -> s {awsAccountId = a} :: UpdateTemplate)++-- | The ID for the template.+updateTemplate_templateId :: Lens.Lens' UpdateTemplate Prelude.Text+updateTemplate_templateId = Lens.lens (\UpdateTemplate' {templateId} -> templateId) (\s@UpdateTemplate' {} a -> s {templateId = a} :: UpdateTemplate)++instance Core.AWSRequest UpdateTemplate where+  type+    AWSResponse UpdateTemplate =+      UpdateTemplateResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateTemplateResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreationStatus")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "TemplateId")+            Prelude.<*> (x Data..?> "VersionArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateTemplate where+  hashWithSalt _salt UpdateTemplate' {..} =+    _salt+      `Prelude.hashWithSalt` definition+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` sourceEntity+      `Prelude.hashWithSalt` versionDescription+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` templateId++instance Prelude.NFData UpdateTemplate where+  rnf UpdateTemplate' {..} =+    Prelude.rnf definition+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf sourceEntity+      `Prelude.seq` Prelude.rnf versionDescription+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf templateId++instance Data.ToHeaders UpdateTemplate where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateTemplate where+  toJSON UpdateTemplate' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Definition" Data..=) Prelude.<$> definition,+            ("Name" Data..=) Prelude.<$> name,+            ("SourceEntity" Data..=) Prelude.<$> sourceEntity,+            ("VersionDescription" Data..=)+              Prelude.<$> versionDescription+          ]+      )++instance Data.ToPath UpdateTemplate where+  toPath UpdateTemplate' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/templates/",+        Data.toBS templateId+      ]++instance Data.ToQuery UpdateTemplate where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateTemplateResponse' smart constructor.+data UpdateTemplateResponse = UpdateTemplateResponse'+  { -- | The Amazon Resource Name (ARN) for the template.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The creation status of the template.+    creationStatus :: Prelude.Maybe ResourceStatus,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The ID for the template.+    templateId :: Prelude.Maybe Prelude.Text,+    -- | The ARN for the template, including the version information of the first+    -- version.+    versionArn :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateTemplateResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'updateTemplateResponse_arn' - The Amazon Resource Name (ARN) for the template.+--+-- 'creationStatus', 'updateTemplateResponse_creationStatus' - The creation status of the template.+--+-- 'requestId', 'updateTemplateResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'templateId', 'updateTemplateResponse_templateId' - The ID for the template.+--+-- 'versionArn', 'updateTemplateResponse_versionArn' - The ARN for the template, including the version information of the first+-- version.+--+-- 'status', 'updateTemplateResponse_status' - The HTTP status of the request.+newUpdateTemplateResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateTemplateResponse+newUpdateTemplateResponse pStatus_ =+  UpdateTemplateResponse'+    { arn = Prelude.Nothing,+      creationStatus = Prelude.Nothing,+      requestId = Prelude.Nothing,+      templateId = Prelude.Nothing,+      versionArn = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) for the template.+updateTemplateResponse_arn :: Lens.Lens' UpdateTemplateResponse (Prelude.Maybe Prelude.Text)+updateTemplateResponse_arn = Lens.lens (\UpdateTemplateResponse' {arn} -> arn) (\s@UpdateTemplateResponse' {} a -> s {arn = a} :: UpdateTemplateResponse)++-- | The creation status of the template.+updateTemplateResponse_creationStatus :: Lens.Lens' UpdateTemplateResponse (Prelude.Maybe ResourceStatus)+updateTemplateResponse_creationStatus = Lens.lens (\UpdateTemplateResponse' {creationStatus} -> creationStatus) (\s@UpdateTemplateResponse' {} a -> s {creationStatus = a} :: UpdateTemplateResponse)++-- | The Amazon Web Services request ID for this operation.+updateTemplateResponse_requestId :: Lens.Lens' UpdateTemplateResponse (Prelude.Maybe Prelude.Text)+updateTemplateResponse_requestId = Lens.lens (\UpdateTemplateResponse' {requestId} -> requestId) (\s@UpdateTemplateResponse' {} a -> s {requestId = a} :: UpdateTemplateResponse)++-- | The ID for the template.+updateTemplateResponse_templateId :: Lens.Lens' UpdateTemplateResponse (Prelude.Maybe Prelude.Text)+updateTemplateResponse_templateId = Lens.lens (\UpdateTemplateResponse' {templateId} -> templateId) (\s@UpdateTemplateResponse' {} a -> s {templateId = a} :: UpdateTemplateResponse)++-- | The ARN for the template, including the version information of the first+-- version.+updateTemplateResponse_versionArn :: Lens.Lens' UpdateTemplateResponse (Prelude.Maybe Prelude.Text)+updateTemplateResponse_versionArn = Lens.lens (\UpdateTemplateResponse' {versionArn} -> versionArn) (\s@UpdateTemplateResponse' {} a -> s {versionArn = a} :: UpdateTemplateResponse)++-- | The HTTP status of the request.+updateTemplateResponse_status :: Lens.Lens' UpdateTemplateResponse Prelude.Int+updateTemplateResponse_status = Lens.lens (\UpdateTemplateResponse' {status} -> status) (\s@UpdateTemplateResponse' {} a -> s {status = a} :: UpdateTemplateResponse)++instance Prelude.NFData UpdateTemplateResponse where+  rnf UpdateTemplateResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationStatus+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf versionArn+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateTemplateAlias.hs view
@@ -0,0 +1,253 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.UpdateTemplateAlias+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the template alias of a template.+module Amazonka.QuickSight.UpdateTemplateAlias+  ( -- * Creating a Request+    UpdateTemplateAlias (..),+    newUpdateTemplateAlias,++    -- * Request Lenses+    updateTemplateAlias_awsAccountId,+    updateTemplateAlias_templateId,+    updateTemplateAlias_aliasName,+    updateTemplateAlias_templateVersionNumber,++    -- * Destructuring the Response+    UpdateTemplateAliasResponse (..),+    newUpdateTemplateAliasResponse,++    -- * Response Lenses+    updateTemplateAliasResponse_requestId,+    updateTemplateAliasResponse_templateAlias,+    updateTemplateAliasResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateTemplateAlias' smart constructor.+data UpdateTemplateAlias = UpdateTemplateAlias'+  { -- | The ID of the Amazon Web Services account that contains the template+    -- alias that you\'re updating.+    awsAccountId :: Prelude.Text,+    -- | The ID for the template.+    templateId :: Prelude.Text,+    -- | The alias of the template that you want to update. If you name a+    -- specific alias, you update the version that the alias points to. You can+    -- specify the latest version of the template by providing the keyword+    -- @$LATEST@ in the @AliasName@ parameter. The keyword @$PUBLISHED@+    -- doesn\'t apply to templates.+    aliasName :: Prelude.Text,+    -- | The version number of the template.+    templateVersionNumber :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateTemplateAlias' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'updateTemplateAlias_awsAccountId' - The ID of the Amazon Web Services account that contains the template+-- alias that you\'re updating.+--+-- 'templateId', 'updateTemplateAlias_templateId' - The ID for the template.+--+-- 'aliasName', 'updateTemplateAlias_aliasName' - The alias of the template that you want to update. If you name a+-- specific alias, you update the version that the alias points to. You can+-- specify the latest version of the template by providing the keyword+-- @$LATEST@ in the @AliasName@ parameter. The keyword @$PUBLISHED@+-- doesn\'t apply to templates.+--+-- 'templateVersionNumber', 'updateTemplateAlias_templateVersionNumber' - The version number of the template.+newUpdateTemplateAlias ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'templateId'+  Prelude.Text ->+  -- | 'aliasName'+  Prelude.Text ->+  -- | 'templateVersionNumber'+  Prelude.Natural ->+  UpdateTemplateAlias+newUpdateTemplateAlias+  pAwsAccountId_+  pTemplateId_+  pAliasName_+  pTemplateVersionNumber_ =+    UpdateTemplateAlias'+      { awsAccountId = pAwsAccountId_,+        templateId = pTemplateId_,+        aliasName = pAliasName_,+        templateVersionNumber = pTemplateVersionNumber_+      }++-- | The ID of the Amazon Web Services account that contains the template+-- alias that you\'re updating.+updateTemplateAlias_awsAccountId :: Lens.Lens' UpdateTemplateAlias Prelude.Text+updateTemplateAlias_awsAccountId = Lens.lens (\UpdateTemplateAlias' {awsAccountId} -> awsAccountId) (\s@UpdateTemplateAlias' {} a -> s {awsAccountId = a} :: UpdateTemplateAlias)++-- | The ID for the template.+updateTemplateAlias_templateId :: Lens.Lens' UpdateTemplateAlias Prelude.Text+updateTemplateAlias_templateId = Lens.lens (\UpdateTemplateAlias' {templateId} -> templateId) (\s@UpdateTemplateAlias' {} a -> s {templateId = a} :: UpdateTemplateAlias)++-- | The alias of the template that you want to update. If you name a+-- specific alias, you update the version that the alias points to. You can+-- specify the latest version of the template by providing the keyword+-- @$LATEST@ in the @AliasName@ parameter. The keyword @$PUBLISHED@+-- doesn\'t apply to templates.+updateTemplateAlias_aliasName :: Lens.Lens' UpdateTemplateAlias Prelude.Text+updateTemplateAlias_aliasName = Lens.lens (\UpdateTemplateAlias' {aliasName} -> aliasName) (\s@UpdateTemplateAlias' {} a -> s {aliasName = a} :: UpdateTemplateAlias)++-- | The version number of the template.+updateTemplateAlias_templateVersionNumber :: Lens.Lens' UpdateTemplateAlias Prelude.Natural+updateTemplateAlias_templateVersionNumber = Lens.lens (\UpdateTemplateAlias' {templateVersionNumber} -> templateVersionNumber) (\s@UpdateTemplateAlias' {} a -> s {templateVersionNumber = a} :: UpdateTemplateAlias)++instance Core.AWSRequest UpdateTemplateAlias where+  type+    AWSResponse UpdateTemplateAlias =+      UpdateTemplateAliasResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateTemplateAliasResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "TemplateAlias")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateTemplateAlias where+  hashWithSalt _salt UpdateTemplateAlias' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` templateId+      `Prelude.hashWithSalt` aliasName+      `Prelude.hashWithSalt` templateVersionNumber++instance Prelude.NFData UpdateTemplateAlias where+  rnf UpdateTemplateAlias' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf aliasName+      `Prelude.seq` Prelude.rnf templateVersionNumber++instance Data.ToHeaders UpdateTemplateAlias where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateTemplateAlias where+  toJSON UpdateTemplateAlias' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "TemplateVersionNumber"+                  Data..= templateVersionNumber+              )+          ]+      )++instance Data.ToPath UpdateTemplateAlias where+  toPath UpdateTemplateAlias' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/templates/",+        Data.toBS templateId,+        "/aliases/",+        Data.toBS aliasName+      ]++instance Data.ToQuery UpdateTemplateAlias where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateTemplateAliasResponse' smart constructor.+data UpdateTemplateAliasResponse = UpdateTemplateAliasResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The template alias.+    templateAlias :: Prelude.Maybe TemplateAlias,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateTemplateAliasResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'updateTemplateAliasResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'templateAlias', 'updateTemplateAliasResponse_templateAlias' - The template alias.+--+-- 'status', 'updateTemplateAliasResponse_status' - The HTTP status of the request.+newUpdateTemplateAliasResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateTemplateAliasResponse+newUpdateTemplateAliasResponse pStatus_ =+  UpdateTemplateAliasResponse'+    { requestId =+        Prelude.Nothing,+      templateAlias = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+updateTemplateAliasResponse_requestId :: Lens.Lens' UpdateTemplateAliasResponse (Prelude.Maybe Prelude.Text)+updateTemplateAliasResponse_requestId = Lens.lens (\UpdateTemplateAliasResponse' {requestId} -> requestId) (\s@UpdateTemplateAliasResponse' {} a -> s {requestId = a} :: UpdateTemplateAliasResponse)++-- | The template alias.+updateTemplateAliasResponse_templateAlias :: Lens.Lens' UpdateTemplateAliasResponse (Prelude.Maybe TemplateAlias)+updateTemplateAliasResponse_templateAlias = Lens.lens (\UpdateTemplateAliasResponse' {templateAlias} -> templateAlias) (\s@UpdateTemplateAliasResponse' {} a -> s {templateAlias = a} :: UpdateTemplateAliasResponse)++-- | The HTTP status of the request.+updateTemplateAliasResponse_status :: Lens.Lens' UpdateTemplateAliasResponse Prelude.Int+updateTemplateAliasResponse_status = Lens.lens (\UpdateTemplateAliasResponse' {status} -> status) (\s@UpdateTemplateAliasResponse' {} a -> s {status = a} :: UpdateTemplateAliasResponse)++instance Prelude.NFData UpdateTemplateAliasResponse where+  rnf UpdateTemplateAliasResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf templateAlias+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateTemplatePermissions.hs view
@@ -0,0 +1,259 @@+{-# 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.QuickSight.UpdateTemplatePermissions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the resource permissions for a template.+module Amazonka.QuickSight.UpdateTemplatePermissions+  ( -- * Creating a Request+    UpdateTemplatePermissions (..),+    newUpdateTemplatePermissions,++    -- * Request Lenses+    updateTemplatePermissions_grantPermissions,+    updateTemplatePermissions_revokePermissions,+    updateTemplatePermissions_awsAccountId,+    updateTemplatePermissions_templateId,++    -- * Destructuring the Response+    UpdateTemplatePermissionsResponse (..),+    newUpdateTemplatePermissionsResponse,++    -- * Response Lenses+    updateTemplatePermissionsResponse_permissions,+    updateTemplatePermissionsResponse_requestId,+    updateTemplatePermissionsResponse_templateArn,+    updateTemplatePermissionsResponse_templateId,+    updateTemplatePermissionsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateTemplatePermissions' smart constructor.+data UpdateTemplatePermissions = UpdateTemplatePermissions'+  { -- | A list of resource permissions to be granted on the template.+    grantPermissions :: Prelude.Maybe [ResourcePermission],+    -- | A list of resource permissions to be revoked from the template.+    revokePermissions :: Prelude.Maybe [ResourcePermission],+    -- | The ID of the Amazon Web Services account that contains the template.+    awsAccountId :: Prelude.Text,+    -- | The ID for the template.+    templateId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateTemplatePermissions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'grantPermissions', 'updateTemplatePermissions_grantPermissions' - A list of resource permissions to be granted on the template.+--+-- 'revokePermissions', 'updateTemplatePermissions_revokePermissions' - A list of resource permissions to be revoked from the template.+--+-- 'awsAccountId', 'updateTemplatePermissions_awsAccountId' - The ID of the Amazon Web Services account that contains the template.+--+-- 'templateId', 'updateTemplatePermissions_templateId' - The ID for the template.+newUpdateTemplatePermissions ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'templateId'+  Prelude.Text ->+  UpdateTemplatePermissions+newUpdateTemplatePermissions+  pAwsAccountId_+  pTemplateId_ =+    UpdateTemplatePermissions'+      { grantPermissions =+          Prelude.Nothing,+        revokePermissions = Prelude.Nothing,+        awsAccountId = pAwsAccountId_,+        templateId = pTemplateId_+      }++-- | A list of resource permissions to be granted on the template.+updateTemplatePermissions_grantPermissions :: Lens.Lens' UpdateTemplatePermissions (Prelude.Maybe [ResourcePermission])+updateTemplatePermissions_grantPermissions = Lens.lens (\UpdateTemplatePermissions' {grantPermissions} -> grantPermissions) (\s@UpdateTemplatePermissions' {} a -> s {grantPermissions = a} :: UpdateTemplatePermissions) Prelude.. Lens.mapping Lens.coerced++-- | A list of resource permissions to be revoked from the template.+updateTemplatePermissions_revokePermissions :: Lens.Lens' UpdateTemplatePermissions (Prelude.Maybe [ResourcePermission])+updateTemplatePermissions_revokePermissions = Lens.lens (\UpdateTemplatePermissions' {revokePermissions} -> revokePermissions) (\s@UpdateTemplatePermissions' {} a -> s {revokePermissions = a} :: UpdateTemplatePermissions) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the Amazon Web Services account that contains the template.+updateTemplatePermissions_awsAccountId :: Lens.Lens' UpdateTemplatePermissions Prelude.Text+updateTemplatePermissions_awsAccountId = Lens.lens (\UpdateTemplatePermissions' {awsAccountId} -> awsAccountId) (\s@UpdateTemplatePermissions' {} a -> s {awsAccountId = a} :: UpdateTemplatePermissions)++-- | The ID for the template.+updateTemplatePermissions_templateId :: Lens.Lens' UpdateTemplatePermissions Prelude.Text+updateTemplatePermissions_templateId = Lens.lens (\UpdateTemplatePermissions' {templateId} -> templateId) (\s@UpdateTemplatePermissions' {} a -> s {templateId = a} :: UpdateTemplatePermissions)++instance Core.AWSRequest UpdateTemplatePermissions where+  type+    AWSResponse UpdateTemplatePermissions =+      UpdateTemplatePermissionsResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateTemplatePermissionsResponse'+            Prelude.<$> (x Data..?> "Permissions")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "TemplateArn")+            Prelude.<*> (x Data..?> "TemplateId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateTemplatePermissions where+  hashWithSalt _salt UpdateTemplatePermissions' {..} =+    _salt+      `Prelude.hashWithSalt` grantPermissions+      `Prelude.hashWithSalt` revokePermissions+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` templateId++instance Prelude.NFData UpdateTemplatePermissions where+  rnf UpdateTemplatePermissions' {..} =+    Prelude.rnf grantPermissions+      `Prelude.seq` Prelude.rnf revokePermissions+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf templateId++instance Data.ToHeaders UpdateTemplatePermissions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateTemplatePermissions where+  toJSON UpdateTemplatePermissions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("GrantPermissions" Data..=)+              Prelude.<$> grantPermissions,+            ("RevokePermissions" Data..=)+              Prelude.<$> revokePermissions+          ]+      )++instance Data.ToPath UpdateTemplatePermissions where+  toPath UpdateTemplatePermissions' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/templates/",+        Data.toBS templateId,+        "/permissions"+      ]++instance Data.ToQuery UpdateTemplatePermissions where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateTemplatePermissionsResponse' smart constructor.+data UpdateTemplatePermissionsResponse = UpdateTemplatePermissionsResponse'+  { -- | A list of resource permissions to be set on the template.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the template.+    templateArn :: Prelude.Maybe Prelude.Text,+    -- | The ID for the template.+    templateId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateTemplatePermissionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'permissions', 'updateTemplatePermissionsResponse_permissions' - A list of resource permissions to be set on the template.+--+-- 'requestId', 'updateTemplatePermissionsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'templateArn', 'updateTemplatePermissionsResponse_templateArn' - The Amazon Resource Name (ARN) of the template.+--+-- 'templateId', 'updateTemplatePermissionsResponse_templateId' - The ID for the template.+--+-- 'status', 'updateTemplatePermissionsResponse_status' - The HTTP status of the request.+newUpdateTemplatePermissionsResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateTemplatePermissionsResponse+newUpdateTemplatePermissionsResponse pStatus_ =+  UpdateTemplatePermissionsResponse'+    { permissions =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      templateArn = Prelude.Nothing,+      templateId = Prelude.Nothing,+      status = pStatus_+    }++-- | A list of resource permissions to be set on the template.+updateTemplatePermissionsResponse_permissions :: Lens.Lens' UpdateTemplatePermissionsResponse (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+updateTemplatePermissionsResponse_permissions = Lens.lens (\UpdateTemplatePermissionsResponse' {permissions} -> permissions) (\s@UpdateTemplatePermissionsResponse' {} a -> s {permissions = a} :: UpdateTemplatePermissionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services request ID for this operation.+updateTemplatePermissionsResponse_requestId :: Lens.Lens' UpdateTemplatePermissionsResponse (Prelude.Maybe Prelude.Text)+updateTemplatePermissionsResponse_requestId = Lens.lens (\UpdateTemplatePermissionsResponse' {requestId} -> requestId) (\s@UpdateTemplatePermissionsResponse' {} a -> s {requestId = a} :: UpdateTemplatePermissionsResponse)++-- | The Amazon Resource Name (ARN) of the template.+updateTemplatePermissionsResponse_templateArn :: Lens.Lens' UpdateTemplatePermissionsResponse (Prelude.Maybe Prelude.Text)+updateTemplatePermissionsResponse_templateArn = Lens.lens (\UpdateTemplatePermissionsResponse' {templateArn} -> templateArn) (\s@UpdateTemplatePermissionsResponse' {} a -> s {templateArn = a} :: UpdateTemplatePermissionsResponse)++-- | The ID for the template.+updateTemplatePermissionsResponse_templateId :: Lens.Lens' UpdateTemplatePermissionsResponse (Prelude.Maybe Prelude.Text)+updateTemplatePermissionsResponse_templateId = Lens.lens (\UpdateTemplatePermissionsResponse' {templateId} -> templateId) (\s@UpdateTemplatePermissionsResponse' {} a -> s {templateId = a} :: UpdateTemplatePermissionsResponse)++-- | The HTTP status of the request.+updateTemplatePermissionsResponse_status :: Lens.Lens' UpdateTemplatePermissionsResponse Prelude.Int+updateTemplatePermissionsResponse_status = Lens.lens (\UpdateTemplatePermissionsResponse' {status} -> status) (\s@UpdateTemplatePermissionsResponse' {} a -> s {status = a} :: UpdateTemplatePermissionsResponse)++instance+  Prelude.NFData+    UpdateTemplatePermissionsResponse+  where+  rnf UpdateTemplatePermissionsResponse' {..} =+    Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf templateArn+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateTheme.hs view
@@ -0,0 +1,306 @@+{-# 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.QuickSight.UpdateTheme+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a theme.+module Amazonka.QuickSight.UpdateTheme+  ( -- * Creating a Request+    UpdateTheme (..),+    newUpdateTheme,++    -- * Request Lenses+    updateTheme_configuration,+    updateTheme_name,+    updateTheme_versionDescription,+    updateTheme_awsAccountId,+    updateTheme_themeId,+    updateTheme_baseThemeId,++    -- * Destructuring the Response+    UpdateThemeResponse (..),+    newUpdateThemeResponse,++    -- * Response Lenses+    updateThemeResponse_arn,+    updateThemeResponse_creationStatus,+    updateThemeResponse_requestId,+    updateThemeResponse_themeId,+    updateThemeResponse_versionArn,+    updateThemeResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateTheme' smart constructor.+data UpdateTheme = UpdateTheme'+  { -- | The theme configuration, which contains the theme display properties.+    configuration :: Prelude.Maybe ThemeConfiguration,+    -- | The name for the theme.+    name :: Prelude.Maybe Prelude.Text,+    -- | A description of the theme version that you\'re updating Every time that+    -- you call @UpdateTheme@, you create a new version of the theme. Each+    -- version of the theme maintains a description of the version in+    -- @VersionDescription@.+    versionDescription :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Amazon Web Services account that contains the theme that+    -- you\'re updating.+    awsAccountId :: Prelude.Text,+    -- | The ID for the theme.+    themeId :: Prelude.Text,+    -- | The theme ID, defined by Amazon QuickSight, that a custom theme inherits+    -- from. All themes initially inherit from a default Amazon QuickSight+    -- theme.+    baseThemeId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateTheme' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configuration', 'updateTheme_configuration' - The theme configuration, which contains the theme display properties.+--+-- 'name', 'updateTheme_name' - The name for the theme.+--+-- 'versionDescription', 'updateTheme_versionDescription' - A description of the theme version that you\'re updating Every time that+-- you call @UpdateTheme@, you create a new version of the theme. Each+-- version of the theme maintains a description of the version in+-- @VersionDescription@.+--+-- 'awsAccountId', 'updateTheme_awsAccountId' - The ID of the Amazon Web Services account that contains the theme that+-- you\'re updating.+--+-- 'themeId', 'updateTheme_themeId' - The ID for the theme.+--+-- 'baseThemeId', 'updateTheme_baseThemeId' - The theme ID, defined by Amazon QuickSight, that a custom theme inherits+-- from. All themes initially inherit from a default Amazon QuickSight+-- theme.+newUpdateTheme ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'themeId'+  Prelude.Text ->+  -- | 'baseThemeId'+  Prelude.Text ->+  UpdateTheme+newUpdateTheme pAwsAccountId_ pThemeId_ pBaseThemeId_ =+  UpdateTheme'+    { configuration = Prelude.Nothing,+      name = Prelude.Nothing,+      versionDescription = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      themeId = pThemeId_,+      baseThemeId = pBaseThemeId_+    }++-- | The theme configuration, which contains the theme display properties.+updateTheme_configuration :: Lens.Lens' UpdateTheme (Prelude.Maybe ThemeConfiguration)+updateTheme_configuration = Lens.lens (\UpdateTheme' {configuration} -> configuration) (\s@UpdateTheme' {} a -> s {configuration = a} :: UpdateTheme)++-- | The name for the theme.+updateTheme_name :: Lens.Lens' UpdateTheme (Prelude.Maybe Prelude.Text)+updateTheme_name = Lens.lens (\UpdateTheme' {name} -> name) (\s@UpdateTheme' {} a -> s {name = a} :: UpdateTheme)++-- | A description of the theme version that you\'re updating Every time that+-- you call @UpdateTheme@, you create a new version of the theme. Each+-- version of the theme maintains a description of the version in+-- @VersionDescription@.+updateTheme_versionDescription :: Lens.Lens' UpdateTheme (Prelude.Maybe Prelude.Text)+updateTheme_versionDescription = Lens.lens (\UpdateTheme' {versionDescription} -> versionDescription) (\s@UpdateTheme' {} a -> s {versionDescription = a} :: UpdateTheme)++-- | The ID of the Amazon Web Services account that contains the theme that+-- you\'re updating.+updateTheme_awsAccountId :: Lens.Lens' UpdateTheme Prelude.Text+updateTheme_awsAccountId = Lens.lens (\UpdateTheme' {awsAccountId} -> awsAccountId) (\s@UpdateTheme' {} a -> s {awsAccountId = a} :: UpdateTheme)++-- | The ID for the theme.+updateTheme_themeId :: Lens.Lens' UpdateTheme Prelude.Text+updateTheme_themeId = Lens.lens (\UpdateTheme' {themeId} -> themeId) (\s@UpdateTheme' {} a -> s {themeId = a} :: UpdateTheme)++-- | The theme ID, defined by Amazon QuickSight, that a custom theme inherits+-- from. All themes initially inherit from a default Amazon QuickSight+-- theme.+updateTheme_baseThemeId :: Lens.Lens' UpdateTheme Prelude.Text+updateTheme_baseThemeId = Lens.lens (\UpdateTheme' {baseThemeId} -> baseThemeId) (\s@UpdateTheme' {} a -> s {baseThemeId = a} :: UpdateTheme)++instance Core.AWSRequest UpdateTheme where+  type AWSResponse UpdateTheme = UpdateThemeResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateThemeResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreationStatus")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "ThemeId")+            Prelude.<*> (x Data..?> "VersionArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateTheme where+  hashWithSalt _salt UpdateTheme' {..} =+    _salt+      `Prelude.hashWithSalt` configuration+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` versionDescription+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` themeId+      `Prelude.hashWithSalt` baseThemeId++instance Prelude.NFData UpdateTheme where+  rnf UpdateTheme' {..} =+    Prelude.rnf configuration+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf versionDescription+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf themeId+      `Prelude.seq` Prelude.rnf baseThemeId++instance Data.ToHeaders UpdateTheme where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateTheme where+  toJSON UpdateTheme' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Configuration" Data..=) Prelude.<$> configuration,+            ("Name" Data..=) Prelude.<$> name,+            ("VersionDescription" Data..=)+              Prelude.<$> versionDescription,+            Prelude.Just ("BaseThemeId" Data..= baseThemeId)+          ]+      )++instance Data.ToPath UpdateTheme where+  toPath UpdateTheme' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/themes/",+        Data.toBS themeId+      ]++instance Data.ToQuery UpdateTheme where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateThemeResponse' smart constructor.+data UpdateThemeResponse = UpdateThemeResponse'+  { -- | The Amazon Resource Name (ARN) for the theme.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The creation status of the theme.+    creationStatus :: Prelude.Maybe ResourceStatus,+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The ID for the theme.+    themeId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) for the new version of the theme.+    versionArn :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateThemeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'updateThemeResponse_arn' - The Amazon Resource Name (ARN) for the theme.+--+-- 'creationStatus', 'updateThemeResponse_creationStatus' - The creation status of the theme.+--+-- 'requestId', 'updateThemeResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'themeId', 'updateThemeResponse_themeId' - The ID for the theme.+--+-- 'versionArn', 'updateThemeResponse_versionArn' - The Amazon Resource Name (ARN) for the new version of the theme.+--+-- 'status', 'updateThemeResponse_status' - The HTTP status of the request.+newUpdateThemeResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateThemeResponse+newUpdateThemeResponse pStatus_ =+  UpdateThemeResponse'+    { arn = Prelude.Nothing,+      creationStatus = Prelude.Nothing,+      requestId = Prelude.Nothing,+      themeId = Prelude.Nothing,+      versionArn = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Resource Name (ARN) for the theme.+updateThemeResponse_arn :: Lens.Lens' UpdateThemeResponse (Prelude.Maybe Prelude.Text)+updateThemeResponse_arn = Lens.lens (\UpdateThemeResponse' {arn} -> arn) (\s@UpdateThemeResponse' {} a -> s {arn = a} :: UpdateThemeResponse)++-- | The creation status of the theme.+updateThemeResponse_creationStatus :: Lens.Lens' UpdateThemeResponse (Prelude.Maybe ResourceStatus)+updateThemeResponse_creationStatus = Lens.lens (\UpdateThemeResponse' {creationStatus} -> creationStatus) (\s@UpdateThemeResponse' {} a -> s {creationStatus = a} :: UpdateThemeResponse)++-- | The Amazon Web Services request ID for this operation.+updateThemeResponse_requestId :: Lens.Lens' UpdateThemeResponse (Prelude.Maybe Prelude.Text)+updateThemeResponse_requestId = Lens.lens (\UpdateThemeResponse' {requestId} -> requestId) (\s@UpdateThemeResponse' {} a -> s {requestId = a} :: UpdateThemeResponse)++-- | The ID for the theme.+updateThemeResponse_themeId :: Lens.Lens' UpdateThemeResponse (Prelude.Maybe Prelude.Text)+updateThemeResponse_themeId = Lens.lens (\UpdateThemeResponse' {themeId} -> themeId) (\s@UpdateThemeResponse' {} a -> s {themeId = a} :: UpdateThemeResponse)++-- | The Amazon Resource Name (ARN) for the new version of the theme.+updateThemeResponse_versionArn :: Lens.Lens' UpdateThemeResponse (Prelude.Maybe Prelude.Text)+updateThemeResponse_versionArn = Lens.lens (\UpdateThemeResponse' {versionArn} -> versionArn) (\s@UpdateThemeResponse' {} a -> s {versionArn = a} :: UpdateThemeResponse)++-- | The HTTP status of the request.+updateThemeResponse_status :: Lens.Lens' UpdateThemeResponse Prelude.Int+updateThemeResponse_status = Lens.lens (\UpdateThemeResponse' {status} -> status) (\s@UpdateThemeResponse' {} a -> s {status = a} :: UpdateThemeResponse)++instance Prelude.NFData UpdateThemeResponse where+  rnf UpdateThemeResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationStatus+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf themeId+      `Prelude.seq` Prelude.rnf versionArn+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateThemeAlias.hs view
@@ -0,0 +1,239 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.UpdateThemeAlias+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an alias of a theme.+module Amazonka.QuickSight.UpdateThemeAlias+  ( -- * Creating a Request+    UpdateThemeAlias (..),+    newUpdateThemeAlias,++    -- * Request Lenses+    updateThemeAlias_awsAccountId,+    updateThemeAlias_themeId,+    updateThemeAlias_aliasName,+    updateThemeAlias_themeVersionNumber,++    -- * Destructuring the Response+    UpdateThemeAliasResponse (..),+    newUpdateThemeAliasResponse,++    -- * Response Lenses+    updateThemeAliasResponse_requestId,+    updateThemeAliasResponse_themeAlias,+    updateThemeAliasResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateThemeAlias' smart constructor.+data UpdateThemeAlias = UpdateThemeAlias'+  { -- | The ID of the Amazon Web Services account that contains the theme alias+    -- that you\'re updating.+    awsAccountId :: Prelude.Text,+    -- | The ID for the theme.+    themeId :: Prelude.Text,+    -- | The name of the theme alias that you want to update.+    aliasName :: Prelude.Text,+    -- | The version number of the theme that the alias should reference.+    themeVersionNumber :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateThemeAlias' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsAccountId', 'updateThemeAlias_awsAccountId' - The ID of the Amazon Web Services account that contains the theme alias+-- that you\'re updating.+--+-- 'themeId', 'updateThemeAlias_themeId' - The ID for the theme.+--+-- 'aliasName', 'updateThemeAlias_aliasName' - The name of the theme alias that you want to update.+--+-- 'themeVersionNumber', 'updateThemeAlias_themeVersionNumber' - The version number of the theme that the alias should reference.+newUpdateThemeAlias ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'themeId'+  Prelude.Text ->+  -- | 'aliasName'+  Prelude.Text ->+  -- | 'themeVersionNumber'+  Prelude.Natural ->+  UpdateThemeAlias+newUpdateThemeAlias+  pAwsAccountId_+  pThemeId_+  pAliasName_+  pThemeVersionNumber_ =+    UpdateThemeAlias'+      { awsAccountId = pAwsAccountId_,+        themeId = pThemeId_,+        aliasName = pAliasName_,+        themeVersionNumber = pThemeVersionNumber_+      }++-- | The ID of the Amazon Web Services account that contains the theme alias+-- that you\'re updating.+updateThemeAlias_awsAccountId :: Lens.Lens' UpdateThemeAlias Prelude.Text+updateThemeAlias_awsAccountId = Lens.lens (\UpdateThemeAlias' {awsAccountId} -> awsAccountId) (\s@UpdateThemeAlias' {} a -> s {awsAccountId = a} :: UpdateThemeAlias)++-- | The ID for the theme.+updateThemeAlias_themeId :: Lens.Lens' UpdateThemeAlias Prelude.Text+updateThemeAlias_themeId = Lens.lens (\UpdateThemeAlias' {themeId} -> themeId) (\s@UpdateThemeAlias' {} a -> s {themeId = a} :: UpdateThemeAlias)++-- | The name of the theme alias that you want to update.+updateThemeAlias_aliasName :: Lens.Lens' UpdateThemeAlias Prelude.Text+updateThemeAlias_aliasName = Lens.lens (\UpdateThemeAlias' {aliasName} -> aliasName) (\s@UpdateThemeAlias' {} a -> s {aliasName = a} :: UpdateThemeAlias)++-- | The version number of the theme that the alias should reference.+updateThemeAlias_themeVersionNumber :: Lens.Lens' UpdateThemeAlias Prelude.Natural+updateThemeAlias_themeVersionNumber = Lens.lens (\UpdateThemeAlias' {themeVersionNumber} -> themeVersionNumber) (\s@UpdateThemeAlias' {} a -> s {themeVersionNumber = a} :: UpdateThemeAlias)++instance Core.AWSRequest UpdateThemeAlias where+  type+    AWSResponse UpdateThemeAlias =+      UpdateThemeAliasResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateThemeAliasResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "ThemeAlias")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateThemeAlias where+  hashWithSalt _salt UpdateThemeAlias' {..} =+    _salt+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` themeId+      `Prelude.hashWithSalt` aliasName+      `Prelude.hashWithSalt` themeVersionNumber++instance Prelude.NFData UpdateThemeAlias where+  rnf UpdateThemeAlias' {..} =+    Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf themeId+      `Prelude.seq` Prelude.rnf aliasName+      `Prelude.seq` Prelude.rnf themeVersionNumber++instance Data.ToHeaders UpdateThemeAlias where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateThemeAlias where+  toJSON UpdateThemeAlias' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ThemeVersionNumber" Data..= themeVersionNumber)+          ]+      )++instance Data.ToPath UpdateThemeAlias where+  toPath UpdateThemeAlias' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/themes/",+        Data.toBS themeId,+        "/aliases/",+        Data.toBS aliasName+      ]++instance Data.ToQuery UpdateThemeAlias where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateThemeAliasResponse' smart constructor.+data UpdateThemeAliasResponse = UpdateThemeAliasResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | Information about the theme alias.+    themeAlias :: Prelude.Maybe ThemeAlias,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateThemeAliasResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'updateThemeAliasResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'themeAlias', 'updateThemeAliasResponse_themeAlias' - Information about the theme alias.+--+-- 'status', 'updateThemeAliasResponse_status' - The HTTP status of the request.+newUpdateThemeAliasResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateThemeAliasResponse+newUpdateThemeAliasResponse pStatus_ =+  UpdateThemeAliasResponse'+    { requestId =+        Prelude.Nothing,+      themeAlias = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+updateThemeAliasResponse_requestId :: Lens.Lens' UpdateThemeAliasResponse (Prelude.Maybe Prelude.Text)+updateThemeAliasResponse_requestId = Lens.lens (\UpdateThemeAliasResponse' {requestId} -> requestId) (\s@UpdateThemeAliasResponse' {} a -> s {requestId = a} :: UpdateThemeAliasResponse)++-- | Information about the theme alias.+updateThemeAliasResponse_themeAlias :: Lens.Lens' UpdateThemeAliasResponse (Prelude.Maybe ThemeAlias)+updateThemeAliasResponse_themeAlias = Lens.lens (\UpdateThemeAliasResponse' {themeAlias} -> themeAlias) (\s@UpdateThemeAliasResponse' {} a -> s {themeAlias = a} :: UpdateThemeAliasResponse)++-- | The HTTP status of the request.+updateThemeAliasResponse_status :: Lens.Lens' UpdateThemeAliasResponse Prelude.Int+updateThemeAliasResponse_status = Lens.lens (\UpdateThemeAliasResponse' {status} -> status) (\s@UpdateThemeAliasResponse' {} a -> s {status = a} :: UpdateThemeAliasResponse)++instance Prelude.NFData UpdateThemeAliasResponse where+  rnf UpdateThemeAliasResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf themeAlias+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateThemePermissions.hs view
@@ -0,0 +1,299 @@+{-# 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.QuickSight.UpdateThemePermissions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the resource permissions for a theme. Permissions apply to the+-- action to grant or revoke permissions on, for example+-- @\"quicksight:DescribeTheme\"@.+--+-- Theme permissions apply in groupings. Valid groupings include the+-- following for the three levels of permissions, which are user, owner, or+-- no permissions:+--+-- -   User+--+--     -   @\"quicksight:DescribeTheme\"@+--+--     -   @\"quicksight:DescribeThemeAlias\"@+--+--     -   @\"quicksight:ListThemeAliases\"@+--+--     -   @\"quicksight:ListThemeVersions\"@+--+-- -   Owner+--+--     -   @\"quicksight:DescribeTheme\"@+--+--     -   @\"quicksight:DescribeThemeAlias\"@+--+--     -   @\"quicksight:ListThemeAliases\"@+--+--     -   @\"quicksight:ListThemeVersions\"@+--+--     -   @\"quicksight:DeleteTheme\"@+--+--     -   @\"quicksight:UpdateTheme\"@+--+--     -   @\"quicksight:CreateThemeAlias\"@+--+--     -   @\"quicksight:DeleteThemeAlias\"@+--+--     -   @\"quicksight:UpdateThemeAlias\"@+--+--     -   @\"quicksight:UpdateThemePermissions\"@+--+--     -   @\"quicksight:DescribeThemePermissions\"@+--+-- -   To specify no permissions, omit the permissions list.+module Amazonka.QuickSight.UpdateThemePermissions+  ( -- * Creating a Request+    UpdateThemePermissions (..),+    newUpdateThemePermissions,++    -- * Request Lenses+    updateThemePermissions_grantPermissions,+    updateThemePermissions_revokePermissions,+    updateThemePermissions_awsAccountId,+    updateThemePermissions_themeId,++    -- * Destructuring the Response+    UpdateThemePermissionsResponse (..),+    newUpdateThemePermissionsResponse,++    -- * Response Lenses+    updateThemePermissionsResponse_permissions,+    updateThemePermissionsResponse_requestId,+    updateThemePermissionsResponse_themeArn,+    updateThemePermissionsResponse_themeId,+    updateThemePermissionsResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateThemePermissions' smart constructor.+data UpdateThemePermissions = UpdateThemePermissions'+  { -- | A list of resource permissions to be granted for the theme.+    grantPermissions :: Prelude.Maybe [ResourcePermission],+    -- | A list of resource permissions to be revoked from the theme.+    revokePermissions :: Prelude.Maybe [ResourcePermission],+    -- | The ID of the Amazon Web Services account that contains the theme.+    awsAccountId :: Prelude.Text,+    -- | The ID for the theme.+    themeId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateThemePermissions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'grantPermissions', 'updateThemePermissions_grantPermissions' - A list of resource permissions to be granted for the theme.+--+-- 'revokePermissions', 'updateThemePermissions_revokePermissions' - A list of resource permissions to be revoked from the theme.+--+-- 'awsAccountId', 'updateThemePermissions_awsAccountId' - The ID of the Amazon Web Services account that contains the theme.+--+-- 'themeId', 'updateThemePermissions_themeId' - The ID for the theme.+newUpdateThemePermissions ::+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'themeId'+  Prelude.Text ->+  UpdateThemePermissions+newUpdateThemePermissions pAwsAccountId_ pThemeId_ =+  UpdateThemePermissions'+    { grantPermissions =+        Prelude.Nothing,+      revokePermissions = Prelude.Nothing,+      awsAccountId = pAwsAccountId_,+      themeId = pThemeId_+    }++-- | A list of resource permissions to be granted for the theme.+updateThemePermissions_grantPermissions :: Lens.Lens' UpdateThemePermissions (Prelude.Maybe [ResourcePermission])+updateThemePermissions_grantPermissions = Lens.lens (\UpdateThemePermissions' {grantPermissions} -> grantPermissions) (\s@UpdateThemePermissions' {} a -> s {grantPermissions = a} :: UpdateThemePermissions) Prelude.. Lens.mapping Lens.coerced++-- | A list of resource permissions to be revoked from the theme.+updateThemePermissions_revokePermissions :: Lens.Lens' UpdateThemePermissions (Prelude.Maybe [ResourcePermission])+updateThemePermissions_revokePermissions = Lens.lens (\UpdateThemePermissions' {revokePermissions} -> revokePermissions) (\s@UpdateThemePermissions' {} a -> s {revokePermissions = a} :: UpdateThemePermissions) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the Amazon Web Services account that contains the theme.+updateThemePermissions_awsAccountId :: Lens.Lens' UpdateThemePermissions Prelude.Text+updateThemePermissions_awsAccountId = Lens.lens (\UpdateThemePermissions' {awsAccountId} -> awsAccountId) (\s@UpdateThemePermissions' {} a -> s {awsAccountId = a} :: UpdateThemePermissions)++-- | The ID for the theme.+updateThemePermissions_themeId :: Lens.Lens' UpdateThemePermissions Prelude.Text+updateThemePermissions_themeId = Lens.lens (\UpdateThemePermissions' {themeId} -> themeId) (\s@UpdateThemePermissions' {} a -> s {themeId = a} :: UpdateThemePermissions)++instance Core.AWSRequest UpdateThemePermissions where+  type+    AWSResponse UpdateThemePermissions =+      UpdateThemePermissionsResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateThemePermissionsResponse'+            Prelude.<$> (x Data..?> "Permissions")+            Prelude.<*> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "ThemeArn")+            Prelude.<*> (x Data..?> "ThemeId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateThemePermissions where+  hashWithSalt _salt UpdateThemePermissions' {..} =+    _salt+      `Prelude.hashWithSalt` grantPermissions+      `Prelude.hashWithSalt` revokePermissions+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` themeId++instance Prelude.NFData UpdateThemePermissions where+  rnf UpdateThemePermissions' {..} =+    Prelude.rnf grantPermissions+      `Prelude.seq` Prelude.rnf revokePermissions+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf themeId++instance Data.ToHeaders UpdateThemePermissions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateThemePermissions where+  toJSON UpdateThemePermissions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("GrantPermissions" Data..=)+              Prelude.<$> grantPermissions,+            ("RevokePermissions" Data..=)+              Prelude.<$> revokePermissions+          ]+      )++instance Data.ToPath UpdateThemePermissions where+  toPath UpdateThemePermissions' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/themes/",+        Data.toBS themeId,+        "/permissions"+      ]++instance Data.ToQuery UpdateThemePermissions where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateThemePermissionsResponse' smart constructor.+data UpdateThemePermissionsResponse = UpdateThemePermissionsResponse'+  { -- | The resulting list of resource permissions for the theme.+    permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),+    -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the theme.+    themeArn :: Prelude.Maybe Prelude.Text,+    -- | The ID for the theme.+    themeId :: Prelude.Maybe Prelude.Text,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateThemePermissionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'permissions', 'updateThemePermissionsResponse_permissions' - The resulting list of resource permissions for the theme.+--+-- 'requestId', 'updateThemePermissionsResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'themeArn', 'updateThemePermissionsResponse_themeArn' - The Amazon Resource Name (ARN) of the theme.+--+-- 'themeId', 'updateThemePermissionsResponse_themeId' - The ID for the theme.+--+-- 'status', 'updateThemePermissionsResponse_status' - The HTTP status of the request.+newUpdateThemePermissionsResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateThemePermissionsResponse+newUpdateThemePermissionsResponse pStatus_ =+  UpdateThemePermissionsResponse'+    { permissions =+        Prelude.Nothing,+      requestId = Prelude.Nothing,+      themeArn = Prelude.Nothing,+      themeId = Prelude.Nothing,+      status = pStatus_+    }++-- | The resulting list of resource permissions for the theme.+updateThemePermissionsResponse_permissions :: Lens.Lens' UpdateThemePermissionsResponse (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))+updateThemePermissionsResponse_permissions = Lens.lens (\UpdateThemePermissionsResponse' {permissions} -> permissions) (\s@UpdateThemePermissionsResponse' {} a -> s {permissions = a} :: UpdateThemePermissionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services request ID for this operation.+updateThemePermissionsResponse_requestId :: Lens.Lens' UpdateThemePermissionsResponse (Prelude.Maybe Prelude.Text)+updateThemePermissionsResponse_requestId = Lens.lens (\UpdateThemePermissionsResponse' {requestId} -> requestId) (\s@UpdateThemePermissionsResponse' {} a -> s {requestId = a} :: UpdateThemePermissionsResponse)++-- | The Amazon Resource Name (ARN) of the theme.+updateThemePermissionsResponse_themeArn :: Lens.Lens' UpdateThemePermissionsResponse (Prelude.Maybe Prelude.Text)+updateThemePermissionsResponse_themeArn = Lens.lens (\UpdateThemePermissionsResponse' {themeArn} -> themeArn) (\s@UpdateThemePermissionsResponse' {} a -> s {themeArn = a} :: UpdateThemePermissionsResponse)++-- | The ID for the theme.+updateThemePermissionsResponse_themeId :: Lens.Lens' UpdateThemePermissionsResponse (Prelude.Maybe Prelude.Text)+updateThemePermissionsResponse_themeId = Lens.lens (\UpdateThemePermissionsResponse' {themeId} -> themeId) (\s@UpdateThemePermissionsResponse' {} a -> s {themeId = a} :: UpdateThemePermissionsResponse)++-- | The HTTP status of the request.+updateThemePermissionsResponse_status :: Lens.Lens' UpdateThemePermissionsResponse Prelude.Int+updateThemePermissionsResponse_status = Lens.lens (\UpdateThemePermissionsResponse' {status} -> status) (\s@UpdateThemePermissionsResponse' {} a -> s {status = a} :: UpdateThemePermissionsResponse)++instance+  Prelude.NFData+    UpdateThemePermissionsResponse+  where+  rnf UpdateThemePermissionsResponse' {..} =+    Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf themeArn+      `Prelude.seq` Prelude.rnf themeId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/UpdateUser.hs view
@@ -0,0 +1,509 @@+{-# 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.QuickSight.UpdateUser+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an Amazon QuickSight user.+module Amazonka.QuickSight.UpdateUser+  ( -- * Creating a Request+    UpdateUser (..),+    newUpdateUser,++    -- * Request Lenses+    updateUser_customFederationProviderUrl,+    updateUser_customPermissionsName,+    updateUser_externalLoginFederationProviderType,+    updateUser_externalLoginId,+    updateUser_unapplyCustomPermissions,+    updateUser_userName,+    updateUser_awsAccountId,+    updateUser_namespace,+    updateUser_email,+    updateUser_role,++    -- * Destructuring the Response+    UpdateUserResponse (..),+    newUpdateUserResponse,++    -- * Response Lenses+    updateUserResponse_requestId,+    updateUserResponse_user,+    updateUserResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateUser' smart constructor.+data UpdateUser = UpdateUser'+  { -- | The URL of the custom OpenID Connect (OIDC) provider that provides+    -- identity to let a user federate into Amazon QuickSight with an+    -- associated Identity and Access Management(IAM) role. This parameter+    -- should only be used when @ExternalLoginFederationProviderType@ parameter+    -- is set to @CUSTOM_OIDC@.+    customFederationProviderUrl :: Prelude.Maybe Prelude.Text,+    -- | (Enterprise edition only) The name of the custom permissions profile+    -- that you want to assign to this user. Customized permissions allows you+    -- to control a user\'s access by restricting access the following+    -- operations:+    --+    -- -   Create and update data sources+    --+    -- -   Create and update datasets+    --+    -- -   Create and update email reports+    --+    -- -   Subscribe to email reports+    --+    -- A set of custom permissions includes any combination of these+    -- restrictions. Currently, you need to create the profile names for custom+    -- permission sets by using the Amazon QuickSight console. Then, you use+    -- the @RegisterUser@ API operation to assign the named set of permissions+    -- to a Amazon QuickSight user.+    --+    -- Amazon QuickSight custom permissions are applied through IAM policies.+    -- Therefore, they override the permissions typically granted by assigning+    -- Amazon QuickSight users to one of the default security cohorts in Amazon+    -- QuickSight (admin, author, reader).+    --+    -- This feature is available only to Amazon QuickSight Enterprise edition+    -- subscriptions.+    customPermissionsName :: Prelude.Maybe Prelude.Text,+    -- | The type of supported external login provider that provides identity to+    -- let a user federate into Amazon QuickSight with an associated Identity+    -- and Access Management(IAM) role. The type of supported external login+    -- provider can be one of the following.+    --+    -- -   @COGNITO@: Amazon Cognito. The provider URL is+    --     cognito-identity.amazonaws.com. When choosing the @COGNITO@ provider+    --     type, don’t use the \"CustomFederationProviderUrl\" parameter which+    --     is only needed when the external provider is custom.+    --+    -- -   @CUSTOM_OIDC@: Custom OpenID Connect (OIDC) provider. When choosing+    --     @CUSTOM_OIDC@ type, use the @CustomFederationProviderUrl@ parameter+    --     to provide the custom OIDC provider URL.+    --+    -- -   @NONE@: This clears all the previously saved external login+    --     information for a user. Use the+    --     @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeUser.html DescribeUser>@ @+    --     API operation to check the external login information.+    externalLoginFederationProviderType :: Prelude.Maybe Prelude.Text,+    -- | The identity ID for a user in the external login provider.+    externalLoginId :: Prelude.Maybe Prelude.Text,+    -- | A flag that you use to indicate that you want to remove all custom+    -- permissions from this user. Using this parameter resets the user to the+    -- state it was in before a custom permissions profile was applied. This+    -- parameter defaults to NULL and it doesn\'t accept any other value.+    unapplyCustomPermissions :: Prelude.Maybe Prelude.Bool,+    -- | The Amazon QuickSight user name that you want to update.+    userName :: Prelude.Text,+    -- | The ID for the Amazon Web Services account that the user is in.+    -- Currently, you use the ID for the Amazon Web Services account that+    -- contains your Amazon QuickSight account.+    awsAccountId :: Prelude.Text,+    -- | The namespace. Currently, you should set this to @default@.+    namespace :: Prelude.Text,+    -- | The email address of the user that you want to update.+    email :: Prelude.Text,+    -- | The Amazon QuickSight role of the user. The role can be one of the+    -- following default security cohorts:+    --+    -- -   @READER@: A user who has read-only access to dashboards.+    --+    -- -   @AUTHOR@: A user who can create data sources, datasets, analyses,+    --     and dashboards.+    --+    -- -   @ADMIN@: A user who is an author, who can also manage Amazon+    --     QuickSight settings.+    --+    -- The name of the Amazon QuickSight role is invisible to the user except+    -- for the console screens dealing with permissions.+    role' :: UserRole+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customFederationProviderUrl', 'updateUser_customFederationProviderUrl' - The URL of the custom OpenID Connect (OIDC) provider that provides+-- identity to let a user federate into Amazon QuickSight with an+-- associated Identity and Access Management(IAM) role. This parameter+-- should only be used when @ExternalLoginFederationProviderType@ parameter+-- is set to @CUSTOM_OIDC@.+--+-- 'customPermissionsName', 'updateUser_customPermissionsName' - (Enterprise edition only) The name of the custom permissions profile+-- that you want to assign to this user. Customized permissions allows you+-- to control a user\'s access by restricting access the following+-- operations:+--+-- -   Create and update data sources+--+-- -   Create and update datasets+--+-- -   Create and update email reports+--+-- -   Subscribe to email reports+--+-- A set of custom permissions includes any combination of these+-- restrictions. Currently, you need to create the profile names for custom+-- permission sets by using the Amazon QuickSight console. Then, you use+-- the @RegisterUser@ API operation to assign the named set of permissions+-- to a Amazon QuickSight user.+--+-- Amazon QuickSight custom permissions are applied through IAM policies.+-- Therefore, they override the permissions typically granted by assigning+-- Amazon QuickSight users to one of the default security cohorts in Amazon+-- QuickSight (admin, author, reader).+--+-- This feature is available only to Amazon QuickSight Enterprise edition+-- subscriptions.+--+-- 'externalLoginFederationProviderType', 'updateUser_externalLoginFederationProviderType' - The type of supported external login provider that provides identity to+-- let a user federate into Amazon QuickSight with an associated Identity+-- and Access Management(IAM) role. The type of supported external login+-- provider can be one of the following.+--+-- -   @COGNITO@: Amazon Cognito. The provider URL is+--     cognito-identity.amazonaws.com. When choosing the @COGNITO@ provider+--     type, don’t use the \"CustomFederationProviderUrl\" parameter which+--     is only needed when the external provider is custom.+--+-- -   @CUSTOM_OIDC@: Custom OpenID Connect (OIDC) provider. When choosing+--     @CUSTOM_OIDC@ type, use the @CustomFederationProviderUrl@ parameter+--     to provide the custom OIDC provider URL.+--+-- -   @NONE@: This clears all the previously saved external login+--     information for a user. Use the+--     @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeUser.html DescribeUser>@ @+--     API operation to check the external login information.+--+-- 'externalLoginId', 'updateUser_externalLoginId' - The identity ID for a user in the external login provider.+--+-- 'unapplyCustomPermissions', 'updateUser_unapplyCustomPermissions' - A flag that you use to indicate that you want to remove all custom+-- permissions from this user. Using this parameter resets the user to the+-- state it was in before a custom permissions profile was applied. This+-- parameter defaults to NULL and it doesn\'t accept any other value.+--+-- 'userName', 'updateUser_userName' - The Amazon QuickSight user name that you want to update.+--+-- 'awsAccountId', 'updateUser_awsAccountId' - The ID for the Amazon Web Services account that the user is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+--+-- 'namespace', 'updateUser_namespace' - The namespace. Currently, you should set this to @default@.+--+-- 'email', 'updateUser_email' - The email address of the user that you want to update.+--+-- 'role'', 'updateUser_role' - The Amazon QuickSight role of the user. The role can be one of the+-- following default security cohorts:+--+-- -   @READER@: A user who has read-only access to dashboards.+--+-- -   @AUTHOR@: A user who can create data sources, datasets, analyses,+--     and dashboards.+--+-- -   @ADMIN@: A user who is an author, who can also manage Amazon+--     QuickSight settings.+--+-- The name of the Amazon QuickSight role is invisible to the user except+-- for the console screens dealing with permissions.+newUpdateUser ::+  -- | 'userName'+  Prelude.Text ->+  -- | 'awsAccountId'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  -- | 'email'+  Prelude.Text ->+  -- | 'role''+  UserRole ->+  UpdateUser+newUpdateUser+  pUserName_+  pAwsAccountId_+  pNamespace_+  pEmail_+  pRole_ =+    UpdateUser'+      { customFederationProviderUrl =+          Prelude.Nothing,+        customPermissionsName = Prelude.Nothing,+        externalLoginFederationProviderType =+          Prelude.Nothing,+        externalLoginId = Prelude.Nothing,+        unapplyCustomPermissions = Prelude.Nothing,+        userName = pUserName_,+        awsAccountId = pAwsAccountId_,+        namespace = pNamespace_,+        email = pEmail_,+        role' = pRole_+      }++-- | The URL of the custom OpenID Connect (OIDC) provider that provides+-- identity to let a user federate into Amazon QuickSight with an+-- associated Identity and Access Management(IAM) role. This parameter+-- should only be used when @ExternalLoginFederationProviderType@ parameter+-- is set to @CUSTOM_OIDC@.+updateUser_customFederationProviderUrl :: Lens.Lens' UpdateUser (Prelude.Maybe Prelude.Text)+updateUser_customFederationProviderUrl = Lens.lens (\UpdateUser' {customFederationProviderUrl} -> customFederationProviderUrl) (\s@UpdateUser' {} a -> s {customFederationProviderUrl = a} :: UpdateUser)++-- | (Enterprise edition only) The name of the custom permissions profile+-- that you want to assign to this user. Customized permissions allows you+-- to control a user\'s access by restricting access the following+-- operations:+--+-- -   Create and update data sources+--+-- -   Create and update datasets+--+-- -   Create and update email reports+--+-- -   Subscribe to email reports+--+-- A set of custom permissions includes any combination of these+-- restrictions. Currently, you need to create the profile names for custom+-- permission sets by using the Amazon QuickSight console. Then, you use+-- the @RegisterUser@ API operation to assign the named set of permissions+-- to a Amazon QuickSight user.+--+-- Amazon QuickSight custom permissions are applied through IAM policies.+-- Therefore, they override the permissions typically granted by assigning+-- Amazon QuickSight users to one of the default security cohorts in Amazon+-- QuickSight (admin, author, reader).+--+-- This feature is available only to Amazon QuickSight Enterprise edition+-- subscriptions.+updateUser_customPermissionsName :: Lens.Lens' UpdateUser (Prelude.Maybe Prelude.Text)+updateUser_customPermissionsName = Lens.lens (\UpdateUser' {customPermissionsName} -> customPermissionsName) (\s@UpdateUser' {} a -> s {customPermissionsName = a} :: UpdateUser)++-- | The type of supported external login provider that provides identity to+-- let a user federate into Amazon QuickSight with an associated Identity+-- and Access Management(IAM) role. The type of supported external login+-- provider can be one of the following.+--+-- -   @COGNITO@: Amazon Cognito. The provider URL is+--     cognito-identity.amazonaws.com. When choosing the @COGNITO@ provider+--     type, don’t use the \"CustomFederationProviderUrl\" parameter which+--     is only needed when the external provider is custom.+--+-- -   @CUSTOM_OIDC@: Custom OpenID Connect (OIDC) provider. When choosing+--     @CUSTOM_OIDC@ type, use the @CustomFederationProviderUrl@ parameter+--     to provide the custom OIDC provider URL.+--+-- -   @NONE@: This clears all the previously saved external login+--     information for a user. Use the+--     @ @<https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeUser.html DescribeUser>@ @+--     API operation to check the external login information.+updateUser_externalLoginFederationProviderType :: Lens.Lens' UpdateUser (Prelude.Maybe Prelude.Text)+updateUser_externalLoginFederationProviderType = Lens.lens (\UpdateUser' {externalLoginFederationProviderType} -> externalLoginFederationProviderType) (\s@UpdateUser' {} a -> s {externalLoginFederationProviderType = a} :: UpdateUser)++-- | The identity ID for a user in the external login provider.+updateUser_externalLoginId :: Lens.Lens' UpdateUser (Prelude.Maybe Prelude.Text)+updateUser_externalLoginId = Lens.lens (\UpdateUser' {externalLoginId} -> externalLoginId) (\s@UpdateUser' {} a -> s {externalLoginId = a} :: UpdateUser)++-- | A flag that you use to indicate that you want to remove all custom+-- permissions from this user. Using this parameter resets the user to the+-- state it was in before a custom permissions profile was applied. This+-- parameter defaults to NULL and it doesn\'t accept any other value.+updateUser_unapplyCustomPermissions :: Lens.Lens' UpdateUser (Prelude.Maybe Prelude.Bool)+updateUser_unapplyCustomPermissions = Lens.lens (\UpdateUser' {unapplyCustomPermissions} -> unapplyCustomPermissions) (\s@UpdateUser' {} a -> s {unapplyCustomPermissions = a} :: UpdateUser)++-- | The Amazon QuickSight user name that you want to update.+updateUser_userName :: Lens.Lens' UpdateUser Prelude.Text+updateUser_userName = Lens.lens (\UpdateUser' {userName} -> userName) (\s@UpdateUser' {} a -> s {userName = a} :: UpdateUser)++-- | The ID for the Amazon Web Services account that the user is in.+-- Currently, you use the ID for the Amazon Web Services account that+-- contains your Amazon QuickSight account.+updateUser_awsAccountId :: Lens.Lens' UpdateUser Prelude.Text+updateUser_awsAccountId = Lens.lens (\UpdateUser' {awsAccountId} -> awsAccountId) (\s@UpdateUser' {} a -> s {awsAccountId = a} :: UpdateUser)++-- | The namespace. Currently, you should set this to @default@.+updateUser_namespace :: Lens.Lens' UpdateUser Prelude.Text+updateUser_namespace = Lens.lens (\UpdateUser' {namespace} -> namespace) (\s@UpdateUser' {} a -> s {namespace = a} :: UpdateUser)++-- | The email address of the user that you want to update.+updateUser_email :: Lens.Lens' UpdateUser Prelude.Text+updateUser_email = Lens.lens (\UpdateUser' {email} -> email) (\s@UpdateUser' {} a -> s {email = a} :: UpdateUser)++-- | The Amazon QuickSight role of the user. The role can be one of the+-- following default security cohorts:+--+-- -   @READER@: A user who has read-only access to dashboards.+--+-- -   @AUTHOR@: A user who can create data sources, datasets, analyses,+--     and dashboards.+--+-- -   @ADMIN@: A user who is an author, who can also manage Amazon+--     QuickSight settings.+--+-- The name of the Amazon QuickSight role is invisible to the user except+-- for the console screens dealing with permissions.+updateUser_role :: Lens.Lens' UpdateUser UserRole+updateUser_role = Lens.lens (\UpdateUser' {role'} -> role') (\s@UpdateUser' {} a -> s {role' = a} :: UpdateUser)++instance Core.AWSRequest UpdateUser where+  type AWSResponse UpdateUser = UpdateUserResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateUserResponse'+            Prelude.<$> (x Data..?> "RequestId")+            Prelude.<*> (x Data..?> "User")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateUser where+  hashWithSalt _salt UpdateUser' {..} =+    _salt+      `Prelude.hashWithSalt` customFederationProviderUrl+      `Prelude.hashWithSalt` customPermissionsName+      `Prelude.hashWithSalt` externalLoginFederationProviderType+      `Prelude.hashWithSalt` externalLoginId+      `Prelude.hashWithSalt` unapplyCustomPermissions+      `Prelude.hashWithSalt` userName+      `Prelude.hashWithSalt` awsAccountId+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` email+      `Prelude.hashWithSalt` role'++instance Prelude.NFData UpdateUser where+  rnf UpdateUser' {..} =+    Prelude.rnf customFederationProviderUrl+      `Prelude.seq` Prelude.rnf customPermissionsName+      `Prelude.seq` Prelude.rnf externalLoginFederationProviderType+      `Prelude.seq` Prelude.rnf externalLoginId+      `Prelude.seq` Prelude.rnf unapplyCustomPermissions+      `Prelude.seq` Prelude.rnf userName+      `Prelude.seq` Prelude.rnf awsAccountId+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf email+      `Prelude.seq` Prelude.rnf role'++instance Data.ToHeaders UpdateUser where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.0" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateUser where+  toJSON UpdateUser' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomFederationProviderUrl" Data..=)+              Prelude.<$> customFederationProviderUrl,+            ("CustomPermissionsName" Data..=)+              Prelude.<$> customPermissionsName,+            ("ExternalLoginFederationProviderType" Data..=)+              Prelude.<$> externalLoginFederationProviderType,+            ("ExternalLoginId" Data..=)+              Prelude.<$> externalLoginId,+            ("UnapplyCustomPermissions" Data..=)+              Prelude.<$> unapplyCustomPermissions,+            Prelude.Just ("Email" Data..= email),+            Prelude.Just ("Role" Data..= role')+          ]+      )++instance Data.ToPath UpdateUser where+  toPath UpdateUser' {..} =+    Prelude.mconcat+      [ "/accounts/",+        Data.toBS awsAccountId,+        "/namespaces/",+        Data.toBS namespace,+        "/users/",+        Data.toBS userName+      ]++instance Data.ToQuery UpdateUser where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateUserResponse' smart constructor.+data UpdateUserResponse = UpdateUserResponse'+  { -- | The Amazon Web Services request ID for this operation.+    requestId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon QuickSight user.+    user :: Prelude.Maybe User,+    -- | The HTTP status of the request.+    status :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestId', 'updateUserResponse_requestId' - The Amazon Web Services request ID for this operation.+--+-- 'user', 'updateUserResponse_user' - The Amazon QuickSight user.+--+-- 'status', 'updateUserResponse_status' - The HTTP status of the request.+newUpdateUserResponse ::+  -- | 'status'+  Prelude.Int ->+  UpdateUserResponse+newUpdateUserResponse pStatus_ =+  UpdateUserResponse'+    { requestId = Prelude.Nothing,+      user = Prelude.Nothing,+      status = pStatus_+    }++-- | The Amazon Web Services request ID for this operation.+updateUserResponse_requestId :: Lens.Lens' UpdateUserResponse (Prelude.Maybe Prelude.Text)+updateUserResponse_requestId = Lens.lens (\UpdateUserResponse' {requestId} -> requestId) (\s@UpdateUserResponse' {} a -> s {requestId = a} :: UpdateUserResponse)++-- | The Amazon QuickSight user.+updateUserResponse_user :: Lens.Lens' UpdateUserResponse (Prelude.Maybe User)+updateUserResponse_user = Lens.lens (\UpdateUserResponse' {user} -> user) (\s@UpdateUserResponse' {} a -> s {user = a} :: UpdateUserResponse)++-- | The HTTP status of the request.+updateUserResponse_status :: Lens.Lens' UpdateUserResponse Prelude.Int+updateUserResponse_status = Lens.lens (\UpdateUserResponse' {status} -> status) (\s@UpdateUserResponse' {} a -> s {status = a} :: UpdateUserResponse)++instance Prelude.NFData UpdateUserResponse where+  rnf UpdateUserResponse' {..} =+    Prelude.rnf requestId+      `Prelude.seq` Prelude.rnf user+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/QuickSight/Waiters.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.QuickSight.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.QuickSight.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QuickSight.Lens+import Amazonka.QuickSight.Types
+ 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.QuickSight+import Test.Amazonka.QuickSight.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "QuickSight"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/QuickSight.hs view
@@ -0,0 +1,2558 @@+{-# 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.QuickSight+-- 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.QuickSight where++import Amazonka.QuickSight+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Amazonka.QuickSight.Internal+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ requestCancelIngestion $+--             newCancelIngestion+--+--         , requestCreateAccountCustomization $+--             newCreateAccountCustomization+--+--         , requestCreateAccountSubscription $+--             newCreateAccountSubscription+--+--         , requestCreateAnalysis $+--             newCreateAnalysis+--+--         , requestCreateDashboard $+--             newCreateDashboard+--+--         , requestCreateDataSet $+--             newCreateDataSet+--+--         , requestCreateDataSource $+--             newCreateDataSource+--+--         , requestCreateFolder $+--             newCreateFolder+--+--         , requestCreateFolderMembership $+--             newCreateFolderMembership+--+--         , requestCreateGroup $+--             newCreateGroup+--+--         , requestCreateGroupMembership $+--             newCreateGroupMembership+--+--         , requestCreateIAMPolicyAssignment $+--             newCreateIAMPolicyAssignment+--+--         , requestCreateIngestion $+--             newCreateIngestion+--+--         , requestCreateNamespace $+--             newCreateNamespace+--+--         , requestCreateTemplate $+--             newCreateTemplate+--+--         , requestCreateTemplateAlias $+--             newCreateTemplateAlias+--+--         , requestCreateTheme $+--             newCreateTheme+--+--         , requestCreateThemeAlias $+--             newCreateThemeAlias+--+--         , requestDeleteAccountCustomization $+--             newDeleteAccountCustomization+--+--         , requestDeleteAccountSubscription $+--             newDeleteAccountSubscription+--+--         , requestDeleteAnalysis $+--             newDeleteAnalysis+--+--         , requestDeleteDashboard $+--             newDeleteDashboard+--+--         , requestDeleteDataSet $+--             newDeleteDataSet+--+--         , requestDeleteDataSource $+--             newDeleteDataSource+--+--         , requestDeleteFolder $+--             newDeleteFolder+--+--         , requestDeleteFolderMembership $+--             newDeleteFolderMembership+--+--         , requestDeleteGroup $+--             newDeleteGroup+--+--         , requestDeleteGroupMembership $+--             newDeleteGroupMembership+--+--         , requestDeleteIAMPolicyAssignment $+--             newDeleteIAMPolicyAssignment+--+--         , requestDeleteNamespace $+--             newDeleteNamespace+--+--         , requestDeleteTemplate $+--             newDeleteTemplate+--+--         , requestDeleteTemplateAlias $+--             newDeleteTemplateAlias+--+--         , requestDeleteTheme $+--             newDeleteTheme+--+--         , requestDeleteThemeAlias $+--             newDeleteThemeAlias+--+--         , requestDeleteUser $+--             newDeleteUser+--+--         , requestDeleteUserByPrincipalId $+--             newDeleteUserByPrincipalId+--+--         , requestDescribeAccountCustomization $+--             newDescribeAccountCustomization+--+--         , requestDescribeAccountSettings $+--             newDescribeAccountSettings+--+--         , requestDescribeAccountSubscription $+--             newDescribeAccountSubscription+--+--         , requestDescribeAnalysis $+--             newDescribeAnalysis+--+--         , requestDescribeAnalysisDefinition $+--             newDescribeAnalysisDefinition+--+--         , requestDescribeAnalysisPermissions $+--             newDescribeAnalysisPermissions+--+--         , requestDescribeDashboard $+--             newDescribeDashboard+--+--         , requestDescribeDashboardDefinition $+--             newDescribeDashboardDefinition+--+--         , requestDescribeDashboardPermissions $+--             newDescribeDashboardPermissions+--+--         , requestDescribeDataSet $+--             newDescribeDataSet+--+--         , requestDescribeDataSetPermissions $+--             newDescribeDataSetPermissions+--+--         , requestDescribeDataSource $+--             newDescribeDataSource+--+--         , requestDescribeDataSourcePermissions $+--             newDescribeDataSourcePermissions+--+--         , requestDescribeFolder $+--             newDescribeFolder+--+--         , requestDescribeFolderPermissions $+--             newDescribeFolderPermissions+--+--         , requestDescribeFolderResolvedPermissions $+--             newDescribeFolderResolvedPermissions+--+--         , requestDescribeGroup $+--             newDescribeGroup+--+--         , requestDescribeGroupMembership $+--             newDescribeGroupMembership+--+--         , requestDescribeIAMPolicyAssignment $+--             newDescribeIAMPolicyAssignment+--+--         , requestDescribeIngestion $+--             newDescribeIngestion+--+--         , requestDescribeIpRestriction $+--             newDescribeIpRestriction+--+--         , requestDescribeNamespace $+--             newDescribeNamespace+--+--         , requestDescribeTemplate $+--             newDescribeTemplate+--+--         , requestDescribeTemplateAlias $+--             newDescribeTemplateAlias+--+--         , requestDescribeTemplateDefinition $+--             newDescribeTemplateDefinition+--+--         , requestDescribeTemplatePermissions $+--             newDescribeTemplatePermissions+--+--         , requestDescribeTheme $+--             newDescribeTheme+--+--         , requestDescribeThemeAlias $+--             newDescribeThemeAlias+--+--         , requestDescribeThemePermissions $+--             newDescribeThemePermissions+--+--         , requestDescribeUser $+--             newDescribeUser+--+--         , requestGenerateEmbedUrlForAnonymousUser $+--             newGenerateEmbedUrlForAnonymousUser+--+--         , requestGenerateEmbedUrlForRegisteredUser $+--             newGenerateEmbedUrlForRegisteredUser+--+--         , requestGetDashboardEmbedUrl $+--             newGetDashboardEmbedUrl+--+--         , requestGetSessionEmbedUrl $+--             newGetSessionEmbedUrl+--+--         , requestListAnalyses $+--             newListAnalyses+--+--         , requestListDashboardVersions $+--             newListDashboardVersions+--+--         , requestListDashboards $+--             newListDashboards+--+--         , requestListDataSets $+--             newListDataSets+--+--         , requestListDataSources $+--             newListDataSources+--+--         , requestListFolderMembers $+--             newListFolderMembers+--+--         , requestListFolders $+--             newListFolders+--+--         , requestListGroupMemberships $+--             newListGroupMemberships+--+--         , requestListGroups $+--             newListGroups+--+--         , requestListIAMPolicyAssignments $+--             newListIAMPolicyAssignments+--+--         , requestListIAMPolicyAssignmentsForUser $+--             newListIAMPolicyAssignmentsForUser+--+--         , requestListIngestions $+--             newListIngestions+--+--         , requestListNamespaces $+--             newListNamespaces+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestListTemplateAliases $+--             newListTemplateAliases+--+--         , requestListTemplateVersions $+--             newListTemplateVersions+--+--         , requestListTemplates $+--             newListTemplates+--+--         , requestListThemeAliases $+--             newListThemeAliases+--+--         , requestListThemeVersions $+--             newListThemeVersions+--+--         , requestListThemes $+--             newListThemes+--+--         , requestListUserGroups $+--             newListUserGroups+--+--         , requestListUsers $+--             newListUsers+--+--         , requestRegisterUser $+--             newRegisterUser+--+--         , requestRestoreAnalysis $+--             newRestoreAnalysis+--+--         , requestSearchAnalyses $+--             newSearchAnalyses+--+--         , requestSearchDashboards $+--             newSearchDashboards+--+--         , requestSearchDataSets $+--             newSearchDataSets+--+--         , requestSearchDataSources $+--             newSearchDataSources+--+--         , requestSearchFolders $+--             newSearchFolders+--+--         , requestSearchGroups $+--             newSearchGroups+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateAccountCustomization $+--             newUpdateAccountCustomization+--+--         , requestUpdateAccountSettings $+--             newUpdateAccountSettings+--+--         , requestUpdateAnalysis $+--             newUpdateAnalysis+--+--         , requestUpdateAnalysisPermissions $+--             newUpdateAnalysisPermissions+--+--         , requestUpdateDashboard $+--             newUpdateDashboard+--+--         , requestUpdateDashboardPermissions $+--             newUpdateDashboardPermissions+--+--         , requestUpdateDashboardPublishedVersion $+--             newUpdateDashboardPublishedVersion+--+--         , requestUpdateDataSet $+--             newUpdateDataSet+--+--         , requestUpdateDataSetPermissions $+--             newUpdateDataSetPermissions+--+--         , requestUpdateDataSource $+--             newUpdateDataSource+--+--         , requestUpdateDataSourcePermissions $+--             newUpdateDataSourcePermissions+--+--         , requestUpdateFolder $+--             newUpdateFolder+--+--         , requestUpdateFolderPermissions $+--             newUpdateFolderPermissions+--+--         , requestUpdateGroup $+--             newUpdateGroup+--+--         , requestUpdateIAMPolicyAssignment $+--             newUpdateIAMPolicyAssignment+--+--         , requestUpdateIpRestriction $+--             newUpdateIpRestriction+--+--         , requestUpdatePublicSharingSettings $+--             newUpdatePublicSharingSettings+--+--         , requestUpdateTemplate $+--             newUpdateTemplate+--+--         , requestUpdateTemplateAlias $+--             newUpdateTemplateAlias+--+--         , requestUpdateTemplatePermissions $+--             newUpdateTemplatePermissions+--+--         , requestUpdateTheme $+--             newUpdateTheme+--+--         , requestUpdateThemeAlias $+--             newUpdateThemeAlias+--+--         , requestUpdateThemePermissions $+--             newUpdateThemePermissions+--+--         , requestUpdateUser $+--             newUpdateUser+--+--           ]++--     , testGroup "response"+--         [ responseCancelIngestion $+--             newCancelIngestionResponse+--+--         , responseCreateAccountCustomization $+--             newCreateAccountCustomizationResponse+--+--         , responseCreateAccountSubscription $+--             newCreateAccountSubscriptionResponse+--+--         , responseCreateAnalysis $+--             newCreateAnalysisResponse+--+--         , responseCreateDashboard $+--             newCreateDashboardResponse+--+--         , responseCreateDataSet $+--             newCreateDataSetResponse+--+--         , responseCreateDataSource $+--             newCreateDataSourceResponse+--+--         , responseCreateFolder $+--             newCreateFolderResponse+--+--         , responseCreateFolderMembership $+--             newCreateFolderMembershipResponse+--+--         , responseCreateGroup $+--             newCreateGroupResponse+--+--         , responseCreateGroupMembership $+--             newCreateGroupMembershipResponse+--+--         , responseCreateIAMPolicyAssignment $+--             newCreateIAMPolicyAssignmentResponse+--+--         , responseCreateIngestion $+--             newCreateIngestionResponse+--+--         , responseCreateNamespace $+--             newCreateNamespaceResponse+--+--         , responseCreateTemplate $+--             newCreateTemplateResponse+--+--         , responseCreateTemplateAlias $+--             newCreateTemplateAliasResponse+--+--         , responseCreateTheme $+--             newCreateThemeResponse+--+--         , responseCreateThemeAlias $+--             newCreateThemeAliasResponse+--+--         , responseDeleteAccountCustomization $+--             newDeleteAccountCustomizationResponse+--+--         , responseDeleteAccountSubscription $+--             newDeleteAccountSubscriptionResponse+--+--         , responseDeleteAnalysis $+--             newDeleteAnalysisResponse+--+--         , responseDeleteDashboard $+--             newDeleteDashboardResponse+--+--         , responseDeleteDataSet $+--             newDeleteDataSetResponse+--+--         , responseDeleteDataSource $+--             newDeleteDataSourceResponse+--+--         , responseDeleteFolder $+--             newDeleteFolderResponse+--+--         , responseDeleteFolderMembership $+--             newDeleteFolderMembershipResponse+--+--         , responseDeleteGroup $+--             newDeleteGroupResponse+--+--         , responseDeleteGroupMembership $+--             newDeleteGroupMembershipResponse+--+--         , responseDeleteIAMPolicyAssignment $+--             newDeleteIAMPolicyAssignmentResponse+--+--         , responseDeleteNamespace $+--             newDeleteNamespaceResponse+--+--         , responseDeleteTemplate $+--             newDeleteTemplateResponse+--+--         , responseDeleteTemplateAlias $+--             newDeleteTemplateAliasResponse+--+--         , responseDeleteTheme $+--             newDeleteThemeResponse+--+--         , responseDeleteThemeAlias $+--             newDeleteThemeAliasResponse+--+--         , responseDeleteUser $+--             newDeleteUserResponse+--+--         , responseDeleteUserByPrincipalId $+--             newDeleteUserByPrincipalIdResponse+--+--         , responseDescribeAccountCustomization $+--             newDescribeAccountCustomizationResponse+--+--         , responseDescribeAccountSettings $+--             newDescribeAccountSettingsResponse+--+--         , responseDescribeAccountSubscription $+--             newDescribeAccountSubscriptionResponse+--+--         , responseDescribeAnalysis $+--             newDescribeAnalysisResponse+--+--         , responseDescribeAnalysisDefinition $+--             newDescribeAnalysisDefinitionResponse+--+--         , responseDescribeAnalysisPermissions $+--             newDescribeAnalysisPermissionsResponse+--+--         , responseDescribeDashboard $+--             newDescribeDashboardResponse+--+--         , responseDescribeDashboardDefinition $+--             newDescribeDashboardDefinitionResponse+--+--         , responseDescribeDashboardPermissions $+--             newDescribeDashboardPermissionsResponse+--+--         , responseDescribeDataSet $+--             newDescribeDataSetResponse+--+--         , responseDescribeDataSetPermissions $+--             newDescribeDataSetPermissionsResponse+--+--         , responseDescribeDataSource $+--             newDescribeDataSourceResponse+--+--         , responseDescribeDataSourcePermissions $+--             newDescribeDataSourcePermissionsResponse+--+--         , responseDescribeFolder $+--             newDescribeFolderResponse+--+--         , responseDescribeFolderPermissions $+--             newDescribeFolderPermissionsResponse+--+--         , responseDescribeFolderResolvedPermissions $+--             newDescribeFolderResolvedPermissionsResponse+--+--         , responseDescribeGroup $+--             newDescribeGroupResponse+--+--         , responseDescribeGroupMembership $+--             newDescribeGroupMembershipResponse+--+--         , responseDescribeIAMPolicyAssignment $+--             newDescribeIAMPolicyAssignmentResponse+--+--         , responseDescribeIngestion $+--             newDescribeIngestionResponse+--+--         , responseDescribeIpRestriction $+--             newDescribeIpRestrictionResponse+--+--         , responseDescribeNamespace $+--             newDescribeNamespaceResponse+--+--         , responseDescribeTemplate $+--             newDescribeTemplateResponse+--+--         , responseDescribeTemplateAlias $+--             newDescribeTemplateAliasResponse+--+--         , responseDescribeTemplateDefinition $+--             newDescribeTemplateDefinitionResponse+--+--         , responseDescribeTemplatePermissions $+--             newDescribeTemplatePermissionsResponse+--+--         , responseDescribeTheme $+--             newDescribeThemeResponse+--+--         , responseDescribeThemeAlias $+--             newDescribeThemeAliasResponse+--+--         , responseDescribeThemePermissions $+--             newDescribeThemePermissionsResponse+--+--         , responseDescribeUser $+--             newDescribeUserResponse+--+--         , responseGenerateEmbedUrlForAnonymousUser $+--             newGenerateEmbedUrlForAnonymousUserResponse+--+--         , responseGenerateEmbedUrlForRegisteredUser $+--             newGenerateEmbedUrlForRegisteredUserResponse+--+--         , responseGetDashboardEmbedUrl $+--             newGetDashboardEmbedUrlResponse+--+--         , responseGetSessionEmbedUrl $+--             newGetSessionEmbedUrlResponse+--+--         , responseListAnalyses $+--             newListAnalysesResponse+--+--         , responseListDashboardVersions $+--             newListDashboardVersionsResponse+--+--         , responseListDashboards $+--             newListDashboardsResponse+--+--         , responseListDataSets $+--             newListDataSetsResponse+--+--         , responseListDataSources $+--             newListDataSourcesResponse+--+--         , responseListFolderMembers $+--             newListFolderMembersResponse+--+--         , responseListFolders $+--             newListFoldersResponse+--+--         , responseListGroupMemberships $+--             newListGroupMembershipsResponse+--+--         , responseListGroups $+--             newListGroupsResponse+--+--         , responseListIAMPolicyAssignments $+--             newListIAMPolicyAssignmentsResponse+--+--         , responseListIAMPolicyAssignmentsForUser $+--             newListIAMPolicyAssignmentsForUserResponse+--+--         , responseListIngestions $+--             newListIngestionsResponse+--+--         , responseListNamespaces $+--             newListNamespacesResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseListTemplateAliases $+--             newListTemplateAliasesResponse+--+--         , responseListTemplateVersions $+--             newListTemplateVersionsResponse+--+--         , responseListTemplates $+--             newListTemplatesResponse+--+--         , responseListThemeAliases $+--             newListThemeAliasesResponse+--+--         , responseListThemeVersions $+--             newListThemeVersionsResponse+--+--         , responseListThemes $+--             newListThemesResponse+--+--         , responseListUserGroups $+--             newListUserGroupsResponse+--+--         , responseListUsers $+--             newListUsersResponse+--+--         , responseRegisterUser $+--             newRegisterUserResponse+--+--         , responseRestoreAnalysis $+--             newRestoreAnalysisResponse+--+--         , responseSearchAnalyses $+--             newSearchAnalysesResponse+--+--         , responseSearchDashboards $+--             newSearchDashboardsResponse+--+--         , responseSearchDataSets $+--             newSearchDataSetsResponse+--+--         , responseSearchDataSources $+--             newSearchDataSourcesResponse+--+--         , responseSearchFolders $+--             newSearchFoldersResponse+--+--         , responseSearchGroups $+--             newSearchGroupsResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateAccountCustomization $+--             newUpdateAccountCustomizationResponse+--+--         , responseUpdateAccountSettings $+--             newUpdateAccountSettingsResponse+--+--         , responseUpdateAnalysis $+--             newUpdateAnalysisResponse+--+--         , responseUpdateAnalysisPermissions $+--             newUpdateAnalysisPermissionsResponse+--+--         , responseUpdateDashboard $+--             newUpdateDashboardResponse+--+--         , responseUpdateDashboardPermissions $+--             newUpdateDashboardPermissionsResponse+--+--         , responseUpdateDashboardPublishedVersion $+--             newUpdateDashboardPublishedVersionResponse+--+--         , responseUpdateDataSet $+--             newUpdateDataSetResponse+--+--         , responseUpdateDataSetPermissions $+--             newUpdateDataSetPermissionsResponse+--+--         , responseUpdateDataSource $+--             newUpdateDataSourceResponse+--+--         , responseUpdateDataSourcePermissions $+--             newUpdateDataSourcePermissionsResponse+--+--         , responseUpdateFolder $+--             newUpdateFolderResponse+--+--         , responseUpdateFolderPermissions $+--             newUpdateFolderPermissionsResponse+--+--         , responseUpdateGroup $+--             newUpdateGroupResponse+--+--         , responseUpdateIAMPolicyAssignment $+--             newUpdateIAMPolicyAssignmentResponse+--+--         , responseUpdateIpRestriction $+--             newUpdateIpRestrictionResponse+--+--         , responseUpdatePublicSharingSettings $+--             newUpdatePublicSharingSettingsResponse+--+--         , responseUpdateTemplate $+--             newUpdateTemplateResponse+--+--         , responseUpdateTemplateAlias $+--             newUpdateTemplateAliasResponse+--+--         , responseUpdateTemplatePermissions $+--             newUpdateTemplatePermissionsResponse+--+--         , responseUpdateTheme $+--             newUpdateThemeResponse+--+--         , responseUpdateThemeAlias $+--             newUpdateThemeAliasResponse+--+--         , responseUpdateThemePermissions $+--             newUpdateThemePermissionsResponse+--+--         , responseUpdateUser $+--             newUpdateUserResponse+--+--           ]+--     ]++-- Requests++requestCancelIngestion :: CancelIngestion -> TestTree+requestCancelIngestion =+  req+    "CancelIngestion"+    "fixture/CancelIngestion.yaml"++requestCreateAccountCustomization :: CreateAccountCustomization -> TestTree+requestCreateAccountCustomization =+  req+    "CreateAccountCustomization"+    "fixture/CreateAccountCustomization.yaml"++requestCreateAccountSubscription :: CreateAccountSubscription -> TestTree+requestCreateAccountSubscription =+  req+    "CreateAccountSubscription"+    "fixture/CreateAccountSubscription.yaml"++requestCreateAnalysis :: CreateAnalysis -> TestTree+requestCreateAnalysis =+  req+    "CreateAnalysis"+    "fixture/CreateAnalysis.yaml"++requestCreateDashboard :: CreateDashboard -> TestTree+requestCreateDashboard =+  req+    "CreateDashboard"+    "fixture/CreateDashboard.yaml"++requestCreateDataSet :: CreateDataSet -> TestTree+requestCreateDataSet =+  req+    "CreateDataSet"+    "fixture/CreateDataSet.yaml"++requestCreateDataSource :: CreateDataSource -> TestTree+requestCreateDataSource =+  req+    "CreateDataSource"+    "fixture/CreateDataSource.yaml"++requestCreateFolder :: CreateFolder -> TestTree+requestCreateFolder =+  req+    "CreateFolder"+    "fixture/CreateFolder.yaml"++requestCreateFolderMembership :: CreateFolderMembership -> TestTree+requestCreateFolderMembership =+  req+    "CreateFolderMembership"+    "fixture/CreateFolderMembership.yaml"++requestCreateGroup :: CreateGroup -> TestTree+requestCreateGroup =+  req+    "CreateGroup"+    "fixture/CreateGroup.yaml"++requestCreateGroupMembership :: CreateGroupMembership -> TestTree+requestCreateGroupMembership =+  req+    "CreateGroupMembership"+    "fixture/CreateGroupMembership.yaml"++requestCreateIAMPolicyAssignment :: CreateIAMPolicyAssignment -> TestTree+requestCreateIAMPolicyAssignment =+  req+    "CreateIAMPolicyAssignment"+    "fixture/CreateIAMPolicyAssignment.yaml"++requestCreateIngestion :: CreateIngestion -> TestTree+requestCreateIngestion =+  req+    "CreateIngestion"+    "fixture/CreateIngestion.yaml"++requestCreateNamespace :: CreateNamespace -> TestTree+requestCreateNamespace =+  req+    "CreateNamespace"+    "fixture/CreateNamespace.yaml"++requestCreateTemplate :: CreateTemplate -> TestTree+requestCreateTemplate =+  req+    "CreateTemplate"+    "fixture/CreateTemplate.yaml"++requestCreateTemplateAlias :: CreateTemplateAlias -> TestTree+requestCreateTemplateAlias =+  req+    "CreateTemplateAlias"+    "fixture/CreateTemplateAlias.yaml"++requestCreateTheme :: CreateTheme -> TestTree+requestCreateTheme =+  req+    "CreateTheme"+    "fixture/CreateTheme.yaml"++requestCreateThemeAlias :: CreateThemeAlias -> TestTree+requestCreateThemeAlias =+  req+    "CreateThemeAlias"+    "fixture/CreateThemeAlias.yaml"++requestDeleteAccountCustomization :: DeleteAccountCustomization -> TestTree+requestDeleteAccountCustomization =+  req+    "DeleteAccountCustomization"+    "fixture/DeleteAccountCustomization.yaml"++requestDeleteAccountSubscription :: DeleteAccountSubscription -> TestTree+requestDeleteAccountSubscription =+  req+    "DeleteAccountSubscription"+    "fixture/DeleteAccountSubscription.yaml"++requestDeleteAnalysis :: DeleteAnalysis -> TestTree+requestDeleteAnalysis =+  req+    "DeleteAnalysis"+    "fixture/DeleteAnalysis.yaml"++requestDeleteDashboard :: DeleteDashboard -> TestTree+requestDeleteDashboard =+  req+    "DeleteDashboard"+    "fixture/DeleteDashboard.yaml"++requestDeleteDataSet :: DeleteDataSet -> TestTree+requestDeleteDataSet =+  req+    "DeleteDataSet"+    "fixture/DeleteDataSet.yaml"++requestDeleteDataSource :: DeleteDataSource -> TestTree+requestDeleteDataSource =+  req+    "DeleteDataSource"+    "fixture/DeleteDataSource.yaml"++requestDeleteFolder :: DeleteFolder -> TestTree+requestDeleteFolder =+  req+    "DeleteFolder"+    "fixture/DeleteFolder.yaml"++requestDeleteFolderMembership :: DeleteFolderMembership -> TestTree+requestDeleteFolderMembership =+  req+    "DeleteFolderMembership"+    "fixture/DeleteFolderMembership.yaml"++requestDeleteGroup :: DeleteGroup -> TestTree+requestDeleteGroup =+  req+    "DeleteGroup"+    "fixture/DeleteGroup.yaml"++requestDeleteGroupMembership :: DeleteGroupMembership -> TestTree+requestDeleteGroupMembership =+  req+    "DeleteGroupMembership"+    "fixture/DeleteGroupMembership.yaml"++requestDeleteIAMPolicyAssignment :: DeleteIAMPolicyAssignment -> TestTree+requestDeleteIAMPolicyAssignment =+  req+    "DeleteIAMPolicyAssignment"+    "fixture/DeleteIAMPolicyAssignment.yaml"++requestDeleteNamespace :: DeleteNamespace -> TestTree+requestDeleteNamespace =+  req+    "DeleteNamespace"+    "fixture/DeleteNamespace.yaml"++requestDeleteTemplate :: DeleteTemplate -> TestTree+requestDeleteTemplate =+  req+    "DeleteTemplate"+    "fixture/DeleteTemplate.yaml"++requestDeleteTemplateAlias :: DeleteTemplateAlias -> TestTree+requestDeleteTemplateAlias =+  req+    "DeleteTemplateAlias"+    "fixture/DeleteTemplateAlias.yaml"++requestDeleteTheme :: DeleteTheme -> TestTree+requestDeleteTheme =+  req+    "DeleteTheme"+    "fixture/DeleteTheme.yaml"++requestDeleteThemeAlias :: DeleteThemeAlias -> TestTree+requestDeleteThemeAlias =+  req+    "DeleteThemeAlias"+    "fixture/DeleteThemeAlias.yaml"++requestDeleteUser :: DeleteUser -> TestTree+requestDeleteUser =+  req+    "DeleteUser"+    "fixture/DeleteUser.yaml"++requestDeleteUserByPrincipalId :: DeleteUserByPrincipalId -> TestTree+requestDeleteUserByPrincipalId =+  req+    "DeleteUserByPrincipalId"+    "fixture/DeleteUserByPrincipalId.yaml"++requestDescribeAccountCustomization :: DescribeAccountCustomization -> TestTree+requestDescribeAccountCustomization =+  req+    "DescribeAccountCustomization"+    "fixture/DescribeAccountCustomization.yaml"++requestDescribeAccountSettings :: DescribeAccountSettings -> TestTree+requestDescribeAccountSettings =+  req+    "DescribeAccountSettings"+    "fixture/DescribeAccountSettings.yaml"++requestDescribeAccountSubscription :: DescribeAccountSubscription -> TestTree+requestDescribeAccountSubscription =+  req+    "DescribeAccountSubscription"+    "fixture/DescribeAccountSubscription.yaml"++requestDescribeAnalysis :: DescribeAnalysis -> TestTree+requestDescribeAnalysis =+  req+    "DescribeAnalysis"+    "fixture/DescribeAnalysis.yaml"++requestDescribeAnalysisDefinition :: DescribeAnalysisDefinition -> TestTree+requestDescribeAnalysisDefinition =+  req+    "DescribeAnalysisDefinition"+    "fixture/DescribeAnalysisDefinition.yaml"++requestDescribeAnalysisPermissions :: DescribeAnalysisPermissions -> TestTree+requestDescribeAnalysisPermissions =+  req+    "DescribeAnalysisPermissions"+    "fixture/DescribeAnalysisPermissions.yaml"++requestDescribeDashboard :: DescribeDashboard -> TestTree+requestDescribeDashboard =+  req+    "DescribeDashboard"+    "fixture/DescribeDashboard.yaml"++requestDescribeDashboardDefinition :: DescribeDashboardDefinition -> TestTree+requestDescribeDashboardDefinition =+  req+    "DescribeDashboardDefinition"+    "fixture/DescribeDashboardDefinition.yaml"++requestDescribeDashboardPermissions :: DescribeDashboardPermissions -> TestTree+requestDescribeDashboardPermissions =+  req+    "DescribeDashboardPermissions"+    "fixture/DescribeDashboardPermissions.yaml"++requestDescribeDataSet :: DescribeDataSet -> TestTree+requestDescribeDataSet =+  req+    "DescribeDataSet"+    "fixture/DescribeDataSet.yaml"++requestDescribeDataSetPermissions :: DescribeDataSetPermissions -> TestTree+requestDescribeDataSetPermissions =+  req+    "DescribeDataSetPermissions"+    "fixture/DescribeDataSetPermissions.yaml"++requestDescribeDataSource :: DescribeDataSource -> TestTree+requestDescribeDataSource =+  req+    "DescribeDataSource"+    "fixture/DescribeDataSource.yaml"++requestDescribeDataSourcePermissions :: DescribeDataSourcePermissions -> TestTree+requestDescribeDataSourcePermissions =+  req+    "DescribeDataSourcePermissions"+    "fixture/DescribeDataSourcePermissions.yaml"++requestDescribeFolder :: DescribeFolder -> TestTree+requestDescribeFolder =+  req+    "DescribeFolder"+    "fixture/DescribeFolder.yaml"++requestDescribeFolderPermissions :: DescribeFolderPermissions -> TestTree+requestDescribeFolderPermissions =+  req+    "DescribeFolderPermissions"+    "fixture/DescribeFolderPermissions.yaml"++requestDescribeFolderResolvedPermissions :: DescribeFolderResolvedPermissions -> TestTree+requestDescribeFolderResolvedPermissions =+  req+    "DescribeFolderResolvedPermissions"+    "fixture/DescribeFolderResolvedPermissions.yaml"++requestDescribeGroup :: DescribeGroup -> TestTree+requestDescribeGroup =+  req+    "DescribeGroup"+    "fixture/DescribeGroup.yaml"++requestDescribeGroupMembership :: DescribeGroupMembership -> TestTree+requestDescribeGroupMembership =+  req+    "DescribeGroupMembership"+    "fixture/DescribeGroupMembership.yaml"++requestDescribeIAMPolicyAssignment :: DescribeIAMPolicyAssignment -> TestTree+requestDescribeIAMPolicyAssignment =+  req+    "DescribeIAMPolicyAssignment"+    "fixture/DescribeIAMPolicyAssignment.yaml"++requestDescribeIngestion :: DescribeIngestion -> TestTree+requestDescribeIngestion =+  req+    "DescribeIngestion"+    "fixture/DescribeIngestion.yaml"++requestDescribeIpRestriction :: DescribeIpRestriction -> TestTree+requestDescribeIpRestriction =+  req+    "DescribeIpRestriction"+    "fixture/DescribeIpRestriction.yaml"++requestDescribeNamespace :: DescribeNamespace -> TestTree+requestDescribeNamespace =+  req+    "DescribeNamespace"+    "fixture/DescribeNamespace.yaml"++requestDescribeTemplate :: DescribeTemplate -> TestTree+requestDescribeTemplate =+  req+    "DescribeTemplate"+    "fixture/DescribeTemplate.yaml"++requestDescribeTemplateAlias :: DescribeTemplateAlias -> TestTree+requestDescribeTemplateAlias =+  req+    "DescribeTemplateAlias"+    "fixture/DescribeTemplateAlias.yaml"++requestDescribeTemplateDefinition :: DescribeTemplateDefinition -> TestTree+requestDescribeTemplateDefinition =+  req+    "DescribeTemplateDefinition"+    "fixture/DescribeTemplateDefinition.yaml"++requestDescribeTemplatePermissions :: DescribeTemplatePermissions -> TestTree+requestDescribeTemplatePermissions =+  req+    "DescribeTemplatePermissions"+    "fixture/DescribeTemplatePermissions.yaml"++requestDescribeTheme :: DescribeTheme -> TestTree+requestDescribeTheme =+  req+    "DescribeTheme"+    "fixture/DescribeTheme.yaml"++requestDescribeThemeAlias :: DescribeThemeAlias -> TestTree+requestDescribeThemeAlias =+  req+    "DescribeThemeAlias"+    "fixture/DescribeThemeAlias.yaml"++requestDescribeThemePermissions :: DescribeThemePermissions -> TestTree+requestDescribeThemePermissions =+  req+    "DescribeThemePermissions"+    "fixture/DescribeThemePermissions.yaml"++requestDescribeUser :: DescribeUser -> TestTree+requestDescribeUser =+  req+    "DescribeUser"+    "fixture/DescribeUser.yaml"++requestGenerateEmbedUrlForAnonymousUser :: GenerateEmbedUrlForAnonymousUser -> TestTree+requestGenerateEmbedUrlForAnonymousUser =+  req+    "GenerateEmbedUrlForAnonymousUser"+    "fixture/GenerateEmbedUrlForAnonymousUser.yaml"++requestGenerateEmbedUrlForRegisteredUser :: GenerateEmbedUrlForRegisteredUser -> TestTree+requestGenerateEmbedUrlForRegisteredUser =+  req+    "GenerateEmbedUrlForRegisteredUser"+    "fixture/GenerateEmbedUrlForRegisteredUser.yaml"++requestGetDashboardEmbedUrl :: GetDashboardEmbedUrl -> TestTree+requestGetDashboardEmbedUrl =+  req+    "GetDashboardEmbedUrl"+    "fixture/GetDashboardEmbedUrl.yaml"++requestGetSessionEmbedUrl :: GetSessionEmbedUrl -> TestTree+requestGetSessionEmbedUrl =+  req+    "GetSessionEmbedUrl"+    "fixture/GetSessionEmbedUrl.yaml"++requestListAnalyses :: ListAnalyses -> TestTree+requestListAnalyses =+  req+    "ListAnalyses"+    "fixture/ListAnalyses.yaml"++requestListDashboardVersions :: ListDashboardVersions -> TestTree+requestListDashboardVersions =+  req+    "ListDashboardVersions"+    "fixture/ListDashboardVersions.yaml"++requestListDashboards :: ListDashboards -> TestTree+requestListDashboards =+  req+    "ListDashboards"+    "fixture/ListDashboards.yaml"++requestListDataSets :: ListDataSets -> TestTree+requestListDataSets =+  req+    "ListDataSets"+    "fixture/ListDataSets.yaml"++requestListDataSources :: ListDataSources -> TestTree+requestListDataSources =+  req+    "ListDataSources"+    "fixture/ListDataSources.yaml"++requestListFolderMembers :: ListFolderMembers -> TestTree+requestListFolderMembers =+  req+    "ListFolderMembers"+    "fixture/ListFolderMembers.yaml"++requestListFolders :: ListFolders -> TestTree+requestListFolders =+  req+    "ListFolders"+    "fixture/ListFolders.yaml"++requestListGroupMemberships :: ListGroupMemberships -> TestTree+requestListGroupMemberships =+  req+    "ListGroupMemberships"+    "fixture/ListGroupMemberships.yaml"++requestListGroups :: ListGroups -> TestTree+requestListGroups =+  req+    "ListGroups"+    "fixture/ListGroups.yaml"++requestListIAMPolicyAssignments :: ListIAMPolicyAssignments -> TestTree+requestListIAMPolicyAssignments =+  req+    "ListIAMPolicyAssignments"+    "fixture/ListIAMPolicyAssignments.yaml"++requestListIAMPolicyAssignmentsForUser :: ListIAMPolicyAssignmentsForUser -> TestTree+requestListIAMPolicyAssignmentsForUser =+  req+    "ListIAMPolicyAssignmentsForUser"+    "fixture/ListIAMPolicyAssignmentsForUser.yaml"++requestListIngestions :: ListIngestions -> TestTree+requestListIngestions =+  req+    "ListIngestions"+    "fixture/ListIngestions.yaml"++requestListNamespaces :: ListNamespaces -> TestTree+requestListNamespaces =+  req+    "ListNamespaces"+    "fixture/ListNamespaces.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestListTemplateAliases :: ListTemplateAliases -> TestTree+requestListTemplateAliases =+  req+    "ListTemplateAliases"+    "fixture/ListTemplateAliases.yaml"++requestListTemplateVersions :: ListTemplateVersions -> TestTree+requestListTemplateVersions =+  req+    "ListTemplateVersions"+    "fixture/ListTemplateVersions.yaml"++requestListTemplates :: ListTemplates -> TestTree+requestListTemplates =+  req+    "ListTemplates"+    "fixture/ListTemplates.yaml"++requestListThemeAliases :: ListThemeAliases -> TestTree+requestListThemeAliases =+  req+    "ListThemeAliases"+    "fixture/ListThemeAliases.yaml"++requestListThemeVersions :: ListThemeVersions -> TestTree+requestListThemeVersions =+  req+    "ListThemeVersions"+    "fixture/ListThemeVersions.yaml"++requestListThemes :: ListThemes -> TestTree+requestListThemes =+  req+    "ListThemes"+    "fixture/ListThemes.yaml"++requestListUserGroups :: ListUserGroups -> TestTree+requestListUserGroups =+  req+    "ListUserGroups"+    "fixture/ListUserGroups.yaml"++requestListUsers :: ListUsers -> TestTree+requestListUsers =+  req+    "ListUsers"+    "fixture/ListUsers.yaml"++requestRegisterUser :: RegisterUser -> TestTree+requestRegisterUser =+  req+    "RegisterUser"+    "fixture/RegisterUser.yaml"++requestRestoreAnalysis :: RestoreAnalysis -> TestTree+requestRestoreAnalysis =+  req+    "RestoreAnalysis"+    "fixture/RestoreAnalysis.yaml"++requestSearchAnalyses :: SearchAnalyses -> TestTree+requestSearchAnalyses =+  req+    "SearchAnalyses"+    "fixture/SearchAnalyses.yaml"++requestSearchDashboards :: SearchDashboards -> TestTree+requestSearchDashboards =+  req+    "SearchDashboards"+    "fixture/SearchDashboards.yaml"++requestSearchDataSets :: SearchDataSets -> TestTree+requestSearchDataSets =+  req+    "SearchDataSets"+    "fixture/SearchDataSets.yaml"++requestSearchDataSources :: SearchDataSources -> TestTree+requestSearchDataSources =+  req+    "SearchDataSources"+    "fixture/SearchDataSources.yaml"++requestSearchFolders :: SearchFolders -> TestTree+requestSearchFolders =+  req+    "SearchFolders"+    "fixture/SearchFolders.yaml"++requestSearchGroups :: SearchGroups -> TestTree+requestSearchGroups =+  req+    "SearchGroups"+    "fixture/SearchGroups.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateAccountCustomization :: UpdateAccountCustomization -> TestTree+requestUpdateAccountCustomization =+  req+    "UpdateAccountCustomization"+    "fixture/UpdateAccountCustomization.yaml"++requestUpdateAccountSettings :: UpdateAccountSettings -> TestTree+requestUpdateAccountSettings =+  req+    "UpdateAccountSettings"+    "fixture/UpdateAccountSettings.yaml"++requestUpdateAnalysis :: UpdateAnalysis -> TestTree+requestUpdateAnalysis =+  req+    "UpdateAnalysis"+    "fixture/UpdateAnalysis.yaml"++requestUpdateAnalysisPermissions :: UpdateAnalysisPermissions -> TestTree+requestUpdateAnalysisPermissions =+  req+    "UpdateAnalysisPermissions"+    "fixture/UpdateAnalysisPermissions.yaml"++requestUpdateDashboard :: UpdateDashboard -> TestTree+requestUpdateDashboard =+  req+    "UpdateDashboard"+    "fixture/UpdateDashboard.yaml"++requestUpdateDashboardPermissions :: UpdateDashboardPermissions -> TestTree+requestUpdateDashboardPermissions =+  req+    "UpdateDashboardPermissions"+    "fixture/UpdateDashboardPermissions.yaml"++requestUpdateDashboardPublishedVersion :: UpdateDashboardPublishedVersion -> TestTree+requestUpdateDashboardPublishedVersion =+  req+    "UpdateDashboardPublishedVersion"+    "fixture/UpdateDashboardPublishedVersion.yaml"++requestUpdateDataSet :: UpdateDataSet -> TestTree+requestUpdateDataSet =+  req+    "UpdateDataSet"+    "fixture/UpdateDataSet.yaml"++requestUpdateDataSetPermissions :: UpdateDataSetPermissions -> TestTree+requestUpdateDataSetPermissions =+  req+    "UpdateDataSetPermissions"+    "fixture/UpdateDataSetPermissions.yaml"++requestUpdateDataSource :: UpdateDataSource -> TestTree+requestUpdateDataSource =+  req+    "UpdateDataSource"+    "fixture/UpdateDataSource.yaml"++requestUpdateDataSourcePermissions :: UpdateDataSourcePermissions -> TestTree+requestUpdateDataSourcePermissions =+  req+    "UpdateDataSourcePermissions"+    "fixture/UpdateDataSourcePermissions.yaml"++requestUpdateFolder :: UpdateFolder -> TestTree+requestUpdateFolder =+  req+    "UpdateFolder"+    "fixture/UpdateFolder.yaml"++requestUpdateFolderPermissions :: UpdateFolderPermissions -> TestTree+requestUpdateFolderPermissions =+  req+    "UpdateFolderPermissions"+    "fixture/UpdateFolderPermissions.yaml"++requestUpdateGroup :: UpdateGroup -> TestTree+requestUpdateGroup =+  req+    "UpdateGroup"+    "fixture/UpdateGroup.yaml"++requestUpdateIAMPolicyAssignment :: UpdateIAMPolicyAssignment -> TestTree+requestUpdateIAMPolicyAssignment =+  req+    "UpdateIAMPolicyAssignment"+    "fixture/UpdateIAMPolicyAssignment.yaml"++requestUpdateIpRestriction :: UpdateIpRestriction -> TestTree+requestUpdateIpRestriction =+  req+    "UpdateIpRestriction"+    "fixture/UpdateIpRestriction.yaml"++requestUpdatePublicSharingSettings :: UpdatePublicSharingSettings -> TestTree+requestUpdatePublicSharingSettings =+  req+    "UpdatePublicSharingSettings"+    "fixture/UpdatePublicSharingSettings.yaml"++requestUpdateTemplate :: UpdateTemplate -> TestTree+requestUpdateTemplate =+  req+    "UpdateTemplate"+    "fixture/UpdateTemplate.yaml"++requestUpdateTemplateAlias :: UpdateTemplateAlias -> TestTree+requestUpdateTemplateAlias =+  req+    "UpdateTemplateAlias"+    "fixture/UpdateTemplateAlias.yaml"++requestUpdateTemplatePermissions :: UpdateTemplatePermissions -> TestTree+requestUpdateTemplatePermissions =+  req+    "UpdateTemplatePermissions"+    "fixture/UpdateTemplatePermissions.yaml"++requestUpdateTheme :: UpdateTheme -> TestTree+requestUpdateTheme =+  req+    "UpdateTheme"+    "fixture/UpdateTheme.yaml"++requestUpdateThemeAlias :: UpdateThemeAlias -> TestTree+requestUpdateThemeAlias =+  req+    "UpdateThemeAlias"+    "fixture/UpdateThemeAlias.yaml"++requestUpdateThemePermissions :: UpdateThemePermissions -> TestTree+requestUpdateThemePermissions =+  req+    "UpdateThemePermissions"+    "fixture/UpdateThemePermissions.yaml"++requestUpdateUser :: UpdateUser -> TestTree+requestUpdateUser =+  req+    "UpdateUser"+    "fixture/UpdateUser.yaml"++-- Responses++responseCancelIngestion :: CancelIngestionResponse -> TestTree+responseCancelIngestion =+  res+    "CancelIngestionResponse"+    "fixture/CancelIngestionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CancelIngestion)++responseCreateAccountCustomization :: CreateAccountCustomizationResponse -> TestTree+responseCreateAccountCustomization =+  res+    "CreateAccountCustomizationResponse"+    "fixture/CreateAccountCustomizationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateAccountCustomization)++responseCreateAccountSubscription :: CreateAccountSubscriptionResponse -> TestTree+responseCreateAccountSubscription =+  res+    "CreateAccountSubscriptionResponse"+    "fixture/CreateAccountSubscriptionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateAccountSubscription)++responseCreateAnalysis :: CreateAnalysisResponse -> TestTree+responseCreateAnalysis =+  res+    "CreateAnalysisResponse"+    "fixture/CreateAnalysisResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateAnalysis)++responseCreateDashboard :: CreateDashboardResponse -> TestTree+responseCreateDashboard =+  res+    "CreateDashboardResponse"+    "fixture/CreateDashboardResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateDashboard)++responseCreateDataSet :: CreateDataSetResponse -> TestTree+responseCreateDataSet =+  res+    "CreateDataSetResponse"+    "fixture/CreateDataSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateDataSet)++responseCreateDataSource :: CreateDataSourceResponse -> TestTree+responseCreateDataSource =+  res+    "CreateDataSourceResponse"+    "fixture/CreateDataSourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateDataSource)++responseCreateFolder :: CreateFolderResponse -> TestTree+responseCreateFolder =+  res+    "CreateFolderResponse"+    "fixture/CreateFolderResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateFolder)++responseCreateFolderMembership :: CreateFolderMembershipResponse -> TestTree+responseCreateFolderMembership =+  res+    "CreateFolderMembershipResponse"+    "fixture/CreateFolderMembershipResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateFolderMembership)++responseCreateGroup :: CreateGroupResponse -> TestTree+responseCreateGroup =+  res+    "CreateGroupResponse"+    "fixture/CreateGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateGroup)++responseCreateGroupMembership :: CreateGroupMembershipResponse -> TestTree+responseCreateGroupMembership =+  res+    "CreateGroupMembershipResponse"+    "fixture/CreateGroupMembershipResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateGroupMembership)++responseCreateIAMPolicyAssignment :: CreateIAMPolicyAssignmentResponse -> TestTree+responseCreateIAMPolicyAssignment =+  res+    "CreateIAMPolicyAssignmentResponse"+    "fixture/CreateIAMPolicyAssignmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateIAMPolicyAssignment)++responseCreateIngestion :: CreateIngestionResponse -> TestTree+responseCreateIngestion =+  res+    "CreateIngestionResponse"+    "fixture/CreateIngestionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateIngestion)++responseCreateNamespace :: CreateNamespaceResponse -> TestTree+responseCreateNamespace =+  res+    "CreateNamespaceResponse"+    "fixture/CreateNamespaceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateNamespace)++responseCreateTemplate :: CreateTemplateResponse -> TestTree+responseCreateTemplate =+  res+    "CreateTemplateResponse"+    "fixture/CreateTemplateResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateTemplate)++responseCreateTemplateAlias :: CreateTemplateAliasResponse -> TestTree+responseCreateTemplateAlias =+  res+    "CreateTemplateAliasResponse"+    "fixture/CreateTemplateAliasResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateTemplateAlias)++responseCreateTheme :: CreateThemeResponse -> TestTree+responseCreateTheme =+  res+    "CreateThemeResponse"+    "fixture/CreateThemeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateTheme)++responseCreateThemeAlias :: CreateThemeAliasResponse -> TestTree+responseCreateThemeAlias =+  res+    "CreateThemeAliasResponse"+    "fixture/CreateThemeAliasResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateThemeAlias)++responseDeleteAccountCustomization :: DeleteAccountCustomizationResponse -> TestTree+responseDeleteAccountCustomization =+  res+    "DeleteAccountCustomizationResponse"+    "fixture/DeleteAccountCustomizationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAccountCustomization)++responseDeleteAccountSubscription :: DeleteAccountSubscriptionResponse -> TestTree+responseDeleteAccountSubscription =+  res+    "DeleteAccountSubscriptionResponse"+    "fixture/DeleteAccountSubscriptionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAccountSubscription)++responseDeleteAnalysis :: DeleteAnalysisResponse -> TestTree+responseDeleteAnalysis =+  res+    "DeleteAnalysisResponse"+    "fixture/DeleteAnalysisResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAnalysis)++responseDeleteDashboard :: DeleteDashboardResponse -> TestTree+responseDeleteDashboard =+  res+    "DeleteDashboardResponse"+    "fixture/DeleteDashboardResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDashboard)++responseDeleteDataSet :: DeleteDataSetResponse -> TestTree+responseDeleteDataSet =+  res+    "DeleteDataSetResponse"+    "fixture/DeleteDataSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDataSet)++responseDeleteDataSource :: DeleteDataSourceResponse -> TestTree+responseDeleteDataSource =+  res+    "DeleteDataSourceResponse"+    "fixture/DeleteDataSourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDataSource)++responseDeleteFolder :: DeleteFolderResponse -> TestTree+responseDeleteFolder =+  res+    "DeleteFolderResponse"+    "fixture/DeleteFolderResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteFolder)++responseDeleteFolderMembership :: DeleteFolderMembershipResponse -> TestTree+responseDeleteFolderMembership =+  res+    "DeleteFolderMembershipResponse"+    "fixture/DeleteFolderMembershipResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteFolderMembership)++responseDeleteGroup :: DeleteGroupResponse -> TestTree+responseDeleteGroup =+  res+    "DeleteGroupResponse"+    "fixture/DeleteGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteGroup)++responseDeleteGroupMembership :: DeleteGroupMembershipResponse -> TestTree+responseDeleteGroupMembership =+  res+    "DeleteGroupMembershipResponse"+    "fixture/DeleteGroupMembershipResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteGroupMembership)++responseDeleteIAMPolicyAssignment :: DeleteIAMPolicyAssignmentResponse -> TestTree+responseDeleteIAMPolicyAssignment =+  res+    "DeleteIAMPolicyAssignmentResponse"+    "fixture/DeleteIAMPolicyAssignmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteIAMPolicyAssignment)++responseDeleteNamespace :: DeleteNamespaceResponse -> TestTree+responseDeleteNamespace =+  res+    "DeleteNamespaceResponse"+    "fixture/DeleteNamespaceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteNamespace)++responseDeleteTemplate :: DeleteTemplateResponse -> TestTree+responseDeleteTemplate =+  res+    "DeleteTemplateResponse"+    "fixture/DeleteTemplateResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteTemplate)++responseDeleteTemplateAlias :: DeleteTemplateAliasResponse -> TestTree+responseDeleteTemplateAlias =+  res+    "DeleteTemplateAliasResponse"+    "fixture/DeleteTemplateAliasResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteTemplateAlias)++responseDeleteTheme :: DeleteThemeResponse -> TestTree+responseDeleteTheme =+  res+    "DeleteThemeResponse"+    "fixture/DeleteThemeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteTheme)++responseDeleteThemeAlias :: DeleteThemeAliasResponse -> TestTree+responseDeleteThemeAlias =+  res+    "DeleteThemeAliasResponse"+    "fixture/DeleteThemeAliasResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteThemeAlias)++responseDeleteUser :: DeleteUserResponse -> TestTree+responseDeleteUser =+  res+    "DeleteUserResponse"+    "fixture/DeleteUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteUser)++responseDeleteUserByPrincipalId :: DeleteUserByPrincipalIdResponse -> TestTree+responseDeleteUserByPrincipalId =+  res+    "DeleteUserByPrincipalIdResponse"+    "fixture/DeleteUserByPrincipalIdResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteUserByPrincipalId)++responseDescribeAccountCustomization :: DescribeAccountCustomizationResponse -> TestTree+responseDescribeAccountCustomization =+  res+    "DescribeAccountCustomizationResponse"+    "fixture/DescribeAccountCustomizationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeAccountCustomization)++responseDescribeAccountSettings :: DescribeAccountSettingsResponse -> TestTree+responseDescribeAccountSettings =+  res+    "DescribeAccountSettingsResponse"+    "fixture/DescribeAccountSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeAccountSettings)++responseDescribeAccountSubscription :: DescribeAccountSubscriptionResponse -> TestTree+responseDescribeAccountSubscription =+  res+    "DescribeAccountSubscriptionResponse"+    "fixture/DescribeAccountSubscriptionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeAccountSubscription)++responseDescribeAnalysis :: DescribeAnalysisResponse -> TestTree+responseDescribeAnalysis =+  res+    "DescribeAnalysisResponse"+    "fixture/DescribeAnalysisResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeAnalysis)++responseDescribeAnalysisDefinition :: DescribeAnalysisDefinitionResponse -> TestTree+responseDescribeAnalysisDefinition =+  res+    "DescribeAnalysisDefinitionResponse"+    "fixture/DescribeAnalysisDefinitionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeAnalysisDefinition)++responseDescribeAnalysisPermissions :: DescribeAnalysisPermissionsResponse -> TestTree+responseDescribeAnalysisPermissions =+  res+    "DescribeAnalysisPermissionsResponse"+    "fixture/DescribeAnalysisPermissionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeAnalysisPermissions)++responseDescribeDashboard :: DescribeDashboardResponse -> TestTree+responseDescribeDashboard =+  res+    "DescribeDashboardResponse"+    "fixture/DescribeDashboardResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDashboard)++responseDescribeDashboardDefinition :: DescribeDashboardDefinitionResponse -> TestTree+responseDescribeDashboardDefinition =+  res+    "DescribeDashboardDefinitionResponse"+    "fixture/DescribeDashboardDefinitionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDashboardDefinition)++responseDescribeDashboardPermissions :: DescribeDashboardPermissionsResponse -> TestTree+responseDescribeDashboardPermissions =+  res+    "DescribeDashboardPermissionsResponse"+    "fixture/DescribeDashboardPermissionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDashboardPermissions)++responseDescribeDataSet :: DescribeDataSetResponse -> TestTree+responseDescribeDataSet =+  res+    "DescribeDataSetResponse"+    "fixture/DescribeDataSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDataSet)++responseDescribeDataSetPermissions :: DescribeDataSetPermissionsResponse -> TestTree+responseDescribeDataSetPermissions =+  res+    "DescribeDataSetPermissionsResponse"+    "fixture/DescribeDataSetPermissionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDataSetPermissions)++responseDescribeDataSource :: DescribeDataSourceResponse -> TestTree+responseDescribeDataSource =+  res+    "DescribeDataSourceResponse"+    "fixture/DescribeDataSourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDataSource)++responseDescribeDataSourcePermissions :: DescribeDataSourcePermissionsResponse -> TestTree+responseDescribeDataSourcePermissions =+  res+    "DescribeDataSourcePermissionsResponse"+    "fixture/DescribeDataSourcePermissionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDataSourcePermissions)++responseDescribeFolder :: DescribeFolderResponse -> TestTree+responseDescribeFolder =+  res+    "DescribeFolderResponse"+    "fixture/DescribeFolderResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeFolder)++responseDescribeFolderPermissions :: DescribeFolderPermissionsResponse -> TestTree+responseDescribeFolderPermissions =+  res+    "DescribeFolderPermissionsResponse"+    "fixture/DescribeFolderPermissionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeFolderPermissions)++responseDescribeFolderResolvedPermissions :: DescribeFolderResolvedPermissionsResponse -> TestTree+responseDescribeFolderResolvedPermissions =+  res+    "DescribeFolderResolvedPermissionsResponse"+    "fixture/DescribeFolderResolvedPermissionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeFolderResolvedPermissions)++responseDescribeGroup :: DescribeGroupResponse -> TestTree+responseDescribeGroup =+  res+    "DescribeGroupResponse"+    "fixture/DescribeGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeGroup)++responseDescribeGroupMembership :: DescribeGroupMembershipResponse -> TestTree+responseDescribeGroupMembership =+  res+    "DescribeGroupMembershipResponse"+    "fixture/DescribeGroupMembershipResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeGroupMembership)++responseDescribeIAMPolicyAssignment :: DescribeIAMPolicyAssignmentResponse -> TestTree+responseDescribeIAMPolicyAssignment =+  res+    "DescribeIAMPolicyAssignmentResponse"+    "fixture/DescribeIAMPolicyAssignmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeIAMPolicyAssignment)++responseDescribeIngestion :: DescribeIngestionResponse -> TestTree+responseDescribeIngestion =+  res+    "DescribeIngestionResponse"+    "fixture/DescribeIngestionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeIngestion)++responseDescribeIpRestriction :: DescribeIpRestrictionResponse -> TestTree+responseDescribeIpRestriction =+  res+    "DescribeIpRestrictionResponse"+    "fixture/DescribeIpRestrictionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeIpRestriction)++responseDescribeNamespace :: DescribeNamespaceResponse -> TestTree+responseDescribeNamespace =+  res+    "DescribeNamespaceResponse"+    "fixture/DescribeNamespaceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeNamespace)++responseDescribeTemplate :: DescribeTemplateResponse -> TestTree+responseDescribeTemplate =+  res+    "DescribeTemplateResponse"+    "fixture/DescribeTemplateResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeTemplate)++responseDescribeTemplateAlias :: DescribeTemplateAliasResponse -> TestTree+responseDescribeTemplateAlias =+  res+    "DescribeTemplateAliasResponse"+    "fixture/DescribeTemplateAliasResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeTemplateAlias)++responseDescribeTemplateDefinition :: DescribeTemplateDefinitionResponse -> TestTree+responseDescribeTemplateDefinition =+  res+    "DescribeTemplateDefinitionResponse"+    "fixture/DescribeTemplateDefinitionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeTemplateDefinition)++responseDescribeTemplatePermissions :: DescribeTemplatePermissionsResponse -> TestTree+responseDescribeTemplatePermissions =+  res+    "DescribeTemplatePermissionsResponse"+    "fixture/DescribeTemplatePermissionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeTemplatePermissions)++responseDescribeTheme :: DescribeThemeResponse -> TestTree+responseDescribeTheme =+  res+    "DescribeThemeResponse"+    "fixture/DescribeThemeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeTheme)++responseDescribeThemeAlias :: DescribeThemeAliasResponse -> TestTree+responseDescribeThemeAlias =+  res+    "DescribeThemeAliasResponse"+    "fixture/DescribeThemeAliasResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeThemeAlias)++responseDescribeThemePermissions :: DescribeThemePermissionsResponse -> TestTree+responseDescribeThemePermissions =+  res+    "DescribeThemePermissionsResponse"+    "fixture/DescribeThemePermissionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeThemePermissions)++responseDescribeUser :: DescribeUserResponse -> TestTree+responseDescribeUser =+  res+    "DescribeUserResponse"+    "fixture/DescribeUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeUser)++responseGenerateEmbedUrlForAnonymousUser :: GenerateEmbedUrlForAnonymousUserResponse -> TestTree+responseGenerateEmbedUrlForAnonymousUser =+  res+    "GenerateEmbedUrlForAnonymousUserResponse"+    "fixture/GenerateEmbedUrlForAnonymousUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GenerateEmbedUrlForAnonymousUser)++responseGenerateEmbedUrlForRegisteredUser :: GenerateEmbedUrlForRegisteredUserResponse -> TestTree+responseGenerateEmbedUrlForRegisteredUser =+  res+    "GenerateEmbedUrlForRegisteredUserResponse"+    "fixture/GenerateEmbedUrlForRegisteredUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GenerateEmbedUrlForRegisteredUser)++responseGetDashboardEmbedUrl :: GetDashboardEmbedUrlResponse -> TestTree+responseGetDashboardEmbedUrl =+  res+    "GetDashboardEmbedUrlResponse"+    "fixture/GetDashboardEmbedUrlResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetDashboardEmbedUrl)++responseGetSessionEmbedUrl :: GetSessionEmbedUrlResponse -> TestTree+responseGetSessionEmbedUrl =+  res+    "GetSessionEmbedUrlResponse"+    "fixture/GetSessionEmbedUrlResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetSessionEmbedUrl)++responseListAnalyses :: ListAnalysesResponse -> TestTree+responseListAnalyses =+  res+    "ListAnalysesResponse"+    "fixture/ListAnalysesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAnalyses)++responseListDashboardVersions :: ListDashboardVersionsResponse -> TestTree+responseListDashboardVersions =+  res+    "ListDashboardVersionsResponse"+    "fixture/ListDashboardVersionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListDashboardVersions)++responseListDashboards :: ListDashboardsResponse -> TestTree+responseListDashboards =+  res+    "ListDashboardsResponse"+    "fixture/ListDashboardsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListDashboards)++responseListDataSets :: ListDataSetsResponse -> TestTree+responseListDataSets =+  res+    "ListDataSetsResponse"+    "fixture/ListDataSetsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListDataSets)++responseListDataSources :: ListDataSourcesResponse -> TestTree+responseListDataSources =+  res+    "ListDataSourcesResponse"+    "fixture/ListDataSourcesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListDataSources)++responseListFolderMembers :: ListFolderMembersResponse -> TestTree+responseListFolderMembers =+  res+    "ListFolderMembersResponse"+    "fixture/ListFolderMembersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListFolderMembers)++responseListFolders :: ListFoldersResponse -> TestTree+responseListFolders =+  res+    "ListFoldersResponse"+    "fixture/ListFoldersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListFolders)++responseListGroupMemberships :: ListGroupMembershipsResponse -> TestTree+responseListGroupMemberships =+  res+    "ListGroupMembershipsResponse"+    "fixture/ListGroupMembershipsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListGroupMemberships)++responseListGroups :: ListGroupsResponse -> TestTree+responseListGroups =+  res+    "ListGroupsResponse"+    "fixture/ListGroupsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListGroups)++responseListIAMPolicyAssignments :: ListIAMPolicyAssignmentsResponse -> TestTree+responseListIAMPolicyAssignments =+  res+    "ListIAMPolicyAssignmentsResponse"+    "fixture/ListIAMPolicyAssignmentsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListIAMPolicyAssignments)++responseListIAMPolicyAssignmentsForUser :: ListIAMPolicyAssignmentsForUserResponse -> TestTree+responseListIAMPolicyAssignmentsForUser =+  res+    "ListIAMPolicyAssignmentsForUserResponse"+    "fixture/ListIAMPolicyAssignmentsForUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListIAMPolicyAssignmentsForUser)++responseListIngestions :: ListIngestionsResponse -> TestTree+responseListIngestions =+  res+    "ListIngestionsResponse"+    "fixture/ListIngestionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListIngestions)++responseListNamespaces :: ListNamespacesResponse -> TestTree+responseListNamespaces =+  res+    "ListNamespacesResponse"+    "fixture/ListNamespacesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListNamespaces)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListTemplateAliases :: ListTemplateAliasesResponse -> TestTree+responseListTemplateAliases =+  res+    "ListTemplateAliasesResponse"+    "fixture/ListTemplateAliasesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTemplateAliases)++responseListTemplateVersions :: ListTemplateVersionsResponse -> TestTree+responseListTemplateVersions =+  res+    "ListTemplateVersionsResponse"+    "fixture/ListTemplateVersionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTemplateVersions)++responseListTemplates :: ListTemplatesResponse -> TestTree+responseListTemplates =+  res+    "ListTemplatesResponse"+    "fixture/ListTemplatesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTemplates)++responseListThemeAliases :: ListThemeAliasesResponse -> TestTree+responseListThemeAliases =+  res+    "ListThemeAliasesResponse"+    "fixture/ListThemeAliasesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListThemeAliases)++responseListThemeVersions :: ListThemeVersionsResponse -> TestTree+responseListThemeVersions =+  res+    "ListThemeVersionsResponse"+    "fixture/ListThemeVersionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListThemeVersions)++responseListThemes :: ListThemesResponse -> TestTree+responseListThemes =+  res+    "ListThemesResponse"+    "fixture/ListThemesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListThemes)++responseListUserGroups :: ListUserGroupsResponse -> TestTree+responseListUserGroups =+  res+    "ListUserGroupsResponse"+    "fixture/ListUserGroupsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListUserGroups)++responseListUsers :: ListUsersResponse -> TestTree+responseListUsers =+  res+    "ListUsersResponse"+    "fixture/ListUsersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListUsers)++responseRegisterUser :: RegisterUserResponse -> TestTree+responseRegisterUser =+  res+    "RegisterUserResponse"+    "fixture/RegisterUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RegisterUser)++responseRestoreAnalysis :: RestoreAnalysisResponse -> TestTree+responseRestoreAnalysis =+  res+    "RestoreAnalysisResponse"+    "fixture/RestoreAnalysisResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RestoreAnalysis)++responseSearchAnalyses :: SearchAnalysesResponse -> TestTree+responseSearchAnalyses =+  res+    "SearchAnalysesResponse"+    "fixture/SearchAnalysesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy SearchAnalyses)++responseSearchDashboards :: SearchDashboardsResponse -> TestTree+responseSearchDashboards =+  res+    "SearchDashboardsResponse"+    "fixture/SearchDashboardsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy SearchDashboards)++responseSearchDataSets :: SearchDataSetsResponse -> TestTree+responseSearchDataSets =+  res+    "SearchDataSetsResponse"+    "fixture/SearchDataSetsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy SearchDataSets)++responseSearchDataSources :: SearchDataSourcesResponse -> TestTree+responseSearchDataSources =+  res+    "SearchDataSourcesResponse"+    "fixture/SearchDataSourcesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy SearchDataSources)++responseSearchFolders :: SearchFoldersResponse -> TestTree+responseSearchFolders =+  res+    "SearchFoldersResponse"+    "fixture/SearchFoldersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy SearchFolders)++responseSearchGroups :: SearchGroupsResponse -> TestTree+responseSearchGroups =+  res+    "SearchGroupsResponse"+    "fixture/SearchGroupsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy SearchGroups)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+  res+    "TagResourceResponse"+    "fixture/TagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+  res+    "UntagResourceResponse"+    "fixture/UntagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateAccountCustomization :: UpdateAccountCustomizationResponse -> TestTree+responseUpdateAccountCustomization =+  res+    "UpdateAccountCustomizationResponse"+    "fixture/UpdateAccountCustomizationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateAccountCustomization)++responseUpdateAccountSettings :: UpdateAccountSettingsResponse -> TestTree+responseUpdateAccountSettings =+  res+    "UpdateAccountSettingsResponse"+    "fixture/UpdateAccountSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateAccountSettings)++responseUpdateAnalysis :: UpdateAnalysisResponse -> TestTree+responseUpdateAnalysis =+  res+    "UpdateAnalysisResponse"+    "fixture/UpdateAnalysisResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateAnalysis)++responseUpdateAnalysisPermissions :: UpdateAnalysisPermissionsResponse -> TestTree+responseUpdateAnalysisPermissions =+  res+    "UpdateAnalysisPermissionsResponse"+    "fixture/UpdateAnalysisPermissionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateAnalysisPermissions)++responseUpdateDashboard :: UpdateDashboardResponse -> TestTree+responseUpdateDashboard =+  res+    "UpdateDashboardResponse"+    "fixture/UpdateDashboardResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateDashboard)++responseUpdateDashboardPermissions :: UpdateDashboardPermissionsResponse -> TestTree+responseUpdateDashboardPermissions =+  res+    "UpdateDashboardPermissionsResponse"+    "fixture/UpdateDashboardPermissionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateDashboardPermissions)++responseUpdateDashboardPublishedVersion :: UpdateDashboardPublishedVersionResponse -> TestTree+responseUpdateDashboardPublishedVersion =+  res+    "UpdateDashboardPublishedVersionResponse"+    "fixture/UpdateDashboardPublishedVersionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateDashboardPublishedVersion)++responseUpdateDataSet :: UpdateDataSetResponse -> TestTree+responseUpdateDataSet =+  res+    "UpdateDataSetResponse"+    "fixture/UpdateDataSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateDataSet)++responseUpdateDataSetPermissions :: UpdateDataSetPermissionsResponse -> TestTree+responseUpdateDataSetPermissions =+  res+    "UpdateDataSetPermissionsResponse"+    "fixture/UpdateDataSetPermissionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateDataSetPermissions)++responseUpdateDataSource :: UpdateDataSourceResponse -> TestTree+responseUpdateDataSource =+  res+    "UpdateDataSourceResponse"+    "fixture/UpdateDataSourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateDataSource)++responseUpdateDataSourcePermissions :: UpdateDataSourcePermissionsResponse -> TestTree+responseUpdateDataSourcePermissions =+  res+    "UpdateDataSourcePermissionsResponse"+    "fixture/UpdateDataSourcePermissionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateDataSourcePermissions)++responseUpdateFolder :: UpdateFolderResponse -> TestTree+responseUpdateFolder =+  res+    "UpdateFolderResponse"+    "fixture/UpdateFolderResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateFolder)++responseUpdateFolderPermissions :: UpdateFolderPermissionsResponse -> TestTree+responseUpdateFolderPermissions =+  res+    "UpdateFolderPermissionsResponse"+    "fixture/UpdateFolderPermissionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateFolderPermissions)++responseUpdateGroup :: UpdateGroupResponse -> TestTree+responseUpdateGroup =+  res+    "UpdateGroupResponse"+    "fixture/UpdateGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateGroup)++responseUpdateIAMPolicyAssignment :: UpdateIAMPolicyAssignmentResponse -> TestTree+responseUpdateIAMPolicyAssignment =+  res+    "UpdateIAMPolicyAssignmentResponse"+    "fixture/UpdateIAMPolicyAssignmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateIAMPolicyAssignment)++responseUpdateIpRestriction :: UpdateIpRestrictionResponse -> TestTree+responseUpdateIpRestriction =+  res+    "UpdateIpRestrictionResponse"+    "fixture/UpdateIpRestrictionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateIpRestriction)++responseUpdatePublicSharingSettings :: UpdatePublicSharingSettingsResponse -> TestTree+responseUpdatePublicSharingSettings =+  res+    "UpdatePublicSharingSettingsResponse"+    "fixture/UpdatePublicSharingSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdatePublicSharingSettings)++responseUpdateTemplate :: UpdateTemplateResponse -> TestTree+responseUpdateTemplate =+  res+    "UpdateTemplateResponse"+    "fixture/UpdateTemplateResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateTemplate)++responseUpdateTemplateAlias :: UpdateTemplateAliasResponse -> TestTree+responseUpdateTemplateAlias =+  res+    "UpdateTemplateAliasResponse"+    "fixture/UpdateTemplateAliasResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateTemplateAlias)++responseUpdateTemplatePermissions :: UpdateTemplatePermissionsResponse -> TestTree+responseUpdateTemplatePermissions =+  res+    "UpdateTemplatePermissionsResponse"+    "fixture/UpdateTemplatePermissionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateTemplatePermissions)++responseUpdateTheme :: UpdateThemeResponse -> TestTree+responseUpdateTheme =+  res+    "UpdateThemeResponse"+    "fixture/UpdateThemeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateTheme)++responseUpdateThemeAlias :: UpdateThemeAliasResponse -> TestTree+responseUpdateThemeAlias =+  res+    "UpdateThemeAliasResponse"+    "fixture/UpdateThemeAliasResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateThemeAlias)++responseUpdateThemePermissions :: UpdateThemePermissionsResponse -> TestTree+responseUpdateThemePermissions =+  res+    "UpdateThemePermissionsResponse"+    "fixture/UpdateThemePermissionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateThemePermissions)++responseUpdateUser :: UpdateUserResponse -> TestTree+responseUpdateUser =+  res+    "UpdateUserResponse"+    "fixture/UpdateUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateUser)
+ test/Test/Amazonka/QuickSight.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.QuickSight+-- 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.QuickSight+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/QuickSight/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.QuickSight.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.QuickSight.Internal where