packages feed

stratosphere-appintegrations (empty) → 1.0.0

raw patch · 21 files changed

+802/−0 lines, 21 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/AppIntegrations/Application.hs view
@@ -0,0 +1,123 @@+module Stratosphere.AppIntegrations.Application (+        module Exports, Application(..), mkApplication+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppIntegrations.Application.ApplicationConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.AppIntegrations.Application.ApplicationSourceConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.AppIntegrations.Application.IframeConfigProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data Application+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html>+    Application {haddock_workaround_ :: (),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html#cfn-appintegrations-application-applicationconfig>+                 applicationConfig :: (Prelude.Maybe ApplicationConfigProperty),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html#cfn-appintegrations-application-applicationsourceconfig>+                 applicationSourceConfig :: ApplicationSourceConfigProperty,+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html#cfn-appintegrations-application-description>+                 description :: (Value Prelude.Text),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html#cfn-appintegrations-application-iframeconfig>+                 iframeConfig :: (Prelude.Maybe IframeConfigProperty),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html#cfn-appintegrations-application-initializationtimeout>+                 initializationTimeout :: (Prelude.Maybe (Value Prelude.Integer)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html#cfn-appintegrations-application-isservice>+                 isService :: (Prelude.Maybe (Value Prelude.Bool)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html#cfn-appintegrations-application-name>+                 name :: (Value Prelude.Text),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html#cfn-appintegrations-application-namespace>+                 namespace :: (Value Prelude.Text),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html#cfn-appintegrations-application-permissions>+                 permissions :: (Prelude.Maybe (ValueList Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html#cfn-appintegrations-application-tags>+                 tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkApplication ::+  ApplicationSourceConfigProperty+  -> Value Prelude.Text+     -> Value Prelude.Text -> Value Prelude.Text -> Application+mkApplication applicationSourceConfig description name namespace+  = Application+      {haddock_workaround_ = (),+       applicationSourceConfig = applicationSourceConfig,+       description = description, name = name, namespace = namespace,+       applicationConfig = Prelude.Nothing,+       iframeConfig = Prelude.Nothing,+       initializationTimeout = Prelude.Nothing,+       isService = Prelude.Nothing, permissions = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties Application where+  toResourceProperties Application {..}+    = ResourceProperties+        {awsType = "AWS::AppIntegrations::Application",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ApplicationSourceConfig" JSON..= applicationSourceConfig,+                            "Description" JSON..= description, "Name" JSON..= name,+                            "Namespace" JSON..= namespace]+                           (Prelude.catMaybes+                              [(JSON..=) "ApplicationConfig" Prelude.<$> applicationConfig,+                               (JSON..=) "IframeConfig" Prelude.<$> iframeConfig,+                               (JSON..=) "InitializationTimeout"+                                 Prelude.<$> initializationTimeout,+                               (JSON..=) "IsService" Prelude.<$> isService,+                               (JSON..=) "Permissions" Prelude.<$> permissions,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON Application where+  toJSON Application {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ApplicationSourceConfig" JSON..= applicationSourceConfig,+               "Description" JSON..= description, "Name" JSON..= name,+               "Namespace" JSON..= namespace]+              (Prelude.catMaybes+                 [(JSON..=) "ApplicationConfig" Prelude.<$> applicationConfig,+                  (JSON..=) "IframeConfig" Prelude.<$> iframeConfig,+                  (JSON..=) "InitializationTimeout"+                    Prelude.<$> initializationTimeout,+                  (JSON..=) "IsService" Prelude.<$> isService,+                  (JSON..=) "Permissions" Prelude.<$> permissions,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "ApplicationConfig" Application where+  type PropertyType "ApplicationConfig" Application = ApplicationConfigProperty+  set newValue Application {..}+    = Application {applicationConfig = Prelude.pure newValue, ..}+instance Property "ApplicationSourceConfig" Application where+  type PropertyType "ApplicationSourceConfig" Application = ApplicationSourceConfigProperty+  set newValue Application {..}+    = Application {applicationSourceConfig = newValue, ..}+instance Property "Description" Application where+  type PropertyType "Description" Application = Value Prelude.Text+  set newValue Application {..}+    = Application {description = newValue, ..}+instance Property "IframeConfig" Application where+  type PropertyType "IframeConfig" Application = IframeConfigProperty+  set newValue Application {..}+    = Application {iframeConfig = Prelude.pure newValue, ..}+instance Property "InitializationTimeout" Application where+  type PropertyType "InitializationTimeout" Application = Value Prelude.Integer+  set newValue Application {..}+    = Application {initializationTimeout = Prelude.pure newValue, ..}+instance Property "IsService" Application where+  type PropertyType "IsService" Application = Value Prelude.Bool+  set newValue Application {..}+    = Application {isService = Prelude.pure newValue, ..}+instance Property "Name" Application where+  type PropertyType "Name" Application = Value Prelude.Text+  set newValue Application {..} = Application {name = newValue, ..}+instance Property "Namespace" Application where+  type PropertyType "Namespace" Application = Value Prelude.Text+  set newValue Application {..}+    = Application {namespace = newValue, ..}+instance Property "Permissions" Application where+  type PropertyType "Permissions" Application = ValueList Prelude.Text+  set newValue Application {..}+    = Application {permissions = Prelude.pure newValue, ..}+instance Property "Tags" Application where+  type PropertyType "Tags" Application = [Tag]+  set newValue Application {..}+    = Application {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppIntegrations/Application/ApplicationConfigProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.AppIntegrations.Application.ApplicationConfigProperty (+        module Exports, ApplicationConfigProperty(..),+        mkApplicationConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppIntegrations.Application.ContactHandlingProperty as Exports+import Stratosphere.ResourceProperties+data ApplicationConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-application-applicationconfig.html>+    ApplicationConfigProperty {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-application-applicationconfig.html#cfn-appintegrations-application-applicationconfig-contacthandling>+                               contactHandling :: (Prelude.Maybe ContactHandlingProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkApplicationConfigProperty :: ApplicationConfigProperty+mkApplicationConfigProperty+  = ApplicationConfigProperty+      {haddock_workaround_ = (), contactHandling = Prelude.Nothing}+instance ToResourceProperties ApplicationConfigProperty where+  toResourceProperties ApplicationConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppIntegrations::Application.ApplicationConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ContactHandling" Prelude.<$> contactHandling])}+instance JSON.ToJSON ApplicationConfigProperty where+  toJSON ApplicationConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ContactHandling" Prelude.<$> contactHandling]))+instance Property "ContactHandling" ApplicationConfigProperty where+  type PropertyType "ContactHandling" ApplicationConfigProperty = ContactHandlingProperty+  set newValue ApplicationConfigProperty {..}+    = ApplicationConfigProperty+        {contactHandling = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppIntegrations/Application/ApplicationConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppIntegrations.Application.ApplicationConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ApplicationConfigProperty :: Prelude.Type+instance ToResourceProperties ApplicationConfigProperty+instance Prelude.Eq ApplicationConfigProperty+instance Prelude.Show ApplicationConfigProperty+instance JSON.ToJSON ApplicationConfigProperty
+ gen/Stratosphere/AppIntegrations/Application/ApplicationSourceConfigProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.AppIntegrations.Application.ApplicationSourceConfigProperty (+        module Exports, ApplicationSourceConfigProperty(..),+        mkApplicationSourceConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppIntegrations.Application.ExternalUrlConfigProperty as Exports+import Stratosphere.ResourceProperties+data ApplicationSourceConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-application-applicationsourceconfig.html>+    ApplicationSourceConfigProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-application-applicationsourceconfig.html#cfn-appintegrations-application-applicationsourceconfig-externalurlconfig>+                                     externalUrlConfig :: ExternalUrlConfigProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkApplicationSourceConfigProperty ::+  ExternalUrlConfigProperty -> ApplicationSourceConfigProperty+mkApplicationSourceConfigProperty externalUrlConfig+  = ApplicationSourceConfigProperty+      {haddock_workaround_ = (), externalUrlConfig = externalUrlConfig}+instance ToResourceProperties ApplicationSourceConfigProperty where+  toResourceProperties ApplicationSourceConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppIntegrations::Application.ApplicationSourceConfig",+         supportsTags = Prelude.False,+         properties = ["ExternalUrlConfig" JSON..= externalUrlConfig]}+instance JSON.ToJSON ApplicationSourceConfigProperty where+  toJSON ApplicationSourceConfigProperty {..}+    = JSON.object ["ExternalUrlConfig" JSON..= externalUrlConfig]+instance Property "ExternalUrlConfig" ApplicationSourceConfigProperty where+  type PropertyType "ExternalUrlConfig" ApplicationSourceConfigProperty = ExternalUrlConfigProperty+  set newValue ApplicationSourceConfigProperty {..}+    = ApplicationSourceConfigProperty+        {externalUrlConfig = newValue, ..}
+ gen/Stratosphere/AppIntegrations/Application/ApplicationSourceConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppIntegrations.Application.ApplicationSourceConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ApplicationSourceConfigProperty :: Prelude.Type+instance ToResourceProperties ApplicationSourceConfigProperty+instance Prelude.Eq ApplicationSourceConfigProperty+instance Prelude.Show ApplicationSourceConfigProperty+instance JSON.ToJSON ApplicationSourceConfigProperty
+ gen/Stratosphere/AppIntegrations/Application/ContactHandlingProperty.hs view
@@ -0,0 +1,30 @@+module Stratosphere.AppIntegrations.Application.ContactHandlingProperty (+        ContactHandlingProperty(..), mkContactHandlingProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ContactHandlingProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-application-contacthandling.html>+    ContactHandlingProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-application-contacthandling.html#cfn-appintegrations-application-contacthandling-scope>+                             scope :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkContactHandlingProperty ::+  Value Prelude.Text -> ContactHandlingProperty+mkContactHandlingProperty scope+  = ContactHandlingProperty {haddock_workaround_ = (), scope = scope}+instance ToResourceProperties ContactHandlingProperty where+  toResourceProperties ContactHandlingProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppIntegrations::Application.ContactHandling",+         supportsTags = Prelude.False, properties = ["Scope" JSON..= scope]}+instance JSON.ToJSON ContactHandlingProperty where+  toJSON ContactHandlingProperty {..}+    = JSON.object ["Scope" JSON..= scope]+instance Property "Scope" ContactHandlingProperty where+  type PropertyType "Scope" ContactHandlingProperty = Value Prelude.Text+  set newValue ContactHandlingProperty {..}+    = ContactHandlingProperty {scope = newValue, ..}
+ gen/Stratosphere/AppIntegrations/Application/ContactHandlingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppIntegrations.Application.ContactHandlingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ContactHandlingProperty :: Prelude.Type+instance ToResourceProperties ContactHandlingProperty+instance Prelude.Eq ContactHandlingProperty+instance Prelude.Show ContactHandlingProperty+instance JSON.ToJSON ContactHandlingProperty
+ gen/Stratosphere/AppIntegrations/Application/ExternalUrlConfigProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.AppIntegrations.Application.ExternalUrlConfigProperty (+        ExternalUrlConfigProperty(..), mkExternalUrlConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ExternalUrlConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-application-externalurlconfig.html>+    ExternalUrlConfigProperty {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-application-externalurlconfig.html#cfn-appintegrations-application-externalurlconfig-accessurl>+                               accessUrl :: (Value Prelude.Text),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-application-externalurlconfig.html#cfn-appintegrations-application-externalurlconfig-approvedorigins>+                               approvedOrigins :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkExternalUrlConfigProperty ::+  Value Prelude.Text -> ExternalUrlConfigProperty+mkExternalUrlConfigProperty accessUrl+  = ExternalUrlConfigProperty+      {haddock_workaround_ = (), accessUrl = accessUrl,+       approvedOrigins = Prelude.Nothing}+instance ToResourceProperties ExternalUrlConfigProperty where+  toResourceProperties ExternalUrlConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppIntegrations::Application.ExternalUrlConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AccessUrl" JSON..= accessUrl]+                           (Prelude.catMaybes+                              [(JSON..=) "ApprovedOrigins" Prelude.<$> approvedOrigins]))}+instance JSON.ToJSON ExternalUrlConfigProperty where+  toJSON ExternalUrlConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AccessUrl" JSON..= accessUrl]+              (Prelude.catMaybes+                 [(JSON..=) "ApprovedOrigins" Prelude.<$> approvedOrigins])))+instance Property "AccessUrl" ExternalUrlConfigProperty where+  type PropertyType "AccessUrl" ExternalUrlConfigProperty = Value Prelude.Text+  set newValue ExternalUrlConfigProperty {..}+    = ExternalUrlConfigProperty {accessUrl = newValue, ..}+instance Property "ApprovedOrigins" ExternalUrlConfigProperty where+  type PropertyType "ApprovedOrigins" ExternalUrlConfigProperty = ValueList Prelude.Text+  set newValue ExternalUrlConfigProperty {..}+    = ExternalUrlConfigProperty+        {approvedOrigins = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppIntegrations/Application/ExternalUrlConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppIntegrations.Application.ExternalUrlConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ExternalUrlConfigProperty :: Prelude.Type+instance ToResourceProperties ExternalUrlConfigProperty+instance Prelude.Eq ExternalUrlConfigProperty+instance Prelude.Show ExternalUrlConfigProperty+instance JSON.ToJSON ExternalUrlConfigProperty
+ gen/Stratosphere/AppIntegrations/Application/IframeConfigProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.AppIntegrations.Application.IframeConfigProperty (+        IframeConfigProperty(..), mkIframeConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data IframeConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-application-iframeconfig.html>+    IframeConfigProperty {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-application-iframeconfig.html#cfn-appintegrations-application-iframeconfig-allow>+                          allow :: (Prelude.Maybe (ValueList Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-application-iframeconfig.html#cfn-appintegrations-application-iframeconfig-sandbox>+                          sandbox :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIframeConfigProperty :: IframeConfigProperty+mkIframeConfigProperty+  = IframeConfigProperty+      {haddock_workaround_ = (), allow = Prelude.Nothing,+       sandbox = Prelude.Nothing}+instance ToResourceProperties IframeConfigProperty where+  toResourceProperties IframeConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppIntegrations::Application.IframeConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Allow" Prelude.<$> allow,+                            (JSON..=) "Sandbox" Prelude.<$> sandbox])}+instance JSON.ToJSON IframeConfigProperty where+  toJSON IframeConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Allow" Prelude.<$> allow,+               (JSON..=) "Sandbox" Prelude.<$> sandbox]))+instance Property "Allow" IframeConfigProperty where+  type PropertyType "Allow" IframeConfigProperty = ValueList Prelude.Text+  set newValue IframeConfigProperty {..}+    = IframeConfigProperty {allow = Prelude.pure newValue, ..}+instance Property "Sandbox" IframeConfigProperty where+  type PropertyType "Sandbox" IframeConfigProperty = ValueList Prelude.Text+  set newValue IframeConfigProperty {..}+    = IframeConfigProperty {sandbox = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppIntegrations/Application/IframeConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppIntegrations.Application.IframeConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data IframeConfigProperty :: Prelude.Type+instance ToResourceProperties IframeConfigProperty+instance Prelude.Eq IframeConfigProperty+instance Prelude.Show IframeConfigProperty+instance JSON.ToJSON IframeConfigProperty
+ gen/Stratosphere/AppIntegrations/DataIntegration.hs view
@@ -0,0 +1,101 @@+module Stratosphere.AppIntegrations.DataIntegration (+        module Exports, DataIntegration(..), mkDataIntegration+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppIntegrations.DataIntegration.FileConfigurationProperty as Exports+import {-# SOURCE #-} Stratosphere.AppIntegrations.DataIntegration.ScheduleConfigProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data DataIntegration+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html>+    DataIntegration {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html#cfn-appintegrations-dataintegration-description>+                     description :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html#cfn-appintegrations-dataintegration-fileconfiguration>+                     fileConfiguration :: (Prelude.Maybe FileConfigurationProperty),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html#cfn-appintegrations-dataintegration-kmskey>+                     kmsKey :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html#cfn-appintegrations-dataintegration-name>+                     name :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html#cfn-appintegrations-dataintegration-objectconfiguration>+                     objectConfiguration :: (Prelude.Maybe JSON.Object),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html#cfn-appintegrations-dataintegration-scheduleconfig>+                     scheduleConfig :: (Prelude.Maybe ScheduleConfigProperty),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html#cfn-appintegrations-dataintegration-sourceuri>+                     sourceURI :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html#cfn-appintegrations-dataintegration-tags>+                     tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDataIntegration ::+  Value Prelude.Text+  -> Value Prelude.Text -> Value Prelude.Text -> DataIntegration+mkDataIntegration kmsKey name sourceURI+  = DataIntegration+      {haddock_workaround_ = (), kmsKey = kmsKey, name = name,+       sourceURI = sourceURI, description = Prelude.Nothing,+       fileConfiguration = Prelude.Nothing,+       objectConfiguration = Prelude.Nothing,+       scheduleConfig = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties DataIntegration where+  toResourceProperties DataIntegration {..}+    = ResourceProperties+        {awsType = "AWS::AppIntegrations::DataIntegration",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["KmsKey" JSON..= kmsKey, "Name" JSON..= name,+                            "SourceURI" JSON..= sourceURI]+                           (Prelude.catMaybes+                              [(JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "FileConfiguration" Prelude.<$> fileConfiguration,+                               (JSON..=) "ObjectConfiguration" Prelude.<$> objectConfiguration,+                               (JSON..=) "ScheduleConfig" Prelude.<$> scheduleConfig,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON DataIntegration where+  toJSON DataIntegration {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["KmsKey" JSON..= kmsKey, "Name" JSON..= name,+               "SourceURI" JSON..= sourceURI]+              (Prelude.catMaybes+                 [(JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "FileConfiguration" Prelude.<$> fileConfiguration,+                  (JSON..=) "ObjectConfiguration" Prelude.<$> objectConfiguration,+                  (JSON..=) "ScheduleConfig" Prelude.<$> scheduleConfig,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Description" DataIntegration where+  type PropertyType "Description" DataIntegration = Value Prelude.Text+  set newValue DataIntegration {..}+    = DataIntegration {description = Prelude.pure newValue, ..}+instance Property "FileConfiguration" DataIntegration where+  type PropertyType "FileConfiguration" DataIntegration = FileConfigurationProperty+  set newValue DataIntegration {..}+    = DataIntegration {fileConfiguration = Prelude.pure newValue, ..}+instance Property "KmsKey" DataIntegration where+  type PropertyType "KmsKey" DataIntegration = Value Prelude.Text+  set newValue DataIntegration {..}+    = DataIntegration {kmsKey = newValue, ..}+instance Property "Name" DataIntegration where+  type PropertyType "Name" DataIntegration = Value Prelude.Text+  set newValue DataIntegration {..}+    = DataIntegration {name = newValue, ..}+instance Property "ObjectConfiguration" DataIntegration where+  type PropertyType "ObjectConfiguration" DataIntegration = JSON.Object+  set newValue DataIntegration {..}+    = DataIntegration {objectConfiguration = Prelude.pure newValue, ..}+instance Property "ScheduleConfig" DataIntegration where+  type PropertyType "ScheduleConfig" DataIntegration = ScheduleConfigProperty+  set newValue DataIntegration {..}+    = DataIntegration {scheduleConfig = Prelude.pure newValue, ..}+instance Property "SourceURI" DataIntegration where+  type PropertyType "SourceURI" DataIntegration = Value Prelude.Text+  set newValue DataIntegration {..}+    = DataIntegration {sourceURI = newValue, ..}+instance Property "Tags" DataIntegration where+  type PropertyType "Tags" DataIntegration = [Tag]+  set newValue DataIntegration {..}+    = DataIntegration {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppIntegrations/DataIntegration/FileConfigurationProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.AppIntegrations.DataIntegration.FileConfigurationProperty (+        FileConfigurationProperty(..), mkFileConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data FileConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-dataintegration-fileconfiguration.html>+    FileConfigurationProperty {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-dataintegration-fileconfiguration.html#cfn-appintegrations-dataintegration-fileconfiguration-filters>+                               filters :: (Prelude.Maybe JSON.Object),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-dataintegration-fileconfiguration.html#cfn-appintegrations-dataintegration-fileconfiguration-folders>+                               folders :: (ValueList Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkFileConfigurationProperty ::+  ValueList Prelude.Text -> FileConfigurationProperty+mkFileConfigurationProperty folders+  = FileConfigurationProperty+      {haddock_workaround_ = (), folders = folders,+       filters = Prelude.Nothing}+instance ToResourceProperties FileConfigurationProperty where+  toResourceProperties FileConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppIntegrations::DataIntegration.FileConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Folders" JSON..= folders]+                           (Prelude.catMaybes [(JSON..=) "Filters" Prelude.<$> filters]))}+instance JSON.ToJSON FileConfigurationProperty where+  toJSON FileConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Folders" JSON..= folders]+              (Prelude.catMaybes [(JSON..=) "Filters" Prelude.<$> filters])))+instance Property "Filters" FileConfigurationProperty where+  type PropertyType "Filters" FileConfigurationProperty = JSON.Object+  set newValue FileConfigurationProperty {..}+    = FileConfigurationProperty {filters = Prelude.pure newValue, ..}+instance Property "Folders" FileConfigurationProperty where+  type PropertyType "Folders" FileConfigurationProperty = ValueList Prelude.Text+  set newValue FileConfigurationProperty {..}+    = FileConfigurationProperty {folders = newValue, ..}
+ gen/Stratosphere/AppIntegrations/DataIntegration/FileConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppIntegrations.DataIntegration.FileConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data FileConfigurationProperty :: Prelude.Type+instance ToResourceProperties FileConfigurationProperty+instance Prelude.Eq FileConfigurationProperty+instance Prelude.Show FileConfigurationProperty+instance JSON.ToJSON FileConfigurationProperty
+ gen/Stratosphere/AppIntegrations/DataIntegration/ScheduleConfigProperty.hs view
@@ -0,0 +1,57 @@+module Stratosphere.AppIntegrations.DataIntegration.ScheduleConfigProperty (+        ScheduleConfigProperty(..), mkScheduleConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ScheduleConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-dataintegration-scheduleconfig.html>+    ScheduleConfigProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-dataintegration-scheduleconfig.html#cfn-appintegrations-dataintegration-scheduleconfig-firstexecutionfrom>+                            firstExecutionFrom :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-dataintegration-scheduleconfig.html#cfn-appintegrations-dataintegration-scheduleconfig-object>+                            object :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-dataintegration-scheduleconfig.html#cfn-appintegrations-dataintegration-scheduleconfig-scheduleexpression>+                            scheduleExpression :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkScheduleConfigProperty ::+  Value Prelude.Text -> ScheduleConfigProperty+mkScheduleConfigProperty scheduleExpression+  = ScheduleConfigProperty+      {haddock_workaround_ = (), scheduleExpression = scheduleExpression,+       firstExecutionFrom = Prelude.Nothing, object = Prelude.Nothing}+instance ToResourceProperties ScheduleConfigProperty where+  toResourceProperties ScheduleConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppIntegrations::DataIntegration.ScheduleConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ScheduleExpression" JSON..= scheduleExpression]+                           (Prelude.catMaybes+                              [(JSON..=) "FirstExecutionFrom" Prelude.<$> firstExecutionFrom,+                               (JSON..=) "Object" Prelude.<$> object]))}+instance JSON.ToJSON ScheduleConfigProperty where+  toJSON ScheduleConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ScheduleExpression" JSON..= scheduleExpression]+              (Prelude.catMaybes+                 [(JSON..=) "FirstExecutionFrom" Prelude.<$> firstExecutionFrom,+                  (JSON..=) "Object" Prelude.<$> object])))+instance Property "FirstExecutionFrom" ScheduleConfigProperty where+  type PropertyType "FirstExecutionFrom" ScheduleConfigProperty = Value Prelude.Text+  set newValue ScheduleConfigProperty {..}+    = ScheduleConfigProperty+        {firstExecutionFrom = Prelude.pure newValue, ..}+instance Property "Object" ScheduleConfigProperty where+  type PropertyType "Object" ScheduleConfigProperty = Value Prelude.Text+  set newValue ScheduleConfigProperty {..}+    = ScheduleConfigProperty {object = Prelude.pure newValue, ..}+instance Property "ScheduleExpression" ScheduleConfigProperty where+  type PropertyType "ScheduleExpression" ScheduleConfigProperty = Value Prelude.Text+  set newValue ScheduleConfigProperty {..}+    = ScheduleConfigProperty {scheduleExpression = newValue, ..}
+ gen/Stratosphere/AppIntegrations/DataIntegration/ScheduleConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppIntegrations.DataIntegration.ScheduleConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ScheduleConfigProperty :: Prelude.Type+instance ToResourceProperties ScheduleConfigProperty+instance Prelude.Eq ScheduleConfigProperty+instance Prelude.Show ScheduleConfigProperty+instance JSON.ToJSON ScheduleConfigProperty
+ gen/Stratosphere/AppIntegrations/EventIntegration.hs view
@@ -0,0 +1,74 @@+module Stratosphere.AppIntegrations.EventIntegration (+        module Exports, EventIntegration(..), mkEventIntegration+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppIntegrations.EventIntegration.EventFilterProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data EventIntegration+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-eventintegration.html>+    EventIntegration {haddock_workaround_ :: (),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-eventintegration.html#cfn-appintegrations-eventintegration-description>+                      description :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-eventintegration.html#cfn-appintegrations-eventintegration-eventbridgebus>+                      eventBridgeBus :: (Value Prelude.Text),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-eventintegration.html#cfn-appintegrations-eventintegration-eventfilter>+                      eventFilter :: EventFilterProperty,+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-eventintegration.html#cfn-appintegrations-eventintegration-name>+                      name :: (Value Prelude.Text),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-eventintegration.html#cfn-appintegrations-eventintegration-tags>+                      tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEventIntegration ::+  Value Prelude.Text+  -> EventFilterProperty -> Value Prelude.Text -> EventIntegration+mkEventIntegration eventBridgeBus eventFilter name+  = EventIntegration+      {haddock_workaround_ = (), eventBridgeBus = eventBridgeBus,+       eventFilter = eventFilter, name = name,+       description = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties EventIntegration where+  toResourceProperties EventIntegration {..}+    = ResourceProperties+        {awsType = "AWS::AppIntegrations::EventIntegration",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["EventBridgeBus" JSON..= eventBridgeBus,+                            "EventFilter" JSON..= eventFilter, "Name" JSON..= name]+                           (Prelude.catMaybes+                              [(JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON EventIntegration where+  toJSON EventIntegration {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["EventBridgeBus" JSON..= eventBridgeBus,+               "EventFilter" JSON..= eventFilter, "Name" JSON..= name]+              (Prelude.catMaybes+                 [(JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Description" EventIntegration where+  type PropertyType "Description" EventIntegration = Value Prelude.Text+  set newValue EventIntegration {..}+    = EventIntegration {description = Prelude.pure newValue, ..}+instance Property "EventBridgeBus" EventIntegration where+  type PropertyType "EventBridgeBus" EventIntegration = Value Prelude.Text+  set newValue EventIntegration {..}+    = EventIntegration {eventBridgeBus = newValue, ..}+instance Property "EventFilter" EventIntegration where+  type PropertyType "EventFilter" EventIntegration = EventFilterProperty+  set newValue EventIntegration {..}+    = EventIntegration {eventFilter = newValue, ..}+instance Property "Name" EventIntegration where+  type PropertyType "Name" EventIntegration = Value Prelude.Text+  set newValue EventIntegration {..}+    = EventIntegration {name = newValue, ..}+instance Property "Tags" EventIntegration where+  type PropertyType "Tags" EventIntegration = [Tag]+  set newValue EventIntegration {..}+    = EventIntegration {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppIntegrations/EventIntegration/EventFilterProperty.hs view
@@ -0,0 +1,30 @@+module Stratosphere.AppIntegrations.EventIntegration.EventFilterProperty (+        EventFilterProperty(..), mkEventFilterProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EventFilterProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-eventintegration-eventfilter.html>+    EventFilterProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-eventintegration-eventfilter.html#cfn-appintegrations-eventintegration-eventfilter-source>+                         source :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEventFilterProperty :: Value Prelude.Text -> EventFilterProperty+mkEventFilterProperty source+  = EventFilterProperty {haddock_workaround_ = (), source = source}+instance ToResourceProperties EventFilterProperty where+  toResourceProperties EventFilterProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppIntegrations::EventIntegration.EventFilter",+         supportsTags = Prelude.False,+         properties = ["Source" JSON..= source]}+instance JSON.ToJSON EventFilterProperty where+  toJSON EventFilterProperty {..}+    = JSON.object ["Source" JSON..= source]+instance Property "Source" EventFilterProperty where+  type PropertyType "Source" EventFilterProperty = Value Prelude.Text+  set newValue EventFilterProperty {..}+    = EventFilterProperty {source = newValue, ..}
+ gen/Stratosphere/AppIntegrations/EventIntegration/EventFilterProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppIntegrations.EventIntegration.EventFilterProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EventFilterProperty :: Prelude.Type+instance ToResourceProperties EventFilterProperty+instance Prelude.Eq EventFilterProperty+instance Prelude.Show EventFilterProperty+instance JSON.ToJSON EventFilterProperty
+ stratosphere-appintegrations.cabal view
@@ -0,0 +1,83 @@+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-appintegrations+version:        1.0.0+synopsis:       Stratosphere integration for AWS AppIntegrations.+description:    Integration into stratosphere to generate resources and properties for AWS AppIntegrations+category:       AWS, Cloud, AppIntegrations+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.AppIntegrations.Application+      Stratosphere.AppIntegrations.Application.ApplicationConfigProperty+      Stratosphere.AppIntegrations.Application.ApplicationSourceConfigProperty+      Stratosphere.AppIntegrations.Application.ContactHandlingProperty+      Stratosphere.AppIntegrations.Application.ExternalUrlConfigProperty+      Stratosphere.AppIntegrations.Application.IframeConfigProperty+      Stratosphere.AppIntegrations.DataIntegration+      Stratosphere.AppIntegrations.DataIntegration.FileConfigurationProperty+      Stratosphere.AppIntegrations.DataIntegration.ScheduleConfigProperty+      Stratosphere.AppIntegrations.EventIntegration+      Stratosphere.AppIntegrations.EventIntegration.EventFilterProperty+  other-modules:+      Paths_stratosphere_appintegrations+  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