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 +20/−0
- gen/Stratosphere/CE/AnomalyMonitor.hs +74/−0
- gen/Stratosphere/CE/AnomalyMonitor/ResourceTagProperty.hs +38/−0
- gen/Stratosphere/CE/AnomalyMonitor/ResourceTagProperty.hs-boot +9/−0
- gen/Stratosphere/CE/AnomalySubscription.hs +101/−0
- gen/Stratosphere/CE/AnomalySubscription/ResourceTagProperty.hs +38/−0
- gen/Stratosphere/CE/AnomalySubscription/ResourceTagProperty.hs-boot +9/−0
- gen/Stratosphere/CE/AnomalySubscription/SubscriberProperty.hs +52/−0
- gen/Stratosphere/CE/AnomalySubscription/SubscriberProperty.hs-boot +9/−0
- gen/Stratosphere/CE/CostCategory.hs +79/−0
- gen/Stratosphere/CE/CostCategory/ResourceTagProperty.hs +38/−0
- gen/Stratosphere/CE/CostCategory/ResourceTagProperty.hs-boot +9/−0
- stratosphere-ce.cabal +79/−0
+ 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