packages feed

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 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