packages feed

stratosphere-budgets (empty) → 1.0.0

raw patch · 46 files changed

+1693/−0 lines, 46 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/Budgets/Budget.hs view
@@ -0,0 +1,58 @@+module Stratosphere.Budgets.Budget (+        module Exports, Budget(..), mkBudget+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.Budgets.Budget.BudgetDataProperty as Exports+import {-# SOURCE #-} Stratosphere.Budgets.Budget.NotificationWithSubscribersProperty as Exports+import {-# SOURCE #-} Stratosphere.Budgets.Budget.ResourceTagProperty as Exports+import Stratosphere.ResourceProperties+data Budget+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html>+    Budget {haddock_workaround_ :: (),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html#cfn-budgets-budget-budget>+            budget :: BudgetDataProperty,+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html#cfn-budgets-budget-notificationswithsubscribers>+            notificationsWithSubscribers :: (Prelude.Maybe [NotificationWithSubscribersProperty]),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html#cfn-budgets-budget-resourcetags>+            resourceTags :: (Prelude.Maybe [ResourceTagProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBudget :: BudgetDataProperty -> Budget+mkBudget budget+  = Budget+      {haddock_workaround_ = (), budget = budget,+       notificationsWithSubscribers = Prelude.Nothing,+       resourceTags = Prelude.Nothing}+instance ToResourceProperties Budget where+  toResourceProperties Budget {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::Budget", supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Budget" JSON..= budget]+                           (Prelude.catMaybes+                              [(JSON..=) "NotificationsWithSubscribers"+                                 Prelude.<$> notificationsWithSubscribers,+                               (JSON..=) "ResourceTags" Prelude.<$> resourceTags]))}+instance JSON.ToJSON Budget where+  toJSON Budget {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Budget" JSON..= budget]+              (Prelude.catMaybes+                 [(JSON..=) "NotificationsWithSubscribers"+                    Prelude.<$> notificationsWithSubscribers,+                  (JSON..=) "ResourceTags" Prelude.<$> resourceTags])))+instance Property "Budget" Budget where+  type PropertyType "Budget" Budget = BudgetDataProperty+  set newValue Budget {..} = Budget {budget = newValue, ..}+instance Property "NotificationsWithSubscribers" Budget where+  type PropertyType "NotificationsWithSubscribers" Budget = [NotificationWithSubscribersProperty]+  set newValue Budget {..}+    = Budget {notificationsWithSubscribers = Prelude.pure newValue, ..}+instance Property "ResourceTags" Budget where+  type PropertyType "ResourceTags" Budget = [ResourceTagProperty]+  set newValue Budget {..}+    = Budget {resourceTags = Prelude.pure newValue, ..}
+ gen/Stratosphere/Budgets/Budget/AutoAdjustDataProperty.hs view
@@ -0,0 +1,51 @@+module Stratosphere.Budgets.Budget.AutoAdjustDataProperty (+        module Exports, AutoAdjustDataProperty(..),+        mkAutoAdjustDataProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.Budgets.Budget.HistoricalOptionsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AutoAdjustDataProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-autoadjustdata.html>+    AutoAdjustDataProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-autoadjustdata.html#cfn-budgets-budget-autoadjustdata-autoadjusttype>+                            autoAdjustType :: (Value Prelude.Text),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-autoadjustdata.html#cfn-budgets-budget-autoadjustdata-historicaloptions>+                            historicalOptions :: (Prelude.Maybe HistoricalOptionsProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAutoAdjustDataProperty ::+  Value Prelude.Text -> AutoAdjustDataProperty+mkAutoAdjustDataProperty autoAdjustType+  = AutoAdjustDataProperty+      {haddock_workaround_ = (), autoAdjustType = autoAdjustType,+       historicalOptions = Prelude.Nothing}+instance ToResourceProperties AutoAdjustDataProperty where+  toResourceProperties AutoAdjustDataProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::Budget.AutoAdjustData",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AutoAdjustType" JSON..= autoAdjustType]+                           (Prelude.catMaybes+                              [(JSON..=) "HistoricalOptions" Prelude.<$> historicalOptions]))}+instance JSON.ToJSON AutoAdjustDataProperty where+  toJSON AutoAdjustDataProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AutoAdjustType" JSON..= autoAdjustType]+              (Prelude.catMaybes+                 [(JSON..=) "HistoricalOptions" Prelude.<$> historicalOptions])))+instance Property "AutoAdjustType" AutoAdjustDataProperty where+  type PropertyType "AutoAdjustType" AutoAdjustDataProperty = Value Prelude.Text+  set newValue AutoAdjustDataProperty {..}+    = AutoAdjustDataProperty {autoAdjustType = newValue, ..}+instance Property "HistoricalOptions" AutoAdjustDataProperty where+  type PropertyType "HistoricalOptions" AutoAdjustDataProperty = HistoricalOptionsProperty+  set newValue AutoAdjustDataProperty {..}+    = AutoAdjustDataProperty+        {historicalOptions = Prelude.pure newValue, ..}
+ gen/Stratosphere/Budgets/Budget/AutoAdjustDataProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.Budget.AutoAdjustDataProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AutoAdjustDataProperty :: Prelude.Type+instance ToResourceProperties AutoAdjustDataProperty+instance Prelude.Eq AutoAdjustDataProperty+instance Prelude.Show AutoAdjustDataProperty+instance JSON.ToJSON AutoAdjustDataProperty
+ gen/Stratosphere/Budgets/Budget/BudgetDataProperty.hs view
@@ -0,0 +1,137 @@+module Stratosphere.Budgets.Budget.BudgetDataProperty (+        module Exports, BudgetDataProperty(..), mkBudgetDataProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.Budgets.Budget.AutoAdjustDataProperty as Exports+import {-# SOURCE #-} Stratosphere.Budgets.Budget.CostTypesProperty as Exports+import {-# SOURCE #-} Stratosphere.Budgets.Budget.ExpressionProperty as Exports+import {-# SOURCE #-} Stratosphere.Budgets.Budget.SpendProperty as Exports+import {-# SOURCE #-} Stratosphere.Budgets.Budget.TimePeriodProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data BudgetDataProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html>+    BudgetDataProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-autoadjustdata>+                        autoAdjustData :: (Prelude.Maybe AutoAdjustDataProperty),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-billingviewarn>+                        billingViewArn :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-budgetlimit>+                        budgetLimit :: (Prelude.Maybe SpendProperty),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-budgetname>+                        budgetName :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-budgettype>+                        budgetType :: (Value Prelude.Text),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-costfilters>+                        costFilters :: (Prelude.Maybe JSON.Object),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-costtypes>+                        costTypes :: (Prelude.Maybe CostTypesProperty),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-filterexpression>+                        filterExpression :: (Prelude.Maybe ExpressionProperty),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-metrics>+                        metrics :: (Prelude.Maybe (ValueList Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-plannedbudgetlimits>+                        plannedBudgetLimits :: (Prelude.Maybe JSON.Object),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-timeperiod>+                        timePeriod :: (Prelude.Maybe TimePeriodProperty),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-timeunit>+                        timeUnit :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBudgetDataProperty ::+  Value Prelude.Text -> Value Prelude.Text -> BudgetDataProperty+mkBudgetDataProperty budgetType timeUnit+  = BudgetDataProperty+      {haddock_workaround_ = (), budgetType = budgetType,+       timeUnit = timeUnit, autoAdjustData = Prelude.Nothing,+       billingViewArn = Prelude.Nothing, budgetLimit = Prelude.Nothing,+       budgetName = Prelude.Nothing, costFilters = Prelude.Nothing,+       costTypes = Prelude.Nothing, filterExpression = Prelude.Nothing,+       metrics = Prelude.Nothing, plannedBudgetLimits = Prelude.Nothing,+       timePeriod = Prelude.Nothing}+instance ToResourceProperties BudgetDataProperty where+  toResourceProperties BudgetDataProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::Budget.BudgetData",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["BudgetType" JSON..= budgetType, "TimeUnit" JSON..= timeUnit]+                           (Prelude.catMaybes+                              [(JSON..=) "AutoAdjustData" Prelude.<$> autoAdjustData,+                               (JSON..=) "BillingViewArn" Prelude.<$> billingViewArn,+                               (JSON..=) "BudgetLimit" Prelude.<$> budgetLimit,+                               (JSON..=) "BudgetName" Prelude.<$> budgetName,+                               (JSON..=) "CostFilters" Prelude.<$> costFilters,+                               (JSON..=) "CostTypes" Prelude.<$> costTypes,+                               (JSON..=) "FilterExpression" Prelude.<$> filterExpression,+                               (JSON..=) "Metrics" Prelude.<$> metrics,+                               (JSON..=) "PlannedBudgetLimits" Prelude.<$> plannedBudgetLimits,+                               (JSON..=) "TimePeriod" Prelude.<$> timePeriod]))}+instance JSON.ToJSON BudgetDataProperty where+  toJSON BudgetDataProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["BudgetType" JSON..= budgetType, "TimeUnit" JSON..= timeUnit]+              (Prelude.catMaybes+                 [(JSON..=) "AutoAdjustData" Prelude.<$> autoAdjustData,+                  (JSON..=) "BillingViewArn" Prelude.<$> billingViewArn,+                  (JSON..=) "BudgetLimit" Prelude.<$> budgetLimit,+                  (JSON..=) "BudgetName" Prelude.<$> budgetName,+                  (JSON..=) "CostFilters" Prelude.<$> costFilters,+                  (JSON..=) "CostTypes" Prelude.<$> costTypes,+                  (JSON..=) "FilterExpression" Prelude.<$> filterExpression,+                  (JSON..=) "Metrics" Prelude.<$> metrics,+                  (JSON..=) "PlannedBudgetLimits" Prelude.<$> plannedBudgetLimits,+                  (JSON..=) "TimePeriod" Prelude.<$> timePeriod])))+instance Property "AutoAdjustData" BudgetDataProperty where+  type PropertyType "AutoAdjustData" BudgetDataProperty = AutoAdjustDataProperty+  set newValue BudgetDataProperty {..}+    = BudgetDataProperty {autoAdjustData = Prelude.pure newValue, ..}+instance Property "BillingViewArn" BudgetDataProperty where+  type PropertyType "BillingViewArn" BudgetDataProperty = Value Prelude.Text+  set newValue BudgetDataProperty {..}+    = BudgetDataProperty {billingViewArn = Prelude.pure newValue, ..}+instance Property "BudgetLimit" BudgetDataProperty where+  type PropertyType "BudgetLimit" BudgetDataProperty = SpendProperty+  set newValue BudgetDataProperty {..}+    = BudgetDataProperty {budgetLimit = Prelude.pure newValue, ..}+instance Property "BudgetName" BudgetDataProperty where+  type PropertyType "BudgetName" BudgetDataProperty = Value Prelude.Text+  set newValue BudgetDataProperty {..}+    = BudgetDataProperty {budgetName = Prelude.pure newValue, ..}+instance Property "BudgetType" BudgetDataProperty where+  type PropertyType "BudgetType" BudgetDataProperty = Value Prelude.Text+  set newValue BudgetDataProperty {..}+    = BudgetDataProperty {budgetType = newValue, ..}+instance Property "CostFilters" BudgetDataProperty where+  type PropertyType "CostFilters" BudgetDataProperty = JSON.Object+  set newValue BudgetDataProperty {..}+    = BudgetDataProperty {costFilters = Prelude.pure newValue, ..}+instance Property "CostTypes" BudgetDataProperty where+  type PropertyType "CostTypes" BudgetDataProperty = CostTypesProperty+  set newValue BudgetDataProperty {..}+    = BudgetDataProperty {costTypes = Prelude.pure newValue, ..}+instance Property "FilterExpression" BudgetDataProperty where+  type PropertyType "FilterExpression" BudgetDataProperty = ExpressionProperty+  set newValue BudgetDataProperty {..}+    = BudgetDataProperty {filterExpression = Prelude.pure newValue, ..}+instance Property "Metrics" BudgetDataProperty where+  type PropertyType "Metrics" BudgetDataProperty = ValueList Prelude.Text+  set newValue BudgetDataProperty {..}+    = BudgetDataProperty {metrics = Prelude.pure newValue, ..}+instance Property "PlannedBudgetLimits" BudgetDataProperty where+  type PropertyType "PlannedBudgetLimits" BudgetDataProperty = JSON.Object+  set newValue BudgetDataProperty {..}+    = BudgetDataProperty+        {plannedBudgetLimits = Prelude.pure newValue, ..}+instance Property "TimePeriod" BudgetDataProperty where+  type PropertyType "TimePeriod" BudgetDataProperty = TimePeriodProperty+  set newValue BudgetDataProperty {..}+    = BudgetDataProperty {timePeriod = Prelude.pure newValue, ..}+instance Property "TimeUnit" BudgetDataProperty where+  type PropertyType "TimeUnit" BudgetDataProperty = Value Prelude.Text+  set newValue BudgetDataProperty {..}+    = BudgetDataProperty {timeUnit = newValue, ..}
+ gen/Stratosphere/Budgets/Budget/BudgetDataProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.Budget.BudgetDataProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BudgetDataProperty :: Prelude.Type+instance ToResourceProperties BudgetDataProperty+instance Prelude.Eq BudgetDataProperty+instance Prelude.Show BudgetDataProperty+instance JSON.ToJSON BudgetDataProperty
+ gen/Stratosphere/Budgets/Budget/CostCategoryValuesProperty.hs view
@@ -0,0 +1,54 @@+module Stratosphere.Budgets.Budget.CostCategoryValuesProperty (+        CostCategoryValuesProperty(..), mkCostCategoryValuesProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CostCategoryValuesProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costcategoryvalues.html>+    CostCategoryValuesProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costcategoryvalues.html#cfn-budgets-budget-costcategoryvalues-key>+                                key :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costcategoryvalues.html#cfn-budgets-budget-costcategoryvalues-matchoptions>+                                matchOptions :: (Prelude.Maybe (ValueList Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costcategoryvalues.html#cfn-budgets-budget-costcategoryvalues-values>+                                values :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCostCategoryValuesProperty :: CostCategoryValuesProperty+mkCostCategoryValuesProperty+  = CostCategoryValuesProperty+      {haddock_workaround_ = (), key = Prelude.Nothing,+       matchOptions = Prelude.Nothing, values = Prelude.Nothing}+instance ToResourceProperties CostCategoryValuesProperty where+  toResourceProperties CostCategoryValuesProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::Budget.CostCategoryValues",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Key" Prelude.<$> key,+                            (JSON..=) "MatchOptions" Prelude.<$> matchOptions,+                            (JSON..=) "Values" Prelude.<$> values])}+instance JSON.ToJSON CostCategoryValuesProperty where+  toJSON CostCategoryValuesProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Key" Prelude.<$> key,+               (JSON..=) "MatchOptions" Prelude.<$> matchOptions,+               (JSON..=) "Values" Prelude.<$> values]))+instance Property "Key" CostCategoryValuesProperty where+  type PropertyType "Key" CostCategoryValuesProperty = Value Prelude.Text+  set newValue CostCategoryValuesProperty {..}+    = CostCategoryValuesProperty {key = Prelude.pure newValue, ..}+instance Property "MatchOptions" CostCategoryValuesProperty where+  type PropertyType "MatchOptions" CostCategoryValuesProperty = ValueList Prelude.Text+  set newValue CostCategoryValuesProperty {..}+    = CostCategoryValuesProperty+        {matchOptions = Prelude.pure newValue, ..}+instance Property "Values" CostCategoryValuesProperty where+  type PropertyType "Values" CostCategoryValuesProperty = ValueList Prelude.Text+  set newValue CostCategoryValuesProperty {..}+    = CostCategoryValuesProperty {values = Prelude.pure newValue, ..}
+ gen/Stratosphere/Budgets/Budget/CostCategoryValuesProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.Budget.CostCategoryValuesProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CostCategoryValuesProperty :: Prelude.Type+instance ToResourceProperties CostCategoryValuesProperty+instance Prelude.Eq CostCategoryValuesProperty+instance Prelude.Show CostCategoryValuesProperty+instance JSON.ToJSON CostCategoryValuesProperty
+ gen/Stratosphere/Budgets/Budget/CostTypesProperty.hs view
@@ -0,0 +1,128 @@+module Stratosphere.Budgets.Budget.CostTypesProperty (+        CostTypesProperty(..), mkCostTypesProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CostTypesProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html>+    CostTypesProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includecredit>+                       includeCredit :: (Prelude.Maybe (Value Prelude.Bool)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includediscount>+                       includeDiscount :: (Prelude.Maybe (Value Prelude.Bool)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includeothersubscription>+                       includeOtherSubscription :: (Prelude.Maybe (Value Prelude.Bool)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includerecurring>+                       includeRecurring :: (Prelude.Maybe (Value Prelude.Bool)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includerefund>+                       includeRefund :: (Prelude.Maybe (Value Prelude.Bool)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includesubscription>+                       includeSubscription :: (Prelude.Maybe (Value Prelude.Bool)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includesupport>+                       includeSupport :: (Prelude.Maybe (Value Prelude.Bool)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includetax>+                       includeTax :: (Prelude.Maybe (Value Prelude.Bool)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includeupfront>+                       includeUpfront :: (Prelude.Maybe (Value Prelude.Bool)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-useamortized>+                       useAmortized :: (Prelude.Maybe (Value Prelude.Bool)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-useblended>+                       useBlended :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCostTypesProperty :: CostTypesProperty+mkCostTypesProperty+  = CostTypesProperty+      {haddock_workaround_ = (), includeCredit = Prelude.Nothing,+       includeDiscount = Prelude.Nothing,+       includeOtherSubscription = Prelude.Nothing,+       includeRecurring = Prelude.Nothing,+       includeRefund = Prelude.Nothing,+       includeSubscription = Prelude.Nothing,+       includeSupport = Prelude.Nothing, includeTax = Prelude.Nothing,+       includeUpfront = Prelude.Nothing, useAmortized = Prelude.Nothing,+       useBlended = Prelude.Nothing}+instance ToResourceProperties CostTypesProperty where+  toResourceProperties CostTypesProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::Budget.CostTypes",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "IncludeCredit" Prelude.<$> includeCredit,+                            (JSON..=) "IncludeDiscount" Prelude.<$> includeDiscount,+                            (JSON..=) "IncludeOtherSubscription"+                              Prelude.<$> includeOtherSubscription,+                            (JSON..=) "IncludeRecurring" Prelude.<$> includeRecurring,+                            (JSON..=) "IncludeRefund" Prelude.<$> includeRefund,+                            (JSON..=) "IncludeSubscription" Prelude.<$> includeSubscription,+                            (JSON..=) "IncludeSupport" Prelude.<$> includeSupport,+                            (JSON..=) "IncludeTax" Prelude.<$> includeTax,+                            (JSON..=) "IncludeUpfront" Prelude.<$> includeUpfront,+                            (JSON..=) "UseAmortized" Prelude.<$> useAmortized,+                            (JSON..=) "UseBlended" Prelude.<$> useBlended])}+instance JSON.ToJSON CostTypesProperty where+  toJSON CostTypesProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "IncludeCredit" Prelude.<$> includeCredit,+               (JSON..=) "IncludeDiscount" Prelude.<$> includeDiscount,+               (JSON..=) "IncludeOtherSubscription"+                 Prelude.<$> includeOtherSubscription,+               (JSON..=) "IncludeRecurring" Prelude.<$> includeRecurring,+               (JSON..=) "IncludeRefund" Prelude.<$> includeRefund,+               (JSON..=) "IncludeSubscription" Prelude.<$> includeSubscription,+               (JSON..=) "IncludeSupport" Prelude.<$> includeSupport,+               (JSON..=) "IncludeTax" Prelude.<$> includeTax,+               (JSON..=) "IncludeUpfront" Prelude.<$> includeUpfront,+               (JSON..=) "UseAmortized" Prelude.<$> useAmortized,+               (JSON..=) "UseBlended" Prelude.<$> useBlended]))+instance Property "IncludeCredit" CostTypesProperty where+  type PropertyType "IncludeCredit" CostTypesProperty = Value Prelude.Bool+  set newValue CostTypesProperty {..}+    = CostTypesProperty {includeCredit = Prelude.pure newValue, ..}+instance Property "IncludeDiscount" CostTypesProperty where+  type PropertyType "IncludeDiscount" CostTypesProperty = Value Prelude.Bool+  set newValue CostTypesProperty {..}+    = CostTypesProperty {includeDiscount = Prelude.pure newValue, ..}+instance Property "IncludeOtherSubscription" CostTypesProperty where+  type PropertyType "IncludeOtherSubscription" CostTypesProperty = Value Prelude.Bool+  set newValue CostTypesProperty {..}+    = CostTypesProperty+        {includeOtherSubscription = Prelude.pure newValue, ..}+instance Property "IncludeRecurring" CostTypesProperty where+  type PropertyType "IncludeRecurring" CostTypesProperty = Value Prelude.Bool+  set newValue CostTypesProperty {..}+    = CostTypesProperty {includeRecurring = Prelude.pure newValue, ..}+instance Property "IncludeRefund" CostTypesProperty where+  type PropertyType "IncludeRefund" CostTypesProperty = Value Prelude.Bool+  set newValue CostTypesProperty {..}+    = CostTypesProperty {includeRefund = Prelude.pure newValue, ..}+instance Property "IncludeSubscription" CostTypesProperty where+  type PropertyType "IncludeSubscription" CostTypesProperty = Value Prelude.Bool+  set newValue CostTypesProperty {..}+    = CostTypesProperty+        {includeSubscription = Prelude.pure newValue, ..}+instance Property "IncludeSupport" CostTypesProperty where+  type PropertyType "IncludeSupport" CostTypesProperty = Value Prelude.Bool+  set newValue CostTypesProperty {..}+    = CostTypesProperty {includeSupport = Prelude.pure newValue, ..}+instance Property "IncludeTax" CostTypesProperty where+  type PropertyType "IncludeTax" CostTypesProperty = Value Prelude.Bool+  set newValue CostTypesProperty {..}+    = CostTypesProperty {includeTax = Prelude.pure newValue, ..}+instance Property "IncludeUpfront" CostTypesProperty where+  type PropertyType "IncludeUpfront" CostTypesProperty = Value Prelude.Bool+  set newValue CostTypesProperty {..}+    = CostTypesProperty {includeUpfront = Prelude.pure newValue, ..}+instance Property "UseAmortized" CostTypesProperty where+  type PropertyType "UseAmortized" CostTypesProperty = Value Prelude.Bool+  set newValue CostTypesProperty {..}+    = CostTypesProperty {useAmortized = Prelude.pure newValue, ..}+instance Property "UseBlended" CostTypesProperty where+  type PropertyType "UseBlended" CostTypesProperty = Value Prelude.Bool+  set newValue CostTypesProperty {..}+    = CostTypesProperty {useBlended = Prelude.pure newValue, ..}
+ gen/Stratosphere/Budgets/Budget/CostTypesProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.Budget.CostTypesProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CostTypesProperty :: Prelude.Type+instance ToResourceProperties CostTypesProperty+instance Prelude.Eq CostTypesProperty+instance Prelude.Show CostTypesProperty+instance JSON.ToJSON CostTypesProperty
+ gen/Stratosphere/Budgets/Budget/ExpressionDimensionValuesProperty.hs view
@@ -0,0 +1,58 @@+module Stratosphere.Budgets.Budget.ExpressionDimensionValuesProperty (+        ExpressionDimensionValuesProperty(..),+        mkExpressionDimensionValuesProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ExpressionDimensionValuesProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expressiondimensionvalues.html>+    ExpressionDimensionValuesProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expressiondimensionvalues.html#cfn-budgets-budget-expressiondimensionvalues-key>+                                       key :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expressiondimensionvalues.html#cfn-budgets-budget-expressiondimensionvalues-matchoptions>+                                       matchOptions :: (Prelude.Maybe (ValueList Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expressiondimensionvalues.html#cfn-budgets-budget-expressiondimensionvalues-values>+                                       values :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkExpressionDimensionValuesProperty ::+  ExpressionDimensionValuesProperty+mkExpressionDimensionValuesProperty+  = ExpressionDimensionValuesProperty+      {haddock_workaround_ = (), key = Prelude.Nothing,+       matchOptions = Prelude.Nothing, values = Prelude.Nothing}+instance ToResourceProperties ExpressionDimensionValuesProperty where+  toResourceProperties ExpressionDimensionValuesProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::Budget.ExpressionDimensionValues",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Key" Prelude.<$> key,+                            (JSON..=) "MatchOptions" Prelude.<$> matchOptions,+                            (JSON..=) "Values" Prelude.<$> values])}+instance JSON.ToJSON ExpressionDimensionValuesProperty where+  toJSON ExpressionDimensionValuesProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Key" Prelude.<$> key,+               (JSON..=) "MatchOptions" Prelude.<$> matchOptions,+               (JSON..=) "Values" Prelude.<$> values]))+instance Property "Key" ExpressionDimensionValuesProperty where+  type PropertyType "Key" ExpressionDimensionValuesProperty = Value Prelude.Text+  set newValue ExpressionDimensionValuesProperty {..}+    = ExpressionDimensionValuesProperty+        {key = Prelude.pure newValue, ..}+instance Property "MatchOptions" ExpressionDimensionValuesProperty where+  type PropertyType "MatchOptions" ExpressionDimensionValuesProperty = ValueList Prelude.Text+  set newValue ExpressionDimensionValuesProperty {..}+    = ExpressionDimensionValuesProperty+        {matchOptions = Prelude.pure newValue, ..}+instance Property "Values" ExpressionDimensionValuesProperty where+  type PropertyType "Values" ExpressionDimensionValuesProperty = ValueList Prelude.Text+  set newValue ExpressionDimensionValuesProperty {..}+    = ExpressionDimensionValuesProperty+        {values = Prelude.pure newValue, ..}
+ gen/Stratosphere/Budgets/Budget/ExpressionDimensionValuesProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.Budget.ExpressionDimensionValuesProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ExpressionDimensionValuesProperty :: Prelude.Type+instance ToResourceProperties ExpressionDimensionValuesProperty+instance Prelude.Eq ExpressionDimensionValuesProperty+instance Prelude.Show ExpressionDimensionValuesProperty+instance JSON.ToJSON ExpressionDimensionValuesProperty
+ gen/Stratosphere/Budgets/Budget/ExpressionProperty.hs view
@@ -0,0 +1,79 @@+module Stratosphere.Budgets.Budget.ExpressionProperty (+        module Exports, ExpressionProperty(..), mkExpressionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.Budgets.Budget.CostCategoryValuesProperty as Exports+import {-# SOURCE #-} Stratosphere.Budgets.Budget.ExpressionDimensionValuesProperty as Exports+import {-# SOURCE #-} Stratosphere.Budgets.Budget.TagValuesProperty as Exports+import Stratosphere.ResourceProperties+data ExpressionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html>+    ExpressionProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-and>+                        and :: (Prelude.Maybe [ExpressionProperty]),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-costcategories>+                        costCategories :: (Prelude.Maybe CostCategoryValuesProperty),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-dimensions>+                        dimensions :: (Prelude.Maybe ExpressionDimensionValuesProperty),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-not>+                        not :: (Prelude.Maybe ExpressionProperty),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-or>+                        or :: (Prelude.Maybe [ExpressionProperty]),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-tags>+                        tags :: (Prelude.Maybe TagValuesProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkExpressionProperty :: ExpressionProperty+mkExpressionProperty+  = ExpressionProperty+      {haddock_workaround_ = (), and = Prelude.Nothing,+       costCategories = Prelude.Nothing, dimensions = Prelude.Nothing,+       not = Prelude.Nothing, or = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties ExpressionProperty where+  toResourceProperties ExpressionProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::Budget.Expression",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "And" Prelude.<$> and,+                            (JSON..=) "CostCategories" Prelude.<$> costCategories,+                            (JSON..=) "Dimensions" Prelude.<$> dimensions,+                            (JSON..=) "Not" Prelude.<$> not, (JSON..=) "Or" Prelude.<$> or,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON ExpressionProperty where+  toJSON ExpressionProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "And" Prelude.<$> and,+               (JSON..=) "CostCategories" Prelude.<$> costCategories,+               (JSON..=) "Dimensions" Prelude.<$> dimensions,+               (JSON..=) "Not" Prelude.<$> not, (JSON..=) "Or" Prelude.<$> or,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "And" ExpressionProperty where+  type PropertyType "And" ExpressionProperty = [ExpressionProperty]+  set newValue ExpressionProperty {..}+    = ExpressionProperty {and = Prelude.pure newValue, ..}+instance Property "CostCategories" ExpressionProperty where+  type PropertyType "CostCategories" ExpressionProperty = CostCategoryValuesProperty+  set newValue ExpressionProperty {..}+    = ExpressionProperty {costCategories = Prelude.pure newValue, ..}+instance Property "Dimensions" ExpressionProperty where+  type PropertyType "Dimensions" ExpressionProperty = ExpressionDimensionValuesProperty+  set newValue ExpressionProperty {..}+    = ExpressionProperty {dimensions = Prelude.pure newValue, ..}+instance Property "Not" ExpressionProperty where+  type PropertyType "Not" ExpressionProperty = ExpressionProperty+  set newValue ExpressionProperty {..}+    = ExpressionProperty {not = Prelude.pure newValue, ..}+instance Property "Or" ExpressionProperty where+  type PropertyType "Or" ExpressionProperty = [ExpressionProperty]+  set newValue ExpressionProperty {..}+    = ExpressionProperty {or = Prelude.pure newValue, ..}+instance Property "Tags" ExpressionProperty where+  type PropertyType "Tags" ExpressionProperty = TagValuesProperty+  set newValue ExpressionProperty {..}+    = ExpressionProperty {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/Budgets/Budget/ExpressionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.Budget.ExpressionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ExpressionProperty :: Prelude.Type+instance ToResourceProperties ExpressionProperty+instance Prelude.Eq ExpressionProperty+instance Prelude.Show ExpressionProperty+instance JSON.ToJSON ExpressionProperty
+ gen/Stratosphere/Budgets/Budget/HistoricalOptionsProperty.hs view
@@ -0,0 +1,35 @@+module Stratosphere.Budgets.Budget.HistoricalOptionsProperty (+        HistoricalOptionsProperty(..), mkHistoricalOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HistoricalOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-historicaloptions.html>+    HistoricalOptionsProperty {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-historicaloptions.html#cfn-budgets-budget-historicaloptions-budgetadjustmentperiod>+                               budgetAdjustmentPeriod :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHistoricalOptionsProperty ::+  Value Prelude.Integer -> HistoricalOptionsProperty+mkHistoricalOptionsProperty budgetAdjustmentPeriod+  = HistoricalOptionsProperty+      {haddock_workaround_ = (),+       budgetAdjustmentPeriod = budgetAdjustmentPeriod}+instance ToResourceProperties HistoricalOptionsProperty where+  toResourceProperties HistoricalOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::Budget.HistoricalOptions",+         supportsTags = Prelude.False,+         properties = ["BudgetAdjustmentPeriod"+                         JSON..= budgetAdjustmentPeriod]}+instance JSON.ToJSON HistoricalOptionsProperty where+  toJSON HistoricalOptionsProperty {..}+    = JSON.object+        ["BudgetAdjustmentPeriod" JSON..= budgetAdjustmentPeriod]+instance Property "BudgetAdjustmentPeriod" HistoricalOptionsProperty where+  type PropertyType "BudgetAdjustmentPeriod" HistoricalOptionsProperty = Value Prelude.Integer+  set newValue HistoricalOptionsProperty {..}+    = HistoricalOptionsProperty {budgetAdjustmentPeriod = newValue, ..}
+ gen/Stratosphere/Budgets/Budget/HistoricalOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.Budget.HistoricalOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HistoricalOptionsProperty :: Prelude.Type+instance ToResourceProperties HistoricalOptionsProperty+instance Prelude.Eq HistoricalOptionsProperty+instance Prelude.Show HistoricalOptionsProperty+instance JSON.ToJSON HistoricalOptionsProperty
+ gen/Stratosphere/Budgets/Budget/NotificationProperty.hs view
@@ -0,0 +1,70 @@+module Stratosphere.Budgets.Budget.NotificationProperty (+        NotificationProperty(..), mkNotificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NotificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notification.html>+    NotificationProperty {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notification.html#cfn-budgets-budget-notification-comparisonoperator>+                          comparisonOperator :: (Value Prelude.Text),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notification.html#cfn-budgets-budget-notification-notificationtype>+                          notificationType :: (Value Prelude.Text),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notification.html#cfn-budgets-budget-notification-threshold>+                          threshold :: (Value Prelude.Double),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notification.html#cfn-budgets-budget-notification-thresholdtype>+                          thresholdType :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNotificationProperty ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Double -> NotificationProperty+mkNotificationProperty+  comparisonOperator+  notificationType+  threshold+  = NotificationProperty+      {haddock_workaround_ = (), comparisonOperator = comparisonOperator,+       notificationType = notificationType, threshold = threshold,+       thresholdType = Prelude.Nothing}+instance ToResourceProperties NotificationProperty where+  toResourceProperties NotificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::Budget.Notification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ComparisonOperator" JSON..= comparisonOperator,+                            "NotificationType" JSON..= notificationType,+                            "Threshold" JSON..= threshold]+                           (Prelude.catMaybes+                              [(JSON..=) "ThresholdType" Prelude.<$> thresholdType]))}+instance JSON.ToJSON NotificationProperty where+  toJSON NotificationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ComparisonOperator" JSON..= comparisonOperator,+               "NotificationType" JSON..= notificationType,+               "Threshold" JSON..= threshold]+              (Prelude.catMaybes+                 [(JSON..=) "ThresholdType" Prelude.<$> thresholdType])))+instance Property "ComparisonOperator" NotificationProperty where+  type PropertyType "ComparisonOperator" NotificationProperty = Value Prelude.Text+  set newValue NotificationProperty {..}+    = NotificationProperty {comparisonOperator = newValue, ..}+instance Property "NotificationType" NotificationProperty where+  type PropertyType "NotificationType" NotificationProperty = Value Prelude.Text+  set newValue NotificationProperty {..}+    = NotificationProperty {notificationType = newValue, ..}+instance Property "Threshold" NotificationProperty where+  type PropertyType "Threshold" NotificationProperty = Value Prelude.Double+  set newValue NotificationProperty {..}+    = NotificationProperty {threshold = newValue, ..}+instance Property "ThresholdType" NotificationProperty where+  type PropertyType "ThresholdType" NotificationProperty = Value Prelude.Text+  set newValue NotificationProperty {..}+    = NotificationProperty {thresholdType = Prelude.pure newValue, ..}
+ gen/Stratosphere/Budgets/Budget/NotificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.Budget.NotificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data NotificationProperty :: Prelude.Type+instance ToResourceProperties NotificationProperty+instance Prelude.Eq NotificationProperty+instance Prelude.Show NotificationProperty+instance JSON.ToJSON NotificationProperty
+ gen/Stratosphere/Budgets/Budget/NotificationWithSubscribersProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.Budgets.Budget.NotificationWithSubscribersProperty (+        module Exports, NotificationWithSubscribersProperty(..),+        mkNotificationWithSubscribersProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.Budgets.Budget.NotificationProperty as Exports+import {-# SOURCE #-} Stratosphere.Budgets.Budget.SubscriberProperty as Exports+import Stratosphere.ResourceProperties+data NotificationWithSubscribersProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notificationwithsubscribers.html>+    NotificationWithSubscribersProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notificationwithsubscribers.html#cfn-budgets-budget-notificationwithsubscribers-notification>+                                         notification :: NotificationProperty,+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notificationwithsubscribers.html#cfn-budgets-budget-notificationwithsubscribers-subscribers>+                                         subscribers :: [SubscriberProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNotificationWithSubscribersProperty ::+  NotificationProperty+  -> [SubscriberProperty] -> NotificationWithSubscribersProperty+mkNotificationWithSubscribersProperty notification subscribers+  = NotificationWithSubscribersProperty+      {haddock_workaround_ = (), notification = notification,+       subscribers = subscribers}+instance ToResourceProperties NotificationWithSubscribersProperty where+  toResourceProperties NotificationWithSubscribersProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::Budget.NotificationWithSubscribers",+         supportsTags = Prelude.False,+         properties = ["Notification" JSON..= notification,+                       "Subscribers" JSON..= subscribers]}+instance JSON.ToJSON NotificationWithSubscribersProperty where+  toJSON NotificationWithSubscribersProperty {..}+    = JSON.object+        ["Notification" JSON..= notification,+         "Subscribers" JSON..= subscribers]+instance Property "Notification" NotificationWithSubscribersProperty where+  type PropertyType "Notification" NotificationWithSubscribersProperty = NotificationProperty+  set newValue NotificationWithSubscribersProperty {..}+    = NotificationWithSubscribersProperty {notification = newValue, ..}+instance Property "Subscribers" NotificationWithSubscribersProperty where+  type PropertyType "Subscribers" NotificationWithSubscribersProperty = [SubscriberProperty]+  set newValue NotificationWithSubscribersProperty {..}+    = NotificationWithSubscribersProperty {subscribers = newValue, ..}
+ gen/Stratosphere/Budgets/Budget/NotificationWithSubscribersProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.Budget.NotificationWithSubscribersProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data NotificationWithSubscribersProperty :: Prelude.Type+instance ToResourceProperties NotificationWithSubscribersProperty+instance Prelude.Eq NotificationWithSubscribersProperty+instance Prelude.Show NotificationWithSubscribersProperty+instance JSON.ToJSON NotificationWithSubscribersProperty
+ gen/Stratosphere/Budgets/Budget/ResourceTagProperty.hs view
@@ -0,0 +1,44 @@+module Stratosphere.Budgets.Budget.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-budgets-budget-resourcetag.html>+    ResourceTagProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-resourcetag.html#cfn-budgets-budget-resourcetag-key>+                         key :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-resourcetag.html#cfn-budgets-budget-resourcetag-value>+                         value :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkResourceTagProperty :: Value Prelude.Text -> ResourceTagProperty+mkResourceTagProperty key+  = ResourceTagProperty+      {haddock_workaround_ = (), key = key, value = Prelude.Nothing}+instance ToResourceProperties ResourceTagProperty where+  toResourceProperties ResourceTagProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::Budget.ResourceTag",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Key" JSON..= key]+                           (Prelude.catMaybes [(JSON..=) "Value" Prelude.<$> value]))}+instance JSON.ToJSON ResourceTagProperty where+  toJSON ResourceTagProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Key" JSON..= key]+              (Prelude.catMaybes [(JSON..=) "Value" Prelude.<$> 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 = Prelude.pure newValue, ..}
+ gen/Stratosphere/Budgets/Budget/ResourceTagProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.Budget.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/Budgets/Budget/SpendProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.Budgets.Budget.SpendProperty (+        SpendProperty(..), mkSpendProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SpendProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-spend.html>+    SpendProperty {haddock_workaround_ :: (),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-spend.html#cfn-budgets-budget-spend-amount>+                   amount :: (Value Prelude.Double),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-spend.html#cfn-budgets-budget-spend-unit>+                   unit :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSpendProperty ::+  Value Prelude.Double -> Value Prelude.Text -> SpendProperty+mkSpendProperty amount unit+  = SpendProperty+      {haddock_workaround_ = (), amount = amount, unit = unit}+instance ToResourceProperties SpendProperty where+  toResourceProperties SpendProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::Budget.Spend",+         supportsTags = Prelude.False,+         properties = ["Amount" JSON..= amount, "Unit" JSON..= unit]}+instance JSON.ToJSON SpendProperty where+  toJSON SpendProperty {..}+    = JSON.object ["Amount" JSON..= amount, "Unit" JSON..= unit]+instance Property "Amount" SpendProperty where+  type PropertyType "Amount" SpendProperty = Value Prelude.Double+  set newValue SpendProperty {..}+    = SpendProperty {amount = newValue, ..}+instance Property "Unit" SpendProperty where+  type PropertyType "Unit" SpendProperty = Value Prelude.Text+  set newValue SpendProperty {..}+    = SpendProperty {unit = newValue, ..}
+ gen/Stratosphere/Budgets/Budget/SpendProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.Budget.SpendProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SpendProperty :: Prelude.Type+instance ToResourceProperties SpendProperty+instance Prelude.Eq SpendProperty+instance Prelude.Show SpendProperty+instance JSON.ToJSON SpendProperty
+ gen/Stratosphere/Budgets/Budget/SubscriberProperty.hs view
@@ -0,0 +1,42 @@+module Stratosphere.Budgets.Budget.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-budgets-budget-subscriber.html>+    SubscriberProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-subscriber.html#cfn-budgets-budget-subscriber-address>+                        address :: (Value Prelude.Text),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-subscriber.html#cfn-budgets-budget-subscriber-subscriptiontype>+                        subscriptionType :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSubscriberProperty ::+  Value Prelude.Text -> Value Prelude.Text -> SubscriberProperty+mkSubscriberProperty address subscriptionType+  = SubscriberProperty+      {haddock_workaround_ = (), address = address,+       subscriptionType = subscriptionType}+instance ToResourceProperties SubscriberProperty where+  toResourceProperties SubscriberProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::Budget.Subscriber",+         supportsTags = Prelude.False,+         properties = ["Address" JSON..= address,+                       "SubscriptionType" JSON..= subscriptionType]}+instance JSON.ToJSON SubscriberProperty where+  toJSON SubscriberProperty {..}+    = JSON.object+        ["Address" JSON..= address,+         "SubscriptionType" JSON..= subscriptionType]+instance Property "Address" SubscriberProperty where+  type PropertyType "Address" SubscriberProperty = Value Prelude.Text+  set newValue SubscriberProperty {..}+    = SubscriberProperty {address = newValue, ..}+instance Property "SubscriptionType" SubscriberProperty where+  type PropertyType "SubscriptionType" SubscriberProperty = Value Prelude.Text+  set newValue SubscriberProperty {..}+    = SubscriberProperty {subscriptionType = newValue, ..}
+ gen/Stratosphere/Budgets/Budget/SubscriberProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.Budget.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/Budgets/Budget/TagValuesProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.Budgets.Budget.TagValuesProperty (+        TagValuesProperty(..), mkTagValuesProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TagValuesProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-tagvalues.html>+    TagValuesProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-tagvalues.html#cfn-budgets-budget-tagvalues-key>+                       key :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-tagvalues.html#cfn-budgets-budget-tagvalues-matchoptions>+                       matchOptions :: (Prelude.Maybe (ValueList Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-tagvalues.html#cfn-budgets-budget-tagvalues-values>+                       values :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTagValuesProperty :: TagValuesProperty+mkTagValuesProperty+  = TagValuesProperty+      {haddock_workaround_ = (), key = Prelude.Nothing,+       matchOptions = Prelude.Nothing, values = Prelude.Nothing}+instance ToResourceProperties TagValuesProperty where+  toResourceProperties TagValuesProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::Budget.TagValues",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Key" Prelude.<$> key,+                            (JSON..=) "MatchOptions" Prelude.<$> matchOptions,+                            (JSON..=) "Values" Prelude.<$> values])}+instance JSON.ToJSON TagValuesProperty where+  toJSON TagValuesProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Key" Prelude.<$> key,+               (JSON..=) "MatchOptions" Prelude.<$> matchOptions,+               (JSON..=) "Values" Prelude.<$> values]))+instance Property "Key" TagValuesProperty where+  type PropertyType "Key" TagValuesProperty = Value Prelude.Text+  set newValue TagValuesProperty {..}+    = TagValuesProperty {key = Prelude.pure newValue, ..}+instance Property "MatchOptions" TagValuesProperty where+  type PropertyType "MatchOptions" TagValuesProperty = ValueList Prelude.Text+  set newValue TagValuesProperty {..}+    = TagValuesProperty {matchOptions = Prelude.pure newValue, ..}+instance Property "Values" TagValuesProperty where+  type PropertyType "Values" TagValuesProperty = ValueList Prelude.Text+  set newValue TagValuesProperty {..}+    = TagValuesProperty {values = Prelude.pure newValue, ..}
+ gen/Stratosphere/Budgets/Budget/TagValuesProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.Budget.TagValuesProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TagValuesProperty :: Prelude.Type+instance ToResourceProperties TagValuesProperty+instance Prelude.Eq TagValuesProperty+instance Prelude.Show TagValuesProperty+instance JSON.ToJSON TagValuesProperty
+ gen/Stratosphere/Budgets/Budget/TimePeriodProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.Budgets.Budget.TimePeriodProperty (+        TimePeriodProperty(..), mkTimePeriodProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TimePeriodProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-timeperiod.html>+    TimePeriodProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-timeperiod.html#cfn-budgets-budget-timeperiod-end>+                        end :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-timeperiod.html#cfn-budgets-budget-timeperiod-start>+                        start :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTimePeriodProperty :: TimePeriodProperty+mkTimePeriodProperty+  = TimePeriodProperty+      {haddock_workaround_ = (), end = Prelude.Nothing,+       start = Prelude.Nothing}+instance ToResourceProperties TimePeriodProperty where+  toResourceProperties TimePeriodProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::Budget.TimePeriod",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "End" Prelude.<$> end,+                            (JSON..=) "Start" Prelude.<$> start])}+instance JSON.ToJSON TimePeriodProperty where+  toJSON TimePeriodProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "End" Prelude.<$> end,+               (JSON..=) "Start" Prelude.<$> start]))+instance Property "End" TimePeriodProperty where+  type PropertyType "End" TimePeriodProperty = Value Prelude.Text+  set newValue TimePeriodProperty {..}+    = TimePeriodProperty {end = Prelude.pure newValue, ..}+instance Property "Start" TimePeriodProperty where+  type PropertyType "Start" TimePeriodProperty = Value Prelude.Text+  set newValue TimePeriodProperty {..}+    = TimePeriodProperty {start = Prelude.pure newValue, ..}
+ gen/Stratosphere/Budgets/Budget/TimePeriodProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.Budget.TimePeriodProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TimePeriodProperty :: Prelude.Type+instance ToResourceProperties TimePeriodProperty+instance Prelude.Eq TimePeriodProperty+instance Prelude.Show TimePeriodProperty+instance JSON.ToJSON TimePeriodProperty
+ gen/Stratosphere/Budgets/BudgetsAction.hs view
@@ -0,0 +1,121 @@+module Stratosphere.Budgets.BudgetsAction (+        module Exports, BudgetsAction(..), mkBudgetsAction+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.Budgets.BudgetsAction.ActionThresholdProperty as Exports+import {-# SOURCE #-} Stratosphere.Budgets.BudgetsAction.DefinitionProperty as Exports+import {-# SOURCE #-} Stratosphere.Budgets.BudgetsAction.ResourceTagProperty as Exports+import {-# SOURCE #-} Stratosphere.Budgets.BudgetsAction.SubscriberProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data BudgetsAction+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budgetsaction.html>+    BudgetsAction {haddock_workaround_ :: (),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budgetsaction.html#cfn-budgets-budgetsaction-actionthreshold>+                   actionThreshold :: ActionThresholdProperty,+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budgetsaction.html#cfn-budgets-budgetsaction-actiontype>+                   actionType :: (Value Prelude.Text),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budgetsaction.html#cfn-budgets-budgetsaction-approvalmodel>+                   approvalModel :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budgetsaction.html#cfn-budgets-budgetsaction-budgetname>+                   budgetName :: (Value Prelude.Text),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budgetsaction.html#cfn-budgets-budgetsaction-definition>+                   definition :: DefinitionProperty,+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budgetsaction.html#cfn-budgets-budgetsaction-executionrolearn>+                   executionRoleArn :: (Value Prelude.Text),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budgetsaction.html#cfn-budgets-budgetsaction-notificationtype>+                   notificationType :: (Value Prelude.Text),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budgetsaction.html#cfn-budgets-budgetsaction-resourcetags>+                   resourceTags :: (Prelude.Maybe [ResourceTagProperty]),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budgetsaction.html#cfn-budgets-budgetsaction-subscribers>+                   subscribers :: [SubscriberProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBudgetsAction ::+  ActionThresholdProperty+  -> Value Prelude.Text+     -> Value Prelude.Text+        -> DefinitionProperty+           -> Value Prelude.Text+              -> Value Prelude.Text -> [SubscriberProperty] -> BudgetsAction+mkBudgetsAction+  actionThreshold+  actionType+  budgetName+  definition+  executionRoleArn+  notificationType+  subscribers+  = BudgetsAction+      {haddock_workaround_ = (), actionThreshold = actionThreshold,+       actionType = actionType, budgetName = budgetName,+       definition = definition, executionRoleArn = executionRoleArn,+       notificationType = notificationType, subscribers = subscribers,+       approvalModel = Prelude.Nothing, resourceTags = Prelude.Nothing}+instance ToResourceProperties BudgetsAction where+  toResourceProperties BudgetsAction {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::BudgetsAction",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ActionThreshold" JSON..= actionThreshold,+                            "ActionType" JSON..= actionType, "BudgetName" JSON..= budgetName,+                            "Definition" JSON..= definition,+                            "ExecutionRoleArn" JSON..= executionRoleArn,+                            "NotificationType" JSON..= notificationType,+                            "Subscribers" JSON..= subscribers]+                           (Prelude.catMaybes+                              [(JSON..=) "ApprovalModel" Prelude.<$> approvalModel,+                               (JSON..=) "ResourceTags" Prelude.<$> resourceTags]))}+instance JSON.ToJSON BudgetsAction where+  toJSON BudgetsAction {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ActionThreshold" JSON..= actionThreshold,+               "ActionType" JSON..= actionType, "BudgetName" JSON..= budgetName,+               "Definition" JSON..= definition,+               "ExecutionRoleArn" JSON..= executionRoleArn,+               "NotificationType" JSON..= notificationType,+               "Subscribers" JSON..= subscribers]+              (Prelude.catMaybes+                 [(JSON..=) "ApprovalModel" Prelude.<$> approvalModel,+                  (JSON..=) "ResourceTags" Prelude.<$> resourceTags])))+instance Property "ActionThreshold" BudgetsAction where+  type PropertyType "ActionThreshold" BudgetsAction = ActionThresholdProperty+  set newValue BudgetsAction {..}+    = BudgetsAction {actionThreshold = newValue, ..}+instance Property "ActionType" BudgetsAction where+  type PropertyType "ActionType" BudgetsAction = Value Prelude.Text+  set newValue BudgetsAction {..}+    = BudgetsAction {actionType = newValue, ..}+instance Property "ApprovalModel" BudgetsAction where+  type PropertyType "ApprovalModel" BudgetsAction = Value Prelude.Text+  set newValue BudgetsAction {..}+    = BudgetsAction {approvalModel = Prelude.pure newValue, ..}+instance Property "BudgetName" BudgetsAction where+  type PropertyType "BudgetName" BudgetsAction = Value Prelude.Text+  set newValue BudgetsAction {..}+    = BudgetsAction {budgetName = newValue, ..}+instance Property "Definition" BudgetsAction where+  type PropertyType "Definition" BudgetsAction = DefinitionProperty+  set newValue BudgetsAction {..}+    = BudgetsAction {definition = newValue, ..}+instance Property "ExecutionRoleArn" BudgetsAction where+  type PropertyType "ExecutionRoleArn" BudgetsAction = Value Prelude.Text+  set newValue BudgetsAction {..}+    = BudgetsAction {executionRoleArn = newValue, ..}+instance Property "NotificationType" BudgetsAction where+  type PropertyType "NotificationType" BudgetsAction = Value Prelude.Text+  set newValue BudgetsAction {..}+    = BudgetsAction {notificationType = newValue, ..}+instance Property "ResourceTags" BudgetsAction where+  type PropertyType "ResourceTags" BudgetsAction = [ResourceTagProperty]+  set newValue BudgetsAction {..}+    = BudgetsAction {resourceTags = Prelude.pure newValue, ..}+instance Property "Subscribers" BudgetsAction where+  type PropertyType "Subscribers" BudgetsAction = [SubscriberProperty]+  set newValue BudgetsAction {..}+    = BudgetsAction {subscribers = newValue, ..}
+ gen/Stratosphere/Budgets/BudgetsAction/ActionThresholdProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.Budgets.BudgetsAction.ActionThresholdProperty (+        ActionThresholdProperty(..), mkActionThresholdProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ActionThresholdProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-actionthreshold.html>+    ActionThresholdProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-actionthreshold.html#cfn-budgets-budgetsaction-actionthreshold-type>+                             type' :: (Value Prelude.Text),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-actionthreshold.html#cfn-budgets-budgetsaction-actionthreshold-value>+                             value :: (Value Prelude.Double)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkActionThresholdProperty ::+  Value Prelude.Text+  -> Value Prelude.Double -> ActionThresholdProperty+mkActionThresholdProperty type' value+  = ActionThresholdProperty+      {haddock_workaround_ = (), type' = type', value = value}+instance ToResourceProperties ActionThresholdProperty where+  toResourceProperties ActionThresholdProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::BudgetsAction.ActionThreshold",+         supportsTags = Prelude.False,+         properties = ["Type" JSON..= type', "Value" JSON..= value]}+instance JSON.ToJSON ActionThresholdProperty where+  toJSON ActionThresholdProperty {..}+    = JSON.object ["Type" JSON..= type', "Value" JSON..= value]+instance Property "Type" ActionThresholdProperty where+  type PropertyType "Type" ActionThresholdProperty = Value Prelude.Text+  set newValue ActionThresholdProperty {..}+    = ActionThresholdProperty {type' = newValue, ..}+instance Property "Value" ActionThresholdProperty where+  type PropertyType "Value" ActionThresholdProperty = Value Prelude.Double+  set newValue ActionThresholdProperty {..}+    = ActionThresholdProperty {value = newValue, ..}
+ gen/Stratosphere/Budgets/BudgetsAction/ActionThresholdProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.BudgetsAction.ActionThresholdProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ActionThresholdProperty :: Prelude.Type+instance ToResourceProperties ActionThresholdProperty+instance Prelude.Eq ActionThresholdProperty+instance Prelude.Show ActionThresholdProperty+instance JSON.ToJSON ActionThresholdProperty
+ gen/Stratosphere/Budgets/BudgetsAction/DefinitionProperty.hs view
@@ -0,0 +1,59 @@+module Stratosphere.Budgets.BudgetsAction.DefinitionProperty (+        module Exports, DefinitionProperty(..), mkDefinitionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.Budgets.BudgetsAction.IamActionDefinitionProperty as Exports+import {-# SOURCE #-} Stratosphere.Budgets.BudgetsAction.ScpActionDefinitionProperty as Exports+import {-# SOURCE #-} Stratosphere.Budgets.BudgetsAction.SsmActionDefinitionProperty as Exports+import Stratosphere.ResourceProperties+data DefinitionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-definition.html>+    DefinitionProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-definition.html#cfn-budgets-budgetsaction-definition-iamactiondefinition>+                        iamActionDefinition :: (Prelude.Maybe IamActionDefinitionProperty),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-definition.html#cfn-budgets-budgetsaction-definition-scpactiondefinition>+                        scpActionDefinition :: (Prelude.Maybe ScpActionDefinitionProperty),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-definition.html#cfn-budgets-budgetsaction-definition-ssmactiondefinition>+                        ssmActionDefinition :: (Prelude.Maybe SsmActionDefinitionProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDefinitionProperty :: DefinitionProperty+mkDefinitionProperty+  = DefinitionProperty+      {haddock_workaround_ = (), iamActionDefinition = Prelude.Nothing,+       scpActionDefinition = Prelude.Nothing,+       ssmActionDefinition = Prelude.Nothing}+instance ToResourceProperties DefinitionProperty where+  toResourceProperties DefinitionProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::BudgetsAction.Definition",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "IamActionDefinition" Prelude.<$> iamActionDefinition,+                            (JSON..=) "ScpActionDefinition" Prelude.<$> scpActionDefinition,+                            (JSON..=) "SsmActionDefinition" Prelude.<$> ssmActionDefinition])}+instance JSON.ToJSON DefinitionProperty where+  toJSON DefinitionProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "IamActionDefinition" Prelude.<$> iamActionDefinition,+               (JSON..=) "ScpActionDefinition" Prelude.<$> scpActionDefinition,+               (JSON..=) "SsmActionDefinition" Prelude.<$> ssmActionDefinition]))+instance Property "IamActionDefinition" DefinitionProperty where+  type PropertyType "IamActionDefinition" DefinitionProperty = IamActionDefinitionProperty+  set newValue DefinitionProperty {..}+    = DefinitionProperty+        {iamActionDefinition = Prelude.pure newValue, ..}+instance Property "ScpActionDefinition" DefinitionProperty where+  type PropertyType "ScpActionDefinition" DefinitionProperty = ScpActionDefinitionProperty+  set newValue DefinitionProperty {..}+    = DefinitionProperty+        {scpActionDefinition = Prelude.pure newValue, ..}+instance Property "SsmActionDefinition" DefinitionProperty where+  type PropertyType "SsmActionDefinition" DefinitionProperty = SsmActionDefinitionProperty+  set newValue DefinitionProperty {..}+    = DefinitionProperty+        {ssmActionDefinition = Prelude.pure newValue, ..}
+ gen/Stratosphere/Budgets/BudgetsAction/DefinitionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.BudgetsAction.DefinitionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DefinitionProperty :: Prelude.Type+instance ToResourceProperties DefinitionProperty+instance Prelude.Eq DefinitionProperty+instance Prelude.Show DefinitionProperty+instance JSON.ToJSON DefinitionProperty
+ gen/Stratosphere/Budgets/BudgetsAction/IamActionDefinitionProperty.hs view
@@ -0,0 +1,65 @@+module Stratosphere.Budgets.BudgetsAction.IamActionDefinitionProperty (+        IamActionDefinitionProperty(..), mkIamActionDefinitionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data IamActionDefinitionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-iamactiondefinition.html>+    IamActionDefinitionProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-iamactiondefinition.html#cfn-budgets-budgetsaction-iamactiondefinition-groups>+                                 groups :: (Prelude.Maybe (ValueList Prelude.Text)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-iamactiondefinition.html#cfn-budgets-budgetsaction-iamactiondefinition-policyarn>+                                 policyArn :: (Value Prelude.Text),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-iamactiondefinition.html#cfn-budgets-budgetsaction-iamactiondefinition-roles>+                                 roles :: (Prelude.Maybe (ValueList Prelude.Text)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-iamactiondefinition.html#cfn-budgets-budgetsaction-iamactiondefinition-users>+                                 users :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIamActionDefinitionProperty ::+  Value Prelude.Text -> IamActionDefinitionProperty+mkIamActionDefinitionProperty policyArn+  = IamActionDefinitionProperty+      {haddock_workaround_ = (), policyArn = policyArn,+       groups = Prelude.Nothing, roles = Prelude.Nothing,+       users = Prelude.Nothing}+instance ToResourceProperties IamActionDefinitionProperty where+  toResourceProperties IamActionDefinitionProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::BudgetsAction.IamActionDefinition",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["PolicyArn" JSON..= policyArn]+                           (Prelude.catMaybes+                              [(JSON..=) "Groups" Prelude.<$> groups,+                               (JSON..=) "Roles" Prelude.<$> roles,+                               (JSON..=) "Users" Prelude.<$> users]))}+instance JSON.ToJSON IamActionDefinitionProperty where+  toJSON IamActionDefinitionProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["PolicyArn" JSON..= policyArn]+              (Prelude.catMaybes+                 [(JSON..=) "Groups" Prelude.<$> groups,+                  (JSON..=) "Roles" Prelude.<$> roles,+                  (JSON..=) "Users" Prelude.<$> users])))+instance Property "Groups" IamActionDefinitionProperty where+  type PropertyType "Groups" IamActionDefinitionProperty = ValueList Prelude.Text+  set newValue IamActionDefinitionProperty {..}+    = IamActionDefinitionProperty {groups = Prelude.pure newValue, ..}+instance Property "PolicyArn" IamActionDefinitionProperty where+  type PropertyType "PolicyArn" IamActionDefinitionProperty = Value Prelude.Text+  set newValue IamActionDefinitionProperty {..}+    = IamActionDefinitionProperty {policyArn = newValue, ..}+instance Property "Roles" IamActionDefinitionProperty where+  type PropertyType "Roles" IamActionDefinitionProperty = ValueList Prelude.Text+  set newValue IamActionDefinitionProperty {..}+    = IamActionDefinitionProperty {roles = Prelude.pure newValue, ..}+instance Property "Users" IamActionDefinitionProperty where+  type PropertyType "Users" IamActionDefinitionProperty = ValueList Prelude.Text+  set newValue IamActionDefinitionProperty {..}+    = IamActionDefinitionProperty {users = Prelude.pure newValue, ..}
+ gen/Stratosphere/Budgets/BudgetsAction/IamActionDefinitionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.BudgetsAction.IamActionDefinitionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data IamActionDefinitionProperty :: Prelude.Type+instance ToResourceProperties IamActionDefinitionProperty+instance Prelude.Eq IamActionDefinitionProperty+instance Prelude.Show IamActionDefinitionProperty+instance JSON.ToJSON IamActionDefinitionProperty
+ gen/Stratosphere/Budgets/BudgetsAction/ResourceTagProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.Budgets.BudgetsAction.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-budgets-budgetsaction-resourcetag.html>+    ResourceTagProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-resourcetag.html#cfn-budgets-budgetsaction-resourcetag-key>+                         key :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-resourcetag.html#cfn-budgets-budgetsaction-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::Budgets::BudgetsAction.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/Budgets/BudgetsAction/ResourceTagProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.BudgetsAction.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/Budgets/BudgetsAction/ScpActionDefinitionProperty.hs view
@@ -0,0 +1,42 @@+module Stratosphere.Budgets.BudgetsAction.ScpActionDefinitionProperty (+        ScpActionDefinitionProperty(..), mkScpActionDefinitionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ScpActionDefinitionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-scpactiondefinition.html>+    ScpActionDefinitionProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-scpactiondefinition.html#cfn-budgets-budgetsaction-scpactiondefinition-policyid>+                                 policyId :: (Value Prelude.Text),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-scpactiondefinition.html#cfn-budgets-budgetsaction-scpactiondefinition-targetids>+                                 targetIds :: (ValueList Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkScpActionDefinitionProperty ::+  Value Prelude.Text+  -> ValueList Prelude.Text -> ScpActionDefinitionProperty+mkScpActionDefinitionProperty policyId targetIds+  = ScpActionDefinitionProperty+      {haddock_workaround_ = (), policyId = policyId,+       targetIds = targetIds}+instance ToResourceProperties ScpActionDefinitionProperty where+  toResourceProperties ScpActionDefinitionProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::BudgetsAction.ScpActionDefinition",+         supportsTags = Prelude.False,+         properties = ["PolicyId" JSON..= policyId,+                       "TargetIds" JSON..= targetIds]}+instance JSON.ToJSON ScpActionDefinitionProperty where+  toJSON ScpActionDefinitionProperty {..}+    = JSON.object+        ["PolicyId" JSON..= policyId, "TargetIds" JSON..= targetIds]+instance Property "PolicyId" ScpActionDefinitionProperty where+  type PropertyType "PolicyId" ScpActionDefinitionProperty = Value Prelude.Text+  set newValue ScpActionDefinitionProperty {..}+    = ScpActionDefinitionProperty {policyId = newValue, ..}+instance Property "TargetIds" ScpActionDefinitionProperty where+  type PropertyType "TargetIds" ScpActionDefinitionProperty = ValueList Prelude.Text+  set newValue ScpActionDefinitionProperty {..}+    = ScpActionDefinitionProperty {targetIds = newValue, ..}
+ gen/Stratosphere/Budgets/BudgetsAction/ScpActionDefinitionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.BudgetsAction.ScpActionDefinitionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ScpActionDefinitionProperty :: Prelude.Type+instance ToResourceProperties ScpActionDefinitionProperty+instance Prelude.Eq ScpActionDefinitionProperty+instance Prelude.Show ScpActionDefinitionProperty+instance JSON.ToJSON ScpActionDefinitionProperty
+ gen/Stratosphere/Budgets/BudgetsAction/SsmActionDefinitionProperty.hs view
@@ -0,0 +1,50 @@+module Stratosphere.Budgets.BudgetsAction.SsmActionDefinitionProperty (+        SsmActionDefinitionProperty(..), mkSsmActionDefinitionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SsmActionDefinitionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-ssmactiondefinition.html>+    SsmActionDefinitionProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-ssmactiondefinition.html#cfn-budgets-budgetsaction-ssmactiondefinition-instanceids>+                                 instanceIds :: (ValueList Prelude.Text),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-ssmactiondefinition.html#cfn-budgets-budgetsaction-ssmactiondefinition-region>+                                 region :: (Value Prelude.Text),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-ssmactiondefinition.html#cfn-budgets-budgetsaction-ssmactiondefinition-subtype>+                                 subtype :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSsmActionDefinitionProperty ::+  ValueList Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text -> SsmActionDefinitionProperty+mkSsmActionDefinitionProperty instanceIds region subtype+  = SsmActionDefinitionProperty+      {haddock_workaround_ = (), instanceIds = instanceIds,+       region = region, subtype = subtype}+instance ToResourceProperties SsmActionDefinitionProperty where+  toResourceProperties SsmActionDefinitionProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::BudgetsAction.SsmActionDefinition",+         supportsTags = Prelude.False,+         properties = ["InstanceIds" JSON..= instanceIds,+                       "Region" JSON..= region, "Subtype" JSON..= subtype]}+instance JSON.ToJSON SsmActionDefinitionProperty where+  toJSON SsmActionDefinitionProperty {..}+    = JSON.object+        ["InstanceIds" JSON..= instanceIds, "Region" JSON..= region,+         "Subtype" JSON..= subtype]+instance Property "InstanceIds" SsmActionDefinitionProperty where+  type PropertyType "InstanceIds" SsmActionDefinitionProperty = ValueList Prelude.Text+  set newValue SsmActionDefinitionProperty {..}+    = SsmActionDefinitionProperty {instanceIds = newValue, ..}+instance Property "Region" SsmActionDefinitionProperty where+  type PropertyType "Region" SsmActionDefinitionProperty = Value Prelude.Text+  set newValue SsmActionDefinitionProperty {..}+    = SsmActionDefinitionProperty {region = newValue, ..}+instance Property "Subtype" SsmActionDefinitionProperty where+  type PropertyType "Subtype" SsmActionDefinitionProperty = Value Prelude.Text+  set newValue SsmActionDefinitionProperty {..}+    = SsmActionDefinitionProperty {subtype = newValue, ..}
+ gen/Stratosphere/Budgets/BudgetsAction/SsmActionDefinitionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.BudgetsAction.SsmActionDefinitionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SsmActionDefinitionProperty :: Prelude.Type+instance ToResourceProperties SsmActionDefinitionProperty+instance Prelude.Eq SsmActionDefinitionProperty+instance Prelude.Show SsmActionDefinitionProperty+instance JSON.ToJSON SsmActionDefinitionProperty
+ gen/Stratosphere/Budgets/BudgetsAction/SubscriberProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.Budgets.BudgetsAction.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-budgets-budgetsaction-subscriber.html>+    SubscriberProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-subscriber.html#cfn-budgets-budgetsaction-subscriber-address>+                        address :: (Value Prelude.Text),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-subscriber.html#cfn-budgets-budgetsaction-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'}+instance ToResourceProperties SubscriberProperty where+  toResourceProperties SubscriberProperty {..}+    = ResourceProperties+        {awsType = "AWS::Budgets::BudgetsAction.Subscriber",+         supportsTags = Prelude.False,+         properties = ["Address" JSON..= address, "Type" JSON..= type']}+instance JSON.ToJSON SubscriberProperty where+  toJSON SubscriberProperty {..}+    = JSON.object ["Address" JSON..= address, "Type" JSON..= type']+instance Property "Address" SubscriberProperty where+  type PropertyType "Address" SubscriberProperty = Value Prelude.Text+  set newValue SubscriberProperty {..}+    = SubscriberProperty {address = newValue, ..}+instance Property "Type" SubscriberProperty where+  type PropertyType "Type" SubscriberProperty = Value Prelude.Text+  set newValue SubscriberProperty {..}+    = SubscriberProperty {type' = newValue, ..}
+ gen/Stratosphere/Budgets/BudgetsAction/SubscriberProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Budgets.BudgetsAction.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
+ stratosphere-budgets.cabal view
@@ -0,0 +1,95 @@+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-budgets+version:        1.0.0+synopsis:       Stratosphere integration for AWS Budgets.+description:    Integration into stratosphere to generate resources and properties for AWS Budgets+category:       AWS, Cloud, Budgets+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.Budgets.Budget+      Stratosphere.Budgets.Budget.AutoAdjustDataProperty+      Stratosphere.Budgets.Budget.BudgetDataProperty+      Stratosphere.Budgets.Budget.CostCategoryValuesProperty+      Stratosphere.Budgets.Budget.CostTypesProperty+      Stratosphere.Budgets.Budget.ExpressionDimensionValuesProperty+      Stratosphere.Budgets.Budget.ExpressionProperty+      Stratosphere.Budgets.Budget.HistoricalOptionsProperty+      Stratosphere.Budgets.Budget.NotificationProperty+      Stratosphere.Budgets.Budget.NotificationWithSubscribersProperty+      Stratosphere.Budgets.Budget.ResourceTagProperty+      Stratosphere.Budgets.Budget.SpendProperty+      Stratosphere.Budgets.Budget.SubscriberProperty+      Stratosphere.Budgets.Budget.TagValuesProperty+      Stratosphere.Budgets.Budget.TimePeriodProperty+      Stratosphere.Budgets.BudgetsAction+      Stratosphere.Budgets.BudgetsAction.ActionThresholdProperty+      Stratosphere.Budgets.BudgetsAction.DefinitionProperty+      Stratosphere.Budgets.BudgetsAction.IamActionDefinitionProperty+      Stratosphere.Budgets.BudgetsAction.ResourceTagProperty+      Stratosphere.Budgets.BudgetsAction.ScpActionDefinitionProperty+      Stratosphere.Budgets.BudgetsAction.SsmActionDefinitionProperty+      Stratosphere.Budgets.BudgetsAction.SubscriberProperty+  other-modules:+      Paths_stratosphere_budgets+  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