packages feed

stratosphere-ce (empty) → 1.0.0

raw patch · 13 files changed

+555/−0 lines, 13 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/CE/AnomalyMonitor.hs view
@@ -0,0 +1,74 @@+module Stratosphere.CE.AnomalyMonitor (+        module Exports, AnomalyMonitor(..), mkAnomalyMonitor+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CE.AnomalyMonitor.ResourceTagProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AnomalyMonitor+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html>+    AnomalyMonitor {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html#cfn-ce-anomalymonitor-monitordimension>+                    monitorDimension :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html#cfn-ce-anomalymonitor-monitorname>+                    monitorName :: (Value Prelude.Text),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html#cfn-ce-anomalymonitor-monitorspecification>+                    monitorSpecification :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html#cfn-ce-anomalymonitor-monitortype>+                    monitorType :: (Value Prelude.Text),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html#cfn-ce-anomalymonitor-resourcetags>+                    resourceTags :: (Prelude.Maybe [ResourceTagProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAnomalyMonitor ::+  Value Prelude.Text -> Value Prelude.Text -> AnomalyMonitor+mkAnomalyMonitor monitorName monitorType+  = AnomalyMonitor+      {haddock_workaround_ = (), monitorName = monitorName,+       monitorType = monitorType, monitorDimension = Prelude.Nothing,+       monitorSpecification = Prelude.Nothing,+       resourceTags = Prelude.Nothing}+instance ToResourceProperties AnomalyMonitor where+  toResourceProperties AnomalyMonitor {..}+    = ResourceProperties+        {awsType = "AWS::CE::AnomalyMonitor", supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MonitorName" JSON..= monitorName,+                            "MonitorType" JSON..= monitorType]+                           (Prelude.catMaybes+                              [(JSON..=) "MonitorDimension" Prelude.<$> monitorDimension,+                               (JSON..=) "MonitorSpecification" Prelude.<$> monitorSpecification,+                               (JSON..=) "ResourceTags" Prelude.<$> resourceTags]))}+instance JSON.ToJSON AnomalyMonitor where+  toJSON AnomalyMonitor {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MonitorName" JSON..= monitorName,+               "MonitorType" JSON..= monitorType]+              (Prelude.catMaybes+                 [(JSON..=) "MonitorDimension" Prelude.<$> monitorDimension,+                  (JSON..=) "MonitorSpecification" Prelude.<$> monitorSpecification,+                  (JSON..=) "ResourceTags" Prelude.<$> resourceTags])))+instance Property "MonitorDimension" AnomalyMonitor where+  type PropertyType "MonitorDimension" AnomalyMonitor = Value Prelude.Text+  set newValue AnomalyMonitor {..}+    = AnomalyMonitor {monitorDimension = Prelude.pure newValue, ..}+instance Property "MonitorName" AnomalyMonitor where+  type PropertyType "MonitorName" AnomalyMonitor = Value Prelude.Text+  set newValue AnomalyMonitor {..}+    = AnomalyMonitor {monitorName = newValue, ..}+instance Property "MonitorSpecification" AnomalyMonitor where+  type PropertyType "MonitorSpecification" AnomalyMonitor = Value Prelude.Text+  set newValue AnomalyMonitor {..}+    = AnomalyMonitor {monitorSpecification = Prelude.pure newValue, ..}+instance Property "MonitorType" AnomalyMonitor where+  type PropertyType "MonitorType" AnomalyMonitor = Value Prelude.Text+  set newValue AnomalyMonitor {..}+    = AnomalyMonitor {monitorType = newValue, ..}+instance Property "ResourceTags" AnomalyMonitor where+  type PropertyType "ResourceTags" AnomalyMonitor = [ResourceTagProperty]+  set newValue AnomalyMonitor {..}+    = AnomalyMonitor {resourceTags = Prelude.pure newValue, ..}
+ gen/Stratosphere/CE/AnomalyMonitor/ResourceTagProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.CE.AnomalyMonitor.ResourceTagProperty (+        ResourceTagProperty(..), mkResourceTagProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ResourceTagProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalymonitor-resourcetag.html>+    ResourceTagProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalymonitor-resourcetag.html#cfn-ce-anomalymonitor-resourcetag-key>+                         key :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalymonitor-resourcetag.html#cfn-ce-anomalymonitor-resourcetag-value>+                         value :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkResourceTagProperty ::+  Value Prelude.Text -> Value Prelude.Text -> ResourceTagProperty+mkResourceTagProperty key value+  = ResourceTagProperty+      {haddock_workaround_ = (), key = key, value = value}+instance ToResourceProperties ResourceTagProperty where+  toResourceProperties ResourceTagProperty {..}+    = ResourceProperties+        {awsType = "AWS::CE::AnomalyMonitor.ResourceTag",+         supportsTags = Prelude.False,+         properties = ["Key" JSON..= key, "Value" JSON..= value]}+instance JSON.ToJSON ResourceTagProperty where+  toJSON ResourceTagProperty {..}+    = JSON.object ["Key" JSON..= key, "Value" JSON..= value]+instance Property "Key" ResourceTagProperty where+  type PropertyType "Key" ResourceTagProperty = Value Prelude.Text+  set newValue ResourceTagProperty {..}+    = ResourceTagProperty {key = newValue, ..}+instance Property "Value" ResourceTagProperty where+  type PropertyType "Value" ResourceTagProperty = Value Prelude.Text+  set newValue ResourceTagProperty {..}+    = ResourceTagProperty {value = newValue, ..}
+ gen/Stratosphere/CE/AnomalyMonitor/ResourceTagProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CE.AnomalyMonitor.ResourceTagProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ResourceTagProperty :: Prelude.Type+instance ToResourceProperties ResourceTagProperty+instance Prelude.Eq ResourceTagProperty+instance Prelude.Show ResourceTagProperty+instance JSON.ToJSON ResourceTagProperty
+ gen/Stratosphere/CE/AnomalySubscription.hs view
@@ -0,0 +1,101 @@+module Stratosphere.CE.AnomalySubscription (+        module Exports, AnomalySubscription(..), mkAnomalySubscription+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CE.AnomalySubscription.ResourceTagProperty as Exports+import {-# SOURCE #-} Stratosphere.CE.AnomalySubscription.SubscriberProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AnomalySubscription+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html>+    AnomalySubscription {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html#cfn-ce-anomalysubscription-frequency>+                         frequency :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html#cfn-ce-anomalysubscription-monitorarnlist>+                         monitorArnList :: (ValueList Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html#cfn-ce-anomalysubscription-resourcetags>+                         resourceTags :: (Prelude.Maybe [ResourceTagProperty]),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html#cfn-ce-anomalysubscription-subscribers>+                         subscribers :: [SubscriberProperty],+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html#cfn-ce-anomalysubscription-subscriptionname>+                         subscriptionName :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html#cfn-ce-anomalysubscription-threshold>+                         threshold :: (Prelude.Maybe (Value Prelude.Double)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html#cfn-ce-anomalysubscription-thresholdexpression>+                         thresholdExpression :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAnomalySubscription ::+  Value Prelude.Text+  -> ValueList Prelude.Text+     -> [SubscriberProperty]+        -> Value Prelude.Text -> AnomalySubscription+mkAnomalySubscription+  frequency+  monitorArnList+  subscribers+  subscriptionName+  = AnomalySubscription+      {haddock_workaround_ = (), frequency = frequency,+       monitorArnList = monitorArnList, subscribers = subscribers,+       subscriptionName = subscriptionName,+       resourceTags = Prelude.Nothing, threshold = Prelude.Nothing,+       thresholdExpression = Prelude.Nothing}+instance ToResourceProperties AnomalySubscription where+  toResourceProperties AnomalySubscription {..}+    = ResourceProperties+        {awsType = "AWS::CE::AnomalySubscription",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Frequency" JSON..= frequency,+                            "MonitorArnList" JSON..= monitorArnList,+                            "Subscribers" JSON..= subscribers,+                            "SubscriptionName" JSON..= subscriptionName]+                           (Prelude.catMaybes+                              [(JSON..=) "ResourceTags" Prelude.<$> resourceTags,+                               (JSON..=) "Threshold" Prelude.<$> threshold,+                               (JSON..=) "ThresholdExpression" Prelude.<$> thresholdExpression]))}+instance JSON.ToJSON AnomalySubscription where+  toJSON AnomalySubscription {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Frequency" JSON..= frequency,+               "MonitorArnList" JSON..= monitorArnList,+               "Subscribers" JSON..= subscribers,+               "SubscriptionName" JSON..= subscriptionName]+              (Prelude.catMaybes+                 [(JSON..=) "ResourceTags" Prelude.<$> resourceTags,+                  (JSON..=) "Threshold" Prelude.<$> threshold,+                  (JSON..=) "ThresholdExpression" Prelude.<$> thresholdExpression])))+instance Property "Frequency" AnomalySubscription where+  type PropertyType "Frequency" AnomalySubscription = Value Prelude.Text+  set newValue AnomalySubscription {..}+    = AnomalySubscription {frequency = newValue, ..}+instance Property "MonitorArnList" AnomalySubscription where+  type PropertyType "MonitorArnList" AnomalySubscription = ValueList Prelude.Text+  set newValue AnomalySubscription {..}+    = AnomalySubscription {monitorArnList = newValue, ..}+instance Property "ResourceTags" AnomalySubscription where+  type PropertyType "ResourceTags" AnomalySubscription = [ResourceTagProperty]+  set newValue AnomalySubscription {..}+    = AnomalySubscription {resourceTags = Prelude.pure newValue, ..}+instance Property "Subscribers" AnomalySubscription where+  type PropertyType "Subscribers" AnomalySubscription = [SubscriberProperty]+  set newValue AnomalySubscription {..}+    = AnomalySubscription {subscribers = newValue, ..}+instance Property "SubscriptionName" AnomalySubscription where+  type PropertyType "SubscriptionName" AnomalySubscription = Value Prelude.Text+  set newValue AnomalySubscription {..}+    = AnomalySubscription {subscriptionName = newValue, ..}+instance Property "Threshold" AnomalySubscription where+  type PropertyType "Threshold" AnomalySubscription = Value Prelude.Double+  set newValue AnomalySubscription {..}+    = AnomalySubscription {threshold = Prelude.pure newValue, ..}+instance Property "ThresholdExpression" AnomalySubscription where+  type PropertyType "ThresholdExpression" AnomalySubscription = Value Prelude.Text+  set newValue AnomalySubscription {..}+    = AnomalySubscription+        {thresholdExpression = Prelude.pure newValue, ..}
+ gen/Stratosphere/CE/AnomalySubscription/ResourceTagProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.CE.AnomalySubscription.ResourceTagProperty (+        ResourceTagProperty(..), mkResourceTagProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ResourceTagProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalysubscription-resourcetag.html>+    ResourceTagProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalysubscription-resourcetag.html#cfn-ce-anomalysubscription-resourcetag-key>+                         key :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalysubscription-resourcetag.html#cfn-ce-anomalysubscription-resourcetag-value>+                         value :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkResourceTagProperty ::+  Value Prelude.Text -> Value Prelude.Text -> ResourceTagProperty+mkResourceTagProperty key value+  = ResourceTagProperty+      {haddock_workaround_ = (), key = key, value = value}+instance ToResourceProperties ResourceTagProperty where+  toResourceProperties ResourceTagProperty {..}+    = ResourceProperties+        {awsType = "AWS::CE::AnomalySubscription.ResourceTag",+         supportsTags = Prelude.False,+         properties = ["Key" JSON..= key, "Value" JSON..= value]}+instance JSON.ToJSON ResourceTagProperty where+  toJSON ResourceTagProperty {..}+    = JSON.object ["Key" JSON..= key, "Value" JSON..= value]+instance Property "Key" ResourceTagProperty where+  type PropertyType "Key" ResourceTagProperty = Value Prelude.Text+  set newValue ResourceTagProperty {..}+    = ResourceTagProperty {key = newValue, ..}+instance Property "Value" ResourceTagProperty where+  type PropertyType "Value" ResourceTagProperty = Value Prelude.Text+  set newValue ResourceTagProperty {..}+    = ResourceTagProperty {value = newValue, ..}
+ gen/Stratosphere/CE/AnomalySubscription/ResourceTagProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CE.AnomalySubscription.ResourceTagProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ResourceTagProperty :: Prelude.Type+instance ToResourceProperties ResourceTagProperty+instance Prelude.Eq ResourceTagProperty+instance Prelude.Show ResourceTagProperty+instance JSON.ToJSON ResourceTagProperty
+ gen/Stratosphere/CE/AnomalySubscription/SubscriberProperty.hs view
@@ -0,0 +1,52 @@+module Stratosphere.CE.AnomalySubscription.SubscriberProperty (+        SubscriberProperty(..), mkSubscriberProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SubscriberProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalysubscription-subscriber.html>+    SubscriberProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalysubscription-subscriber.html#cfn-ce-anomalysubscription-subscriber-address>+                        address :: (Value Prelude.Text),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalysubscription-subscriber.html#cfn-ce-anomalysubscription-subscriber-status>+                        status :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalysubscription-subscriber.html#cfn-ce-anomalysubscription-subscriber-type>+                        type' :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSubscriberProperty ::+  Value Prelude.Text -> Value Prelude.Text -> SubscriberProperty+mkSubscriberProperty address type'+  = SubscriberProperty+      {haddock_workaround_ = (), address = address, type' = type',+       status = Prelude.Nothing}+instance ToResourceProperties SubscriberProperty where+  toResourceProperties SubscriberProperty {..}+    = ResourceProperties+        {awsType = "AWS::CE::AnomalySubscription.Subscriber",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Address" JSON..= address, "Type" JSON..= type']+                           (Prelude.catMaybes [(JSON..=) "Status" Prelude.<$> status]))}+instance JSON.ToJSON SubscriberProperty where+  toJSON SubscriberProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Address" JSON..= address, "Type" JSON..= type']+              (Prelude.catMaybes [(JSON..=) "Status" Prelude.<$> status])))+instance Property "Address" SubscriberProperty where+  type PropertyType "Address" SubscriberProperty = Value Prelude.Text+  set newValue SubscriberProperty {..}+    = SubscriberProperty {address = newValue, ..}+instance Property "Status" SubscriberProperty where+  type PropertyType "Status" SubscriberProperty = Value Prelude.Text+  set newValue SubscriberProperty {..}+    = SubscriberProperty {status = Prelude.pure newValue, ..}+instance Property "Type" SubscriberProperty where+  type PropertyType "Type" SubscriberProperty = Value Prelude.Text+  set newValue SubscriberProperty {..}+    = SubscriberProperty {type' = newValue, ..}
+ gen/Stratosphere/CE/AnomalySubscription/SubscriberProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CE.AnomalySubscription.SubscriberProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SubscriberProperty :: Prelude.Type+instance ToResourceProperties SubscriberProperty+instance Prelude.Eq SubscriberProperty+instance Prelude.Show SubscriberProperty+instance JSON.ToJSON SubscriberProperty
+ gen/Stratosphere/CE/CostCategory.hs view
@@ -0,0 +1,79 @@+module Stratosphere.CE.CostCategory (+        module Exports, CostCategory(..), mkCostCategory+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CE.CostCategory.ResourceTagProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CostCategory+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html>+    CostCategory {haddock_workaround_ :: (),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-defaultvalue>+                  defaultValue :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-name>+                  name :: (Value Prelude.Text),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-ruleversion>+                  ruleVersion :: (Value Prelude.Text),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-rules>+                  rules :: (Value Prelude.Text),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-splitchargerules>+                  splitChargeRules :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-tags>+                  tags :: (Prelude.Maybe [ResourceTagProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCostCategory ::+  Value Prelude.Text+  -> Value Prelude.Text -> Value Prelude.Text -> CostCategory+mkCostCategory name ruleVersion rules+  = CostCategory+      {haddock_workaround_ = (), name = name, ruleVersion = ruleVersion,+       rules = rules, defaultValue = Prelude.Nothing,+       splitChargeRules = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties CostCategory where+  toResourceProperties CostCategory {..}+    = ResourceProperties+        {awsType = "AWS::CE::CostCategory", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Name" JSON..= name, "RuleVersion" JSON..= ruleVersion,+                            "Rules" JSON..= rules]+                           (Prelude.catMaybes+                              [(JSON..=) "DefaultValue" Prelude.<$> defaultValue,+                               (JSON..=) "SplitChargeRules" Prelude.<$> splitChargeRules,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON CostCategory where+  toJSON CostCategory {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Name" JSON..= name, "RuleVersion" JSON..= ruleVersion,+               "Rules" JSON..= rules]+              (Prelude.catMaybes+                 [(JSON..=) "DefaultValue" Prelude.<$> defaultValue,+                  (JSON..=) "SplitChargeRules" Prelude.<$> splitChargeRules,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "DefaultValue" CostCategory where+  type PropertyType "DefaultValue" CostCategory = Value Prelude.Text+  set newValue CostCategory {..}+    = CostCategory {defaultValue = Prelude.pure newValue, ..}+instance Property "Name" CostCategory where+  type PropertyType "Name" CostCategory = Value Prelude.Text+  set newValue CostCategory {..} = CostCategory {name = newValue, ..}+instance Property "RuleVersion" CostCategory where+  type PropertyType "RuleVersion" CostCategory = Value Prelude.Text+  set newValue CostCategory {..}+    = CostCategory {ruleVersion = newValue, ..}+instance Property "Rules" CostCategory where+  type PropertyType "Rules" CostCategory = Value Prelude.Text+  set newValue CostCategory {..}+    = CostCategory {rules = newValue, ..}+instance Property "SplitChargeRules" CostCategory where+  type PropertyType "SplitChargeRules" CostCategory = Value Prelude.Text+  set newValue CostCategory {..}+    = CostCategory {splitChargeRules = Prelude.pure newValue, ..}+instance Property "Tags" CostCategory where+  type PropertyType "Tags" CostCategory = [ResourceTagProperty]+  set newValue CostCategory {..}+    = CostCategory {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/CE/CostCategory/ResourceTagProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.CE.CostCategory.ResourceTagProperty (+        ResourceTagProperty(..), mkResourceTagProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ResourceTagProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-costcategory-resourcetag.html>+    ResourceTagProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-costcategory-resourcetag.html#cfn-ce-costcategory-resourcetag-key>+                         key :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-costcategory-resourcetag.html#cfn-ce-costcategory-resourcetag-value>+                         value :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkResourceTagProperty ::+  Value Prelude.Text -> Value Prelude.Text -> ResourceTagProperty+mkResourceTagProperty key value+  = ResourceTagProperty+      {haddock_workaround_ = (), key = key, value = value}+instance ToResourceProperties ResourceTagProperty where+  toResourceProperties ResourceTagProperty {..}+    = ResourceProperties+        {awsType = "AWS::CE::CostCategory.ResourceTag",+         supportsTags = Prelude.False,+         properties = ["Key" JSON..= key, "Value" JSON..= value]}+instance JSON.ToJSON ResourceTagProperty where+  toJSON ResourceTagProperty {..}+    = JSON.object ["Key" JSON..= key, "Value" JSON..= value]+instance Property "Key" ResourceTagProperty where+  type PropertyType "Key" ResourceTagProperty = Value Prelude.Text+  set newValue ResourceTagProperty {..}+    = ResourceTagProperty {key = newValue, ..}+instance Property "Value" ResourceTagProperty where+  type PropertyType "Value" ResourceTagProperty = Value Prelude.Text+  set newValue ResourceTagProperty {..}+    = ResourceTagProperty {value = newValue, ..}
+ gen/Stratosphere/CE/CostCategory/ResourceTagProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CE.CostCategory.ResourceTagProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ResourceTagProperty :: Prelude.Type+instance ToResourceProperties ResourceTagProperty+instance Prelude.Eq ResourceTagProperty+instance Prelude.Show ResourceTagProperty+instance JSON.ToJSON ResourceTagProperty
+ stratosphere-ce.cabal view
@@ -0,0 +1,79 @@+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-ce+version:        1.0.0+synopsis:       Stratosphere integration for AWS CE.+description:    Integration into stratosphere to generate resources and properties for AWS CE+category:       AWS, Cloud, CE+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.CE.AnomalyMonitor+      Stratosphere.CE.AnomalyMonitor.ResourceTagProperty+      Stratosphere.CE.AnomalySubscription+      Stratosphere.CE.AnomalySubscription.ResourceTagProperty+      Stratosphere.CE.AnomalySubscription.SubscriberProperty+      Stratosphere.CE.CostCategory+      Stratosphere.CE.CostCategory.ResourceTagProperty+  other-modules:+      Paths_stratosphere_ce+  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