stratosphere-aiops (empty) → 1.0.0
raw patch · 9 files changed
+396/−0 lines, 9 filesdep +aesondep +basedep +stratosphere
Dependencies added: aeson, base, stratosphere
Files
- LICENSE.md +20/−0
- gen/Stratosphere/AIOps/InvestigationGroup.hs +133/−0
- gen/Stratosphere/AIOps/InvestigationGroup/ChatbotNotificationChannelProperty.hs +51/−0
- gen/Stratosphere/AIOps/InvestigationGroup/ChatbotNotificationChannelProperty.hs-boot +9/−0
- gen/Stratosphere/AIOps/InvestigationGroup/CrossAccountConfigurationProperty.hs +39/−0
- gen/Stratosphere/AIOps/InvestigationGroup/CrossAccountConfigurationProperty.hs-boot +9/−0
- gen/Stratosphere/AIOps/InvestigationGroup/EncryptionConfigMapProperty.hs +50/−0
- gen/Stratosphere/AIOps/InvestigationGroup/EncryptionConfigMapProperty.hs-boot +9/−0
- stratosphere-aiops.cabal +76/−0
+ 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/AIOps/InvestigationGroup.hs view
@@ -0,0 +1,133 @@+module Stratosphere.AIOps.InvestigationGroup (+ module Exports, InvestigationGroup(..), mkInvestigationGroup+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AIOps.InvestigationGroup.ChatbotNotificationChannelProperty as Exports+import {-# SOURCE #-} Stratosphere.AIOps.InvestigationGroup.CrossAccountConfigurationProperty as Exports+import {-# SOURCE #-} Stratosphere.AIOps.InvestigationGroup.EncryptionConfigMapProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data InvestigationGroup+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html>+ InvestigationGroup {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-chatbotnotificationchannels>+ chatbotNotificationChannels :: (Prelude.Maybe [ChatbotNotificationChannelProperty]),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-crossaccountconfigurations>+ crossAccountConfigurations :: (Prelude.Maybe [CrossAccountConfigurationProperty]),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-encryptionconfig>+ encryptionConfig :: (Prelude.Maybe EncryptionConfigMapProperty),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-investigationgrouppolicy>+ investigationGroupPolicy :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-iscloudtraileventhistoryenabled>+ isCloudTrailEventHistoryEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-name>+ name :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-retentionindays>+ retentionInDays :: (Prelude.Maybe (Value Prelude.Integer)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-rolearn>+ roleArn :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-tagkeyboundaries>+ tagKeyBoundaries :: (Prelude.Maybe (ValueList Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aiops-investigationgroup.html#cfn-aiops-investigationgroup-tags>+ tags :: (Prelude.Maybe [Tag])}+ deriving stock (Prelude.Eq, Prelude.Show)+mkInvestigationGroup :: Value Prelude.Text -> InvestigationGroup+mkInvestigationGroup name+ = InvestigationGroup+ {haddock_workaround_ = (), name = name,+ chatbotNotificationChannels = Prelude.Nothing,+ crossAccountConfigurations = Prelude.Nothing,+ encryptionConfig = Prelude.Nothing,+ investigationGroupPolicy = Prelude.Nothing,+ isCloudTrailEventHistoryEnabled = Prelude.Nothing,+ retentionInDays = Prelude.Nothing, roleArn = Prelude.Nothing,+ tagKeyBoundaries = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties InvestigationGroup where+ toResourceProperties InvestigationGroup {..}+ = ResourceProperties+ {awsType = "AWS::AIOps::InvestigationGroup",+ supportsTags = Prelude.True,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["Name" JSON..= name]+ (Prelude.catMaybes+ [(JSON..=) "ChatbotNotificationChannels"+ Prelude.<$> chatbotNotificationChannels,+ (JSON..=) "CrossAccountConfigurations"+ Prelude.<$> crossAccountConfigurations,+ (JSON..=) "EncryptionConfig" Prelude.<$> encryptionConfig,+ (JSON..=) "InvestigationGroupPolicy"+ Prelude.<$> investigationGroupPolicy,+ (JSON..=) "IsCloudTrailEventHistoryEnabled"+ Prelude.<$> isCloudTrailEventHistoryEnabled,+ (JSON..=) "RetentionInDays" Prelude.<$> retentionInDays,+ (JSON..=) "RoleArn" Prelude.<$> roleArn,+ (JSON..=) "TagKeyBoundaries" Prelude.<$> tagKeyBoundaries,+ (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON InvestigationGroup where+ toJSON InvestigationGroup {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["Name" JSON..= name]+ (Prelude.catMaybes+ [(JSON..=) "ChatbotNotificationChannels"+ Prelude.<$> chatbotNotificationChannels,+ (JSON..=) "CrossAccountConfigurations"+ Prelude.<$> crossAccountConfigurations,+ (JSON..=) "EncryptionConfig" Prelude.<$> encryptionConfig,+ (JSON..=) "InvestigationGroupPolicy"+ Prelude.<$> investigationGroupPolicy,+ (JSON..=) "IsCloudTrailEventHistoryEnabled"+ Prelude.<$> isCloudTrailEventHistoryEnabled,+ (JSON..=) "RetentionInDays" Prelude.<$> retentionInDays,+ (JSON..=) "RoleArn" Prelude.<$> roleArn,+ (JSON..=) "TagKeyBoundaries" Prelude.<$> tagKeyBoundaries,+ (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "ChatbotNotificationChannels" InvestigationGroup where+ type PropertyType "ChatbotNotificationChannels" InvestigationGroup = [ChatbotNotificationChannelProperty]+ set newValue InvestigationGroup {..}+ = InvestigationGroup+ {chatbotNotificationChannels = Prelude.pure newValue, ..}+instance Property "CrossAccountConfigurations" InvestigationGroup where+ type PropertyType "CrossAccountConfigurations" InvestigationGroup = [CrossAccountConfigurationProperty]+ set newValue InvestigationGroup {..}+ = InvestigationGroup+ {crossAccountConfigurations = Prelude.pure newValue, ..}+instance Property "EncryptionConfig" InvestigationGroup where+ type PropertyType "EncryptionConfig" InvestigationGroup = EncryptionConfigMapProperty+ set newValue InvestigationGroup {..}+ = InvestigationGroup {encryptionConfig = Prelude.pure newValue, ..}+instance Property "InvestigationGroupPolicy" InvestigationGroup where+ type PropertyType "InvestigationGroupPolicy" InvestigationGroup = Value Prelude.Text+ set newValue InvestigationGroup {..}+ = InvestigationGroup+ {investigationGroupPolicy = Prelude.pure newValue, ..}+instance Property "IsCloudTrailEventHistoryEnabled" InvestigationGroup where+ type PropertyType "IsCloudTrailEventHistoryEnabled" InvestigationGroup = Value Prelude.Bool+ set newValue InvestigationGroup {..}+ = InvestigationGroup+ {isCloudTrailEventHistoryEnabled = Prelude.pure newValue, ..}+instance Property "Name" InvestigationGroup where+ type PropertyType "Name" InvestigationGroup = Value Prelude.Text+ set newValue InvestigationGroup {..}+ = InvestigationGroup {name = newValue, ..}+instance Property "RetentionInDays" InvestigationGroup where+ type PropertyType "RetentionInDays" InvestigationGroup = Value Prelude.Integer+ set newValue InvestigationGroup {..}+ = InvestigationGroup {retentionInDays = Prelude.pure newValue, ..}+instance Property "RoleArn" InvestigationGroup where+ type PropertyType "RoleArn" InvestigationGroup = Value Prelude.Text+ set newValue InvestigationGroup {..}+ = InvestigationGroup {roleArn = Prelude.pure newValue, ..}+instance Property "TagKeyBoundaries" InvestigationGroup where+ type PropertyType "TagKeyBoundaries" InvestigationGroup = ValueList Prelude.Text+ set newValue InvestigationGroup {..}+ = InvestigationGroup {tagKeyBoundaries = Prelude.pure newValue, ..}+instance Property "Tags" InvestigationGroup where+ type PropertyType "Tags" InvestigationGroup = [Tag]+ set newValue InvestigationGroup {..}+ = InvestigationGroup {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/AIOps/InvestigationGroup/ChatbotNotificationChannelProperty.hs view
@@ -0,0 +1,51 @@+module Stratosphere.AIOps.InvestigationGroup.ChatbotNotificationChannelProperty (+ ChatbotNotificationChannelProperty(..),+ mkChatbotNotificationChannelProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ChatbotNotificationChannelProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aiops-investigationgroup-chatbotnotificationchannel.html>+ ChatbotNotificationChannelProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aiops-investigationgroup-chatbotnotificationchannel.html#cfn-aiops-investigationgroup-chatbotnotificationchannel-chatconfigurationarns>+ chatConfigurationArns :: (Prelude.Maybe (ValueList Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aiops-investigationgroup-chatbotnotificationchannel.html#cfn-aiops-investigationgroup-chatbotnotificationchannel-snstopicarn>+ sNSTopicArn :: (Prelude.Maybe (Value Prelude.Text))}+ deriving stock (Prelude.Eq, Prelude.Show)+mkChatbotNotificationChannelProperty ::+ ChatbotNotificationChannelProperty+mkChatbotNotificationChannelProperty+ = ChatbotNotificationChannelProperty+ {haddock_workaround_ = (), chatConfigurationArns = Prelude.Nothing,+ sNSTopicArn = Prelude.Nothing}+instance ToResourceProperties ChatbotNotificationChannelProperty where+ toResourceProperties ChatbotNotificationChannelProperty {..}+ = ResourceProperties+ {awsType = "AWS::AIOps::InvestigationGroup.ChatbotNotificationChannel",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "ChatConfigurationArns"+ Prelude.<$> chatConfigurationArns,+ (JSON..=) "SNSTopicArn" Prelude.<$> sNSTopicArn])}+instance JSON.ToJSON ChatbotNotificationChannelProperty where+ toJSON ChatbotNotificationChannelProperty {..}+ = JSON.object+ (Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "ChatConfigurationArns"+ Prelude.<$> chatConfigurationArns,+ (JSON..=) "SNSTopicArn" Prelude.<$> sNSTopicArn]))+instance Property "ChatConfigurationArns" ChatbotNotificationChannelProperty where+ type PropertyType "ChatConfigurationArns" ChatbotNotificationChannelProperty = ValueList Prelude.Text+ set newValue ChatbotNotificationChannelProperty {..}+ = ChatbotNotificationChannelProperty+ {chatConfigurationArns = Prelude.pure newValue, ..}+instance Property "SNSTopicArn" ChatbotNotificationChannelProperty where+ type PropertyType "SNSTopicArn" ChatbotNotificationChannelProperty = Value Prelude.Text+ set newValue ChatbotNotificationChannelProperty {..}+ = ChatbotNotificationChannelProperty+ {sNSTopicArn = Prelude.pure newValue, ..}
+ gen/Stratosphere/AIOps/InvestigationGroup/ChatbotNotificationChannelProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AIOps.InvestigationGroup.ChatbotNotificationChannelProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ChatbotNotificationChannelProperty :: Prelude.Type+instance ToResourceProperties ChatbotNotificationChannelProperty+instance Prelude.Eq ChatbotNotificationChannelProperty+instance Prelude.Show ChatbotNotificationChannelProperty+instance JSON.ToJSON ChatbotNotificationChannelProperty
+ gen/Stratosphere/AIOps/InvestigationGroup/CrossAccountConfigurationProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.AIOps.InvestigationGroup.CrossAccountConfigurationProperty (+ CrossAccountConfigurationProperty(..),+ mkCrossAccountConfigurationProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CrossAccountConfigurationProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aiops-investigationgroup-crossaccountconfiguration.html>+ CrossAccountConfigurationProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aiops-investigationgroup-crossaccountconfiguration.html#cfn-aiops-investigationgroup-crossaccountconfiguration-sourcerolearn>+ sourceRoleArn :: (Prelude.Maybe (Value Prelude.Text))}+ deriving stock (Prelude.Eq, Prelude.Show)+mkCrossAccountConfigurationProperty ::+ CrossAccountConfigurationProperty+mkCrossAccountConfigurationProperty+ = CrossAccountConfigurationProperty+ {haddock_workaround_ = (), sourceRoleArn = Prelude.Nothing}+instance ToResourceProperties CrossAccountConfigurationProperty where+ toResourceProperties CrossAccountConfigurationProperty {..}+ = ResourceProperties+ {awsType = "AWS::AIOps::InvestigationGroup.CrossAccountConfiguration",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "SourceRoleArn" Prelude.<$> sourceRoleArn])}+instance JSON.ToJSON CrossAccountConfigurationProperty where+ toJSON CrossAccountConfigurationProperty {..}+ = JSON.object+ (Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "SourceRoleArn" Prelude.<$> sourceRoleArn]))+instance Property "SourceRoleArn" CrossAccountConfigurationProperty where+ type PropertyType "SourceRoleArn" CrossAccountConfigurationProperty = Value Prelude.Text+ set newValue CrossAccountConfigurationProperty {..}+ = CrossAccountConfigurationProperty+ {sourceRoleArn = Prelude.pure newValue, ..}
+ gen/Stratosphere/AIOps/InvestigationGroup/CrossAccountConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AIOps.InvestigationGroup.CrossAccountConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CrossAccountConfigurationProperty :: Prelude.Type+instance ToResourceProperties CrossAccountConfigurationProperty+instance Prelude.Eq CrossAccountConfigurationProperty+instance Prelude.Show CrossAccountConfigurationProperty+instance JSON.ToJSON CrossAccountConfigurationProperty
+ gen/Stratosphere/AIOps/InvestigationGroup/EncryptionConfigMapProperty.hs view
@@ -0,0 +1,50 @@+module Stratosphere.AIOps.InvestigationGroup.EncryptionConfigMapProperty (+ EncryptionConfigMapProperty(..), mkEncryptionConfigMapProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EncryptionConfigMapProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aiops-investigationgroup-encryptionconfigmap.html>+ EncryptionConfigMapProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aiops-investigationgroup-encryptionconfigmap.html#cfn-aiops-investigationgroup-encryptionconfigmap-encryptionconfigurationtype>+ encryptionConfigurationType :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aiops-investigationgroup-encryptionconfigmap.html#cfn-aiops-investigationgroup-encryptionconfigmap-kmskeyid>+ kmsKeyId :: (Prelude.Maybe (Value Prelude.Text))}+ deriving stock (Prelude.Eq, Prelude.Show)+mkEncryptionConfigMapProperty :: EncryptionConfigMapProperty+mkEncryptionConfigMapProperty+ = EncryptionConfigMapProperty+ {haddock_workaround_ = (),+ encryptionConfigurationType = Prelude.Nothing,+ kmsKeyId = Prelude.Nothing}+instance ToResourceProperties EncryptionConfigMapProperty where+ toResourceProperties EncryptionConfigMapProperty {..}+ = ResourceProperties+ {awsType = "AWS::AIOps::InvestigationGroup.EncryptionConfigMap",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "EncryptionConfigurationType"+ Prelude.<$> encryptionConfigurationType,+ (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId])}+instance JSON.ToJSON EncryptionConfigMapProperty where+ toJSON EncryptionConfigMapProperty {..}+ = JSON.object+ (Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "EncryptionConfigurationType"+ Prelude.<$> encryptionConfigurationType,+ (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId]))+instance Property "EncryptionConfigurationType" EncryptionConfigMapProperty where+ type PropertyType "EncryptionConfigurationType" EncryptionConfigMapProperty = Value Prelude.Text+ set newValue EncryptionConfigMapProperty {..}+ = EncryptionConfigMapProperty+ {encryptionConfigurationType = Prelude.pure newValue, ..}+instance Property "KmsKeyId" EncryptionConfigMapProperty where+ type PropertyType "KmsKeyId" EncryptionConfigMapProperty = Value Prelude.Text+ set newValue EncryptionConfigMapProperty {..}+ = EncryptionConfigMapProperty+ {kmsKeyId = Prelude.pure newValue, ..}
+ gen/Stratosphere/AIOps/InvestigationGroup/EncryptionConfigMapProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AIOps.InvestigationGroup.EncryptionConfigMapProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EncryptionConfigMapProperty :: Prelude.Type+instance ToResourceProperties EncryptionConfigMapProperty+instance Prelude.Eq EncryptionConfigMapProperty+instance Prelude.Show EncryptionConfigMapProperty+instance JSON.ToJSON EncryptionConfigMapProperty
+ stratosphere-aiops.cabal view
@@ -0,0 +1,76 @@+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-aiops+version: 1.0.0+synopsis: Stratosphere integration for AWS AIOps.+description: Integration into stratosphere to generate resources and properties for AWS AIOps+category: AWS, Cloud, AIOps+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.AIOps.InvestigationGroup+ Stratosphere.AIOps.InvestigationGroup.ChatbotNotificationChannelProperty+ Stratosphere.AIOps.InvestigationGroup.CrossAccountConfigurationProperty+ Stratosphere.AIOps.InvestigationGroup.EncryptionConfigMapProperty+ other-modules:+ Paths_stratosphere_aiops+ 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