packages feed

stratosphere-cloudtrail (empty) → 1.0.0

raw patch · 33 files changed

+1469/−0 lines, 33 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/CloudTrail/Channel.hs view
@@ -0,0 +1,63 @@+module Stratosphere.CloudTrail.Channel (+        module Exports, Channel(..), mkChannel+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudTrail.Channel.DestinationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data Channel+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-channel.html>+    Channel {haddock_workaround_ :: (),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-channel.html#cfn-cloudtrail-channel-destinations>+             destinations :: (Prelude.Maybe [DestinationProperty]),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-channel.html#cfn-cloudtrail-channel-name>+             name :: (Prelude.Maybe (Value Prelude.Text)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-channel.html#cfn-cloudtrail-channel-source>+             source :: (Prelude.Maybe (Value Prelude.Text)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-channel.html#cfn-cloudtrail-channel-tags>+             tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkChannel :: Channel+mkChannel+  = Channel+      {haddock_workaround_ = (), destinations = Prelude.Nothing,+       name = Prelude.Nothing, source = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties Channel where+  toResourceProperties Channel {..}+    = ResourceProperties+        {awsType = "AWS::CloudTrail::Channel", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Destinations" Prelude.<$> destinations,+                            (JSON..=) "Name" Prelude.<$> name,+                            (JSON..=) "Source" Prelude.<$> source,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON Channel where+  toJSON Channel {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Destinations" Prelude.<$> destinations,+               (JSON..=) "Name" Prelude.<$> name,+               (JSON..=) "Source" Prelude.<$> source,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "Destinations" Channel where+  type PropertyType "Destinations" Channel = [DestinationProperty]+  set newValue Channel {..}+    = Channel {destinations = Prelude.pure newValue, ..}+instance Property "Name" Channel where+  type PropertyType "Name" Channel = Value Prelude.Text+  set newValue Channel {..}+    = Channel {name = Prelude.pure newValue, ..}+instance Property "Source" Channel where+  type PropertyType "Source" Channel = Value Prelude.Text+  set newValue Channel {..}+    = Channel {source = Prelude.pure newValue, ..}+instance Property "Tags" Channel where+  type PropertyType "Tags" Channel = [Tag]+  set newValue Channel {..}+    = Channel {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudTrail/Channel/DestinationProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.CloudTrail.Channel.DestinationProperty (+        DestinationProperty(..), mkDestinationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DestinationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-channel-destination.html>+    DestinationProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-channel-destination.html#cfn-cloudtrail-channel-destination-location>+                         location :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-channel-destination.html#cfn-cloudtrail-channel-destination-type>+                         type' :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDestinationProperty ::+  Value Prelude.Text -> Value Prelude.Text -> DestinationProperty+mkDestinationProperty location type'+  = DestinationProperty+      {haddock_workaround_ = (), location = location, type' = type'}+instance ToResourceProperties DestinationProperty where+  toResourceProperties DestinationProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudTrail::Channel.Destination",+         supportsTags = Prelude.False,+         properties = ["Location" JSON..= location, "Type" JSON..= type']}+instance JSON.ToJSON DestinationProperty where+  toJSON DestinationProperty {..}+    = JSON.object ["Location" JSON..= location, "Type" JSON..= type']+instance Property "Location" DestinationProperty where+  type PropertyType "Location" DestinationProperty = Value Prelude.Text+  set newValue DestinationProperty {..}+    = DestinationProperty {location = newValue, ..}+instance Property "Type" DestinationProperty where+  type PropertyType "Type" DestinationProperty = Value Prelude.Text+  set newValue DestinationProperty {..}+    = DestinationProperty {type' = newValue, ..}
+ gen/Stratosphere/CloudTrail/Channel/DestinationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudTrail.Channel.DestinationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DestinationProperty :: Prelude.Type+instance ToResourceProperties DestinationProperty+instance Prelude.Eq DestinationProperty+instance Prelude.Show DestinationProperty+instance JSON.ToJSON DestinationProperty
+ gen/Stratosphere/CloudTrail/Dashboard.hs view
@@ -0,0 +1,77 @@+module Stratosphere.CloudTrail.Dashboard (+        module Exports, Dashboard(..), mkDashboard+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudTrail.Dashboard.RefreshScheduleProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudTrail.Dashboard.WidgetProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data Dashboard+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-dashboard.html>+    Dashboard {haddock_workaround_ :: (),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-dashboard.html#cfn-cloudtrail-dashboard-name>+               name :: (Prelude.Maybe (Value Prelude.Text)),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-dashboard.html#cfn-cloudtrail-dashboard-refreshschedule>+               refreshSchedule :: (Prelude.Maybe RefreshScheduleProperty),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-dashboard.html#cfn-cloudtrail-dashboard-tags>+               tags :: (Prelude.Maybe [Tag]),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-dashboard.html#cfn-cloudtrail-dashboard-terminationprotectionenabled>+               terminationProtectionEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-dashboard.html#cfn-cloudtrail-dashboard-widgets>+               widgets :: (Prelude.Maybe [WidgetProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDashboard :: Dashboard+mkDashboard+  = Dashboard+      {haddock_workaround_ = (), name = Prelude.Nothing,+       refreshSchedule = Prelude.Nothing, tags = Prelude.Nothing,+       terminationProtectionEnabled = Prelude.Nothing,+       widgets = Prelude.Nothing}+instance ToResourceProperties Dashboard where+  toResourceProperties Dashboard {..}+    = ResourceProperties+        {awsType = "AWS::CloudTrail::Dashboard",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Name" Prelude.<$> name,+                            (JSON..=) "RefreshSchedule" Prelude.<$> refreshSchedule,+                            (JSON..=) "Tags" Prelude.<$> tags,+                            (JSON..=) "TerminationProtectionEnabled"+                              Prelude.<$> terminationProtectionEnabled,+                            (JSON..=) "Widgets" Prelude.<$> widgets])}+instance JSON.ToJSON Dashboard where+  toJSON Dashboard {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Name" Prelude.<$> name,+               (JSON..=) "RefreshSchedule" Prelude.<$> refreshSchedule,+               (JSON..=) "Tags" Prelude.<$> tags,+               (JSON..=) "TerminationProtectionEnabled"+                 Prelude.<$> terminationProtectionEnabled,+               (JSON..=) "Widgets" Prelude.<$> widgets]))+instance Property "Name" Dashboard where+  type PropertyType "Name" Dashboard = Value Prelude.Text+  set newValue Dashboard {..}+    = Dashboard {name = Prelude.pure newValue, ..}+instance Property "RefreshSchedule" Dashboard where+  type PropertyType "RefreshSchedule" Dashboard = RefreshScheduleProperty+  set newValue Dashboard {..}+    = Dashboard {refreshSchedule = Prelude.pure newValue, ..}+instance Property "Tags" Dashboard where+  type PropertyType "Tags" Dashboard = [Tag]+  set newValue Dashboard {..}+    = Dashboard {tags = Prelude.pure newValue, ..}+instance Property "TerminationProtectionEnabled" Dashboard where+  type PropertyType "TerminationProtectionEnabled" Dashboard = Value Prelude.Bool+  set newValue Dashboard {..}+    = Dashboard+        {terminationProtectionEnabled = Prelude.pure newValue, ..}+instance Property "Widgets" Dashboard where+  type PropertyType "Widgets" Dashboard = [WidgetProperty]+  set newValue Dashboard {..}+    = Dashboard {widgets = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudTrail/Dashboard/FrequencyProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.CloudTrail.Dashboard.FrequencyProperty (+        FrequencyProperty(..), mkFrequencyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data FrequencyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-frequency.html>+    FrequencyProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-frequency.html#cfn-cloudtrail-dashboard-frequency-unit>+                       unit :: (Value Prelude.Text),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-frequency.html#cfn-cloudtrail-dashboard-frequency-value>+                       value :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkFrequencyProperty ::+  Value Prelude.Text -> Value Prelude.Integer -> FrequencyProperty+mkFrequencyProperty unit value+  = FrequencyProperty+      {haddock_workaround_ = (), unit = unit, value = value}+instance ToResourceProperties FrequencyProperty where+  toResourceProperties FrequencyProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudTrail::Dashboard.Frequency",+         supportsTags = Prelude.False,+         properties = ["Unit" JSON..= unit, "Value" JSON..= value]}+instance JSON.ToJSON FrequencyProperty where+  toJSON FrequencyProperty {..}+    = JSON.object ["Unit" JSON..= unit, "Value" JSON..= value]+instance Property "Unit" FrequencyProperty where+  type PropertyType "Unit" FrequencyProperty = Value Prelude.Text+  set newValue FrequencyProperty {..}+    = FrequencyProperty {unit = newValue, ..}+instance Property "Value" FrequencyProperty where+  type PropertyType "Value" FrequencyProperty = Value Prelude.Integer+  set newValue FrequencyProperty {..}+    = FrequencyProperty {value = newValue, ..}
+ gen/Stratosphere/CloudTrail/Dashboard/FrequencyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudTrail.Dashboard.FrequencyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data FrequencyProperty :: Prelude.Type+instance ToResourceProperties FrequencyProperty+instance Prelude.Eq FrequencyProperty+instance Prelude.Show FrequencyProperty+instance JSON.ToJSON FrequencyProperty
+ gen/Stratosphere/CloudTrail/Dashboard/RefreshScheduleProperty.hs view
@@ -0,0 +1,55 @@+module Stratosphere.CloudTrail.Dashboard.RefreshScheduleProperty (+        module Exports, RefreshScheduleProperty(..),+        mkRefreshScheduleProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudTrail.Dashboard.FrequencyProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data RefreshScheduleProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-refreshschedule.html>+    RefreshScheduleProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-refreshschedule.html#cfn-cloudtrail-dashboard-refreshschedule-frequency>+                             frequency :: (Prelude.Maybe FrequencyProperty),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-refreshschedule.html#cfn-cloudtrail-dashboard-refreshschedule-status>+                             status :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-refreshschedule.html#cfn-cloudtrail-dashboard-refreshschedule-timeofday>+                             timeOfDay :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRefreshScheduleProperty :: RefreshScheduleProperty+mkRefreshScheduleProperty+  = RefreshScheduleProperty+      {haddock_workaround_ = (), frequency = Prelude.Nothing,+       status = Prelude.Nothing, timeOfDay = Prelude.Nothing}+instance ToResourceProperties RefreshScheduleProperty where+  toResourceProperties RefreshScheduleProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudTrail::Dashboard.RefreshSchedule",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Frequency" Prelude.<$> frequency,+                            (JSON..=) "Status" Prelude.<$> status,+                            (JSON..=) "TimeOfDay" Prelude.<$> timeOfDay])}+instance JSON.ToJSON RefreshScheduleProperty where+  toJSON RefreshScheduleProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Frequency" Prelude.<$> frequency,+               (JSON..=) "Status" Prelude.<$> status,+               (JSON..=) "TimeOfDay" Prelude.<$> timeOfDay]))+instance Property "Frequency" RefreshScheduleProperty where+  type PropertyType "Frequency" RefreshScheduleProperty = FrequencyProperty+  set newValue RefreshScheduleProperty {..}+    = RefreshScheduleProperty {frequency = Prelude.pure newValue, ..}+instance Property "Status" RefreshScheduleProperty where+  type PropertyType "Status" RefreshScheduleProperty = Value Prelude.Text+  set newValue RefreshScheduleProperty {..}+    = RefreshScheduleProperty {status = Prelude.pure newValue, ..}+instance Property "TimeOfDay" RefreshScheduleProperty where+  type PropertyType "TimeOfDay" RefreshScheduleProperty = Value Prelude.Text+  set newValue RefreshScheduleProperty {..}+    = RefreshScheduleProperty {timeOfDay = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudTrail/Dashboard/RefreshScheduleProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudTrail.Dashboard.RefreshScheduleProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data RefreshScheduleProperty :: Prelude.Type+instance ToResourceProperties RefreshScheduleProperty+instance Prelude.Eq RefreshScheduleProperty+instance Prelude.Show RefreshScheduleProperty+instance JSON.ToJSON RefreshScheduleProperty
+ gen/Stratosphere/CloudTrail/Dashboard/WidgetProperty.hs view
@@ -0,0 +1,56 @@+module Stratosphere.CloudTrail.Dashboard.WidgetProperty (+        WidgetProperty(..), mkWidgetProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data WidgetProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-widget.html>+    WidgetProperty {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-widget.html#cfn-cloudtrail-dashboard-widget-queryparameters>+                    queryParameters :: (Prelude.Maybe (ValueList Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-widget.html#cfn-cloudtrail-dashboard-widget-querystatement>+                    queryStatement :: (Value Prelude.Text),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-dashboard-widget.html#cfn-cloudtrail-dashboard-widget-viewproperties>+                    viewProperties :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text)))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkWidgetProperty :: Value Prelude.Text -> WidgetProperty+mkWidgetProperty queryStatement+  = WidgetProperty+      {haddock_workaround_ = (), queryStatement = queryStatement,+       queryParameters = Prelude.Nothing,+       viewProperties = Prelude.Nothing}+instance ToResourceProperties WidgetProperty where+  toResourceProperties WidgetProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudTrail::Dashboard.Widget",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["QueryStatement" JSON..= queryStatement]+                           (Prelude.catMaybes+                              [(JSON..=) "QueryParameters" Prelude.<$> queryParameters,+                               (JSON..=) "ViewProperties" Prelude.<$> viewProperties]))}+instance JSON.ToJSON WidgetProperty where+  toJSON WidgetProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["QueryStatement" JSON..= queryStatement]+              (Prelude.catMaybes+                 [(JSON..=) "QueryParameters" Prelude.<$> queryParameters,+                  (JSON..=) "ViewProperties" Prelude.<$> viewProperties])))+instance Property "QueryParameters" WidgetProperty where+  type PropertyType "QueryParameters" WidgetProperty = ValueList Prelude.Text+  set newValue WidgetProperty {..}+    = WidgetProperty {queryParameters = Prelude.pure newValue, ..}+instance Property "QueryStatement" WidgetProperty where+  type PropertyType "QueryStatement" WidgetProperty = Value Prelude.Text+  set newValue WidgetProperty {..}+    = WidgetProperty {queryStatement = newValue, ..}+instance Property "ViewProperties" WidgetProperty where+  type PropertyType "ViewProperties" WidgetProperty = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue WidgetProperty {..}+    = WidgetProperty {viewProperties = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudTrail/Dashboard/WidgetProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudTrail.Dashboard.WidgetProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data WidgetProperty :: Prelude.Type+instance ToResourceProperties WidgetProperty+instance Prelude.Eq WidgetProperty+instance Prelude.Show WidgetProperty+instance JSON.ToJSON WidgetProperty
+ gen/Stratosphere/CloudTrail/EventDataStore.hs view
@@ -0,0 +1,179 @@+module Stratosphere.CloudTrail.EventDataStore (+        module Exports, EventDataStore(..), mkEventDataStore+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudTrail.EventDataStore.AdvancedEventSelectorProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudTrail.EventDataStore.ContextKeySelectorProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudTrail.EventDataStore.InsightSelectorProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data EventDataStore+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html>+    EventDataStore {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-advancedeventselectors>+                    advancedEventSelectors :: (Prelude.Maybe [AdvancedEventSelectorProperty]),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-billingmode>+                    billingMode :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-contextkeyselectors>+                    contextKeySelectors :: (Prelude.Maybe [ContextKeySelectorProperty]),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-federationenabled>+                    federationEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-federationrolearn>+                    federationRoleArn :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-ingestionenabled>+                    ingestionEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-insightselectors>+                    insightSelectors :: (Prelude.Maybe [InsightSelectorProperty]),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-insightsdestination>+                    insightsDestination :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-kmskeyid>+                    kmsKeyId :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-maxeventsize>+                    maxEventSize :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-multiregionenabled>+                    multiRegionEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-name>+                    name :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-organizationenabled>+                    organizationEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-retentionperiod>+                    retentionPeriod :: (Prelude.Maybe (Value Prelude.Integer)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-tags>+                    tags :: (Prelude.Maybe [Tag]),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html#cfn-cloudtrail-eventdatastore-terminationprotectionenabled>+                    terminationProtectionEnabled :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEventDataStore :: EventDataStore+mkEventDataStore+  = EventDataStore+      {haddock_workaround_ = (),+       advancedEventSelectors = Prelude.Nothing,+       billingMode = Prelude.Nothing,+       contextKeySelectors = Prelude.Nothing,+       federationEnabled = Prelude.Nothing,+       federationRoleArn = Prelude.Nothing,+       ingestionEnabled = Prelude.Nothing,+       insightSelectors = Prelude.Nothing,+       insightsDestination = Prelude.Nothing, kmsKeyId = Prelude.Nothing,+       maxEventSize = Prelude.Nothing,+       multiRegionEnabled = Prelude.Nothing, name = Prelude.Nothing,+       organizationEnabled = Prelude.Nothing,+       retentionPeriod = Prelude.Nothing, tags = Prelude.Nothing,+       terminationProtectionEnabled = Prelude.Nothing}+instance ToResourceProperties EventDataStore where+  toResourceProperties EventDataStore {..}+    = ResourceProperties+        {awsType = "AWS::CloudTrail::EventDataStore",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AdvancedEventSelectors"+                              Prelude.<$> advancedEventSelectors,+                            (JSON..=) "BillingMode" Prelude.<$> billingMode,+                            (JSON..=) "ContextKeySelectors" Prelude.<$> contextKeySelectors,+                            (JSON..=) "FederationEnabled" Prelude.<$> federationEnabled,+                            (JSON..=) "FederationRoleArn" Prelude.<$> federationRoleArn,+                            (JSON..=) "IngestionEnabled" Prelude.<$> ingestionEnabled,+                            (JSON..=) "InsightSelectors" Prelude.<$> insightSelectors,+                            (JSON..=) "InsightsDestination" Prelude.<$> insightsDestination,+                            (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,+                            (JSON..=) "MaxEventSize" Prelude.<$> maxEventSize,+                            (JSON..=) "MultiRegionEnabled" Prelude.<$> multiRegionEnabled,+                            (JSON..=) "Name" Prelude.<$> name,+                            (JSON..=) "OrganizationEnabled" Prelude.<$> organizationEnabled,+                            (JSON..=) "RetentionPeriod" Prelude.<$> retentionPeriod,+                            (JSON..=) "Tags" Prelude.<$> tags,+                            (JSON..=) "TerminationProtectionEnabled"+                              Prelude.<$> terminationProtectionEnabled])}+instance JSON.ToJSON EventDataStore where+  toJSON EventDataStore {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AdvancedEventSelectors"+                 Prelude.<$> advancedEventSelectors,+               (JSON..=) "BillingMode" Prelude.<$> billingMode,+               (JSON..=) "ContextKeySelectors" Prelude.<$> contextKeySelectors,+               (JSON..=) "FederationEnabled" Prelude.<$> federationEnabled,+               (JSON..=) "FederationRoleArn" Prelude.<$> federationRoleArn,+               (JSON..=) "IngestionEnabled" Prelude.<$> ingestionEnabled,+               (JSON..=) "InsightSelectors" Prelude.<$> insightSelectors,+               (JSON..=) "InsightsDestination" Prelude.<$> insightsDestination,+               (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,+               (JSON..=) "MaxEventSize" Prelude.<$> maxEventSize,+               (JSON..=) "MultiRegionEnabled" Prelude.<$> multiRegionEnabled,+               (JSON..=) "Name" Prelude.<$> name,+               (JSON..=) "OrganizationEnabled" Prelude.<$> organizationEnabled,+               (JSON..=) "RetentionPeriod" Prelude.<$> retentionPeriod,+               (JSON..=) "Tags" Prelude.<$> tags,+               (JSON..=) "TerminationProtectionEnabled"+                 Prelude.<$> terminationProtectionEnabled]))+instance Property "AdvancedEventSelectors" EventDataStore where+  type PropertyType "AdvancedEventSelectors" EventDataStore = [AdvancedEventSelectorProperty]+  set newValue EventDataStore {..}+    = EventDataStore+        {advancedEventSelectors = Prelude.pure newValue, ..}+instance Property "BillingMode" EventDataStore where+  type PropertyType "BillingMode" EventDataStore = Value Prelude.Text+  set newValue EventDataStore {..}+    = EventDataStore {billingMode = Prelude.pure newValue, ..}+instance Property "ContextKeySelectors" EventDataStore where+  type PropertyType "ContextKeySelectors" EventDataStore = [ContextKeySelectorProperty]+  set newValue EventDataStore {..}+    = EventDataStore {contextKeySelectors = Prelude.pure newValue, ..}+instance Property "FederationEnabled" EventDataStore where+  type PropertyType "FederationEnabled" EventDataStore = Value Prelude.Bool+  set newValue EventDataStore {..}+    = EventDataStore {federationEnabled = Prelude.pure newValue, ..}+instance Property "FederationRoleArn" EventDataStore where+  type PropertyType "FederationRoleArn" EventDataStore = Value Prelude.Text+  set newValue EventDataStore {..}+    = EventDataStore {federationRoleArn = Prelude.pure newValue, ..}+instance Property "IngestionEnabled" EventDataStore where+  type PropertyType "IngestionEnabled" EventDataStore = Value Prelude.Bool+  set newValue EventDataStore {..}+    = EventDataStore {ingestionEnabled = Prelude.pure newValue, ..}+instance Property "InsightSelectors" EventDataStore where+  type PropertyType "InsightSelectors" EventDataStore = [InsightSelectorProperty]+  set newValue EventDataStore {..}+    = EventDataStore {insightSelectors = Prelude.pure newValue, ..}+instance Property "InsightsDestination" EventDataStore where+  type PropertyType "InsightsDestination" EventDataStore = Value Prelude.Text+  set newValue EventDataStore {..}+    = EventDataStore {insightsDestination = Prelude.pure newValue, ..}+instance Property "KmsKeyId" EventDataStore where+  type PropertyType "KmsKeyId" EventDataStore = Value Prelude.Text+  set newValue EventDataStore {..}+    = EventDataStore {kmsKeyId = Prelude.pure newValue, ..}+instance Property "MaxEventSize" EventDataStore where+  type PropertyType "MaxEventSize" EventDataStore = Value Prelude.Text+  set newValue EventDataStore {..}+    = EventDataStore {maxEventSize = Prelude.pure newValue, ..}+instance Property "MultiRegionEnabled" EventDataStore where+  type PropertyType "MultiRegionEnabled" EventDataStore = Value Prelude.Bool+  set newValue EventDataStore {..}+    = EventDataStore {multiRegionEnabled = Prelude.pure newValue, ..}+instance Property "Name" EventDataStore where+  type PropertyType "Name" EventDataStore = Value Prelude.Text+  set newValue EventDataStore {..}+    = EventDataStore {name = Prelude.pure newValue, ..}+instance Property "OrganizationEnabled" EventDataStore where+  type PropertyType "OrganizationEnabled" EventDataStore = Value Prelude.Bool+  set newValue EventDataStore {..}+    = EventDataStore {organizationEnabled = Prelude.pure newValue, ..}+instance Property "RetentionPeriod" EventDataStore where+  type PropertyType "RetentionPeriod" EventDataStore = Value Prelude.Integer+  set newValue EventDataStore {..}+    = EventDataStore {retentionPeriod = Prelude.pure newValue, ..}+instance Property "Tags" EventDataStore where+  type PropertyType "Tags" EventDataStore = [Tag]+  set newValue EventDataStore {..}+    = EventDataStore {tags = Prelude.pure newValue, ..}+instance Property "TerminationProtectionEnabled" EventDataStore where+  type PropertyType "TerminationProtectionEnabled" EventDataStore = Value Prelude.Bool+  set newValue EventDataStore {..}+    = EventDataStore+        {terminationProtectionEnabled = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudTrail/EventDataStore/AdvancedEventSelectorProperty.hs view
@@ -0,0 +1,48 @@+module Stratosphere.CloudTrail.EventDataStore.AdvancedEventSelectorProperty (+        module Exports, AdvancedEventSelectorProperty(..),+        mkAdvancedEventSelectorProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudTrail.EventDataStore.AdvancedFieldSelectorProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AdvancedEventSelectorProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-advancedeventselector.html>+    AdvancedEventSelectorProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-advancedeventselector.html#cfn-cloudtrail-eventdatastore-advancedeventselector-fieldselectors>+                                   fieldSelectors :: [AdvancedFieldSelectorProperty],+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-advancedeventselector.html#cfn-cloudtrail-eventdatastore-advancedeventselector-name>+                                   name :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAdvancedEventSelectorProperty ::+  [AdvancedFieldSelectorProperty] -> AdvancedEventSelectorProperty+mkAdvancedEventSelectorProperty fieldSelectors+  = AdvancedEventSelectorProperty+      {haddock_workaround_ = (), fieldSelectors = fieldSelectors,+       name = Prelude.Nothing}+instance ToResourceProperties AdvancedEventSelectorProperty where+  toResourceProperties AdvancedEventSelectorProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudTrail::EventDataStore.AdvancedEventSelector",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["FieldSelectors" JSON..= fieldSelectors]+                           (Prelude.catMaybes [(JSON..=) "Name" Prelude.<$> name]))}+instance JSON.ToJSON AdvancedEventSelectorProperty where+  toJSON AdvancedEventSelectorProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["FieldSelectors" JSON..= fieldSelectors]+              (Prelude.catMaybes [(JSON..=) "Name" Prelude.<$> name])))+instance Property "FieldSelectors" AdvancedEventSelectorProperty where+  type PropertyType "FieldSelectors" AdvancedEventSelectorProperty = [AdvancedFieldSelectorProperty]+  set newValue AdvancedEventSelectorProperty {..}+    = AdvancedEventSelectorProperty {fieldSelectors = newValue, ..}+instance Property "Name" AdvancedEventSelectorProperty where+  type PropertyType "Name" AdvancedEventSelectorProperty = Value Prelude.Text+  set newValue AdvancedEventSelectorProperty {..}+    = AdvancedEventSelectorProperty {name = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudTrail/EventDataStore/AdvancedEventSelectorProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudTrail.EventDataStore.AdvancedEventSelectorProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AdvancedEventSelectorProperty :: Prelude.Type+instance ToResourceProperties AdvancedEventSelectorProperty+instance Prelude.Eq AdvancedEventSelectorProperty+instance Prelude.Show AdvancedEventSelectorProperty+instance JSON.ToJSON AdvancedEventSelectorProperty
+ gen/Stratosphere/CloudTrail/EventDataStore/AdvancedFieldSelectorProperty.hs view
@@ -0,0 +1,96 @@+module Stratosphere.CloudTrail.EventDataStore.AdvancedFieldSelectorProperty (+        AdvancedFieldSelectorProperty(..), mkAdvancedFieldSelectorProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AdvancedFieldSelectorProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-advancedfieldselector.html>+    AdvancedFieldSelectorProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-advancedfieldselector.html#cfn-cloudtrail-eventdatastore-advancedfieldselector-endswith>+                                   endsWith :: (Prelude.Maybe (ValueList Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-advancedfieldselector.html#cfn-cloudtrail-eventdatastore-advancedfieldselector-equals>+                                   equals :: (Prelude.Maybe (ValueList Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-advancedfieldselector.html#cfn-cloudtrail-eventdatastore-advancedfieldselector-field>+                                   field :: (Value Prelude.Text),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-advancedfieldselector.html#cfn-cloudtrail-eventdatastore-advancedfieldselector-notendswith>+                                   notEndsWith :: (Prelude.Maybe (ValueList Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-advancedfieldselector.html#cfn-cloudtrail-eventdatastore-advancedfieldselector-notequals>+                                   notEquals :: (Prelude.Maybe (ValueList Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-advancedfieldselector.html#cfn-cloudtrail-eventdatastore-advancedfieldselector-notstartswith>+                                   notStartsWith :: (Prelude.Maybe (ValueList Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-advancedfieldselector.html#cfn-cloudtrail-eventdatastore-advancedfieldselector-startswith>+                                   startsWith :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAdvancedFieldSelectorProperty ::+  Value Prelude.Text -> AdvancedFieldSelectorProperty+mkAdvancedFieldSelectorProperty field+  = AdvancedFieldSelectorProperty+      {haddock_workaround_ = (), field = field,+       endsWith = Prelude.Nothing, equals = Prelude.Nothing,+       notEndsWith = Prelude.Nothing, notEquals = Prelude.Nothing,+       notStartsWith = Prelude.Nothing, startsWith = Prelude.Nothing}+instance ToResourceProperties AdvancedFieldSelectorProperty where+  toResourceProperties AdvancedFieldSelectorProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudTrail::EventDataStore.AdvancedFieldSelector",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Field" JSON..= field]+                           (Prelude.catMaybes+                              [(JSON..=) "EndsWith" Prelude.<$> endsWith,+                               (JSON..=) "Equals" Prelude.<$> equals,+                               (JSON..=) "NotEndsWith" Prelude.<$> notEndsWith,+                               (JSON..=) "NotEquals" Prelude.<$> notEquals,+                               (JSON..=) "NotStartsWith" Prelude.<$> notStartsWith,+                               (JSON..=) "StartsWith" Prelude.<$> startsWith]))}+instance JSON.ToJSON AdvancedFieldSelectorProperty where+  toJSON AdvancedFieldSelectorProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Field" JSON..= field]+              (Prelude.catMaybes+                 [(JSON..=) "EndsWith" Prelude.<$> endsWith,+                  (JSON..=) "Equals" Prelude.<$> equals,+                  (JSON..=) "NotEndsWith" Prelude.<$> notEndsWith,+                  (JSON..=) "NotEquals" Prelude.<$> notEquals,+                  (JSON..=) "NotStartsWith" Prelude.<$> notStartsWith,+                  (JSON..=) "StartsWith" Prelude.<$> startsWith])))+instance Property "EndsWith" AdvancedFieldSelectorProperty where+  type PropertyType "EndsWith" AdvancedFieldSelectorProperty = ValueList Prelude.Text+  set newValue AdvancedFieldSelectorProperty {..}+    = AdvancedFieldSelectorProperty+        {endsWith = Prelude.pure newValue, ..}+instance Property "Equals" AdvancedFieldSelectorProperty where+  type PropertyType "Equals" AdvancedFieldSelectorProperty = ValueList Prelude.Text+  set newValue AdvancedFieldSelectorProperty {..}+    = AdvancedFieldSelectorProperty+        {equals = Prelude.pure newValue, ..}+instance Property "Field" AdvancedFieldSelectorProperty where+  type PropertyType "Field" AdvancedFieldSelectorProperty = Value Prelude.Text+  set newValue AdvancedFieldSelectorProperty {..}+    = AdvancedFieldSelectorProperty {field = newValue, ..}+instance Property "NotEndsWith" AdvancedFieldSelectorProperty where+  type PropertyType "NotEndsWith" AdvancedFieldSelectorProperty = ValueList Prelude.Text+  set newValue AdvancedFieldSelectorProperty {..}+    = AdvancedFieldSelectorProperty+        {notEndsWith = Prelude.pure newValue, ..}+instance Property "NotEquals" AdvancedFieldSelectorProperty where+  type PropertyType "NotEquals" AdvancedFieldSelectorProperty = ValueList Prelude.Text+  set newValue AdvancedFieldSelectorProperty {..}+    = AdvancedFieldSelectorProperty+        {notEquals = Prelude.pure newValue, ..}+instance Property "NotStartsWith" AdvancedFieldSelectorProperty where+  type PropertyType "NotStartsWith" AdvancedFieldSelectorProperty = ValueList Prelude.Text+  set newValue AdvancedFieldSelectorProperty {..}+    = AdvancedFieldSelectorProperty+        {notStartsWith = Prelude.pure newValue, ..}+instance Property "StartsWith" AdvancedFieldSelectorProperty where+  type PropertyType "StartsWith" AdvancedFieldSelectorProperty = ValueList Prelude.Text+  set newValue AdvancedFieldSelectorProperty {..}+    = AdvancedFieldSelectorProperty+        {startsWith = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudTrail/EventDataStore/AdvancedFieldSelectorProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudTrail.EventDataStore.AdvancedFieldSelectorProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AdvancedFieldSelectorProperty :: Prelude.Type+instance ToResourceProperties AdvancedFieldSelectorProperty+instance Prelude.Eq AdvancedFieldSelectorProperty+instance Prelude.Show AdvancedFieldSelectorProperty+instance JSON.ToJSON AdvancedFieldSelectorProperty
+ gen/Stratosphere/CloudTrail/EventDataStore/ContextKeySelectorProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.CloudTrail.EventDataStore.ContextKeySelectorProperty (+        ContextKeySelectorProperty(..), mkContextKeySelectorProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ContextKeySelectorProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-contextkeyselector.html>+    ContextKeySelectorProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-contextkeyselector.html#cfn-cloudtrail-eventdatastore-contextkeyselector-equals>+                                equals :: (ValueList Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-contextkeyselector.html#cfn-cloudtrail-eventdatastore-contextkeyselector-type>+                                type' :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkContextKeySelectorProperty ::+  ValueList Prelude.Text+  -> Value Prelude.Text -> ContextKeySelectorProperty+mkContextKeySelectorProperty equals type'+  = ContextKeySelectorProperty+      {haddock_workaround_ = (), equals = equals, type' = type'}+instance ToResourceProperties ContextKeySelectorProperty where+  toResourceProperties ContextKeySelectorProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudTrail::EventDataStore.ContextKeySelector",+         supportsTags = Prelude.False,+         properties = ["Equals" JSON..= equals, "Type" JSON..= type']}+instance JSON.ToJSON ContextKeySelectorProperty where+  toJSON ContextKeySelectorProperty {..}+    = JSON.object ["Equals" JSON..= equals, "Type" JSON..= type']+instance Property "Equals" ContextKeySelectorProperty where+  type PropertyType "Equals" ContextKeySelectorProperty = ValueList Prelude.Text+  set newValue ContextKeySelectorProperty {..}+    = ContextKeySelectorProperty {equals = newValue, ..}+instance Property "Type" ContextKeySelectorProperty where+  type PropertyType "Type" ContextKeySelectorProperty = Value Prelude.Text+  set newValue ContextKeySelectorProperty {..}+    = ContextKeySelectorProperty {type' = newValue, ..}
+ gen/Stratosphere/CloudTrail/EventDataStore/ContextKeySelectorProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudTrail.EventDataStore.ContextKeySelectorProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ContextKeySelectorProperty :: Prelude.Type+instance ToResourceProperties ContextKeySelectorProperty+instance Prelude.Eq ContextKeySelectorProperty+instance Prelude.Show ContextKeySelectorProperty+instance JSON.ToJSON ContextKeySelectorProperty
+ gen/Stratosphere/CloudTrail/EventDataStore/InsightSelectorProperty.hs view
@@ -0,0 +1,36 @@+module Stratosphere.CloudTrail.EventDataStore.InsightSelectorProperty (+        InsightSelectorProperty(..), mkInsightSelectorProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data InsightSelectorProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-insightselector.html>+    InsightSelectorProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-insightselector.html#cfn-cloudtrail-eventdatastore-insightselector-insighttype>+                             insightType :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkInsightSelectorProperty :: InsightSelectorProperty+mkInsightSelectorProperty+  = InsightSelectorProperty+      {haddock_workaround_ = (), insightType = Prelude.Nothing}+instance ToResourceProperties InsightSelectorProperty where+  toResourceProperties InsightSelectorProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudTrail::EventDataStore.InsightSelector",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "InsightType" Prelude.<$> insightType])}+instance JSON.ToJSON InsightSelectorProperty where+  toJSON InsightSelectorProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "InsightType" Prelude.<$> insightType]))+instance Property "InsightType" InsightSelectorProperty where+  type PropertyType "InsightType" InsightSelectorProperty = Value Prelude.Text+  set newValue InsightSelectorProperty {..}+    = InsightSelectorProperty {insightType = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudTrail/EventDataStore/InsightSelectorProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudTrail.EventDataStore.InsightSelectorProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data InsightSelectorProperty :: Prelude.Type+instance ToResourceProperties InsightSelectorProperty+instance Prelude.Eq InsightSelectorProperty+instance Prelude.Show InsightSelectorProperty+instance JSON.ToJSON InsightSelectorProperty
+ gen/Stratosphere/CloudTrail/ResourcePolicy.hs view
@@ -0,0 +1,42 @@+module Stratosphere.CloudTrail.ResourcePolicy (+        ResourcePolicy(..), mkResourcePolicy+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ResourcePolicy+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-resourcepolicy.html>+    ResourcePolicy {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-resourcepolicy.html#cfn-cloudtrail-resourcepolicy-resourcearn>+                    resourceArn :: (Value Prelude.Text),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-resourcepolicy.html#cfn-cloudtrail-resourcepolicy-resourcepolicy>+                    resourcePolicy :: JSON.Object}+  deriving stock (Prelude.Eq, Prelude.Show)+mkResourcePolicy ::+  Value Prelude.Text -> JSON.Object -> ResourcePolicy+mkResourcePolicy resourceArn resourcePolicy+  = ResourcePolicy+      {haddock_workaround_ = (), resourceArn = resourceArn,+       resourcePolicy = resourcePolicy}+instance ToResourceProperties ResourcePolicy where+  toResourceProperties ResourcePolicy {..}+    = ResourceProperties+        {awsType = "AWS::CloudTrail::ResourcePolicy",+         supportsTags = Prelude.False,+         properties = ["ResourceArn" JSON..= resourceArn,+                       "ResourcePolicy" JSON..= resourcePolicy]}+instance JSON.ToJSON ResourcePolicy where+  toJSON ResourcePolicy {..}+    = JSON.object+        ["ResourceArn" JSON..= resourceArn,+         "ResourcePolicy" JSON..= resourcePolicy]+instance Property "ResourceArn" ResourcePolicy where+  type PropertyType "ResourceArn" ResourcePolicy = Value Prelude.Text+  set newValue ResourcePolicy {..}+    = ResourcePolicy {resourceArn = newValue, ..}+instance Property "ResourcePolicy" ResourcePolicy where+  type PropertyType "ResourcePolicy" ResourcePolicy = JSON.Object+  set newValue ResourcePolicy {..}+    = ResourcePolicy {resourcePolicy = newValue, ..}
+ gen/Stratosphere/CloudTrail/Trail.hs view
@@ -0,0 +1,180 @@+module Stratosphere.CloudTrail.Trail (+        module Exports, Trail(..), mkTrail+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudTrail.Trail.AdvancedEventSelectorProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudTrail.Trail.EventSelectorProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudTrail.Trail.InsightSelectorProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data Trail+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html>+    Trail {haddock_workaround_ :: (),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-advancedeventselectors>+           advancedEventSelectors :: (Prelude.Maybe [AdvancedEventSelectorProperty]),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-cloudwatchlogsloggrouparn>+           cloudWatchLogsLogGroupArn :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-cloudwatchlogsrolearn>+           cloudWatchLogsRoleArn :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-enablelogfilevalidation>+           enableLogFileValidation :: (Prelude.Maybe (Value Prelude.Bool)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-eventselectors>+           eventSelectors :: (Prelude.Maybe [EventSelectorProperty]),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-includeglobalserviceevents>+           includeGlobalServiceEvents :: (Prelude.Maybe (Value Prelude.Bool)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-insightselectors>+           insightSelectors :: (Prelude.Maybe [InsightSelectorProperty]),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-islogging>+           isLogging :: (Value Prelude.Bool),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-ismultiregiontrail>+           isMultiRegionTrail :: (Prelude.Maybe (Value Prelude.Bool)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-isorganizationtrail>+           isOrganizationTrail :: (Prelude.Maybe (Value Prelude.Bool)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-kmskeyid>+           kMSKeyId :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-s3bucketname>+           s3BucketName :: (Value Prelude.Text),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-s3keyprefix>+           s3KeyPrefix :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-snstopicname>+           snsTopicName :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-tags>+           tags :: (Prelude.Maybe [Tag]),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-trailname>+           trailName :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTrail :: Value Prelude.Bool -> Value Prelude.Text -> Trail+mkTrail isLogging s3BucketName+  = Trail+      {haddock_workaround_ = (), isLogging = isLogging,+       s3BucketName = s3BucketName,+       advancedEventSelectors = Prelude.Nothing,+       cloudWatchLogsLogGroupArn = Prelude.Nothing,+       cloudWatchLogsRoleArn = Prelude.Nothing,+       enableLogFileValidation = Prelude.Nothing,+       eventSelectors = Prelude.Nothing,+       includeGlobalServiceEvents = Prelude.Nothing,+       insightSelectors = Prelude.Nothing,+       isMultiRegionTrail = Prelude.Nothing,+       isOrganizationTrail = Prelude.Nothing, kMSKeyId = Prelude.Nothing,+       s3KeyPrefix = Prelude.Nothing, snsTopicName = Prelude.Nothing,+       tags = Prelude.Nothing, trailName = Prelude.Nothing}+instance ToResourceProperties Trail where+  toResourceProperties Trail {..}+    = ResourceProperties+        {awsType = "AWS::CloudTrail::Trail", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["IsLogging" JSON..= isLogging,+                            "S3BucketName" JSON..= s3BucketName]+                           (Prelude.catMaybes+                              [(JSON..=) "AdvancedEventSelectors"+                                 Prelude.<$> advancedEventSelectors,+                               (JSON..=) "CloudWatchLogsLogGroupArn"+                                 Prelude.<$> cloudWatchLogsLogGroupArn,+                               (JSON..=) "CloudWatchLogsRoleArn"+                                 Prelude.<$> cloudWatchLogsRoleArn,+                               (JSON..=) "EnableLogFileValidation"+                                 Prelude.<$> enableLogFileValidation,+                               (JSON..=) "EventSelectors" Prelude.<$> eventSelectors,+                               (JSON..=) "IncludeGlobalServiceEvents"+                                 Prelude.<$> includeGlobalServiceEvents,+                               (JSON..=) "InsightSelectors" Prelude.<$> insightSelectors,+                               (JSON..=) "IsMultiRegionTrail" Prelude.<$> isMultiRegionTrail,+                               (JSON..=) "IsOrganizationTrail" Prelude.<$> isOrganizationTrail,+                               (JSON..=) "KMSKeyId" Prelude.<$> kMSKeyId,+                               (JSON..=) "S3KeyPrefix" Prelude.<$> s3KeyPrefix,+                               (JSON..=) "SnsTopicName" Prelude.<$> snsTopicName,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "TrailName" Prelude.<$> trailName]))}+instance JSON.ToJSON Trail where+  toJSON Trail {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["IsLogging" JSON..= isLogging,+               "S3BucketName" JSON..= s3BucketName]+              (Prelude.catMaybes+                 [(JSON..=) "AdvancedEventSelectors"+                    Prelude.<$> advancedEventSelectors,+                  (JSON..=) "CloudWatchLogsLogGroupArn"+                    Prelude.<$> cloudWatchLogsLogGroupArn,+                  (JSON..=) "CloudWatchLogsRoleArn"+                    Prelude.<$> cloudWatchLogsRoleArn,+                  (JSON..=) "EnableLogFileValidation"+                    Prelude.<$> enableLogFileValidation,+                  (JSON..=) "EventSelectors" Prelude.<$> eventSelectors,+                  (JSON..=) "IncludeGlobalServiceEvents"+                    Prelude.<$> includeGlobalServiceEvents,+                  (JSON..=) "InsightSelectors" Prelude.<$> insightSelectors,+                  (JSON..=) "IsMultiRegionTrail" Prelude.<$> isMultiRegionTrail,+                  (JSON..=) "IsOrganizationTrail" Prelude.<$> isOrganizationTrail,+                  (JSON..=) "KMSKeyId" Prelude.<$> kMSKeyId,+                  (JSON..=) "S3KeyPrefix" Prelude.<$> s3KeyPrefix,+                  (JSON..=) "SnsTopicName" Prelude.<$> snsTopicName,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "TrailName" Prelude.<$> trailName])))+instance Property "AdvancedEventSelectors" Trail where+  type PropertyType "AdvancedEventSelectors" Trail = [AdvancedEventSelectorProperty]+  set newValue Trail {..}+    = Trail {advancedEventSelectors = Prelude.pure newValue, ..}+instance Property "CloudWatchLogsLogGroupArn" Trail where+  type PropertyType "CloudWatchLogsLogGroupArn" Trail = Value Prelude.Text+  set newValue Trail {..}+    = Trail {cloudWatchLogsLogGroupArn = Prelude.pure newValue, ..}+instance Property "CloudWatchLogsRoleArn" Trail where+  type PropertyType "CloudWatchLogsRoleArn" Trail = Value Prelude.Text+  set newValue Trail {..}+    = Trail {cloudWatchLogsRoleArn = Prelude.pure newValue, ..}+instance Property "EnableLogFileValidation" Trail where+  type PropertyType "EnableLogFileValidation" Trail = Value Prelude.Bool+  set newValue Trail {..}+    = Trail {enableLogFileValidation = Prelude.pure newValue, ..}+instance Property "EventSelectors" Trail where+  type PropertyType "EventSelectors" Trail = [EventSelectorProperty]+  set newValue Trail {..}+    = Trail {eventSelectors = Prelude.pure newValue, ..}+instance Property "IncludeGlobalServiceEvents" Trail where+  type PropertyType "IncludeGlobalServiceEvents" Trail = Value Prelude.Bool+  set newValue Trail {..}+    = Trail {includeGlobalServiceEvents = Prelude.pure newValue, ..}+instance Property "InsightSelectors" Trail where+  type PropertyType "InsightSelectors" Trail = [InsightSelectorProperty]+  set newValue Trail {..}+    = Trail {insightSelectors = Prelude.pure newValue, ..}+instance Property "IsLogging" Trail where+  type PropertyType "IsLogging" Trail = Value Prelude.Bool+  set newValue Trail {..} = Trail {isLogging = newValue, ..}+instance Property "IsMultiRegionTrail" Trail where+  type PropertyType "IsMultiRegionTrail" Trail = Value Prelude.Bool+  set newValue Trail {..}+    = Trail {isMultiRegionTrail = Prelude.pure newValue, ..}+instance Property "IsOrganizationTrail" Trail where+  type PropertyType "IsOrganizationTrail" Trail = Value Prelude.Bool+  set newValue Trail {..}+    = Trail {isOrganizationTrail = Prelude.pure newValue, ..}+instance Property "KMSKeyId" Trail where+  type PropertyType "KMSKeyId" Trail = Value Prelude.Text+  set newValue Trail {..}+    = Trail {kMSKeyId = Prelude.pure newValue, ..}+instance Property "S3BucketName" Trail where+  type PropertyType "S3BucketName" Trail = Value Prelude.Text+  set newValue Trail {..} = Trail {s3BucketName = newValue, ..}+instance Property "S3KeyPrefix" Trail where+  type PropertyType "S3KeyPrefix" Trail = Value Prelude.Text+  set newValue Trail {..}+    = Trail {s3KeyPrefix = Prelude.pure newValue, ..}+instance Property "SnsTopicName" Trail where+  type PropertyType "SnsTopicName" Trail = Value Prelude.Text+  set newValue Trail {..}+    = Trail {snsTopicName = Prelude.pure newValue, ..}+instance Property "Tags" Trail where+  type PropertyType "Tags" Trail = [Tag]+  set newValue Trail {..} = Trail {tags = Prelude.pure newValue, ..}+instance Property "TrailName" Trail where+  type PropertyType "TrailName" Trail = Value Prelude.Text+  set newValue Trail {..}+    = Trail {trailName = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudTrail/Trail/AdvancedEventSelectorProperty.hs view
@@ -0,0 +1,48 @@+module Stratosphere.CloudTrail.Trail.AdvancedEventSelectorProperty (+        module Exports, AdvancedEventSelectorProperty(..),+        mkAdvancedEventSelectorProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudTrail.Trail.AdvancedFieldSelectorProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AdvancedEventSelectorProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-advancedeventselector.html>+    AdvancedEventSelectorProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-advancedeventselector.html#cfn-cloudtrail-trail-advancedeventselector-fieldselectors>+                                   fieldSelectors :: [AdvancedFieldSelectorProperty],+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-advancedeventselector.html#cfn-cloudtrail-trail-advancedeventselector-name>+                                   name :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAdvancedEventSelectorProperty ::+  [AdvancedFieldSelectorProperty] -> AdvancedEventSelectorProperty+mkAdvancedEventSelectorProperty fieldSelectors+  = AdvancedEventSelectorProperty+      {haddock_workaround_ = (), fieldSelectors = fieldSelectors,+       name = Prelude.Nothing}+instance ToResourceProperties AdvancedEventSelectorProperty where+  toResourceProperties AdvancedEventSelectorProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudTrail::Trail.AdvancedEventSelector",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["FieldSelectors" JSON..= fieldSelectors]+                           (Prelude.catMaybes [(JSON..=) "Name" Prelude.<$> name]))}+instance JSON.ToJSON AdvancedEventSelectorProperty where+  toJSON AdvancedEventSelectorProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["FieldSelectors" JSON..= fieldSelectors]+              (Prelude.catMaybes [(JSON..=) "Name" Prelude.<$> name])))+instance Property "FieldSelectors" AdvancedEventSelectorProperty where+  type PropertyType "FieldSelectors" AdvancedEventSelectorProperty = [AdvancedFieldSelectorProperty]+  set newValue AdvancedEventSelectorProperty {..}+    = AdvancedEventSelectorProperty {fieldSelectors = newValue, ..}+instance Property "Name" AdvancedEventSelectorProperty where+  type PropertyType "Name" AdvancedEventSelectorProperty = Value Prelude.Text+  set newValue AdvancedEventSelectorProperty {..}+    = AdvancedEventSelectorProperty {name = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudTrail/Trail/AdvancedEventSelectorProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudTrail.Trail.AdvancedEventSelectorProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AdvancedEventSelectorProperty :: Prelude.Type+instance ToResourceProperties AdvancedEventSelectorProperty+instance Prelude.Eq AdvancedEventSelectorProperty+instance Prelude.Show AdvancedEventSelectorProperty+instance JSON.ToJSON AdvancedEventSelectorProperty
+ gen/Stratosphere/CloudTrail/Trail/AdvancedFieldSelectorProperty.hs view
@@ -0,0 +1,96 @@+module Stratosphere.CloudTrail.Trail.AdvancedFieldSelectorProperty (+        AdvancedFieldSelectorProperty(..), mkAdvancedFieldSelectorProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AdvancedFieldSelectorProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-advancedfieldselector.html>+    AdvancedFieldSelectorProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-advancedfieldselector.html#cfn-cloudtrail-trail-advancedfieldselector-endswith>+                                   endsWith :: (Prelude.Maybe (ValueList Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-advancedfieldselector.html#cfn-cloudtrail-trail-advancedfieldselector-equals>+                                   equals :: (Prelude.Maybe (ValueList Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-advancedfieldselector.html#cfn-cloudtrail-trail-advancedfieldselector-field>+                                   field :: (Value Prelude.Text),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-advancedfieldselector.html#cfn-cloudtrail-trail-advancedfieldselector-notendswith>+                                   notEndsWith :: (Prelude.Maybe (ValueList Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-advancedfieldselector.html#cfn-cloudtrail-trail-advancedfieldselector-notequals>+                                   notEquals :: (Prelude.Maybe (ValueList Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-advancedfieldselector.html#cfn-cloudtrail-trail-advancedfieldselector-notstartswith>+                                   notStartsWith :: (Prelude.Maybe (ValueList Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-advancedfieldselector.html#cfn-cloudtrail-trail-advancedfieldselector-startswith>+                                   startsWith :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAdvancedFieldSelectorProperty ::+  Value Prelude.Text -> AdvancedFieldSelectorProperty+mkAdvancedFieldSelectorProperty field+  = AdvancedFieldSelectorProperty+      {haddock_workaround_ = (), field = field,+       endsWith = Prelude.Nothing, equals = Prelude.Nothing,+       notEndsWith = Prelude.Nothing, notEquals = Prelude.Nothing,+       notStartsWith = Prelude.Nothing, startsWith = Prelude.Nothing}+instance ToResourceProperties AdvancedFieldSelectorProperty where+  toResourceProperties AdvancedFieldSelectorProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudTrail::Trail.AdvancedFieldSelector",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Field" JSON..= field]+                           (Prelude.catMaybes+                              [(JSON..=) "EndsWith" Prelude.<$> endsWith,+                               (JSON..=) "Equals" Prelude.<$> equals,+                               (JSON..=) "NotEndsWith" Prelude.<$> notEndsWith,+                               (JSON..=) "NotEquals" Prelude.<$> notEquals,+                               (JSON..=) "NotStartsWith" Prelude.<$> notStartsWith,+                               (JSON..=) "StartsWith" Prelude.<$> startsWith]))}+instance JSON.ToJSON AdvancedFieldSelectorProperty where+  toJSON AdvancedFieldSelectorProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Field" JSON..= field]+              (Prelude.catMaybes+                 [(JSON..=) "EndsWith" Prelude.<$> endsWith,+                  (JSON..=) "Equals" Prelude.<$> equals,+                  (JSON..=) "NotEndsWith" Prelude.<$> notEndsWith,+                  (JSON..=) "NotEquals" Prelude.<$> notEquals,+                  (JSON..=) "NotStartsWith" Prelude.<$> notStartsWith,+                  (JSON..=) "StartsWith" Prelude.<$> startsWith])))+instance Property "EndsWith" AdvancedFieldSelectorProperty where+  type PropertyType "EndsWith" AdvancedFieldSelectorProperty = ValueList Prelude.Text+  set newValue AdvancedFieldSelectorProperty {..}+    = AdvancedFieldSelectorProperty+        {endsWith = Prelude.pure newValue, ..}+instance Property "Equals" AdvancedFieldSelectorProperty where+  type PropertyType "Equals" AdvancedFieldSelectorProperty = ValueList Prelude.Text+  set newValue AdvancedFieldSelectorProperty {..}+    = AdvancedFieldSelectorProperty+        {equals = Prelude.pure newValue, ..}+instance Property "Field" AdvancedFieldSelectorProperty where+  type PropertyType "Field" AdvancedFieldSelectorProperty = Value Prelude.Text+  set newValue AdvancedFieldSelectorProperty {..}+    = AdvancedFieldSelectorProperty {field = newValue, ..}+instance Property "NotEndsWith" AdvancedFieldSelectorProperty where+  type PropertyType "NotEndsWith" AdvancedFieldSelectorProperty = ValueList Prelude.Text+  set newValue AdvancedFieldSelectorProperty {..}+    = AdvancedFieldSelectorProperty+        {notEndsWith = Prelude.pure newValue, ..}+instance Property "NotEquals" AdvancedFieldSelectorProperty where+  type PropertyType "NotEquals" AdvancedFieldSelectorProperty = ValueList Prelude.Text+  set newValue AdvancedFieldSelectorProperty {..}+    = AdvancedFieldSelectorProperty+        {notEquals = Prelude.pure newValue, ..}+instance Property "NotStartsWith" AdvancedFieldSelectorProperty where+  type PropertyType "NotStartsWith" AdvancedFieldSelectorProperty = ValueList Prelude.Text+  set newValue AdvancedFieldSelectorProperty {..}+    = AdvancedFieldSelectorProperty+        {notStartsWith = Prelude.pure newValue, ..}+instance Property "StartsWith" AdvancedFieldSelectorProperty where+  type PropertyType "StartsWith" AdvancedFieldSelectorProperty = ValueList Prelude.Text+  set newValue AdvancedFieldSelectorProperty {..}+    = AdvancedFieldSelectorProperty+        {startsWith = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudTrail/Trail/AdvancedFieldSelectorProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudTrail.Trail.AdvancedFieldSelectorProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AdvancedFieldSelectorProperty :: Prelude.Type+instance ToResourceProperties AdvancedFieldSelectorProperty+instance Prelude.Eq AdvancedFieldSelectorProperty+instance Prelude.Show AdvancedFieldSelectorProperty+instance JSON.ToJSON AdvancedFieldSelectorProperty
+ gen/Stratosphere/CloudTrail/Trail/DataResourceProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.CloudTrail.Trail.DataResourceProperty (+        DataResourceProperty(..), mkDataResourceProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DataResourceProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-dataresource.html>+    DataResourceProperty {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-dataresource.html#cfn-cloudtrail-trail-dataresource-type>+                          type' :: (Value Prelude.Text),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-dataresource.html#cfn-cloudtrail-trail-dataresource-values>+                          values :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDataResourceProperty ::+  Value Prelude.Text -> DataResourceProperty+mkDataResourceProperty type'+  = DataResourceProperty+      {haddock_workaround_ = (), type' = type', values = Prelude.Nothing}+instance ToResourceProperties DataResourceProperty where+  toResourceProperties DataResourceProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudTrail::Trail.DataResource",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Type" JSON..= type']+                           (Prelude.catMaybes [(JSON..=) "Values" Prelude.<$> values]))}+instance JSON.ToJSON DataResourceProperty where+  toJSON DataResourceProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Type" JSON..= type']+              (Prelude.catMaybes [(JSON..=) "Values" Prelude.<$> values])))+instance Property "Type" DataResourceProperty where+  type PropertyType "Type" DataResourceProperty = Value Prelude.Text+  set newValue DataResourceProperty {..}+    = DataResourceProperty {type' = newValue, ..}+instance Property "Values" DataResourceProperty where+  type PropertyType "Values" DataResourceProperty = ValueList Prelude.Text+  set newValue DataResourceProperty {..}+    = DataResourceProperty {values = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudTrail/Trail/DataResourceProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudTrail.Trail.DataResourceProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DataResourceProperty :: Prelude.Type+instance ToResourceProperties DataResourceProperty+instance Prelude.Eq DataResourceProperty+instance Prelude.Show DataResourceProperty+instance JSON.ToJSON DataResourceProperty
+ gen/Stratosphere/CloudTrail/Trail/EventSelectorProperty.hs view
@@ -0,0 +1,70 @@+module Stratosphere.CloudTrail.Trail.EventSelectorProperty (+        module Exports, EventSelectorProperty(..), mkEventSelectorProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudTrail.Trail.DataResourceProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EventSelectorProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-eventselector.html>+    EventSelectorProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-eventselector.html#cfn-cloudtrail-trail-eventselector-dataresources>+                           dataResources :: (Prelude.Maybe [DataResourceProperty]),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-eventselector.html#cfn-cloudtrail-trail-eventselector-excludemanagementeventsources>+                           excludeManagementEventSources :: (Prelude.Maybe (ValueList Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-eventselector.html#cfn-cloudtrail-trail-eventselector-includemanagementevents>+                           includeManagementEvents :: (Prelude.Maybe (Value Prelude.Bool)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-eventselector.html#cfn-cloudtrail-trail-eventselector-readwritetype>+                           readWriteType :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEventSelectorProperty :: EventSelectorProperty+mkEventSelectorProperty+  = EventSelectorProperty+      {haddock_workaround_ = (), dataResources = Prelude.Nothing,+       excludeManagementEventSources = Prelude.Nothing,+       includeManagementEvents = Prelude.Nothing,+       readWriteType = Prelude.Nothing}+instance ToResourceProperties EventSelectorProperty where+  toResourceProperties EventSelectorProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudTrail::Trail.EventSelector",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DataResources" Prelude.<$> dataResources,+                            (JSON..=) "ExcludeManagementEventSources"+                              Prelude.<$> excludeManagementEventSources,+                            (JSON..=) "IncludeManagementEvents"+                              Prelude.<$> includeManagementEvents,+                            (JSON..=) "ReadWriteType" Prelude.<$> readWriteType])}+instance JSON.ToJSON EventSelectorProperty where+  toJSON EventSelectorProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DataResources" Prelude.<$> dataResources,+               (JSON..=) "ExcludeManagementEventSources"+                 Prelude.<$> excludeManagementEventSources,+               (JSON..=) "IncludeManagementEvents"+                 Prelude.<$> includeManagementEvents,+               (JSON..=) "ReadWriteType" Prelude.<$> readWriteType]))+instance Property "DataResources" EventSelectorProperty where+  type PropertyType "DataResources" EventSelectorProperty = [DataResourceProperty]+  set newValue EventSelectorProperty {..}+    = EventSelectorProperty {dataResources = Prelude.pure newValue, ..}+instance Property "ExcludeManagementEventSources" EventSelectorProperty where+  type PropertyType "ExcludeManagementEventSources" EventSelectorProperty = ValueList Prelude.Text+  set newValue EventSelectorProperty {..}+    = EventSelectorProperty+        {excludeManagementEventSources = Prelude.pure newValue, ..}+instance Property "IncludeManagementEvents" EventSelectorProperty where+  type PropertyType "IncludeManagementEvents" EventSelectorProperty = Value Prelude.Bool+  set newValue EventSelectorProperty {..}+    = EventSelectorProperty+        {includeManagementEvents = Prelude.pure newValue, ..}+instance Property "ReadWriteType" EventSelectorProperty where+  type PropertyType "ReadWriteType" EventSelectorProperty = Value Prelude.Text+  set newValue EventSelectorProperty {..}+    = EventSelectorProperty {readWriteType = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudTrail/Trail/EventSelectorProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudTrail.Trail.EventSelectorProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EventSelectorProperty :: Prelude.Type+instance ToResourceProperties EventSelectorProperty+instance Prelude.Eq EventSelectorProperty+instance Prelude.Show EventSelectorProperty+instance JSON.ToJSON EventSelectorProperty
+ gen/Stratosphere/CloudTrail/Trail/InsightSelectorProperty.hs view
@@ -0,0 +1,36 @@+module Stratosphere.CloudTrail.Trail.InsightSelectorProperty (+        InsightSelectorProperty(..), mkInsightSelectorProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data InsightSelectorProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-insightselector.html>+    InsightSelectorProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-insightselector.html#cfn-cloudtrail-trail-insightselector-insighttype>+                             insightType :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkInsightSelectorProperty :: InsightSelectorProperty+mkInsightSelectorProperty+  = InsightSelectorProperty+      {haddock_workaround_ = (), insightType = Prelude.Nothing}+instance ToResourceProperties InsightSelectorProperty where+  toResourceProperties InsightSelectorProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudTrail::Trail.InsightSelector",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "InsightType" Prelude.<$> insightType])}+instance JSON.ToJSON InsightSelectorProperty where+  toJSON InsightSelectorProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "InsightType" Prelude.<$> insightType]))+instance Property "InsightType" InsightSelectorProperty where+  type PropertyType "InsightType" InsightSelectorProperty = Value Prelude.Text+  set newValue InsightSelectorProperty {..}+    = InsightSelectorProperty {insightType = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudTrail/Trail/InsightSelectorProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudTrail.Trail.InsightSelectorProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data InsightSelectorProperty :: Prelude.Type+instance ToResourceProperties InsightSelectorProperty+instance Prelude.Eq InsightSelectorProperty+instance Prelude.Show InsightSelectorProperty+instance JSON.ToJSON InsightSelectorProperty
+ stratosphere-cloudtrail.cabal view
@@ -0,0 +1,90 @@+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-cloudtrail+version:        1.0.0+synopsis:       Stratosphere integration for AWS CloudTrail.+description:    Integration into stratosphere to generate resources and properties for AWS CloudTrail+category:       AWS, Cloud, CloudTrail+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.CloudTrail.Channel+      Stratosphere.CloudTrail.Channel.DestinationProperty+      Stratosphere.CloudTrail.Dashboard+      Stratosphere.CloudTrail.Dashboard.FrequencyProperty+      Stratosphere.CloudTrail.Dashboard.RefreshScheduleProperty+      Stratosphere.CloudTrail.Dashboard.WidgetProperty+      Stratosphere.CloudTrail.EventDataStore+      Stratosphere.CloudTrail.EventDataStore.AdvancedEventSelectorProperty+      Stratosphere.CloudTrail.EventDataStore.AdvancedFieldSelectorProperty+      Stratosphere.CloudTrail.EventDataStore.ContextKeySelectorProperty+      Stratosphere.CloudTrail.EventDataStore.InsightSelectorProperty+      Stratosphere.CloudTrail.ResourcePolicy+      Stratosphere.CloudTrail.Trail+      Stratosphere.CloudTrail.Trail.AdvancedEventSelectorProperty+      Stratosphere.CloudTrail.Trail.AdvancedFieldSelectorProperty+      Stratosphere.CloudTrail.Trail.DataResourceProperty+      Stratosphere.CloudTrail.Trail.EventSelectorProperty+      Stratosphere.CloudTrail.Trail.InsightSelectorProperty+  other-modules:+      Paths_stratosphere_cloudtrail+  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