packages feed

stratosphere-applicationsignals (empty) → 1.0.0

raw patch · 43 files changed

+1511/−0 lines, 43 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/ApplicationSignals/Discovery.hs view
@@ -0,0 +1,19 @@+module Stratosphere.ApplicationSignals.Discovery (+        Discovery(..), mkDiscovery+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data Discovery+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-discovery.html>+    Discovery {haddock_workaround_ :: ()}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDiscovery :: Discovery+mkDiscovery = Discovery {haddock_workaround_ = ()}+instance ToResourceProperties Discovery where+  toResourceProperties Discovery {}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::Discovery",+         supportsTags = Prelude.False, properties = []}+instance JSON.ToJSON Discovery where+  toJSON Discovery {} = JSON.object []
+ gen/Stratosphere/ApplicationSignals/GroupingConfiguration.hs view
@@ -0,0 +1,37 @@+module Stratosphere.ApplicationSignals.GroupingConfiguration (+        module Exports, GroupingConfiguration(..), mkGroupingConfiguration+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationSignals.GroupingConfiguration.GroupingAttributeDefinitionProperty as Exports+import Stratosphere.ResourceProperties+data GroupingConfiguration+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-groupingconfiguration.html>+    GroupingConfiguration {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-groupingconfiguration.html#cfn-applicationsignals-groupingconfiguration-groupingattributedefinitions>+                           groupingAttributeDefinitions :: [GroupingAttributeDefinitionProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGroupingConfiguration ::+  [GroupingAttributeDefinitionProperty] -> GroupingConfiguration+mkGroupingConfiguration groupingAttributeDefinitions+  = GroupingConfiguration+      {haddock_workaround_ = (),+       groupingAttributeDefinitions = groupingAttributeDefinitions}+instance ToResourceProperties GroupingConfiguration where+  toResourceProperties GroupingConfiguration {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::GroupingConfiguration",+         supportsTags = Prelude.False,+         properties = ["GroupingAttributeDefinitions"+                         JSON..= groupingAttributeDefinitions]}+instance JSON.ToJSON GroupingConfiguration where+  toJSON GroupingConfiguration {..}+    = JSON.object+        ["GroupingAttributeDefinitions"+           JSON..= groupingAttributeDefinitions]+instance Property "GroupingAttributeDefinitions" GroupingConfiguration where+  type PropertyType "GroupingAttributeDefinitions" GroupingConfiguration = [GroupingAttributeDefinitionProperty]+  set newValue GroupingConfiguration {..}+    = GroupingConfiguration+        {groupingAttributeDefinitions = newValue, ..}
+ gen/Stratosphere/ApplicationSignals/GroupingConfiguration/GroupingAttributeDefinitionProperty.hs view
@@ -0,0 +1,65 @@+module Stratosphere.ApplicationSignals.GroupingConfiguration.GroupingAttributeDefinitionProperty (+        GroupingAttributeDefinitionProperty(..),+        mkGroupingAttributeDefinitionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GroupingAttributeDefinitionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-groupingconfiguration-groupingattributedefinition.html>+    GroupingAttributeDefinitionProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-groupingconfiguration-groupingattributedefinition.html#cfn-applicationsignals-groupingconfiguration-groupingattributedefinition-defaultgroupingvalue>+                                         defaultGroupingValue :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-groupingconfiguration-groupingattributedefinition.html#cfn-applicationsignals-groupingconfiguration-groupingattributedefinition-groupingname>+                                         groupingName :: (Value Prelude.Text),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-groupingconfiguration-groupingattributedefinition.html#cfn-applicationsignals-groupingconfiguration-groupingattributedefinition-groupingsourcekeys>+                                         groupingSourceKeys :: (ValueList Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGroupingAttributeDefinitionProperty ::+  Value Prelude.Text+  -> ValueList Prelude.Text -> GroupingAttributeDefinitionProperty+mkGroupingAttributeDefinitionProperty+  groupingName+  groupingSourceKeys+  = GroupingAttributeDefinitionProperty+      {haddock_workaround_ = (), groupingName = groupingName,+       groupingSourceKeys = groupingSourceKeys,+       defaultGroupingValue = Prelude.Nothing}+instance ToResourceProperties GroupingAttributeDefinitionProperty where+  toResourceProperties GroupingAttributeDefinitionProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::GroupingConfiguration.GroupingAttributeDefinition",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["GroupingName" JSON..= groupingName,+                            "GroupingSourceKeys" JSON..= groupingSourceKeys]+                           (Prelude.catMaybes+                              [(JSON..=) "DefaultGroupingValue"+                                 Prelude.<$> defaultGroupingValue]))}+instance JSON.ToJSON GroupingAttributeDefinitionProperty where+  toJSON GroupingAttributeDefinitionProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["GroupingName" JSON..= groupingName,+               "GroupingSourceKeys" JSON..= groupingSourceKeys]+              (Prelude.catMaybes+                 [(JSON..=) "DefaultGroupingValue"+                    Prelude.<$> defaultGroupingValue])))+instance Property "DefaultGroupingValue" GroupingAttributeDefinitionProperty where+  type PropertyType "DefaultGroupingValue" GroupingAttributeDefinitionProperty = Value Prelude.Text+  set newValue GroupingAttributeDefinitionProperty {..}+    = GroupingAttributeDefinitionProperty+        {defaultGroupingValue = Prelude.pure newValue, ..}+instance Property "GroupingName" GroupingAttributeDefinitionProperty where+  type PropertyType "GroupingName" GroupingAttributeDefinitionProperty = Value Prelude.Text+  set newValue GroupingAttributeDefinitionProperty {..}+    = GroupingAttributeDefinitionProperty {groupingName = newValue, ..}+instance Property "GroupingSourceKeys" GroupingAttributeDefinitionProperty where+  type PropertyType "GroupingSourceKeys" GroupingAttributeDefinitionProperty = ValueList Prelude.Text+  set newValue GroupingAttributeDefinitionProperty {..}+    = GroupingAttributeDefinitionProperty+        {groupingSourceKeys = newValue, ..}
+ gen/Stratosphere/ApplicationSignals/GroupingConfiguration/GroupingAttributeDefinitionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationSignals.GroupingConfiguration.GroupingAttributeDefinitionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GroupingAttributeDefinitionProperty :: Prelude.Type+instance ToResourceProperties GroupingAttributeDefinitionProperty+instance Prelude.Eq GroupingAttributeDefinitionProperty+instance Prelude.Show GroupingAttributeDefinitionProperty+instance JSON.ToJSON GroupingAttributeDefinitionProperty
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective.hs view
@@ -0,0 +1,110 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective (+        module Exports, ServiceLevelObjective(..), mkServiceLevelObjective+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.BurnRateConfigurationProperty as Exports+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.ExclusionWindowProperty as Exports+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.GoalProperty as Exports+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.RequestBasedSliProperty as Exports+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.SliProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data ServiceLevelObjective+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html>+    ServiceLevelObjective {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-burnrateconfigurations>+                           burnRateConfigurations :: (Prelude.Maybe [BurnRateConfigurationProperty]),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-description>+                           description :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-exclusionwindows>+                           exclusionWindows :: (Prelude.Maybe [ExclusionWindowProperty]),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-goal>+                           goal :: (Prelude.Maybe GoalProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-name>+                           name :: (Value Prelude.Text),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-requestbasedsli>+                           requestBasedSli :: (Prelude.Maybe RequestBasedSliProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-sli>+                           sli :: (Prelude.Maybe SliProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-tags>+                           tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkServiceLevelObjective ::+  Value Prelude.Text -> ServiceLevelObjective+mkServiceLevelObjective name+  = ServiceLevelObjective+      {haddock_workaround_ = (), name = name,+       burnRateConfigurations = Prelude.Nothing,+       description = Prelude.Nothing, exclusionWindows = Prelude.Nothing,+       goal = Prelude.Nothing, requestBasedSli = Prelude.Nothing,+       sli = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties ServiceLevelObjective where+  toResourceProperties ServiceLevelObjective {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::ServiceLevelObjective",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Name" JSON..= name]+                           (Prelude.catMaybes+                              [(JSON..=) "BurnRateConfigurations"+                                 Prelude.<$> burnRateConfigurations,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "ExclusionWindows" Prelude.<$> exclusionWindows,+                               (JSON..=) "Goal" Prelude.<$> goal,+                               (JSON..=) "RequestBasedSli" Prelude.<$> requestBasedSli,+                               (JSON..=) "Sli" Prelude.<$> sli,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON ServiceLevelObjective where+  toJSON ServiceLevelObjective {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Name" JSON..= name]+              (Prelude.catMaybes+                 [(JSON..=) "BurnRateConfigurations"+                    Prelude.<$> burnRateConfigurations,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "ExclusionWindows" Prelude.<$> exclusionWindows,+                  (JSON..=) "Goal" Prelude.<$> goal,+                  (JSON..=) "RequestBasedSli" Prelude.<$> requestBasedSli,+                  (JSON..=) "Sli" Prelude.<$> sli,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "BurnRateConfigurations" ServiceLevelObjective where+  type PropertyType "BurnRateConfigurations" ServiceLevelObjective = [BurnRateConfigurationProperty]+  set newValue ServiceLevelObjective {..}+    = ServiceLevelObjective+        {burnRateConfigurations = Prelude.pure newValue, ..}+instance Property "Description" ServiceLevelObjective where+  type PropertyType "Description" ServiceLevelObjective = Value Prelude.Text+  set newValue ServiceLevelObjective {..}+    = ServiceLevelObjective {description = Prelude.pure newValue, ..}+instance Property "ExclusionWindows" ServiceLevelObjective where+  type PropertyType "ExclusionWindows" ServiceLevelObjective = [ExclusionWindowProperty]+  set newValue ServiceLevelObjective {..}+    = ServiceLevelObjective+        {exclusionWindows = Prelude.pure newValue, ..}+instance Property "Goal" ServiceLevelObjective where+  type PropertyType "Goal" ServiceLevelObjective = GoalProperty+  set newValue ServiceLevelObjective {..}+    = ServiceLevelObjective {goal = Prelude.pure newValue, ..}+instance Property "Name" ServiceLevelObjective where+  type PropertyType "Name" ServiceLevelObjective = Value Prelude.Text+  set newValue ServiceLevelObjective {..}+    = ServiceLevelObjective {name = newValue, ..}+instance Property "RequestBasedSli" ServiceLevelObjective where+  type PropertyType "RequestBasedSli" ServiceLevelObjective = RequestBasedSliProperty+  set newValue ServiceLevelObjective {..}+    = ServiceLevelObjective+        {requestBasedSli = Prelude.pure newValue, ..}+instance Property "Sli" ServiceLevelObjective where+  type PropertyType "Sli" ServiceLevelObjective = SliProperty+  set newValue ServiceLevelObjective {..}+    = ServiceLevelObjective {sli = Prelude.pure newValue, ..}+instance Property "Tags" ServiceLevelObjective where+  type PropertyType "Tags" ServiceLevelObjective = [Tag]+  set newValue ServiceLevelObjective {..}+    = ServiceLevelObjective {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/BurnRateConfigurationProperty.hs view
@@ -0,0 +1,36 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.BurnRateConfigurationProperty (+        BurnRateConfigurationProperty(..), mkBurnRateConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data BurnRateConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-burnrateconfiguration.html>+    BurnRateConfigurationProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-burnrateconfiguration.html#cfn-applicationsignals-servicelevelobjective-burnrateconfiguration-lookbackwindowminutes>+                                   lookBackWindowMinutes :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBurnRateConfigurationProperty ::+  Value Prelude.Integer -> BurnRateConfigurationProperty+mkBurnRateConfigurationProperty lookBackWindowMinutes+  = BurnRateConfigurationProperty+      {haddock_workaround_ = (),+       lookBackWindowMinutes = lookBackWindowMinutes}+instance ToResourceProperties BurnRateConfigurationProperty where+  toResourceProperties BurnRateConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::ServiceLevelObjective.BurnRateConfiguration",+         supportsTags = Prelude.False,+         properties = ["LookBackWindowMinutes"+                         JSON..= lookBackWindowMinutes]}+instance JSON.ToJSON BurnRateConfigurationProperty where+  toJSON BurnRateConfigurationProperty {..}+    = JSON.object+        ["LookBackWindowMinutes" JSON..= lookBackWindowMinutes]+instance Property "LookBackWindowMinutes" BurnRateConfigurationProperty where+  type PropertyType "LookBackWindowMinutes" BurnRateConfigurationProperty = Value Prelude.Integer+  set newValue BurnRateConfigurationProperty {..}+    = BurnRateConfigurationProperty+        {lookBackWindowMinutes = newValue, ..}
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/BurnRateConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.BurnRateConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BurnRateConfigurationProperty :: Prelude.Type+instance ToResourceProperties BurnRateConfigurationProperty+instance Prelude.Eq BurnRateConfigurationProperty+instance Prelude.Show BurnRateConfigurationProperty+instance JSON.ToJSON BurnRateConfigurationProperty
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/CalendarIntervalProperty.hs view
@@ -0,0 +1,51 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.CalendarIntervalProperty (+        CalendarIntervalProperty(..), mkCalendarIntervalProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CalendarIntervalProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-calendarinterval.html>+    CalendarIntervalProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-calendarinterval.html#cfn-applicationsignals-servicelevelobjective-calendarinterval-duration>+                              duration :: (Value Prelude.Integer),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-calendarinterval.html#cfn-applicationsignals-servicelevelobjective-calendarinterval-durationunit>+                              durationUnit :: (Value Prelude.Text),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-calendarinterval.html#cfn-applicationsignals-servicelevelobjective-calendarinterval-starttime>+                              startTime :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCalendarIntervalProperty ::+  Value Prelude.Integer+  -> Value Prelude.Text+     -> Value Prelude.Integer -> CalendarIntervalProperty+mkCalendarIntervalProperty duration durationUnit startTime+  = CalendarIntervalProperty+      {haddock_workaround_ = (), duration = duration,+       durationUnit = durationUnit, startTime = startTime}+instance ToResourceProperties CalendarIntervalProperty where+  toResourceProperties CalendarIntervalProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::ServiceLevelObjective.CalendarInterval",+         supportsTags = Prelude.False,+         properties = ["Duration" JSON..= duration,+                       "DurationUnit" JSON..= durationUnit,+                       "StartTime" JSON..= startTime]}+instance JSON.ToJSON CalendarIntervalProperty where+  toJSON CalendarIntervalProperty {..}+    = JSON.object+        ["Duration" JSON..= duration, "DurationUnit" JSON..= durationUnit,+         "StartTime" JSON..= startTime]+instance Property "Duration" CalendarIntervalProperty where+  type PropertyType "Duration" CalendarIntervalProperty = Value Prelude.Integer+  set newValue CalendarIntervalProperty {..}+    = CalendarIntervalProperty {duration = newValue, ..}+instance Property "DurationUnit" CalendarIntervalProperty where+  type PropertyType "DurationUnit" CalendarIntervalProperty = Value Prelude.Text+  set newValue CalendarIntervalProperty {..}+    = CalendarIntervalProperty {durationUnit = newValue, ..}+instance Property "StartTime" CalendarIntervalProperty where+  type PropertyType "StartTime" CalendarIntervalProperty = Value Prelude.Integer+  set newValue CalendarIntervalProperty {..}+    = CalendarIntervalProperty {startTime = newValue, ..}
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/CalendarIntervalProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.CalendarIntervalProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CalendarIntervalProperty :: Prelude.Type+instance ToResourceProperties CalendarIntervalProperty+instance Prelude.Eq CalendarIntervalProperty+instance Prelude.Show CalendarIntervalProperty+instance JSON.ToJSON CalendarIntervalProperty
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/DependencyConfigProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.DependencyConfigProperty (+        DependencyConfigProperty(..), mkDependencyConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DependencyConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-dependencyconfig.html>+    DependencyConfigProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-dependencyconfig.html#cfn-applicationsignals-servicelevelobjective-dependencyconfig-dependencykeyattributes>+                              dependencyKeyAttributes :: (Prelude.Map Prelude.Text (Value Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-dependencyconfig.html#cfn-applicationsignals-servicelevelobjective-dependencyconfig-dependencyoperationname>+                              dependencyOperationName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDependencyConfigProperty ::+  Prelude.Map Prelude.Text (Value Prelude.Text)+  -> Value Prelude.Text -> DependencyConfigProperty+mkDependencyConfigProperty+  dependencyKeyAttributes+  dependencyOperationName+  = DependencyConfigProperty+      {haddock_workaround_ = (),+       dependencyKeyAttributes = dependencyKeyAttributes,+       dependencyOperationName = dependencyOperationName}+instance ToResourceProperties DependencyConfigProperty where+  toResourceProperties DependencyConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::ServiceLevelObjective.DependencyConfig",+         supportsTags = Prelude.False,+         properties = ["DependencyKeyAttributes"+                         JSON..= dependencyKeyAttributes,+                       "DependencyOperationName" JSON..= dependencyOperationName]}+instance JSON.ToJSON DependencyConfigProperty where+  toJSON DependencyConfigProperty {..}+    = JSON.object+        ["DependencyKeyAttributes" JSON..= dependencyKeyAttributes,+         "DependencyOperationName" JSON..= dependencyOperationName]+instance Property "DependencyKeyAttributes" DependencyConfigProperty where+  type PropertyType "DependencyKeyAttributes" DependencyConfigProperty = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue DependencyConfigProperty {..}+    = DependencyConfigProperty {dependencyKeyAttributes = newValue, ..}+instance Property "DependencyOperationName" DependencyConfigProperty where+  type PropertyType "DependencyOperationName" DependencyConfigProperty = Value Prelude.Text+  set newValue DependencyConfigProperty {..}+    = DependencyConfigProperty {dependencyOperationName = newValue, ..}
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/DependencyConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.DependencyConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DependencyConfigProperty :: Prelude.Type+instance ToResourceProperties DependencyConfigProperty+instance Prelude.Eq DependencyConfigProperty+instance Prelude.Show DependencyConfigProperty+instance JSON.ToJSON DependencyConfigProperty
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/DimensionProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.DimensionProperty (+        DimensionProperty(..), mkDimensionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DimensionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-dimension.html>+    DimensionProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-dimension.html#cfn-applicationsignals-servicelevelobjective-dimension-name>+                       name :: (Value Prelude.Text),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-dimension.html#cfn-applicationsignals-servicelevelobjective-dimension-value>+                       value :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDimensionProperty ::+  Value Prelude.Text -> Value Prelude.Text -> DimensionProperty+mkDimensionProperty name value+  = DimensionProperty+      {haddock_workaround_ = (), name = name, value = value}+instance ToResourceProperties DimensionProperty where+  toResourceProperties DimensionProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::ServiceLevelObjective.Dimension",+         supportsTags = Prelude.False,+         properties = ["Name" JSON..= name, "Value" JSON..= value]}+instance JSON.ToJSON DimensionProperty where+  toJSON DimensionProperty {..}+    = JSON.object ["Name" JSON..= name, "Value" JSON..= value]+instance Property "Name" DimensionProperty where+  type PropertyType "Name" DimensionProperty = Value Prelude.Text+  set newValue DimensionProperty {..}+    = DimensionProperty {name = newValue, ..}+instance Property "Value" DimensionProperty where+  type PropertyType "Value" DimensionProperty = Value Prelude.Text+  set newValue DimensionProperty {..}+    = DimensionProperty {value = newValue, ..}
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/DimensionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.DimensionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DimensionProperty :: Prelude.Type+instance ToResourceProperties DimensionProperty+instance Prelude.Eq DimensionProperty+instance Prelude.Show DimensionProperty+instance JSON.ToJSON DimensionProperty
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/ExclusionWindowProperty.hs view
@@ -0,0 +1,69 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.ExclusionWindowProperty (+        module Exports, ExclusionWindowProperty(..),+        mkExclusionWindowProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.RecurrenceRuleProperty as Exports+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.WindowProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ExclusionWindowProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-exclusionwindow.html>+    ExclusionWindowProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-exclusionwindow.html#cfn-applicationsignals-servicelevelobjective-exclusionwindow-reason>+                             reason :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-exclusionwindow.html#cfn-applicationsignals-servicelevelobjective-exclusionwindow-recurrencerule>+                             recurrenceRule :: (Prelude.Maybe RecurrenceRuleProperty),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-exclusionwindow.html#cfn-applicationsignals-servicelevelobjective-exclusionwindow-starttime>+                             startTime :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-exclusionwindow.html#cfn-applicationsignals-servicelevelobjective-exclusionwindow-window>+                             window :: WindowProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkExclusionWindowProperty ::+  WindowProperty -> ExclusionWindowProperty+mkExclusionWindowProperty window+  = ExclusionWindowProperty+      {haddock_workaround_ = (), window = window,+       reason = Prelude.Nothing, recurrenceRule = Prelude.Nothing,+       startTime = Prelude.Nothing}+instance ToResourceProperties ExclusionWindowProperty where+  toResourceProperties ExclusionWindowProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::ServiceLevelObjective.ExclusionWindow",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Window" JSON..= window]+                           (Prelude.catMaybes+                              [(JSON..=) "Reason" Prelude.<$> reason,+                               (JSON..=) "RecurrenceRule" Prelude.<$> recurrenceRule,+                               (JSON..=) "StartTime" Prelude.<$> startTime]))}+instance JSON.ToJSON ExclusionWindowProperty where+  toJSON ExclusionWindowProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Window" JSON..= window]+              (Prelude.catMaybes+                 [(JSON..=) "Reason" Prelude.<$> reason,+                  (JSON..=) "RecurrenceRule" Prelude.<$> recurrenceRule,+                  (JSON..=) "StartTime" Prelude.<$> startTime])))+instance Property "Reason" ExclusionWindowProperty where+  type PropertyType "Reason" ExclusionWindowProperty = Value Prelude.Text+  set newValue ExclusionWindowProperty {..}+    = ExclusionWindowProperty {reason = Prelude.pure newValue, ..}+instance Property "RecurrenceRule" ExclusionWindowProperty where+  type PropertyType "RecurrenceRule" ExclusionWindowProperty = RecurrenceRuleProperty+  set newValue ExclusionWindowProperty {..}+    = ExclusionWindowProperty+        {recurrenceRule = Prelude.pure newValue, ..}+instance Property "StartTime" ExclusionWindowProperty where+  type PropertyType "StartTime" ExclusionWindowProperty = Value Prelude.Text+  set newValue ExclusionWindowProperty {..}+    = ExclusionWindowProperty {startTime = Prelude.pure newValue, ..}+instance Property "Window" ExclusionWindowProperty where+  type PropertyType "Window" ExclusionWindowProperty = WindowProperty+  set newValue ExclusionWindowProperty {..}+    = ExclusionWindowProperty {window = newValue, ..}
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/ExclusionWindowProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.ExclusionWindowProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ExclusionWindowProperty :: Prelude.Type+instance ToResourceProperties ExclusionWindowProperty+instance Prelude.Eq ExclusionWindowProperty+instance Prelude.Show ExclusionWindowProperty+instance JSON.ToJSON ExclusionWindowProperty
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/GoalProperty.hs view
@@ -0,0 +1,54 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.GoalProperty (+        module Exports, GoalProperty(..), mkGoalProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.IntervalProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GoalProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-goal.html>+    GoalProperty {haddock_workaround_ :: (),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-goal.html#cfn-applicationsignals-servicelevelobjective-goal-attainmentgoal>+                  attainmentGoal :: (Prelude.Maybe (Value Prelude.Double)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-goal.html#cfn-applicationsignals-servicelevelobjective-goal-interval>+                  interval :: (Prelude.Maybe IntervalProperty),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-goal.html#cfn-applicationsignals-servicelevelobjective-goal-warningthreshold>+                  warningThreshold :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGoalProperty :: GoalProperty+mkGoalProperty+  = GoalProperty+      {haddock_workaround_ = (), attainmentGoal = Prelude.Nothing,+       interval = Prelude.Nothing, warningThreshold = Prelude.Nothing}+instance ToResourceProperties GoalProperty where+  toResourceProperties GoalProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::ServiceLevelObjective.Goal",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AttainmentGoal" Prelude.<$> attainmentGoal,+                            (JSON..=) "Interval" Prelude.<$> interval,+                            (JSON..=) "WarningThreshold" Prelude.<$> warningThreshold])}+instance JSON.ToJSON GoalProperty where+  toJSON GoalProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AttainmentGoal" Prelude.<$> attainmentGoal,+               (JSON..=) "Interval" Prelude.<$> interval,+               (JSON..=) "WarningThreshold" Prelude.<$> warningThreshold]))+instance Property "AttainmentGoal" GoalProperty where+  type PropertyType "AttainmentGoal" GoalProperty = Value Prelude.Double+  set newValue GoalProperty {..}+    = GoalProperty {attainmentGoal = Prelude.pure newValue, ..}+instance Property "Interval" GoalProperty where+  type PropertyType "Interval" GoalProperty = IntervalProperty+  set newValue GoalProperty {..}+    = GoalProperty {interval = Prelude.pure newValue, ..}+instance Property "WarningThreshold" GoalProperty where+  type PropertyType "WarningThreshold" GoalProperty = Value Prelude.Double+  set newValue GoalProperty {..}+    = GoalProperty {warningThreshold = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/GoalProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.GoalProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GoalProperty :: Prelude.Type+instance ToResourceProperties GoalProperty+instance Prelude.Eq GoalProperty+instance Prelude.Show GoalProperty+instance JSON.ToJSON GoalProperty
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/IntervalProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.IntervalProperty (+        module Exports, IntervalProperty(..), mkIntervalProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.CalendarIntervalProperty as Exports+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.RollingIntervalProperty as Exports+import Stratosphere.ResourceProperties+data IntervalProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-interval.html>+    IntervalProperty {haddock_workaround_ :: (),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-interval.html#cfn-applicationsignals-servicelevelobjective-interval-calendarinterval>+                      calendarInterval :: (Prelude.Maybe CalendarIntervalProperty),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-interval.html#cfn-applicationsignals-servicelevelobjective-interval-rollinginterval>+                      rollingInterval :: (Prelude.Maybe RollingIntervalProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIntervalProperty :: IntervalProperty+mkIntervalProperty+  = IntervalProperty+      {haddock_workaround_ = (), calendarInterval = Prelude.Nothing,+       rollingInterval = Prelude.Nothing}+instance ToResourceProperties IntervalProperty where+  toResourceProperties IntervalProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::ServiceLevelObjective.Interval",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CalendarInterval" Prelude.<$> calendarInterval,+                            (JSON..=) "RollingInterval" Prelude.<$> rollingInterval])}+instance JSON.ToJSON IntervalProperty where+  toJSON IntervalProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CalendarInterval" Prelude.<$> calendarInterval,+               (JSON..=) "RollingInterval" Prelude.<$> rollingInterval]))+instance Property "CalendarInterval" IntervalProperty where+  type PropertyType "CalendarInterval" IntervalProperty = CalendarIntervalProperty+  set newValue IntervalProperty {..}+    = IntervalProperty {calendarInterval = Prelude.pure newValue, ..}+instance Property "RollingInterval" IntervalProperty where+  type PropertyType "RollingInterval" IntervalProperty = RollingIntervalProperty+  set newValue IntervalProperty {..}+    = IntervalProperty {rollingInterval = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/IntervalProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.IntervalProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data IntervalProperty :: Prelude.Type+instance ToResourceProperties IntervalProperty+instance Prelude.Eq IntervalProperty+instance Prelude.Show IntervalProperty+instance JSON.ToJSON IntervalProperty
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/MetricDataQueryProperty.hs view
@@ -0,0 +1,75 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.MetricDataQueryProperty (+        module Exports, MetricDataQueryProperty(..),+        mkMetricDataQueryProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.MetricStatProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MetricDataQueryProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-metricdataquery.html>+    MetricDataQueryProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-metricdataquery.html#cfn-applicationsignals-servicelevelobjective-metricdataquery-accountid>+                             accountId :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-metricdataquery.html#cfn-applicationsignals-servicelevelobjective-metricdataquery-expression>+                             expression :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-metricdataquery.html#cfn-applicationsignals-servicelevelobjective-metricdataquery-id>+                             id :: (Value Prelude.Text),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-metricdataquery.html#cfn-applicationsignals-servicelevelobjective-metricdataquery-metricstat>+                             metricStat :: (Prelude.Maybe MetricStatProperty),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-metricdataquery.html#cfn-applicationsignals-servicelevelobjective-metricdataquery-returndata>+                             returnData :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMetricDataQueryProperty ::+  Value Prelude.Text -> MetricDataQueryProperty+mkMetricDataQueryProperty id+  = MetricDataQueryProperty+      {haddock_workaround_ = (), id = id, accountId = Prelude.Nothing,+       expression = Prelude.Nothing, metricStat = Prelude.Nothing,+       returnData = Prelude.Nothing}+instance ToResourceProperties MetricDataQueryProperty where+  toResourceProperties MetricDataQueryProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::ServiceLevelObjective.MetricDataQuery",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Id" JSON..= id]+                           (Prelude.catMaybes+                              [(JSON..=) "AccountId" Prelude.<$> accountId,+                               (JSON..=) "Expression" Prelude.<$> expression,+                               (JSON..=) "MetricStat" Prelude.<$> metricStat,+                               (JSON..=) "ReturnData" Prelude.<$> returnData]))}+instance JSON.ToJSON MetricDataQueryProperty where+  toJSON MetricDataQueryProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Id" JSON..= id]+              (Prelude.catMaybes+                 [(JSON..=) "AccountId" Prelude.<$> accountId,+                  (JSON..=) "Expression" Prelude.<$> expression,+                  (JSON..=) "MetricStat" Prelude.<$> metricStat,+                  (JSON..=) "ReturnData" Prelude.<$> returnData])))+instance Property "AccountId" MetricDataQueryProperty where+  type PropertyType "AccountId" MetricDataQueryProperty = Value Prelude.Text+  set newValue MetricDataQueryProperty {..}+    = MetricDataQueryProperty {accountId = Prelude.pure newValue, ..}+instance Property "Expression" MetricDataQueryProperty where+  type PropertyType "Expression" MetricDataQueryProperty = Value Prelude.Text+  set newValue MetricDataQueryProperty {..}+    = MetricDataQueryProperty {expression = Prelude.pure newValue, ..}+instance Property "Id" MetricDataQueryProperty where+  type PropertyType "Id" MetricDataQueryProperty = Value Prelude.Text+  set newValue MetricDataQueryProperty {..}+    = MetricDataQueryProperty {id = newValue, ..}+instance Property "MetricStat" MetricDataQueryProperty where+  type PropertyType "MetricStat" MetricDataQueryProperty = MetricStatProperty+  set newValue MetricDataQueryProperty {..}+    = MetricDataQueryProperty {metricStat = Prelude.pure newValue, ..}+instance Property "ReturnData" MetricDataQueryProperty where+  type PropertyType "ReturnData" MetricDataQueryProperty = Value Prelude.Bool+  set newValue MetricDataQueryProperty {..}+    = MetricDataQueryProperty {returnData = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/MetricDataQueryProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.MetricDataQueryProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MetricDataQueryProperty :: Prelude.Type+instance ToResourceProperties MetricDataQueryProperty+instance Prelude.Eq MetricDataQueryProperty+instance Prelude.Show MetricDataQueryProperty+instance JSON.ToJSON MetricDataQueryProperty
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/MetricProperty.hs view
@@ -0,0 +1,54 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.MetricProperty (+        module Exports, MetricProperty(..), mkMetricProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.DimensionProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MetricProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-metric.html>+    MetricProperty {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-metric.html#cfn-applicationsignals-servicelevelobjective-metric-dimensions>+                    dimensions :: (Prelude.Maybe [DimensionProperty]),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-metric.html#cfn-applicationsignals-servicelevelobjective-metric-metricname>+                    metricName :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-metric.html#cfn-applicationsignals-servicelevelobjective-metric-namespace>+                    namespace :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMetricProperty :: MetricProperty+mkMetricProperty+  = MetricProperty+      {haddock_workaround_ = (), dimensions = Prelude.Nothing,+       metricName = Prelude.Nothing, namespace = Prelude.Nothing}+instance ToResourceProperties MetricProperty where+  toResourceProperties MetricProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::ServiceLevelObjective.Metric",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Dimensions" Prelude.<$> dimensions,+                            (JSON..=) "MetricName" Prelude.<$> metricName,+                            (JSON..=) "Namespace" Prelude.<$> namespace])}+instance JSON.ToJSON MetricProperty where+  toJSON MetricProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Dimensions" Prelude.<$> dimensions,+               (JSON..=) "MetricName" Prelude.<$> metricName,+               (JSON..=) "Namespace" Prelude.<$> namespace]))+instance Property "Dimensions" MetricProperty where+  type PropertyType "Dimensions" MetricProperty = [DimensionProperty]+  set newValue MetricProperty {..}+    = MetricProperty {dimensions = Prelude.pure newValue, ..}+instance Property "MetricName" MetricProperty where+  type PropertyType "MetricName" MetricProperty = Value Prelude.Text+  set newValue MetricProperty {..}+    = MetricProperty {metricName = Prelude.pure newValue, ..}+instance Property "Namespace" MetricProperty where+  type PropertyType "Namespace" MetricProperty = Value Prelude.Text+  set newValue MetricProperty {..}+    = MetricProperty {namespace = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/MetricProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.MetricProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MetricProperty :: Prelude.Type+instance ToResourceProperties MetricProperty+instance Prelude.Eq MetricProperty+instance Prelude.Show MetricProperty+instance JSON.ToJSON MetricProperty
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/MetricStatProperty.hs view
@@ -0,0 +1,63 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.MetricStatProperty (+        module Exports, MetricStatProperty(..), mkMetricStatProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.MetricProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MetricStatProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-metricstat.html>+    MetricStatProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-metricstat.html#cfn-applicationsignals-servicelevelobjective-metricstat-metric>+                        metric :: MetricProperty,+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-metricstat.html#cfn-applicationsignals-servicelevelobjective-metricstat-period>+                        period :: (Value Prelude.Integer),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-metricstat.html#cfn-applicationsignals-servicelevelobjective-metricstat-stat>+                        stat :: (Value Prelude.Text),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-metricstat.html#cfn-applicationsignals-servicelevelobjective-metricstat-unit>+                        unit :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMetricStatProperty ::+  MetricProperty+  -> Value Prelude.Integer+     -> Value Prelude.Text -> MetricStatProperty+mkMetricStatProperty metric period stat+  = MetricStatProperty+      {haddock_workaround_ = (), metric = metric, period = period,+       stat = stat, unit = Prelude.Nothing}+instance ToResourceProperties MetricStatProperty where+  toResourceProperties MetricStatProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::ServiceLevelObjective.MetricStat",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Metric" JSON..= metric, "Period" JSON..= period,+                            "Stat" JSON..= stat]+                           (Prelude.catMaybes [(JSON..=) "Unit" Prelude.<$> unit]))}+instance JSON.ToJSON MetricStatProperty where+  toJSON MetricStatProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Metric" JSON..= metric, "Period" JSON..= period,+               "Stat" JSON..= stat]+              (Prelude.catMaybes [(JSON..=) "Unit" Prelude.<$> unit])))+instance Property "Metric" MetricStatProperty where+  type PropertyType "Metric" MetricStatProperty = MetricProperty+  set newValue MetricStatProperty {..}+    = MetricStatProperty {metric = newValue, ..}+instance Property "Period" MetricStatProperty where+  type PropertyType "Period" MetricStatProperty = Value Prelude.Integer+  set newValue MetricStatProperty {..}+    = MetricStatProperty {period = newValue, ..}+instance Property "Stat" MetricStatProperty where+  type PropertyType "Stat" MetricStatProperty = Value Prelude.Text+  set newValue MetricStatProperty {..}+    = MetricStatProperty {stat = newValue, ..}+instance Property "Unit" MetricStatProperty where+  type PropertyType "Unit" MetricStatProperty = Value Prelude.Text+  set newValue MetricStatProperty {..}+    = MetricStatProperty {unit = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/MetricStatProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.MetricStatProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MetricStatProperty :: Prelude.Type+instance ToResourceProperties MetricStatProperty+instance Prelude.Eq MetricStatProperty+instance Prelude.Show MetricStatProperty+instance JSON.ToJSON MetricStatProperty
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/MonitoredRequestCountMetricProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.MonitoredRequestCountMetricProperty (+        module Exports, MonitoredRequestCountMetricProperty(..),+        mkMonitoredRequestCountMetricProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.MetricDataQueryProperty as Exports+import Stratosphere.ResourceProperties+data MonitoredRequestCountMetricProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-monitoredrequestcountmetric.html>+    MonitoredRequestCountMetricProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-monitoredrequestcountmetric.html#cfn-applicationsignals-servicelevelobjective-monitoredrequestcountmetric-badcountmetric>+                                         badCountMetric :: (Prelude.Maybe [MetricDataQueryProperty]),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-monitoredrequestcountmetric.html#cfn-applicationsignals-servicelevelobjective-monitoredrequestcountmetric-goodcountmetric>+                                         goodCountMetric :: (Prelude.Maybe [MetricDataQueryProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMonitoredRequestCountMetricProperty ::+  MonitoredRequestCountMetricProperty+mkMonitoredRequestCountMetricProperty+  = MonitoredRequestCountMetricProperty+      {haddock_workaround_ = (), badCountMetric = Prelude.Nothing,+       goodCountMetric = Prelude.Nothing}+instance ToResourceProperties MonitoredRequestCountMetricProperty where+  toResourceProperties MonitoredRequestCountMetricProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::ServiceLevelObjective.MonitoredRequestCountMetric",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "BadCountMetric" Prelude.<$> badCountMetric,+                            (JSON..=) "GoodCountMetric" Prelude.<$> goodCountMetric])}+instance JSON.ToJSON MonitoredRequestCountMetricProperty where+  toJSON MonitoredRequestCountMetricProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "BadCountMetric" Prelude.<$> badCountMetric,+               (JSON..=) "GoodCountMetric" Prelude.<$> goodCountMetric]))+instance Property "BadCountMetric" MonitoredRequestCountMetricProperty where+  type PropertyType "BadCountMetric" MonitoredRequestCountMetricProperty = [MetricDataQueryProperty]+  set newValue MonitoredRequestCountMetricProperty {..}+    = MonitoredRequestCountMetricProperty+        {badCountMetric = Prelude.pure newValue, ..}+instance Property "GoodCountMetric" MonitoredRequestCountMetricProperty where+  type PropertyType "GoodCountMetric" MonitoredRequestCountMetricProperty = [MetricDataQueryProperty]+  set newValue MonitoredRequestCountMetricProperty {..}+    = MonitoredRequestCountMetricProperty+        {goodCountMetric = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/MonitoredRequestCountMetricProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.MonitoredRequestCountMetricProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MonitoredRequestCountMetricProperty :: Prelude.Type+instance ToResourceProperties MonitoredRequestCountMetricProperty+instance Prelude.Eq MonitoredRequestCountMetricProperty+instance Prelude.Show MonitoredRequestCountMetricProperty+instance JSON.ToJSON MonitoredRequestCountMetricProperty
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/RecurrenceRuleProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.RecurrenceRuleProperty (+        RecurrenceRuleProperty(..), mkRecurrenceRuleProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data RecurrenceRuleProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-recurrencerule.html>+    RecurrenceRuleProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-recurrencerule.html#cfn-applicationsignals-servicelevelobjective-recurrencerule-expression>+                            expression :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRecurrenceRuleProperty ::+  Value Prelude.Text -> RecurrenceRuleProperty+mkRecurrenceRuleProperty expression+  = RecurrenceRuleProperty+      {haddock_workaround_ = (), expression = expression}+instance ToResourceProperties RecurrenceRuleProperty where+  toResourceProperties RecurrenceRuleProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::ServiceLevelObjective.RecurrenceRule",+         supportsTags = Prelude.False,+         properties = ["Expression" JSON..= expression]}+instance JSON.ToJSON RecurrenceRuleProperty where+  toJSON RecurrenceRuleProperty {..}+    = JSON.object ["Expression" JSON..= expression]+instance Property "Expression" RecurrenceRuleProperty where+  type PropertyType "Expression" RecurrenceRuleProperty = Value Prelude.Text+  set newValue RecurrenceRuleProperty {..}+    = RecurrenceRuleProperty {expression = newValue, ..}
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/RecurrenceRuleProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.RecurrenceRuleProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data RecurrenceRuleProperty :: Prelude.Type+instance ToResourceProperties RecurrenceRuleProperty+instance Prelude.Eq RecurrenceRuleProperty+instance Prelude.Show RecurrenceRuleProperty+instance JSON.ToJSON RecurrenceRuleProperty
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/RequestBasedSliMetricProperty.hs view
@@ -0,0 +1,94 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.RequestBasedSliMetricProperty (+        module Exports, RequestBasedSliMetricProperty(..),+        mkRequestBasedSliMetricProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.DependencyConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.MetricDataQueryProperty as Exports+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.MonitoredRequestCountMetricProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data RequestBasedSliMetricProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html>+    RequestBasedSliMetricProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html#cfn-applicationsignals-servicelevelobjective-requestbasedslimetric-dependencyconfig>+                                   dependencyConfig :: (Prelude.Maybe DependencyConfigProperty),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html#cfn-applicationsignals-servicelevelobjective-requestbasedslimetric-keyattributes>+                                   keyAttributes :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html#cfn-applicationsignals-servicelevelobjective-requestbasedslimetric-metrictype>+                                   metricType :: (Prelude.Maybe (Value Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html#cfn-applicationsignals-servicelevelobjective-requestbasedslimetric-monitoredrequestcountmetric>+                                   monitoredRequestCountMetric :: (Prelude.Maybe MonitoredRequestCountMetricProperty),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html#cfn-applicationsignals-servicelevelobjective-requestbasedslimetric-operationname>+                                   operationName :: (Prelude.Maybe (Value Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html#cfn-applicationsignals-servicelevelobjective-requestbasedslimetric-totalrequestcountmetric>+                                   totalRequestCountMetric :: (Prelude.Maybe [MetricDataQueryProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRequestBasedSliMetricProperty :: RequestBasedSliMetricProperty+mkRequestBasedSliMetricProperty+  = RequestBasedSliMetricProperty+      {haddock_workaround_ = (), dependencyConfig = Prelude.Nothing,+       keyAttributes = Prelude.Nothing, metricType = Prelude.Nothing,+       monitoredRequestCountMetric = Prelude.Nothing,+       operationName = Prelude.Nothing,+       totalRequestCountMetric = Prelude.Nothing}+instance ToResourceProperties RequestBasedSliMetricProperty where+  toResourceProperties RequestBasedSliMetricProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::ServiceLevelObjective.RequestBasedSliMetric",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DependencyConfig" Prelude.<$> dependencyConfig,+                            (JSON..=) "KeyAttributes" Prelude.<$> keyAttributes,+                            (JSON..=) "MetricType" Prelude.<$> metricType,+                            (JSON..=) "MonitoredRequestCountMetric"+                              Prelude.<$> monitoredRequestCountMetric,+                            (JSON..=) "OperationName" Prelude.<$> operationName,+                            (JSON..=) "TotalRequestCountMetric"+                              Prelude.<$> totalRequestCountMetric])}+instance JSON.ToJSON RequestBasedSliMetricProperty where+  toJSON RequestBasedSliMetricProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DependencyConfig" Prelude.<$> dependencyConfig,+               (JSON..=) "KeyAttributes" Prelude.<$> keyAttributes,+               (JSON..=) "MetricType" Prelude.<$> metricType,+               (JSON..=) "MonitoredRequestCountMetric"+                 Prelude.<$> monitoredRequestCountMetric,+               (JSON..=) "OperationName" Prelude.<$> operationName,+               (JSON..=) "TotalRequestCountMetric"+                 Prelude.<$> totalRequestCountMetric]))+instance Property "DependencyConfig" RequestBasedSliMetricProperty where+  type PropertyType "DependencyConfig" RequestBasedSliMetricProperty = DependencyConfigProperty+  set newValue RequestBasedSliMetricProperty {..}+    = RequestBasedSliMetricProperty+        {dependencyConfig = Prelude.pure newValue, ..}+instance Property "KeyAttributes" RequestBasedSliMetricProperty where+  type PropertyType "KeyAttributes" RequestBasedSliMetricProperty = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue RequestBasedSliMetricProperty {..}+    = RequestBasedSliMetricProperty+        {keyAttributes = Prelude.pure newValue, ..}+instance Property "MetricType" RequestBasedSliMetricProperty where+  type PropertyType "MetricType" RequestBasedSliMetricProperty = Value Prelude.Text+  set newValue RequestBasedSliMetricProperty {..}+    = RequestBasedSliMetricProperty+        {metricType = Prelude.pure newValue, ..}+instance Property "MonitoredRequestCountMetric" RequestBasedSliMetricProperty where+  type PropertyType "MonitoredRequestCountMetric" RequestBasedSliMetricProperty = MonitoredRequestCountMetricProperty+  set newValue RequestBasedSliMetricProperty {..}+    = RequestBasedSliMetricProperty+        {monitoredRequestCountMetric = Prelude.pure newValue, ..}+instance Property "OperationName" RequestBasedSliMetricProperty where+  type PropertyType "OperationName" RequestBasedSliMetricProperty = Value Prelude.Text+  set newValue RequestBasedSliMetricProperty {..}+    = RequestBasedSliMetricProperty+        {operationName = Prelude.pure newValue, ..}+instance Property "TotalRequestCountMetric" RequestBasedSliMetricProperty where+  type PropertyType "TotalRequestCountMetric" RequestBasedSliMetricProperty = [MetricDataQueryProperty]+  set newValue RequestBasedSliMetricProperty {..}+    = RequestBasedSliMetricProperty+        {totalRequestCountMetric = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/RequestBasedSliMetricProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.RequestBasedSliMetricProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data RequestBasedSliMetricProperty :: Prelude.Type+instance ToResourceProperties RequestBasedSliMetricProperty+instance Prelude.Eq RequestBasedSliMetricProperty+instance Prelude.Show RequestBasedSliMetricProperty+instance JSON.ToJSON RequestBasedSliMetricProperty
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/RequestBasedSliProperty.hs view
@@ -0,0 +1,62 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.RequestBasedSliProperty (+        module Exports, RequestBasedSliProperty(..),+        mkRequestBasedSliProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.RequestBasedSliMetricProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data RequestBasedSliProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedsli.html>+    RequestBasedSliProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedsli.html#cfn-applicationsignals-servicelevelobjective-requestbasedsli-comparisonoperator>+                             comparisonOperator :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedsli.html#cfn-applicationsignals-servicelevelobjective-requestbasedsli-metricthreshold>+                             metricThreshold :: (Prelude.Maybe (Value Prelude.Double)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedsli.html#cfn-applicationsignals-servicelevelobjective-requestbasedsli-requestbasedslimetric>+                             requestBasedSliMetric :: RequestBasedSliMetricProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRequestBasedSliProperty ::+  RequestBasedSliMetricProperty -> RequestBasedSliProperty+mkRequestBasedSliProperty requestBasedSliMetric+  = RequestBasedSliProperty+      {haddock_workaround_ = (),+       requestBasedSliMetric = requestBasedSliMetric,+       comparisonOperator = Prelude.Nothing,+       metricThreshold = Prelude.Nothing}+instance ToResourceProperties RequestBasedSliProperty where+  toResourceProperties RequestBasedSliProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::ServiceLevelObjective.RequestBasedSli",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["RequestBasedSliMetric" JSON..= requestBasedSliMetric]+                           (Prelude.catMaybes+                              [(JSON..=) "ComparisonOperator" Prelude.<$> comparisonOperator,+                               (JSON..=) "MetricThreshold" Prelude.<$> metricThreshold]))}+instance JSON.ToJSON RequestBasedSliProperty where+  toJSON RequestBasedSliProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["RequestBasedSliMetric" JSON..= requestBasedSliMetric]+              (Prelude.catMaybes+                 [(JSON..=) "ComparisonOperator" Prelude.<$> comparisonOperator,+                  (JSON..=) "MetricThreshold" Prelude.<$> metricThreshold])))+instance Property "ComparisonOperator" RequestBasedSliProperty where+  type PropertyType "ComparisonOperator" RequestBasedSliProperty = Value Prelude.Text+  set newValue RequestBasedSliProperty {..}+    = RequestBasedSliProperty+        {comparisonOperator = Prelude.pure newValue, ..}+instance Property "MetricThreshold" RequestBasedSliProperty where+  type PropertyType "MetricThreshold" RequestBasedSliProperty = Value Prelude.Double+  set newValue RequestBasedSliProperty {..}+    = RequestBasedSliProperty+        {metricThreshold = Prelude.pure newValue, ..}+instance Property "RequestBasedSliMetric" RequestBasedSliProperty where+  type PropertyType "RequestBasedSliMetric" RequestBasedSliProperty = RequestBasedSliMetricProperty+  set newValue RequestBasedSliProperty {..}+    = RequestBasedSliProperty {requestBasedSliMetric = newValue, ..}
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/RequestBasedSliProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.RequestBasedSliProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data RequestBasedSliProperty :: Prelude.Type+instance ToResourceProperties RequestBasedSliProperty+instance Prelude.Eq RequestBasedSliProperty+instance Prelude.Show RequestBasedSliProperty+instance JSON.ToJSON RequestBasedSliProperty
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/RollingIntervalProperty.hs view
@@ -0,0 +1,42 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.RollingIntervalProperty (+        RollingIntervalProperty(..), mkRollingIntervalProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data RollingIntervalProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-rollinginterval.html>+    RollingIntervalProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-rollinginterval.html#cfn-applicationsignals-servicelevelobjective-rollinginterval-duration>+                             duration :: (Value Prelude.Integer),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-rollinginterval.html#cfn-applicationsignals-servicelevelobjective-rollinginterval-durationunit>+                             durationUnit :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRollingIntervalProperty ::+  Value Prelude.Integer+  -> Value Prelude.Text -> RollingIntervalProperty+mkRollingIntervalProperty duration durationUnit+  = RollingIntervalProperty+      {haddock_workaround_ = (), duration = duration,+       durationUnit = durationUnit}+instance ToResourceProperties RollingIntervalProperty where+  toResourceProperties RollingIntervalProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::ServiceLevelObjective.RollingInterval",+         supportsTags = Prelude.False,+         properties = ["Duration" JSON..= duration,+                       "DurationUnit" JSON..= durationUnit]}+instance JSON.ToJSON RollingIntervalProperty where+  toJSON RollingIntervalProperty {..}+    = JSON.object+        ["Duration" JSON..= duration, "DurationUnit" JSON..= durationUnit]+instance Property "Duration" RollingIntervalProperty where+  type PropertyType "Duration" RollingIntervalProperty = Value Prelude.Integer+  set newValue RollingIntervalProperty {..}+    = RollingIntervalProperty {duration = newValue, ..}+instance Property "DurationUnit" RollingIntervalProperty where+  type PropertyType "DurationUnit" RollingIntervalProperty = Value Prelude.Text+  set newValue RollingIntervalProperty {..}+    = RollingIntervalProperty {durationUnit = newValue, ..}
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/RollingIntervalProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.RollingIntervalProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data RollingIntervalProperty :: Prelude.Type+instance ToResourceProperties RollingIntervalProperty+instance Prelude.Eq RollingIntervalProperty+instance Prelude.Show RollingIntervalProperty+instance JSON.ToJSON RollingIntervalProperty
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/SliMetricProperty.hs view
@@ -0,0 +1,90 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.SliMetricProperty (+        module Exports, SliMetricProperty(..), mkSliMetricProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.DependencyConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.MetricDataQueryProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SliMetricProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-slimetric.html>+    SliMetricProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-slimetric.html#cfn-applicationsignals-servicelevelobjective-slimetric-dependencyconfig>+                       dependencyConfig :: (Prelude.Maybe DependencyConfigProperty),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-slimetric.html#cfn-applicationsignals-servicelevelobjective-slimetric-keyattributes>+                       keyAttributes :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-slimetric.html#cfn-applicationsignals-servicelevelobjective-slimetric-metricdataqueries>+                       metricDataQueries :: (Prelude.Maybe [MetricDataQueryProperty]),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-slimetric.html#cfn-applicationsignals-servicelevelobjective-slimetric-metrictype>+                       metricType :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-slimetric.html#cfn-applicationsignals-servicelevelobjective-slimetric-operationname>+                       operationName :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-slimetric.html#cfn-applicationsignals-servicelevelobjective-slimetric-periodseconds>+                       periodSeconds :: (Prelude.Maybe (Value Prelude.Integer)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-slimetric.html#cfn-applicationsignals-servicelevelobjective-slimetric-statistic>+                       statistic :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSliMetricProperty :: SliMetricProperty+mkSliMetricProperty+  = SliMetricProperty+      {haddock_workaround_ = (), dependencyConfig = Prelude.Nothing,+       keyAttributes = Prelude.Nothing,+       metricDataQueries = Prelude.Nothing, metricType = Prelude.Nothing,+       operationName = Prelude.Nothing, periodSeconds = Prelude.Nothing,+       statistic = Prelude.Nothing}+instance ToResourceProperties SliMetricProperty where+  toResourceProperties SliMetricProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::ServiceLevelObjective.SliMetric",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DependencyConfig" Prelude.<$> dependencyConfig,+                            (JSON..=) "KeyAttributes" Prelude.<$> keyAttributes,+                            (JSON..=) "MetricDataQueries" Prelude.<$> metricDataQueries,+                            (JSON..=) "MetricType" Prelude.<$> metricType,+                            (JSON..=) "OperationName" Prelude.<$> operationName,+                            (JSON..=) "PeriodSeconds" Prelude.<$> periodSeconds,+                            (JSON..=) "Statistic" Prelude.<$> statistic])}+instance JSON.ToJSON SliMetricProperty where+  toJSON SliMetricProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DependencyConfig" Prelude.<$> dependencyConfig,+               (JSON..=) "KeyAttributes" Prelude.<$> keyAttributes,+               (JSON..=) "MetricDataQueries" Prelude.<$> metricDataQueries,+               (JSON..=) "MetricType" Prelude.<$> metricType,+               (JSON..=) "OperationName" Prelude.<$> operationName,+               (JSON..=) "PeriodSeconds" Prelude.<$> periodSeconds,+               (JSON..=) "Statistic" Prelude.<$> statistic]))+instance Property "DependencyConfig" SliMetricProperty where+  type PropertyType "DependencyConfig" SliMetricProperty = DependencyConfigProperty+  set newValue SliMetricProperty {..}+    = SliMetricProperty {dependencyConfig = Prelude.pure newValue, ..}+instance Property "KeyAttributes" SliMetricProperty where+  type PropertyType "KeyAttributes" SliMetricProperty = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue SliMetricProperty {..}+    = SliMetricProperty {keyAttributes = Prelude.pure newValue, ..}+instance Property "MetricDataQueries" SliMetricProperty where+  type PropertyType "MetricDataQueries" SliMetricProperty = [MetricDataQueryProperty]+  set newValue SliMetricProperty {..}+    = SliMetricProperty {metricDataQueries = Prelude.pure newValue, ..}+instance Property "MetricType" SliMetricProperty where+  type PropertyType "MetricType" SliMetricProperty = Value Prelude.Text+  set newValue SliMetricProperty {..}+    = SliMetricProperty {metricType = Prelude.pure newValue, ..}+instance Property "OperationName" SliMetricProperty where+  type PropertyType "OperationName" SliMetricProperty = Value Prelude.Text+  set newValue SliMetricProperty {..}+    = SliMetricProperty {operationName = Prelude.pure newValue, ..}+instance Property "PeriodSeconds" SliMetricProperty where+  type PropertyType "PeriodSeconds" SliMetricProperty = Value Prelude.Integer+  set newValue SliMetricProperty {..}+    = SliMetricProperty {periodSeconds = Prelude.pure newValue, ..}+instance Property "Statistic" SliMetricProperty where+  type PropertyType "Statistic" SliMetricProperty = Value Prelude.Text+  set newValue SliMetricProperty {..}+    = SliMetricProperty {statistic = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/SliMetricProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.SliMetricProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SliMetricProperty :: Prelude.Type+instance ToResourceProperties SliMetricProperty+instance Prelude.Eq SliMetricProperty+instance Prelude.Show SliMetricProperty+instance JSON.ToJSON SliMetricProperty
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/SliProperty.hs view
@@ -0,0 +1,52 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.SliProperty (+        module Exports, SliProperty(..), mkSliProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationSignals.ServiceLevelObjective.SliMetricProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SliProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-sli.html>+    SliProperty {haddock_workaround_ :: (),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-sli.html#cfn-applicationsignals-servicelevelobjective-sli-comparisonoperator>+                 comparisonOperator :: (Value Prelude.Text),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-sli.html#cfn-applicationsignals-servicelevelobjective-sli-metricthreshold>+                 metricThreshold :: (Value Prelude.Double),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-sli.html#cfn-applicationsignals-servicelevelobjective-sli-slimetric>+                 sliMetric :: SliMetricProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSliProperty ::+  Value Prelude.Text+  -> Value Prelude.Double -> SliMetricProperty -> SliProperty+mkSliProperty comparisonOperator metricThreshold sliMetric+  = SliProperty+      {haddock_workaround_ = (), comparisonOperator = comparisonOperator,+       metricThreshold = metricThreshold, sliMetric = sliMetric}+instance ToResourceProperties SliProperty where+  toResourceProperties SliProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::ServiceLevelObjective.Sli",+         supportsTags = Prelude.False,+         properties = ["ComparisonOperator" JSON..= comparisonOperator,+                       "MetricThreshold" JSON..= metricThreshold,+                       "SliMetric" JSON..= sliMetric]}+instance JSON.ToJSON SliProperty where+  toJSON SliProperty {..}+    = JSON.object+        ["ComparisonOperator" JSON..= comparisonOperator,+         "MetricThreshold" JSON..= metricThreshold,+         "SliMetric" JSON..= sliMetric]+instance Property "ComparisonOperator" SliProperty where+  type PropertyType "ComparisonOperator" SliProperty = Value Prelude.Text+  set newValue SliProperty {..}+    = SliProperty {comparisonOperator = newValue, ..}+instance Property "MetricThreshold" SliProperty where+  type PropertyType "MetricThreshold" SliProperty = Value Prelude.Double+  set newValue SliProperty {..}+    = SliProperty {metricThreshold = newValue, ..}+instance Property "SliMetric" SliProperty where+  type PropertyType "SliMetric" SliProperty = SliMetricProperty+  set newValue SliProperty {..}+    = SliProperty {sliMetric = newValue, ..}
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/SliProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.SliProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SliProperty :: Prelude.Type+instance ToResourceProperties SliProperty+instance Prelude.Eq SliProperty+instance Prelude.Show SliProperty+instance JSON.ToJSON SliProperty
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/WindowProperty.hs view
@@ -0,0 +1,41 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.WindowProperty (+        WindowProperty(..), mkWindowProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data WindowProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-window.html>+    WindowProperty {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-window.html#cfn-applicationsignals-servicelevelobjective-window-duration>+                    duration :: (Value Prelude.Integer),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-window.html#cfn-applicationsignals-servicelevelobjective-window-durationunit>+                    durationUnit :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkWindowProperty ::+  Value Prelude.Integer -> Value Prelude.Text -> WindowProperty+mkWindowProperty duration durationUnit+  = WindowProperty+      {haddock_workaround_ = (), duration = duration,+       durationUnit = durationUnit}+instance ToResourceProperties WindowProperty where+  toResourceProperties WindowProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationSignals::ServiceLevelObjective.Window",+         supportsTags = Prelude.False,+         properties = ["Duration" JSON..= duration,+                       "DurationUnit" JSON..= durationUnit]}+instance JSON.ToJSON WindowProperty where+  toJSON WindowProperty {..}+    = JSON.object+        ["Duration" JSON..= duration, "DurationUnit" JSON..= durationUnit]+instance Property "Duration" WindowProperty where+  type PropertyType "Duration" WindowProperty = Value Prelude.Integer+  set newValue WindowProperty {..}+    = WindowProperty {duration = newValue, ..}+instance Property "DurationUnit" WindowProperty where+  type PropertyType "DurationUnit" WindowProperty = Value Prelude.Text+  set newValue WindowProperty {..}+    = WindowProperty {durationUnit = newValue, ..}
+ gen/Stratosphere/ApplicationSignals/ServiceLevelObjective/WindowProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationSignals.ServiceLevelObjective.WindowProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data WindowProperty :: Prelude.Type+instance ToResourceProperties WindowProperty+instance Prelude.Eq WindowProperty+instance Prelude.Show WindowProperty+instance JSON.ToJSON WindowProperty
+ stratosphere-applicationsignals.cabal view
@@ -0,0 +1,94 @@+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-applicationsignals+version:        1.0.0+synopsis:       Stratosphere integration for AWS ApplicationSignals.+description:    Integration into stratosphere to generate resources and properties for AWS ApplicationSignals+category:       AWS, Cloud, ApplicationSignals+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.ApplicationSignals.Discovery+      Stratosphere.ApplicationSignals.GroupingConfiguration+      Stratosphere.ApplicationSignals.GroupingConfiguration.GroupingAttributeDefinitionProperty+      Stratosphere.ApplicationSignals.ServiceLevelObjective+      Stratosphere.ApplicationSignals.ServiceLevelObjective.BurnRateConfigurationProperty+      Stratosphere.ApplicationSignals.ServiceLevelObjective.CalendarIntervalProperty+      Stratosphere.ApplicationSignals.ServiceLevelObjective.DependencyConfigProperty+      Stratosphere.ApplicationSignals.ServiceLevelObjective.DimensionProperty+      Stratosphere.ApplicationSignals.ServiceLevelObjective.ExclusionWindowProperty+      Stratosphere.ApplicationSignals.ServiceLevelObjective.GoalProperty+      Stratosphere.ApplicationSignals.ServiceLevelObjective.IntervalProperty+      Stratosphere.ApplicationSignals.ServiceLevelObjective.MetricDataQueryProperty+      Stratosphere.ApplicationSignals.ServiceLevelObjective.MetricProperty+      Stratosphere.ApplicationSignals.ServiceLevelObjective.MetricStatProperty+      Stratosphere.ApplicationSignals.ServiceLevelObjective.MonitoredRequestCountMetricProperty+      Stratosphere.ApplicationSignals.ServiceLevelObjective.RecurrenceRuleProperty+      Stratosphere.ApplicationSignals.ServiceLevelObjective.RequestBasedSliMetricProperty+      Stratosphere.ApplicationSignals.ServiceLevelObjective.RequestBasedSliProperty+      Stratosphere.ApplicationSignals.ServiceLevelObjective.RollingIntervalProperty+      Stratosphere.ApplicationSignals.ServiceLevelObjective.SliMetricProperty+      Stratosphere.ApplicationSignals.ServiceLevelObjective.SliProperty+      Stratosphere.ApplicationSignals.ServiceLevelObjective.WindowProperty+  other-modules:+      Paths_stratosphere_applicationsignals+  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