packages feed

stratosphere-athena (empty) → 1.0.0

raw patch · 27 files changed

+1122/−0 lines, 27 filesdep +aesondep +basedep +stratosphere

Dependencies added: aeson, base, stratosphere

Files

+ LICENSE.md view
@@ -0,0 +1,20 @@+Copyright (c) 2016 David Reaver+Copyright (c) 2022 Markus Schirp++Permission is hereby granted, free of charge, to any person obtaining a copy of+this software and associated documentation files (the "Software"), to deal in+the Software without restriction, including without limitation the rights to+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies+of the Software, and to permit persons to whom the Software is furnished to do+so, subject to the following conditions:++The above copyright notice and this permission notice shall be included in all+copies or substantial portions of the Software.++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE+SOFTWARE.
+ gen/Stratosphere/Athena/CapacityReservation.hs view
@@ -0,0 +1,68 @@+module Stratosphere.Athena.CapacityReservation (+        module Exports, CapacityReservation(..), mkCapacityReservation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.Athena.CapacityReservation.CapacityAssignmentConfigurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data CapacityReservation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html>+    CapacityReservation {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html#cfn-athena-capacityreservation-capacityassignmentconfiguration>+                         capacityAssignmentConfiguration :: (Prelude.Maybe CapacityAssignmentConfigurationProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html#cfn-athena-capacityreservation-name>+                         name :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html#cfn-athena-capacityreservation-tags>+                         tags :: (Prelude.Maybe [Tag]),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html#cfn-athena-capacityreservation-targetdpus>+                         targetDpus :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCapacityReservation ::+  Value Prelude.Text -> Value Prelude.Integer -> CapacityReservation+mkCapacityReservation name targetDpus+  = CapacityReservation+      {haddock_workaround_ = (), name = name, targetDpus = targetDpus,+       capacityAssignmentConfiguration = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties CapacityReservation where+  toResourceProperties CapacityReservation {..}+    = ResourceProperties+        {awsType = "AWS::Athena::CapacityReservation",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Name" JSON..= name, "TargetDpus" JSON..= targetDpus]+                           (Prelude.catMaybes+                              [(JSON..=) "CapacityAssignmentConfiguration"+                                 Prelude.<$> capacityAssignmentConfiguration,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON CapacityReservation where+  toJSON CapacityReservation {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Name" JSON..= name, "TargetDpus" JSON..= targetDpus]+              (Prelude.catMaybes+                 [(JSON..=) "CapacityAssignmentConfiguration"+                    Prelude.<$> capacityAssignmentConfiguration,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "CapacityAssignmentConfiguration" CapacityReservation where+  type PropertyType "CapacityAssignmentConfiguration" CapacityReservation = CapacityAssignmentConfigurationProperty+  set newValue CapacityReservation {..}+    = CapacityReservation+        {capacityAssignmentConfiguration = Prelude.pure newValue, ..}+instance Property "Name" CapacityReservation where+  type PropertyType "Name" CapacityReservation = Value Prelude.Text+  set newValue CapacityReservation {..}+    = CapacityReservation {name = newValue, ..}+instance Property "Tags" CapacityReservation where+  type PropertyType "Tags" CapacityReservation = [Tag]+  set newValue CapacityReservation {..}+    = CapacityReservation {tags = Prelude.pure newValue, ..}+instance Property "TargetDpus" CapacityReservation where+  type PropertyType "TargetDpus" CapacityReservation = Value Prelude.Integer+  set newValue CapacityReservation {..}+    = CapacityReservation {targetDpus = newValue, ..}
+ gen/Stratosphere/Athena/CapacityReservation/CapacityAssignmentConfigurationProperty.hs view
@@ -0,0 +1,36 @@+module Stratosphere.Athena.CapacityReservation.CapacityAssignmentConfigurationProperty (+        module Exports, CapacityAssignmentConfigurationProperty(..),+        mkCapacityAssignmentConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.Athena.CapacityReservation.CapacityAssignmentProperty as Exports+import Stratosphere.ResourceProperties+data CapacityAssignmentConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-capacityreservation-capacityassignmentconfiguration.html>+    CapacityAssignmentConfigurationProperty {haddock_workaround_ :: (),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-capacityreservation-capacityassignmentconfiguration.html#cfn-athena-capacityreservation-capacityassignmentconfiguration-capacityassignments>+                                             capacityAssignments :: [CapacityAssignmentProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCapacityAssignmentConfigurationProperty ::+  [CapacityAssignmentProperty]+  -> CapacityAssignmentConfigurationProperty+mkCapacityAssignmentConfigurationProperty capacityAssignments+  = CapacityAssignmentConfigurationProperty+      {haddock_workaround_ = (),+       capacityAssignments = capacityAssignments}+instance ToResourceProperties CapacityAssignmentConfigurationProperty where+  toResourceProperties CapacityAssignmentConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::Athena::CapacityReservation.CapacityAssignmentConfiguration",+         supportsTags = Prelude.False,+         properties = ["CapacityAssignments" JSON..= capacityAssignments]}+instance JSON.ToJSON CapacityAssignmentConfigurationProperty where+  toJSON CapacityAssignmentConfigurationProperty {..}+    = JSON.object ["CapacityAssignments" JSON..= capacityAssignments]+instance Property "CapacityAssignments" CapacityAssignmentConfigurationProperty where+  type PropertyType "CapacityAssignments" CapacityAssignmentConfigurationProperty = [CapacityAssignmentProperty]+  set newValue CapacityAssignmentConfigurationProperty {..}+    = CapacityAssignmentConfigurationProperty+        {capacityAssignments = newValue, ..}
+ gen/Stratosphere/Athena/CapacityReservation/CapacityAssignmentConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Athena.CapacityReservation.CapacityAssignmentConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CapacityAssignmentConfigurationProperty :: Prelude.Type+instance ToResourceProperties CapacityAssignmentConfigurationProperty+instance Prelude.Eq CapacityAssignmentConfigurationProperty+instance Prelude.Show CapacityAssignmentConfigurationProperty+instance JSON.ToJSON CapacityAssignmentConfigurationProperty
+ gen/Stratosphere/Athena/CapacityReservation/CapacityAssignmentProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.Athena.CapacityReservation.CapacityAssignmentProperty (+        CapacityAssignmentProperty(..), mkCapacityAssignmentProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CapacityAssignmentProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-capacityreservation-capacityassignment.html>+    CapacityAssignmentProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-capacityreservation-capacityassignment.html#cfn-athena-capacityreservation-capacityassignment-workgroupnames>+                                workgroupNames :: (ValueList Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCapacityAssignmentProperty ::+  ValueList Prelude.Text -> CapacityAssignmentProperty+mkCapacityAssignmentProperty workgroupNames+  = CapacityAssignmentProperty+      {haddock_workaround_ = (), workgroupNames = workgroupNames}+instance ToResourceProperties CapacityAssignmentProperty where+  toResourceProperties CapacityAssignmentProperty {..}+    = ResourceProperties+        {awsType = "AWS::Athena::CapacityReservation.CapacityAssignment",+         supportsTags = Prelude.False,+         properties = ["WorkgroupNames" JSON..= workgroupNames]}+instance JSON.ToJSON CapacityAssignmentProperty where+  toJSON CapacityAssignmentProperty {..}+    = JSON.object ["WorkgroupNames" JSON..= workgroupNames]+instance Property "WorkgroupNames" CapacityAssignmentProperty where+  type PropertyType "WorkgroupNames" CapacityAssignmentProperty = ValueList Prelude.Text+  set newValue CapacityAssignmentProperty {..}+    = CapacityAssignmentProperty {workgroupNames = newValue, ..}
+ gen/Stratosphere/Athena/CapacityReservation/CapacityAssignmentProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Athena.CapacityReservation.CapacityAssignmentProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CapacityAssignmentProperty :: Prelude.Type+instance ToResourceProperties CapacityAssignmentProperty+instance Prelude.Eq CapacityAssignmentProperty+instance Prelude.Show CapacityAssignmentProperty+instance JSON.ToJSON CapacityAssignmentProperty
+ gen/Stratosphere/Athena/DataCatalog.hs view
@@ -0,0 +1,94 @@+module Stratosphere.Athena.DataCatalog (+        DataCatalog(..), mkDataCatalog+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data DataCatalog+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html>+    DataCatalog {haddock_workaround_ :: (),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-connectiontype>+                 connectionType :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-description>+                 description :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-error>+                 error :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-name>+                 name :: (Value Prelude.Text),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-parameters>+                 parameters :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-status>+                 status :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-tags>+                 tags :: (Prelude.Maybe [Tag]),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html#cfn-athena-datacatalog-type>+                 type' :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDataCatalog ::+  Value Prelude.Text -> Value Prelude.Text -> DataCatalog+mkDataCatalog name type'+  = DataCatalog+      {haddock_workaround_ = (), name = name, type' = type',+       connectionType = Prelude.Nothing, description = Prelude.Nothing,+       error = Prelude.Nothing, parameters = Prelude.Nothing,+       status = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties DataCatalog where+  toResourceProperties DataCatalog {..}+    = ResourceProperties+        {awsType = "AWS::Athena::DataCatalog", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Name" JSON..= name, "Type" JSON..= type']+                           (Prelude.catMaybes+                              [(JSON..=) "ConnectionType" Prelude.<$> connectionType,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "Error" Prelude.<$> error,+                               (JSON..=) "Parameters" Prelude.<$> parameters,+                               (JSON..=) "Status" Prelude.<$> status,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON DataCatalog where+  toJSON DataCatalog {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Name" JSON..= name, "Type" JSON..= type']+              (Prelude.catMaybes+                 [(JSON..=) "ConnectionType" Prelude.<$> connectionType,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "Error" Prelude.<$> error,+                  (JSON..=) "Parameters" Prelude.<$> parameters,+                  (JSON..=) "Status" Prelude.<$> status,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "ConnectionType" DataCatalog where+  type PropertyType "ConnectionType" DataCatalog = Value Prelude.Text+  set newValue DataCatalog {..}+    = DataCatalog {connectionType = Prelude.pure newValue, ..}+instance Property "Description" DataCatalog where+  type PropertyType "Description" DataCatalog = Value Prelude.Text+  set newValue DataCatalog {..}+    = DataCatalog {description = Prelude.pure newValue, ..}+instance Property "Error" DataCatalog where+  type PropertyType "Error" DataCatalog = Value Prelude.Text+  set newValue DataCatalog {..}+    = DataCatalog {error = Prelude.pure newValue, ..}+instance Property "Name" DataCatalog where+  type PropertyType "Name" DataCatalog = Value Prelude.Text+  set newValue DataCatalog {..} = DataCatalog {name = newValue, ..}+instance Property "Parameters" DataCatalog where+  type PropertyType "Parameters" DataCatalog = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue DataCatalog {..}+    = DataCatalog {parameters = Prelude.pure newValue, ..}+instance Property "Status" DataCatalog where+  type PropertyType "Status" DataCatalog = Value Prelude.Text+  set newValue DataCatalog {..}+    = DataCatalog {status = Prelude.pure newValue, ..}+instance Property "Tags" DataCatalog where+  type PropertyType "Tags" DataCatalog = [Tag]+  set newValue DataCatalog {..}+    = DataCatalog {tags = Prelude.pure newValue, ..}+instance Property "Type" DataCatalog where+  type PropertyType "Type" DataCatalog = Value Prelude.Text+  set newValue DataCatalog {..} = DataCatalog {type' = newValue, ..}
+ gen/Stratosphere/Athena/NamedQuery.hs view
@@ -0,0 +1,69 @@+module Stratosphere.Athena.NamedQuery (+        NamedQuery(..), mkNamedQuery+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NamedQuery+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html>+    NamedQuery {haddock_workaround_ :: (),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-database>+                database :: (Value Prelude.Text),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-description>+                description :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-name>+                name :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-querystring>+                queryString :: (Value Prelude.Text),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-workgroup>+                workGroup :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNamedQuery ::+  Value Prelude.Text -> Value Prelude.Text -> NamedQuery+mkNamedQuery database queryString+  = NamedQuery+      {haddock_workaround_ = (), database = database,+       queryString = queryString, description = Prelude.Nothing,+       name = Prelude.Nothing, workGroup = Prelude.Nothing}+instance ToResourceProperties NamedQuery where+  toResourceProperties NamedQuery {..}+    = ResourceProperties+        {awsType = "AWS::Athena::NamedQuery", supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Database" JSON..= database, "QueryString" JSON..= queryString]+                           (Prelude.catMaybes+                              [(JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "Name" Prelude.<$> name,+                               (JSON..=) "WorkGroup" Prelude.<$> workGroup]))}+instance JSON.ToJSON NamedQuery where+  toJSON NamedQuery {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Database" JSON..= database, "QueryString" JSON..= queryString]+              (Prelude.catMaybes+                 [(JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "Name" Prelude.<$> name,+                  (JSON..=) "WorkGroup" Prelude.<$> workGroup])))+instance Property "Database" NamedQuery where+  type PropertyType "Database" NamedQuery = Value Prelude.Text+  set newValue NamedQuery {..} = NamedQuery {database = newValue, ..}+instance Property "Description" NamedQuery where+  type PropertyType "Description" NamedQuery = Value Prelude.Text+  set newValue NamedQuery {..}+    = NamedQuery {description = Prelude.pure newValue, ..}+instance Property "Name" NamedQuery where+  type PropertyType "Name" NamedQuery = Value Prelude.Text+  set newValue NamedQuery {..}+    = NamedQuery {name = Prelude.pure newValue, ..}+instance Property "QueryString" NamedQuery where+  type PropertyType "QueryString" NamedQuery = Value Prelude.Text+  set newValue NamedQuery {..}+    = NamedQuery {queryString = newValue, ..}+instance Property "WorkGroup" NamedQuery where+  type PropertyType "WorkGroup" NamedQuery = Value Prelude.Text+  set newValue NamedQuery {..}+    = NamedQuery {workGroup = Prelude.pure newValue, ..}
+ gen/Stratosphere/Athena/PreparedStatement.hs view
@@ -0,0 +1,66 @@+module Stratosphere.Athena.PreparedStatement (+        PreparedStatement(..), mkPreparedStatement+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PreparedStatement+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html>+    PreparedStatement {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html#cfn-athena-preparedstatement-description>+                       description :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html#cfn-athena-preparedstatement-querystatement>+                       queryStatement :: (Value Prelude.Text),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html#cfn-athena-preparedstatement-statementname>+                       statementName :: (Value Prelude.Text),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html#cfn-athena-preparedstatement-workgroup>+                       workGroup :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPreparedStatement ::+  Value Prelude.Text+  -> Value Prelude.Text -> Value Prelude.Text -> PreparedStatement+mkPreparedStatement queryStatement statementName workGroup+  = PreparedStatement+      {haddock_workaround_ = (), queryStatement = queryStatement,+       statementName = statementName, workGroup = workGroup,+       description = Prelude.Nothing}+instance ToResourceProperties PreparedStatement where+  toResourceProperties PreparedStatement {..}+    = ResourceProperties+        {awsType = "AWS::Athena::PreparedStatement",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["QueryStatement" JSON..= queryStatement,+                            "StatementName" JSON..= statementName,+                            "WorkGroup" JSON..= workGroup]+                           (Prelude.catMaybes+                              [(JSON..=) "Description" Prelude.<$> description]))}+instance JSON.ToJSON PreparedStatement where+  toJSON PreparedStatement {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["QueryStatement" JSON..= queryStatement,+               "StatementName" JSON..= statementName,+               "WorkGroup" JSON..= workGroup]+              (Prelude.catMaybes+                 [(JSON..=) "Description" Prelude.<$> description])))+instance Property "Description" PreparedStatement where+  type PropertyType "Description" PreparedStatement = Value Prelude.Text+  set newValue PreparedStatement {..}+    = PreparedStatement {description = Prelude.pure newValue, ..}+instance Property "QueryStatement" PreparedStatement where+  type PropertyType "QueryStatement" PreparedStatement = Value Prelude.Text+  set newValue PreparedStatement {..}+    = PreparedStatement {queryStatement = newValue, ..}+instance Property "StatementName" PreparedStatement where+  type PropertyType "StatementName" PreparedStatement = Value Prelude.Text+  set newValue PreparedStatement {..}+    = PreparedStatement {statementName = newValue, ..}+instance Property "WorkGroup" PreparedStatement where+  type PropertyType "WorkGroup" PreparedStatement = Value Prelude.Text+  set newValue PreparedStatement {..}+    = PreparedStatement {workGroup = newValue, ..}
+ gen/Stratosphere/Athena/WorkGroup.hs view
@@ -0,0 +1,85 @@+module Stratosphere.Athena.WorkGroup (+        module Exports, WorkGroup(..), mkWorkGroup+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.Athena.WorkGroup.WorkGroupConfigurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data WorkGroup+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html>+    WorkGroup {haddock_workaround_ :: (),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-description>+               description :: (Prelude.Maybe (Value Prelude.Text)),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-name>+               name :: (Value Prelude.Text),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-recursivedeleteoption>+               recursiveDeleteOption :: (Prelude.Maybe (Value Prelude.Bool)),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-state>+               state :: (Prelude.Maybe (Value Prelude.Text)),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-tags>+               tags :: (Prelude.Maybe [Tag]),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html#cfn-athena-workgroup-workgroupconfiguration>+               workGroupConfiguration :: (Prelude.Maybe WorkGroupConfigurationProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkWorkGroup :: Value Prelude.Text -> WorkGroup+mkWorkGroup name+  = WorkGroup+      {haddock_workaround_ = (), name = name,+       description = Prelude.Nothing,+       recursiveDeleteOption = Prelude.Nothing, state = Prelude.Nothing,+       tags = Prelude.Nothing, workGroupConfiguration = Prelude.Nothing}+instance ToResourceProperties WorkGroup where+  toResourceProperties WorkGroup {..}+    = ResourceProperties+        {awsType = "AWS::Athena::WorkGroup", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Name" JSON..= name]+                           (Prelude.catMaybes+                              [(JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "RecursiveDeleteOption"+                                 Prelude.<$> recursiveDeleteOption,+                               (JSON..=) "State" Prelude.<$> state,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "WorkGroupConfiguration"+                                 Prelude.<$> workGroupConfiguration]))}+instance JSON.ToJSON WorkGroup where+  toJSON WorkGroup {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Name" JSON..= name]+              (Prelude.catMaybes+                 [(JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "RecursiveDeleteOption"+                    Prelude.<$> recursiveDeleteOption,+                  (JSON..=) "State" Prelude.<$> state,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "WorkGroupConfiguration"+                    Prelude.<$> workGroupConfiguration])))+instance Property "Description" WorkGroup where+  type PropertyType "Description" WorkGroup = Value Prelude.Text+  set newValue WorkGroup {..}+    = WorkGroup {description = Prelude.pure newValue, ..}+instance Property "Name" WorkGroup where+  type PropertyType "Name" WorkGroup = Value Prelude.Text+  set newValue WorkGroup {..} = WorkGroup {name = newValue, ..}+instance Property "RecursiveDeleteOption" WorkGroup where+  type PropertyType "RecursiveDeleteOption" WorkGroup = Value Prelude.Bool+  set newValue WorkGroup {..}+    = WorkGroup {recursiveDeleteOption = Prelude.pure newValue, ..}+instance Property "State" WorkGroup where+  type PropertyType "State" WorkGroup = Value Prelude.Text+  set newValue WorkGroup {..}+    = WorkGroup {state = Prelude.pure newValue, ..}+instance Property "Tags" WorkGroup where+  type PropertyType "Tags" WorkGroup = [Tag]+  set newValue WorkGroup {..}+    = WorkGroup {tags = Prelude.pure newValue, ..}+instance Property "WorkGroupConfiguration" WorkGroup where+  type PropertyType "WorkGroupConfiguration" WorkGroup = WorkGroupConfigurationProperty+  set newValue WorkGroup {..}+    = WorkGroup {workGroupConfiguration = Prelude.pure newValue, ..}
+ gen/Stratosphere/Athena/WorkGroup/AclConfigurationProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.Athena.WorkGroup.AclConfigurationProperty (+        AclConfigurationProperty(..), mkAclConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AclConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-aclconfiguration.html>+    AclConfigurationProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-aclconfiguration.html#cfn-athena-workgroup-aclconfiguration-s3acloption>+                              s3AclOption :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAclConfigurationProperty ::+  Value Prelude.Text -> AclConfigurationProperty+mkAclConfigurationProperty s3AclOption+  = AclConfigurationProperty+      {haddock_workaround_ = (), s3AclOption = s3AclOption}+instance ToResourceProperties AclConfigurationProperty where+  toResourceProperties AclConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::Athena::WorkGroup.AclConfiguration",+         supportsTags = Prelude.False,+         properties = ["S3AclOption" JSON..= s3AclOption]}+instance JSON.ToJSON AclConfigurationProperty where+  toJSON AclConfigurationProperty {..}+    = JSON.object ["S3AclOption" JSON..= s3AclOption]+instance Property "S3AclOption" AclConfigurationProperty where+  type PropertyType "S3AclOption" AclConfigurationProperty = Value Prelude.Text+  set newValue AclConfigurationProperty {..}+    = AclConfigurationProperty {s3AclOption = newValue, ..}
+ gen/Stratosphere/Athena/WorkGroup/AclConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Athena.WorkGroup.AclConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AclConfigurationProperty :: Prelude.Type+instance ToResourceProperties AclConfigurationProperty+instance Prelude.Eq AclConfigurationProperty+instance Prelude.Show AclConfigurationProperty+instance JSON.ToJSON AclConfigurationProperty
+ gen/Stratosphere/Athena/WorkGroup/CustomerContentEncryptionConfigurationProperty.hs view
@@ -0,0 +1,36 @@+module Stratosphere.Athena.WorkGroup.CustomerContentEncryptionConfigurationProperty (+        CustomerContentEncryptionConfigurationProperty(..),+        mkCustomerContentEncryptionConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CustomerContentEncryptionConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-customercontentencryptionconfiguration.html>+    CustomerContentEncryptionConfigurationProperty {haddock_workaround_ :: (),+                                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-customercontentencryptionconfiguration.html#cfn-athena-workgroup-customercontentencryptionconfiguration-kmskey>+                                                    kmsKey :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCustomerContentEncryptionConfigurationProperty ::+  Value Prelude.Text+  -> CustomerContentEncryptionConfigurationProperty+mkCustomerContentEncryptionConfigurationProperty kmsKey+  = CustomerContentEncryptionConfigurationProperty+      {haddock_workaround_ = (), kmsKey = kmsKey}+instance ToResourceProperties CustomerContentEncryptionConfigurationProperty where+  toResourceProperties+    CustomerContentEncryptionConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::Athena::WorkGroup.CustomerContentEncryptionConfiguration",+         supportsTags = Prelude.False,+         properties = ["KmsKey" JSON..= kmsKey]}+instance JSON.ToJSON CustomerContentEncryptionConfigurationProperty where+  toJSON CustomerContentEncryptionConfigurationProperty {..}+    = JSON.object ["KmsKey" JSON..= kmsKey]+instance Property "KmsKey" CustomerContentEncryptionConfigurationProperty where+  type PropertyType "KmsKey" CustomerContentEncryptionConfigurationProperty = Value Prelude.Text+  set newValue CustomerContentEncryptionConfigurationProperty {..}+    = CustomerContentEncryptionConfigurationProperty+        {kmsKey = newValue, ..}
+ gen/Stratosphere/Athena/WorkGroup/CustomerContentEncryptionConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Athena.WorkGroup.CustomerContentEncryptionConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CustomerContentEncryptionConfigurationProperty :: Prelude.Type+instance ToResourceProperties CustomerContentEncryptionConfigurationProperty+instance Prelude.Eq CustomerContentEncryptionConfigurationProperty+instance Prelude.Show CustomerContentEncryptionConfigurationProperty+instance JSON.ToJSON CustomerContentEncryptionConfigurationProperty
+ gen/Stratosphere/Athena/WorkGroup/EncryptionConfigurationProperty.hs view
@@ -0,0 +1,48 @@+module Stratosphere.Athena.WorkGroup.EncryptionConfigurationProperty (+        EncryptionConfigurationProperty(..),+        mkEncryptionConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EncryptionConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-encryptionconfiguration.html>+    EncryptionConfigurationProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-encryptionconfiguration.html#cfn-athena-workgroup-encryptionconfiguration-encryptionoption>+                                     encryptionOption :: (Value Prelude.Text),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-encryptionconfiguration.html#cfn-athena-workgroup-encryptionconfiguration-kmskey>+                                     kmsKey :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEncryptionConfigurationProperty ::+  Value Prelude.Text -> EncryptionConfigurationProperty+mkEncryptionConfigurationProperty encryptionOption+  = EncryptionConfigurationProperty+      {haddock_workaround_ = (), encryptionOption = encryptionOption,+       kmsKey = Prelude.Nothing}+instance ToResourceProperties EncryptionConfigurationProperty where+  toResourceProperties EncryptionConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::Athena::WorkGroup.EncryptionConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["EncryptionOption" JSON..= encryptionOption]+                           (Prelude.catMaybes [(JSON..=) "KmsKey" Prelude.<$> kmsKey]))}+instance JSON.ToJSON EncryptionConfigurationProperty where+  toJSON EncryptionConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["EncryptionOption" JSON..= encryptionOption]+              (Prelude.catMaybes [(JSON..=) "KmsKey" Prelude.<$> kmsKey])))+instance Property "EncryptionOption" EncryptionConfigurationProperty where+  type PropertyType "EncryptionOption" EncryptionConfigurationProperty = Value Prelude.Text+  set newValue EncryptionConfigurationProperty {..}+    = EncryptionConfigurationProperty {encryptionOption = newValue, ..}+instance Property "KmsKey" EncryptionConfigurationProperty where+  type PropertyType "KmsKey" EncryptionConfigurationProperty = Value Prelude.Text+  set newValue EncryptionConfigurationProperty {..}+    = EncryptionConfigurationProperty+        {kmsKey = Prelude.pure newValue, ..}
+ gen/Stratosphere/Athena/WorkGroup/EncryptionConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Athena.WorkGroup.EncryptionConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EncryptionConfigurationProperty :: Prelude.Type+instance ToResourceProperties EncryptionConfigurationProperty+instance Prelude.Eq EncryptionConfigurationProperty+instance Prelude.Show EncryptionConfigurationProperty+instance JSON.ToJSON EncryptionConfigurationProperty
+ gen/Stratosphere/Athena/WorkGroup/EngineVersionProperty.hs view
@@ -0,0 +1,52 @@+module Stratosphere.Athena.WorkGroup.EngineVersionProperty (+        EngineVersionProperty(..), mkEngineVersionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EngineVersionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-engineversion.html>+    EngineVersionProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-engineversion.html#cfn-athena-workgroup-engineversion-effectiveengineversion>+                           effectiveEngineVersion :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-engineversion.html#cfn-athena-workgroup-engineversion-selectedengineversion>+                           selectedEngineVersion :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEngineVersionProperty :: EngineVersionProperty+mkEngineVersionProperty+  = EngineVersionProperty+      {haddock_workaround_ = (),+       effectiveEngineVersion = Prelude.Nothing,+       selectedEngineVersion = Prelude.Nothing}+instance ToResourceProperties EngineVersionProperty where+  toResourceProperties EngineVersionProperty {..}+    = ResourceProperties+        {awsType = "AWS::Athena::WorkGroup.EngineVersion",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "EffectiveEngineVersion"+                              Prelude.<$> effectiveEngineVersion,+                            (JSON..=) "SelectedEngineVersion"+                              Prelude.<$> selectedEngineVersion])}+instance JSON.ToJSON EngineVersionProperty where+  toJSON EngineVersionProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "EffectiveEngineVersion"+                 Prelude.<$> effectiveEngineVersion,+               (JSON..=) "SelectedEngineVersion"+                 Prelude.<$> selectedEngineVersion]))+instance Property "EffectiveEngineVersion" EngineVersionProperty where+  type PropertyType "EffectiveEngineVersion" EngineVersionProperty = Value Prelude.Text+  set newValue EngineVersionProperty {..}+    = EngineVersionProperty+        {effectiveEngineVersion = Prelude.pure newValue, ..}+instance Property "SelectedEngineVersion" EngineVersionProperty where+  type PropertyType "SelectedEngineVersion" EngineVersionProperty = Value Prelude.Text+  set newValue EngineVersionProperty {..}+    = EngineVersionProperty+        {selectedEngineVersion = Prelude.pure newValue, ..}
+ gen/Stratosphere/Athena/WorkGroup/EngineVersionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Athena.WorkGroup.EngineVersionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EngineVersionProperty :: Prelude.Type+instance ToResourceProperties EngineVersionProperty+instance Prelude.Eq EngineVersionProperty+instance Prelude.Show EngineVersionProperty+instance JSON.ToJSON EngineVersionProperty
+ gen/Stratosphere/Athena/WorkGroup/ManagedQueryResultsConfigurationProperty.hs view
@@ -0,0 +1,52 @@+module Stratosphere.Athena.WorkGroup.ManagedQueryResultsConfigurationProperty (+        module Exports, ManagedQueryResultsConfigurationProperty(..),+        mkManagedQueryResultsConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.Athena.WorkGroup.ManagedStorageEncryptionConfigurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ManagedQueryResultsConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-managedqueryresultsconfiguration.html>+    ManagedQueryResultsConfigurationProperty {haddock_workaround_ :: (),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-managedqueryresultsconfiguration.html#cfn-athena-workgroup-managedqueryresultsconfiguration-enabled>+                                              enabled :: (Prelude.Maybe (Value Prelude.Bool)),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-managedqueryresultsconfiguration.html#cfn-athena-workgroup-managedqueryresultsconfiguration-encryptionconfiguration>+                                              encryptionConfiguration :: (Prelude.Maybe ManagedStorageEncryptionConfigurationProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkManagedQueryResultsConfigurationProperty ::+  ManagedQueryResultsConfigurationProperty+mkManagedQueryResultsConfigurationProperty+  = ManagedQueryResultsConfigurationProperty+      {haddock_workaround_ = (), enabled = Prelude.Nothing,+       encryptionConfiguration = Prelude.Nothing}+instance ToResourceProperties ManagedQueryResultsConfigurationProperty where+  toResourceProperties ManagedQueryResultsConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::Athena::WorkGroup.ManagedQueryResultsConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Enabled" Prelude.<$> enabled,+                            (JSON..=) "EncryptionConfiguration"+                              Prelude.<$> encryptionConfiguration])}+instance JSON.ToJSON ManagedQueryResultsConfigurationProperty where+  toJSON ManagedQueryResultsConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Enabled" Prelude.<$> enabled,+               (JSON..=) "EncryptionConfiguration"+                 Prelude.<$> encryptionConfiguration]))+instance Property "Enabled" ManagedQueryResultsConfigurationProperty where+  type PropertyType "Enabled" ManagedQueryResultsConfigurationProperty = Value Prelude.Bool+  set newValue ManagedQueryResultsConfigurationProperty {..}+    = ManagedQueryResultsConfigurationProperty+        {enabled = Prelude.pure newValue, ..}+instance Property "EncryptionConfiguration" ManagedQueryResultsConfigurationProperty where+  type PropertyType "EncryptionConfiguration" ManagedQueryResultsConfigurationProperty = ManagedStorageEncryptionConfigurationProperty+  set newValue ManagedQueryResultsConfigurationProperty {..}+    = ManagedQueryResultsConfigurationProperty+        {encryptionConfiguration = Prelude.pure newValue, ..}
+ gen/Stratosphere/Athena/WorkGroup/ManagedQueryResultsConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Athena.WorkGroup.ManagedQueryResultsConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ManagedQueryResultsConfigurationProperty :: Prelude.Type+instance ToResourceProperties ManagedQueryResultsConfigurationProperty+instance Prelude.Eq ManagedQueryResultsConfigurationProperty+instance Prelude.Show ManagedQueryResultsConfigurationProperty+instance JSON.ToJSON ManagedQueryResultsConfigurationProperty
+ gen/Stratosphere/Athena/WorkGroup/ManagedStorageEncryptionConfigurationProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.Athena.WorkGroup.ManagedStorageEncryptionConfigurationProperty (+        ManagedStorageEncryptionConfigurationProperty(..),+        mkManagedStorageEncryptionConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ManagedStorageEncryptionConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-managedstorageencryptionconfiguration.html>+    ManagedStorageEncryptionConfigurationProperty {haddock_workaround_ :: (),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-managedstorageencryptionconfiguration.html#cfn-athena-workgroup-managedstorageencryptionconfiguration-kmskey>+                                                   kmsKey :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkManagedStorageEncryptionConfigurationProperty ::+  ManagedStorageEncryptionConfigurationProperty+mkManagedStorageEncryptionConfigurationProperty+  = ManagedStorageEncryptionConfigurationProperty+      {haddock_workaround_ = (), kmsKey = Prelude.Nothing}+instance ToResourceProperties ManagedStorageEncryptionConfigurationProperty where+  toResourceProperties+    ManagedStorageEncryptionConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::Athena::WorkGroup.ManagedStorageEncryptionConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "KmsKey" Prelude.<$> kmsKey])}+instance JSON.ToJSON ManagedStorageEncryptionConfigurationProperty where+  toJSON ManagedStorageEncryptionConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "KmsKey" Prelude.<$> kmsKey]))+instance Property "KmsKey" ManagedStorageEncryptionConfigurationProperty where+  type PropertyType "KmsKey" ManagedStorageEncryptionConfigurationProperty = Value Prelude.Text+  set newValue ManagedStorageEncryptionConfigurationProperty {..}+    = ManagedStorageEncryptionConfigurationProperty+        {kmsKey = Prelude.pure newValue, ..}
+ gen/Stratosphere/Athena/WorkGroup/ManagedStorageEncryptionConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Athena.WorkGroup.ManagedStorageEncryptionConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ManagedStorageEncryptionConfigurationProperty :: Prelude.Type+instance ToResourceProperties ManagedStorageEncryptionConfigurationProperty+instance Prelude.Eq ManagedStorageEncryptionConfigurationProperty+instance Prelude.Show ManagedStorageEncryptionConfigurationProperty+instance JSON.ToJSON ManagedStorageEncryptionConfigurationProperty
+ gen/Stratosphere/Athena/WorkGroup/ResultConfigurationProperty.hs view
@@ -0,0 +1,72 @@+module Stratosphere.Athena.WorkGroup.ResultConfigurationProperty (+        module Exports, ResultConfigurationProperty(..),+        mkResultConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.Athena.WorkGroup.AclConfigurationProperty as Exports+import {-# SOURCE #-} Stratosphere.Athena.WorkGroup.EncryptionConfigurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ResultConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfiguration.html>+    ResultConfigurationProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfiguration.html#cfn-athena-workgroup-resultconfiguration-aclconfiguration>+                                 aclConfiguration :: (Prelude.Maybe AclConfigurationProperty),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfiguration.html#cfn-athena-workgroup-resultconfiguration-encryptionconfiguration>+                                 encryptionConfiguration :: (Prelude.Maybe EncryptionConfigurationProperty),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfiguration.html#cfn-athena-workgroup-resultconfiguration-expectedbucketowner>+                                 expectedBucketOwner :: (Prelude.Maybe (Value Prelude.Text)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfiguration.html#cfn-athena-workgroup-resultconfiguration-outputlocation>+                                 outputLocation :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkResultConfigurationProperty :: ResultConfigurationProperty+mkResultConfigurationProperty+  = ResultConfigurationProperty+      {haddock_workaround_ = (), aclConfiguration = Prelude.Nothing,+       encryptionConfiguration = Prelude.Nothing,+       expectedBucketOwner = Prelude.Nothing,+       outputLocation = Prelude.Nothing}+instance ToResourceProperties ResultConfigurationProperty where+  toResourceProperties ResultConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::Athena::WorkGroup.ResultConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AclConfiguration" Prelude.<$> aclConfiguration,+                            (JSON..=) "EncryptionConfiguration"+                              Prelude.<$> encryptionConfiguration,+                            (JSON..=) "ExpectedBucketOwner" Prelude.<$> expectedBucketOwner,+                            (JSON..=) "OutputLocation" Prelude.<$> outputLocation])}+instance JSON.ToJSON ResultConfigurationProperty where+  toJSON ResultConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AclConfiguration" Prelude.<$> aclConfiguration,+               (JSON..=) "EncryptionConfiguration"+                 Prelude.<$> encryptionConfiguration,+               (JSON..=) "ExpectedBucketOwner" Prelude.<$> expectedBucketOwner,+               (JSON..=) "OutputLocation" Prelude.<$> outputLocation]))+instance Property "AclConfiguration" ResultConfigurationProperty where+  type PropertyType "AclConfiguration" ResultConfigurationProperty = AclConfigurationProperty+  set newValue ResultConfigurationProperty {..}+    = ResultConfigurationProperty+        {aclConfiguration = Prelude.pure newValue, ..}+instance Property "EncryptionConfiguration" ResultConfigurationProperty where+  type PropertyType "EncryptionConfiguration" ResultConfigurationProperty = EncryptionConfigurationProperty+  set newValue ResultConfigurationProperty {..}+    = ResultConfigurationProperty+        {encryptionConfiguration = Prelude.pure newValue, ..}+instance Property "ExpectedBucketOwner" ResultConfigurationProperty where+  type PropertyType "ExpectedBucketOwner" ResultConfigurationProperty = Value Prelude.Text+  set newValue ResultConfigurationProperty {..}+    = ResultConfigurationProperty+        {expectedBucketOwner = Prelude.pure newValue, ..}+instance Property "OutputLocation" ResultConfigurationProperty where+  type PropertyType "OutputLocation" ResultConfigurationProperty = Value Prelude.Text+  set newValue ResultConfigurationProperty {..}+    = ResultConfigurationProperty+        {outputLocation = Prelude.pure newValue, ..}
+ gen/Stratosphere/Athena/WorkGroup/ResultConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Athena.WorkGroup.ResultConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ResultConfigurationProperty :: Prelude.Type+instance ToResourceProperties ResultConfigurationProperty+instance Prelude.Eq ResultConfigurationProperty+instance Prelude.Show ResultConfigurationProperty+instance JSON.ToJSON ResultConfigurationProperty
+ gen/Stratosphere/Athena/WorkGroup/WorkGroupConfigurationProperty.hs view
@@ -0,0 +1,145 @@+module Stratosphere.Athena.WorkGroup.WorkGroupConfigurationProperty (+        module Exports, WorkGroupConfigurationProperty(..),+        mkWorkGroupConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.Athena.WorkGroup.CustomerContentEncryptionConfigurationProperty as Exports+import {-# SOURCE #-} Stratosphere.Athena.WorkGroup.EngineVersionProperty as Exports+import {-# SOURCE #-} Stratosphere.Athena.WorkGroup.ManagedQueryResultsConfigurationProperty as Exports+import {-# SOURCE #-} Stratosphere.Athena.WorkGroup.ResultConfigurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data WorkGroupConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html>+    WorkGroupConfigurationProperty {haddock_workaround_ :: (),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-additionalconfiguration>+                                    additionalConfiguration :: (Prelude.Maybe (Value Prelude.Text)),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-bytesscannedcutoffperquery>+                                    bytesScannedCutoffPerQuery :: (Prelude.Maybe (Value Prelude.Integer)),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-customercontentencryptionconfiguration>+                                    customerContentEncryptionConfiguration :: (Prelude.Maybe CustomerContentEncryptionConfigurationProperty),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-enforceworkgroupconfiguration>+                                    enforceWorkGroupConfiguration :: (Prelude.Maybe (Value Prelude.Bool)),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-engineversion>+                                    engineVersion :: (Prelude.Maybe EngineVersionProperty),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-executionrole>+                                    executionRole :: (Prelude.Maybe (Value Prelude.Text)),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-managedqueryresultsconfiguration>+                                    managedQueryResultsConfiguration :: (Prelude.Maybe ManagedQueryResultsConfigurationProperty),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-publishcloudwatchmetricsenabled>+                                    publishCloudWatchMetricsEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-requesterpaysenabled>+                                    requesterPaysEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html#cfn-athena-workgroup-workgroupconfiguration-resultconfiguration>+                                    resultConfiguration :: (Prelude.Maybe ResultConfigurationProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkWorkGroupConfigurationProperty :: WorkGroupConfigurationProperty+mkWorkGroupConfigurationProperty+  = WorkGroupConfigurationProperty+      {haddock_workaround_ = (),+       additionalConfiguration = Prelude.Nothing,+       bytesScannedCutoffPerQuery = Prelude.Nothing,+       customerContentEncryptionConfiguration = Prelude.Nothing,+       enforceWorkGroupConfiguration = Prelude.Nothing,+       engineVersion = Prelude.Nothing, executionRole = Prelude.Nothing,+       managedQueryResultsConfiguration = Prelude.Nothing,+       publishCloudWatchMetricsEnabled = Prelude.Nothing,+       requesterPaysEnabled = Prelude.Nothing,+       resultConfiguration = Prelude.Nothing}+instance ToResourceProperties WorkGroupConfigurationProperty where+  toResourceProperties WorkGroupConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::Athena::WorkGroup.WorkGroupConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AdditionalConfiguration"+                              Prelude.<$> additionalConfiguration,+                            (JSON..=) "BytesScannedCutoffPerQuery"+                              Prelude.<$> bytesScannedCutoffPerQuery,+                            (JSON..=) "CustomerContentEncryptionConfiguration"+                              Prelude.<$> customerContentEncryptionConfiguration,+                            (JSON..=) "EnforceWorkGroupConfiguration"+                              Prelude.<$> enforceWorkGroupConfiguration,+                            (JSON..=) "EngineVersion" Prelude.<$> engineVersion,+                            (JSON..=) "ExecutionRole" Prelude.<$> executionRole,+                            (JSON..=) "ManagedQueryResultsConfiguration"+                              Prelude.<$> managedQueryResultsConfiguration,+                            (JSON..=) "PublishCloudWatchMetricsEnabled"+                              Prelude.<$> publishCloudWatchMetricsEnabled,+                            (JSON..=) "RequesterPaysEnabled" Prelude.<$> requesterPaysEnabled,+                            (JSON..=) "ResultConfiguration" Prelude.<$> resultConfiguration])}+instance JSON.ToJSON WorkGroupConfigurationProperty where+  toJSON WorkGroupConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AdditionalConfiguration"+                 Prelude.<$> additionalConfiguration,+               (JSON..=) "BytesScannedCutoffPerQuery"+                 Prelude.<$> bytesScannedCutoffPerQuery,+               (JSON..=) "CustomerContentEncryptionConfiguration"+                 Prelude.<$> customerContentEncryptionConfiguration,+               (JSON..=) "EnforceWorkGroupConfiguration"+                 Prelude.<$> enforceWorkGroupConfiguration,+               (JSON..=) "EngineVersion" Prelude.<$> engineVersion,+               (JSON..=) "ExecutionRole" Prelude.<$> executionRole,+               (JSON..=) "ManagedQueryResultsConfiguration"+                 Prelude.<$> managedQueryResultsConfiguration,+               (JSON..=) "PublishCloudWatchMetricsEnabled"+                 Prelude.<$> publishCloudWatchMetricsEnabled,+               (JSON..=) "RequesterPaysEnabled" Prelude.<$> requesterPaysEnabled,+               (JSON..=) "ResultConfiguration" Prelude.<$> resultConfiguration]))+instance Property "AdditionalConfiguration" WorkGroupConfigurationProperty where+  type PropertyType "AdditionalConfiguration" WorkGroupConfigurationProperty = Value Prelude.Text+  set newValue WorkGroupConfigurationProperty {..}+    = WorkGroupConfigurationProperty+        {additionalConfiguration = Prelude.pure newValue, ..}+instance Property "BytesScannedCutoffPerQuery" WorkGroupConfigurationProperty where+  type PropertyType "BytesScannedCutoffPerQuery" WorkGroupConfigurationProperty = Value Prelude.Integer+  set newValue WorkGroupConfigurationProperty {..}+    = WorkGroupConfigurationProperty+        {bytesScannedCutoffPerQuery = Prelude.pure newValue, ..}+instance Property "CustomerContentEncryptionConfiguration" WorkGroupConfigurationProperty where+  type PropertyType "CustomerContentEncryptionConfiguration" WorkGroupConfigurationProperty = CustomerContentEncryptionConfigurationProperty+  set newValue WorkGroupConfigurationProperty {..}+    = WorkGroupConfigurationProperty+        {customerContentEncryptionConfiguration = Prelude.pure newValue,+         ..}+instance Property "EnforceWorkGroupConfiguration" WorkGroupConfigurationProperty where+  type PropertyType "EnforceWorkGroupConfiguration" WorkGroupConfigurationProperty = Value Prelude.Bool+  set newValue WorkGroupConfigurationProperty {..}+    = WorkGroupConfigurationProperty+        {enforceWorkGroupConfiguration = Prelude.pure newValue, ..}+instance Property "EngineVersion" WorkGroupConfigurationProperty where+  type PropertyType "EngineVersion" WorkGroupConfigurationProperty = EngineVersionProperty+  set newValue WorkGroupConfigurationProperty {..}+    = WorkGroupConfigurationProperty+        {engineVersion = Prelude.pure newValue, ..}+instance Property "ExecutionRole" WorkGroupConfigurationProperty where+  type PropertyType "ExecutionRole" WorkGroupConfigurationProperty = Value Prelude.Text+  set newValue WorkGroupConfigurationProperty {..}+    = WorkGroupConfigurationProperty+        {executionRole = Prelude.pure newValue, ..}+instance Property "ManagedQueryResultsConfiguration" WorkGroupConfigurationProperty where+  type PropertyType "ManagedQueryResultsConfiguration" WorkGroupConfigurationProperty = ManagedQueryResultsConfigurationProperty+  set newValue WorkGroupConfigurationProperty {..}+    = WorkGroupConfigurationProperty+        {managedQueryResultsConfiguration = Prelude.pure newValue, ..}+instance Property "PublishCloudWatchMetricsEnabled" WorkGroupConfigurationProperty where+  type PropertyType "PublishCloudWatchMetricsEnabled" WorkGroupConfigurationProperty = Value Prelude.Bool+  set newValue WorkGroupConfigurationProperty {..}+    = WorkGroupConfigurationProperty+        {publishCloudWatchMetricsEnabled = Prelude.pure newValue, ..}+instance Property "RequesterPaysEnabled" WorkGroupConfigurationProperty where+  type PropertyType "RequesterPaysEnabled" WorkGroupConfigurationProperty = Value Prelude.Bool+  set newValue WorkGroupConfigurationProperty {..}+    = WorkGroupConfigurationProperty+        {requesterPaysEnabled = Prelude.pure newValue, ..}+instance Property "ResultConfiguration" WorkGroupConfigurationProperty where+  type PropertyType "ResultConfiguration" WorkGroupConfigurationProperty = ResultConfigurationProperty+  set newValue WorkGroupConfigurationProperty {..}+    = WorkGroupConfigurationProperty+        {resultConfiguration = Prelude.pure newValue, ..}
+ gen/Stratosphere/Athena/WorkGroup/WorkGroupConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Athena.WorkGroup.WorkGroupConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data WorkGroupConfigurationProperty :: Prelude.Type+instance ToResourceProperties WorkGroupConfigurationProperty+instance Prelude.Eq WorkGroupConfigurationProperty+instance Prelude.Show WorkGroupConfigurationProperty+instance JSON.ToJSON WorkGroupConfigurationProperty
+ stratosphere-athena.cabal view
@@ -0,0 +1,87 @@+cabal-version: 1.12++-- This file has been generated from package.yaml by hpack version 0.38.2.+--+-- see: https://github.com/sol/hpack++name:           stratosphere-athena+version:        1.0.0+synopsis:       Stratosphere integration for AWS Athena.+description:    Integration into stratosphere to generate resources and properties for AWS Athena+category:       AWS, Cloud, Athena+stability:      experimental+homepage:       https://github.com/mbj/stratosphere#readme+bug-reports:    https://github.com/mbj/stratosphere/issues+maintainer:     Markus Schirp+license:        MIT+license-file:   LICENSE.md+build-type:     Simple++source-repository head+  type: git+  location: https://github.com/mbj/stratosphere++flag development+  description: Run GHC with development flags+  manual: True+  default: False++library+  exposed-modules:+      Stratosphere.Athena.CapacityReservation+      Stratosphere.Athena.CapacityReservation.CapacityAssignmentConfigurationProperty+      Stratosphere.Athena.CapacityReservation.CapacityAssignmentProperty+      Stratosphere.Athena.DataCatalog+      Stratosphere.Athena.NamedQuery+      Stratosphere.Athena.PreparedStatement+      Stratosphere.Athena.WorkGroup+      Stratosphere.Athena.WorkGroup.AclConfigurationProperty+      Stratosphere.Athena.WorkGroup.CustomerContentEncryptionConfigurationProperty+      Stratosphere.Athena.WorkGroup.EncryptionConfigurationProperty+      Stratosphere.Athena.WorkGroup.EngineVersionProperty+      Stratosphere.Athena.WorkGroup.ManagedQueryResultsConfigurationProperty+      Stratosphere.Athena.WorkGroup.ManagedStorageEncryptionConfigurationProperty+      Stratosphere.Athena.WorkGroup.ResultConfigurationProperty+      Stratosphere.Athena.WorkGroup.WorkGroupConfigurationProperty+  other-modules:+      Paths_stratosphere_athena+  hs-source-dirs:+      gen+  default-extensions:+      DataKinds+      DeriveGeneric+      DerivingStrategies+      DerivingVia+      DuplicateRecordFields+      FlexibleContexts+      FlexibleInstances+      GADTs+      GeneralizedNewtypeDeriving+      InstanceSigs+      LambdaCase+      MultiParamTypeClasses+      NoFieldSelectors+      NoImplicitPrelude+      NumericUnderscores+      OverloadedLists+      OverloadedRecordDot+      OverloadedStrings+      PolyKinds+      RecordWildCards+      ScopedTypeVariables+      StandaloneDeriving+      Strict+      TemplateHaskell+      TupleSections+      TypeApplications+      TypeFamilies+  ghc-options: -Wall -Wcompat -Widentities -Wimplicit-prelude -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-local-signatures -Wmissing-signatures -Wmonomorphism-restriction -Wredundant-constraints -fhide-source-paths -funbox-strict-fields -optP-Wno-nonportable-include-path -Wno-unused-imports+  build-depends:+      aeson ==2.*+    , base >=4.8 && <4.22+    , stratosphere ==1.0.0+  default-language: Haskell2010+  if flag(development)+    ghc-options: -Werror+  else+    ghc-options: -Wwarn