stratosphere-billingconductor (empty) → 1.0.0
raw patch · 26 files changed
+1022/−0 lines, 26 filesdep +aesondep +basedep +stratosphere
Dependencies added: aeson, base, stratosphere
Files
- LICENSE.md +20/−0
- gen/Stratosphere/BillingConductor/BillingGroup.hs +88/−0
- gen/Stratosphere/BillingConductor/BillingGroup/AccountGroupingProperty.hs +49/−0
- gen/Stratosphere/BillingConductor/BillingGroup/AccountGroupingProperty.hs-boot +9/−0
- gen/Stratosphere/BillingConductor/BillingGroup/ComputationPreferenceProperty.hs +32/−0
- gen/Stratosphere/BillingConductor/BillingGroup/ComputationPreferenceProperty.hs-boot +9/−0
- gen/Stratosphere/BillingConductor/CustomLineItem.hs +114/−0
- gen/Stratosphere/BillingConductor/CustomLineItem/BillingPeriodRangeProperty.hs +52/−0
- gen/Stratosphere/BillingConductor/CustomLineItem/BillingPeriodRangeProperty.hs-boot +9/−0
- gen/Stratosphere/BillingConductor/CustomLineItem/CustomLineItemChargeDetailsProperty.hs +71/−0
- gen/Stratosphere/BillingConductor/CustomLineItem/CustomLineItemChargeDetailsProperty.hs-boot +9/−0
- gen/Stratosphere/BillingConductor/CustomLineItem/CustomLineItemFlatChargeDetailsProperty.hs +34/−0
- gen/Stratosphere/BillingConductor/CustomLineItem/CustomLineItemFlatChargeDetailsProperty.hs-boot +9/−0
- gen/Stratosphere/BillingConductor/CustomLineItem/CustomLineItemPercentageChargeDetailsProperty.hs +55/−0
- gen/Stratosphere/BillingConductor/CustomLineItem/CustomLineItemPercentageChargeDetailsProperty.hs-boot +9/−0
- gen/Stratosphere/BillingConductor/CustomLineItem/LineItemFilterProperty.hs +50/−0
- gen/Stratosphere/BillingConductor/CustomLineItem/LineItemFilterProperty.hs-boot +9/−0
- gen/Stratosphere/BillingConductor/CustomLineItem/PresentationDetailsProperty.hs +32/−0
- gen/Stratosphere/BillingConductor/CustomLineItem/PresentationDetailsProperty.hs-boot +9/−0
- gen/Stratosphere/BillingConductor/PricingPlan.hs +64/−0
- gen/Stratosphere/BillingConductor/PricingRule.hs +120/−0
- gen/Stratosphere/BillingConductor/PricingRule/FreeTierProperty.hs +31/−0
- gen/Stratosphere/BillingConductor/PricingRule/FreeTierProperty.hs-boot +9/−0
- gen/Stratosphere/BillingConductor/PricingRule/TieringProperty.hs +34/−0
- gen/Stratosphere/BillingConductor/PricingRule/TieringProperty.hs-boot +9/−0
- stratosphere-billingconductor.cabal +86/−0
+ LICENSE.md view
@@ -0,0 +1,20 @@+Copyright (c) 2016 David Reaver+Copyright (c) 2022 Markus Schirp++Permission is hereby granted, free of charge, to any person obtaining a copy of+this software and associated documentation files (the "Software"), to deal in+the Software without restriction, including without limitation the rights to+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies+of the Software, and to permit persons to whom the Software is furnished to do+so, subject to the following conditions:++The above copyright notice and this permission notice shall be included in all+copies or substantial portions of the Software.++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE+SOFTWARE.
+ gen/Stratosphere/BillingConductor/BillingGroup.hs view
@@ -0,0 +1,88 @@+module Stratosphere.BillingConductor.BillingGroup (+ module Exports, BillingGroup(..), mkBillingGroup+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.BillingConductor.BillingGroup.AccountGroupingProperty as Exports+import {-# SOURCE #-} Stratosphere.BillingConductor.BillingGroup.ComputationPreferenceProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data BillingGroup+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-billinggroup.html>+ BillingGroup {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-billinggroup.html#cfn-billingconductor-billinggroup-accountgrouping>+ accountGrouping :: AccountGroupingProperty,+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-billinggroup.html#cfn-billingconductor-billinggroup-computationpreference>+ computationPreference :: ComputationPreferenceProperty,+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-billinggroup.html#cfn-billingconductor-billinggroup-description>+ description :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-billinggroup.html#cfn-billingconductor-billinggroup-name>+ name :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-billinggroup.html#cfn-billingconductor-billinggroup-primaryaccountid>+ primaryAccountId :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-billinggroup.html#cfn-billingconductor-billinggroup-tags>+ tags :: (Prelude.Maybe [Tag])}+ deriving stock (Prelude.Eq, Prelude.Show)+mkBillingGroup ::+ AccountGroupingProperty+ -> ComputationPreferenceProperty+ -> Value Prelude.Text -> Value Prelude.Text -> BillingGroup+mkBillingGroup+ accountGrouping+ computationPreference+ name+ primaryAccountId+ = BillingGroup+ {haddock_workaround_ = (), accountGrouping = accountGrouping,+ computationPreference = computationPreference, name = name,+ primaryAccountId = primaryAccountId, description = Prelude.Nothing,+ tags = Prelude.Nothing}+instance ToResourceProperties BillingGroup where+ toResourceProperties BillingGroup {..}+ = ResourceProperties+ {awsType = "AWS::BillingConductor::BillingGroup",+ supportsTags = Prelude.True,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["AccountGrouping" JSON..= accountGrouping,+ "ComputationPreference" JSON..= computationPreference,+ "Name" JSON..= name, "PrimaryAccountId" JSON..= primaryAccountId]+ (Prelude.catMaybes+ [(JSON..=) "Description" Prelude.<$> description,+ (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON BillingGroup where+ toJSON BillingGroup {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["AccountGrouping" JSON..= accountGrouping,+ "ComputationPreference" JSON..= computationPreference,+ "Name" JSON..= name, "PrimaryAccountId" JSON..= primaryAccountId]+ (Prelude.catMaybes+ [(JSON..=) "Description" Prelude.<$> description,+ (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "AccountGrouping" BillingGroup where+ type PropertyType "AccountGrouping" BillingGroup = AccountGroupingProperty+ set newValue BillingGroup {..}+ = BillingGroup {accountGrouping = newValue, ..}+instance Property "ComputationPreference" BillingGroup where+ type PropertyType "ComputationPreference" BillingGroup = ComputationPreferenceProperty+ set newValue BillingGroup {..}+ = BillingGroup {computationPreference = newValue, ..}+instance Property "Description" BillingGroup where+ type PropertyType "Description" BillingGroup = Value Prelude.Text+ set newValue BillingGroup {..}+ = BillingGroup {description = Prelude.pure newValue, ..}+instance Property "Name" BillingGroup where+ type PropertyType "Name" BillingGroup = Value Prelude.Text+ set newValue BillingGroup {..} = BillingGroup {name = newValue, ..}+instance Property "PrimaryAccountId" BillingGroup where+ type PropertyType "PrimaryAccountId" BillingGroup = Value Prelude.Text+ set newValue BillingGroup {..}+ = BillingGroup {primaryAccountId = newValue, ..}+instance Property "Tags" BillingGroup where+ type PropertyType "Tags" BillingGroup = [Tag]+ set newValue BillingGroup {..}+ = BillingGroup {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/BillingConductor/BillingGroup/AccountGroupingProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.BillingConductor.BillingGroup.AccountGroupingProperty (+ AccountGroupingProperty(..), mkAccountGroupingProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AccountGroupingProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-billinggroup-accountgrouping.html>+ AccountGroupingProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-billinggroup-accountgrouping.html#cfn-billingconductor-billinggroup-accountgrouping-autoassociate>+ autoAssociate :: (Prelude.Maybe (Value Prelude.Bool)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-billinggroup-accountgrouping.html#cfn-billingconductor-billinggroup-accountgrouping-linkedaccountids>+ linkedAccountIds :: (ValueList Prelude.Text)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkAccountGroupingProperty ::+ ValueList Prelude.Text -> AccountGroupingProperty+mkAccountGroupingProperty linkedAccountIds+ = AccountGroupingProperty+ {haddock_workaround_ = (), linkedAccountIds = linkedAccountIds,+ autoAssociate = Prelude.Nothing}+instance ToResourceProperties AccountGroupingProperty where+ toResourceProperties AccountGroupingProperty {..}+ = ResourceProperties+ {awsType = "AWS::BillingConductor::BillingGroup.AccountGrouping",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["LinkedAccountIds" JSON..= linkedAccountIds]+ (Prelude.catMaybes+ [(JSON..=) "AutoAssociate" Prelude.<$> autoAssociate]))}+instance JSON.ToJSON AccountGroupingProperty where+ toJSON AccountGroupingProperty {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["LinkedAccountIds" JSON..= linkedAccountIds]+ (Prelude.catMaybes+ [(JSON..=) "AutoAssociate" Prelude.<$> autoAssociate])))+instance Property "AutoAssociate" AccountGroupingProperty where+ type PropertyType "AutoAssociate" AccountGroupingProperty = Value Prelude.Bool+ set newValue AccountGroupingProperty {..}+ = AccountGroupingProperty+ {autoAssociate = Prelude.pure newValue, ..}+instance Property "LinkedAccountIds" AccountGroupingProperty where+ type PropertyType "LinkedAccountIds" AccountGroupingProperty = ValueList Prelude.Text+ set newValue AccountGroupingProperty {..}+ = AccountGroupingProperty {linkedAccountIds = newValue, ..}
+ gen/Stratosphere/BillingConductor/BillingGroup/AccountGroupingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.BillingConductor.BillingGroup.AccountGroupingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AccountGroupingProperty :: Prelude.Type+instance ToResourceProperties AccountGroupingProperty+instance Prelude.Eq AccountGroupingProperty+instance Prelude.Show AccountGroupingProperty+instance JSON.ToJSON AccountGroupingProperty
+ gen/Stratosphere/BillingConductor/BillingGroup/ComputationPreferenceProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.BillingConductor.BillingGroup.ComputationPreferenceProperty (+ ComputationPreferenceProperty(..), mkComputationPreferenceProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ComputationPreferenceProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-billinggroup-computationpreference.html>+ ComputationPreferenceProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-billinggroup-computationpreference.html#cfn-billingconductor-billinggroup-computationpreference-pricingplanarn>+ pricingPlanArn :: (Value Prelude.Text)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkComputationPreferenceProperty ::+ Value Prelude.Text -> ComputationPreferenceProperty+mkComputationPreferenceProperty pricingPlanArn+ = ComputationPreferenceProperty+ {haddock_workaround_ = (), pricingPlanArn = pricingPlanArn}+instance ToResourceProperties ComputationPreferenceProperty where+ toResourceProperties ComputationPreferenceProperty {..}+ = ResourceProperties+ {awsType = "AWS::BillingConductor::BillingGroup.ComputationPreference",+ supportsTags = Prelude.False,+ properties = ["PricingPlanArn" JSON..= pricingPlanArn]}+instance JSON.ToJSON ComputationPreferenceProperty where+ toJSON ComputationPreferenceProperty {..}+ = JSON.object ["PricingPlanArn" JSON..= pricingPlanArn]+instance Property "PricingPlanArn" ComputationPreferenceProperty where+ type PropertyType "PricingPlanArn" ComputationPreferenceProperty = Value Prelude.Text+ set newValue ComputationPreferenceProperty {..}+ = ComputationPreferenceProperty {pricingPlanArn = newValue, ..}
+ gen/Stratosphere/BillingConductor/BillingGroup/ComputationPreferenceProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.BillingConductor.BillingGroup.ComputationPreferenceProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ComputationPreferenceProperty :: Prelude.Type+instance ToResourceProperties ComputationPreferenceProperty+instance Prelude.Eq ComputationPreferenceProperty+instance Prelude.Show ComputationPreferenceProperty+instance JSON.ToJSON ComputationPreferenceProperty
+ gen/Stratosphere/BillingConductor/CustomLineItem.hs view
@@ -0,0 +1,114 @@+module Stratosphere.BillingConductor.CustomLineItem (+ module Exports, CustomLineItem(..), mkCustomLineItem+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.BillingConductor.CustomLineItem.BillingPeriodRangeProperty as Exports+import {-# SOURCE #-} Stratosphere.BillingConductor.CustomLineItem.CustomLineItemChargeDetailsProperty as Exports+import {-# SOURCE #-} Stratosphere.BillingConductor.CustomLineItem.PresentationDetailsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data CustomLineItem+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html>+ CustomLineItem {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html#cfn-billingconductor-customlineitem-accountid>+ accountId :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html#cfn-billingconductor-customlineitem-billinggrouparn>+ billingGroupArn :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html#cfn-billingconductor-customlineitem-billingperiodrange>+ billingPeriodRange :: (Prelude.Maybe BillingPeriodRangeProperty),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html#cfn-billingconductor-customlineitem-computationrule>+ computationRule :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html#cfn-billingconductor-customlineitem-customlineitemchargedetails>+ customLineItemChargeDetails :: (Prelude.Maybe CustomLineItemChargeDetailsProperty),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html#cfn-billingconductor-customlineitem-description>+ description :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html#cfn-billingconductor-customlineitem-name>+ name :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html#cfn-billingconductor-customlineitem-presentationdetails>+ presentationDetails :: (Prelude.Maybe PresentationDetailsProperty),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html#cfn-billingconductor-customlineitem-tags>+ tags :: (Prelude.Maybe [Tag])}+ deriving stock (Prelude.Eq, Prelude.Show)+mkCustomLineItem ::+ Value Prelude.Text -> Value Prelude.Text -> CustomLineItem+mkCustomLineItem billingGroupArn name+ = CustomLineItem+ {haddock_workaround_ = (), billingGroupArn = billingGroupArn,+ name = name, accountId = Prelude.Nothing,+ billingPeriodRange = Prelude.Nothing,+ computationRule = Prelude.Nothing,+ customLineItemChargeDetails = Prelude.Nothing,+ description = Prelude.Nothing,+ presentationDetails = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties CustomLineItem where+ toResourceProperties CustomLineItem {..}+ = ResourceProperties+ {awsType = "AWS::BillingConductor::CustomLineItem",+ supportsTags = Prelude.True,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["BillingGroupArn" JSON..= billingGroupArn, "Name" JSON..= name]+ (Prelude.catMaybes+ [(JSON..=) "AccountId" Prelude.<$> accountId,+ (JSON..=) "BillingPeriodRange" Prelude.<$> billingPeriodRange,+ (JSON..=) "ComputationRule" Prelude.<$> computationRule,+ (JSON..=) "CustomLineItemChargeDetails"+ Prelude.<$> customLineItemChargeDetails,+ (JSON..=) "Description" Prelude.<$> description,+ (JSON..=) "PresentationDetails" Prelude.<$> presentationDetails,+ (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON CustomLineItem where+ toJSON CustomLineItem {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["BillingGroupArn" JSON..= billingGroupArn, "Name" JSON..= name]+ (Prelude.catMaybes+ [(JSON..=) "AccountId" Prelude.<$> accountId,+ (JSON..=) "BillingPeriodRange" Prelude.<$> billingPeriodRange,+ (JSON..=) "ComputationRule" Prelude.<$> computationRule,+ (JSON..=) "CustomLineItemChargeDetails"+ Prelude.<$> customLineItemChargeDetails,+ (JSON..=) "Description" Prelude.<$> description,+ (JSON..=) "PresentationDetails" Prelude.<$> presentationDetails,+ (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "AccountId" CustomLineItem where+ type PropertyType "AccountId" CustomLineItem = Value Prelude.Text+ set newValue CustomLineItem {..}+ = CustomLineItem {accountId = Prelude.pure newValue, ..}+instance Property "BillingGroupArn" CustomLineItem where+ type PropertyType "BillingGroupArn" CustomLineItem = Value Prelude.Text+ set newValue CustomLineItem {..}+ = CustomLineItem {billingGroupArn = newValue, ..}+instance Property "BillingPeriodRange" CustomLineItem where+ type PropertyType "BillingPeriodRange" CustomLineItem = BillingPeriodRangeProperty+ set newValue CustomLineItem {..}+ = CustomLineItem {billingPeriodRange = Prelude.pure newValue, ..}+instance Property "ComputationRule" CustomLineItem where+ type PropertyType "ComputationRule" CustomLineItem = Value Prelude.Text+ set newValue CustomLineItem {..}+ = CustomLineItem {computationRule = Prelude.pure newValue, ..}+instance Property "CustomLineItemChargeDetails" CustomLineItem where+ type PropertyType "CustomLineItemChargeDetails" CustomLineItem = CustomLineItemChargeDetailsProperty+ set newValue CustomLineItem {..}+ = CustomLineItem+ {customLineItemChargeDetails = Prelude.pure newValue, ..}+instance Property "Description" CustomLineItem where+ type PropertyType "Description" CustomLineItem = Value Prelude.Text+ set newValue CustomLineItem {..}+ = CustomLineItem {description = Prelude.pure newValue, ..}+instance Property "Name" CustomLineItem where+ type PropertyType "Name" CustomLineItem = Value Prelude.Text+ set newValue CustomLineItem {..}+ = CustomLineItem {name = newValue, ..}+instance Property "PresentationDetails" CustomLineItem where+ type PropertyType "PresentationDetails" CustomLineItem = PresentationDetailsProperty+ set newValue CustomLineItem {..}+ = CustomLineItem {presentationDetails = Prelude.pure newValue, ..}+instance Property "Tags" CustomLineItem where+ type PropertyType "Tags" CustomLineItem = [Tag]+ set newValue CustomLineItem {..}+ = CustomLineItem {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/BillingConductor/CustomLineItem/BillingPeriodRangeProperty.hs view
@@ -0,0 +1,52 @@+module Stratosphere.BillingConductor.CustomLineItem.BillingPeriodRangeProperty (+ BillingPeriodRangeProperty(..), mkBillingPeriodRangeProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data BillingPeriodRangeProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-billingperiodrange.html>+ BillingPeriodRangeProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-billingperiodrange.html#cfn-billingconductor-customlineitem-billingperiodrange-exclusiveendbillingperiod>+ exclusiveEndBillingPeriod :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-billingperiodrange.html#cfn-billingconductor-customlineitem-billingperiodrange-inclusivestartbillingperiod>+ inclusiveStartBillingPeriod :: (Prelude.Maybe (Value Prelude.Text))}+ deriving stock (Prelude.Eq, Prelude.Show)+mkBillingPeriodRangeProperty :: BillingPeriodRangeProperty+mkBillingPeriodRangeProperty+ = BillingPeriodRangeProperty+ {haddock_workaround_ = (),+ exclusiveEndBillingPeriod = Prelude.Nothing,+ inclusiveStartBillingPeriod = Prelude.Nothing}+instance ToResourceProperties BillingPeriodRangeProperty where+ toResourceProperties BillingPeriodRangeProperty {..}+ = ResourceProperties+ {awsType = "AWS::BillingConductor::CustomLineItem.BillingPeriodRange",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "ExclusiveEndBillingPeriod"+ Prelude.<$> exclusiveEndBillingPeriod,+ (JSON..=) "InclusiveStartBillingPeriod"+ Prelude.<$> inclusiveStartBillingPeriod])}+instance JSON.ToJSON BillingPeriodRangeProperty where+ toJSON BillingPeriodRangeProperty {..}+ = JSON.object+ (Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "ExclusiveEndBillingPeriod"+ Prelude.<$> exclusiveEndBillingPeriod,+ (JSON..=) "InclusiveStartBillingPeriod"+ Prelude.<$> inclusiveStartBillingPeriod]))+instance Property "ExclusiveEndBillingPeriod" BillingPeriodRangeProperty where+ type PropertyType "ExclusiveEndBillingPeriod" BillingPeriodRangeProperty = Value Prelude.Text+ set newValue BillingPeriodRangeProperty {..}+ = BillingPeriodRangeProperty+ {exclusiveEndBillingPeriod = Prelude.pure newValue, ..}+instance Property "InclusiveStartBillingPeriod" BillingPeriodRangeProperty where+ type PropertyType "InclusiveStartBillingPeriod" BillingPeriodRangeProperty = Value Prelude.Text+ set newValue BillingPeriodRangeProperty {..}+ = BillingPeriodRangeProperty+ {inclusiveStartBillingPeriod = Prelude.pure newValue, ..}
+ gen/Stratosphere/BillingConductor/CustomLineItem/BillingPeriodRangeProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.BillingConductor.CustomLineItem.BillingPeriodRangeProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BillingPeriodRangeProperty :: Prelude.Type+instance ToResourceProperties BillingPeriodRangeProperty+instance Prelude.Eq BillingPeriodRangeProperty+instance Prelude.Show BillingPeriodRangeProperty+instance JSON.ToJSON BillingPeriodRangeProperty
+ gen/Stratosphere/BillingConductor/CustomLineItem/CustomLineItemChargeDetailsProperty.hs view
@@ -0,0 +1,71 @@+module Stratosphere.BillingConductor.CustomLineItem.CustomLineItemChargeDetailsProperty (+ module Exports, CustomLineItemChargeDetailsProperty(..),+ mkCustomLineItemChargeDetailsProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.BillingConductor.CustomLineItem.CustomLineItemFlatChargeDetailsProperty as Exports+import {-# SOURCE #-} Stratosphere.BillingConductor.CustomLineItem.CustomLineItemPercentageChargeDetailsProperty as Exports+import {-# SOURCE #-} Stratosphere.BillingConductor.CustomLineItem.LineItemFilterProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CustomLineItemChargeDetailsProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-customlineitemchargedetails.html>+ CustomLineItemChargeDetailsProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-customlineitemchargedetails.html#cfn-billingconductor-customlineitem-customlineitemchargedetails-flat>+ flat :: (Prelude.Maybe CustomLineItemFlatChargeDetailsProperty),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-customlineitemchargedetails.html#cfn-billingconductor-customlineitem-customlineitemchargedetails-lineitemfilters>+ lineItemFilters :: (Prelude.Maybe [LineItemFilterProperty]),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-customlineitemchargedetails.html#cfn-billingconductor-customlineitem-customlineitemchargedetails-percentage>+ percentage :: (Prelude.Maybe CustomLineItemPercentageChargeDetailsProperty),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-customlineitemchargedetails.html#cfn-billingconductor-customlineitem-customlineitemchargedetails-type>+ type' :: (Value Prelude.Text)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkCustomLineItemChargeDetailsProperty ::+ Value Prelude.Text -> CustomLineItemChargeDetailsProperty+mkCustomLineItemChargeDetailsProperty type'+ = CustomLineItemChargeDetailsProperty+ {haddock_workaround_ = (), type' = type', flat = Prelude.Nothing,+ lineItemFilters = Prelude.Nothing, percentage = Prelude.Nothing}+instance ToResourceProperties CustomLineItemChargeDetailsProperty where+ toResourceProperties CustomLineItemChargeDetailsProperty {..}+ = ResourceProperties+ {awsType = "AWS::BillingConductor::CustomLineItem.CustomLineItemChargeDetails",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["Type" JSON..= type']+ (Prelude.catMaybes+ [(JSON..=) "Flat" Prelude.<$> flat,+ (JSON..=) "LineItemFilters" Prelude.<$> lineItemFilters,+ (JSON..=) "Percentage" Prelude.<$> percentage]))}+instance JSON.ToJSON CustomLineItemChargeDetailsProperty where+ toJSON CustomLineItemChargeDetailsProperty {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["Type" JSON..= type']+ (Prelude.catMaybes+ [(JSON..=) "Flat" Prelude.<$> flat,+ (JSON..=) "LineItemFilters" Prelude.<$> lineItemFilters,+ (JSON..=) "Percentage" Prelude.<$> percentage])))+instance Property "Flat" CustomLineItemChargeDetailsProperty where+ type PropertyType "Flat" CustomLineItemChargeDetailsProperty = CustomLineItemFlatChargeDetailsProperty+ set newValue CustomLineItemChargeDetailsProperty {..}+ = CustomLineItemChargeDetailsProperty+ {flat = Prelude.pure newValue, ..}+instance Property "LineItemFilters" CustomLineItemChargeDetailsProperty where+ type PropertyType "LineItemFilters" CustomLineItemChargeDetailsProperty = [LineItemFilterProperty]+ set newValue CustomLineItemChargeDetailsProperty {..}+ = CustomLineItemChargeDetailsProperty+ {lineItemFilters = Prelude.pure newValue, ..}+instance Property "Percentage" CustomLineItemChargeDetailsProperty where+ type PropertyType "Percentage" CustomLineItemChargeDetailsProperty = CustomLineItemPercentageChargeDetailsProperty+ set newValue CustomLineItemChargeDetailsProperty {..}+ = CustomLineItemChargeDetailsProperty+ {percentage = Prelude.pure newValue, ..}+instance Property "Type" CustomLineItemChargeDetailsProperty where+ type PropertyType "Type" CustomLineItemChargeDetailsProperty = Value Prelude.Text+ set newValue CustomLineItemChargeDetailsProperty {..}+ = CustomLineItemChargeDetailsProperty {type' = newValue, ..}
+ gen/Stratosphere/BillingConductor/CustomLineItem/CustomLineItemChargeDetailsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.BillingConductor.CustomLineItem.CustomLineItemChargeDetailsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CustomLineItemChargeDetailsProperty :: Prelude.Type+instance ToResourceProperties CustomLineItemChargeDetailsProperty+instance Prelude.Eq CustomLineItemChargeDetailsProperty+instance Prelude.Show CustomLineItemChargeDetailsProperty+instance JSON.ToJSON CustomLineItemChargeDetailsProperty
+ gen/Stratosphere/BillingConductor/CustomLineItem/CustomLineItemFlatChargeDetailsProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.BillingConductor.CustomLineItem.CustomLineItemFlatChargeDetailsProperty (+ CustomLineItemFlatChargeDetailsProperty(..),+ mkCustomLineItemFlatChargeDetailsProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CustomLineItemFlatChargeDetailsProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-customlineitemflatchargedetails.html>+ CustomLineItemFlatChargeDetailsProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-customlineitemflatchargedetails.html#cfn-billingconductor-customlineitem-customlineitemflatchargedetails-chargevalue>+ chargeValue :: (Value Prelude.Double)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkCustomLineItemFlatChargeDetailsProperty ::+ Value Prelude.Double -> CustomLineItemFlatChargeDetailsProperty+mkCustomLineItemFlatChargeDetailsProperty chargeValue+ = CustomLineItemFlatChargeDetailsProperty+ {haddock_workaround_ = (), chargeValue = chargeValue}+instance ToResourceProperties CustomLineItemFlatChargeDetailsProperty where+ toResourceProperties CustomLineItemFlatChargeDetailsProperty {..}+ = ResourceProperties+ {awsType = "AWS::BillingConductor::CustomLineItem.CustomLineItemFlatChargeDetails",+ supportsTags = Prelude.False,+ properties = ["ChargeValue" JSON..= chargeValue]}+instance JSON.ToJSON CustomLineItemFlatChargeDetailsProperty where+ toJSON CustomLineItemFlatChargeDetailsProperty {..}+ = JSON.object ["ChargeValue" JSON..= chargeValue]+instance Property "ChargeValue" CustomLineItemFlatChargeDetailsProperty where+ type PropertyType "ChargeValue" CustomLineItemFlatChargeDetailsProperty = Value Prelude.Double+ set newValue CustomLineItemFlatChargeDetailsProperty {..}+ = CustomLineItemFlatChargeDetailsProperty+ {chargeValue = newValue, ..}
+ gen/Stratosphere/BillingConductor/CustomLineItem/CustomLineItemFlatChargeDetailsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.BillingConductor.CustomLineItem.CustomLineItemFlatChargeDetailsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CustomLineItemFlatChargeDetailsProperty :: Prelude.Type+instance ToResourceProperties CustomLineItemFlatChargeDetailsProperty+instance Prelude.Eq CustomLineItemFlatChargeDetailsProperty+instance Prelude.Show CustomLineItemFlatChargeDetailsProperty+instance JSON.ToJSON CustomLineItemFlatChargeDetailsProperty
+ gen/Stratosphere/BillingConductor/CustomLineItem/CustomLineItemPercentageChargeDetailsProperty.hs view
@@ -0,0 +1,55 @@+module Stratosphere.BillingConductor.CustomLineItem.CustomLineItemPercentageChargeDetailsProperty (+ CustomLineItemPercentageChargeDetailsProperty(..),+ mkCustomLineItemPercentageChargeDetailsProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CustomLineItemPercentageChargeDetailsProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-customlineitempercentagechargedetails.html>+ CustomLineItemPercentageChargeDetailsProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-customlineitempercentagechargedetails.html#cfn-billingconductor-customlineitem-customlineitempercentagechargedetails-childassociatedresources>+ childAssociatedResources :: (Prelude.Maybe (ValueList Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-customlineitempercentagechargedetails.html#cfn-billingconductor-customlineitem-customlineitempercentagechargedetails-percentagevalue>+ percentageValue :: (Value Prelude.Double)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkCustomLineItemPercentageChargeDetailsProperty ::+ Value Prelude.Double+ -> CustomLineItemPercentageChargeDetailsProperty+mkCustomLineItemPercentageChargeDetailsProperty percentageValue+ = CustomLineItemPercentageChargeDetailsProperty+ {haddock_workaround_ = (), percentageValue = percentageValue,+ childAssociatedResources = Prelude.Nothing}+instance ToResourceProperties CustomLineItemPercentageChargeDetailsProperty where+ toResourceProperties+ CustomLineItemPercentageChargeDetailsProperty {..}+ = ResourceProperties+ {awsType = "AWS::BillingConductor::CustomLineItem.CustomLineItemPercentageChargeDetails",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["PercentageValue" JSON..= percentageValue]+ (Prelude.catMaybes+ [(JSON..=) "ChildAssociatedResources"+ Prelude.<$> childAssociatedResources]))}+instance JSON.ToJSON CustomLineItemPercentageChargeDetailsProperty where+ toJSON CustomLineItemPercentageChargeDetailsProperty {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["PercentageValue" JSON..= percentageValue]+ (Prelude.catMaybes+ [(JSON..=) "ChildAssociatedResources"+ Prelude.<$> childAssociatedResources])))+instance Property "ChildAssociatedResources" CustomLineItemPercentageChargeDetailsProperty where+ type PropertyType "ChildAssociatedResources" CustomLineItemPercentageChargeDetailsProperty = ValueList Prelude.Text+ set newValue CustomLineItemPercentageChargeDetailsProperty {..}+ = CustomLineItemPercentageChargeDetailsProperty+ {childAssociatedResources = Prelude.pure newValue, ..}+instance Property "PercentageValue" CustomLineItemPercentageChargeDetailsProperty where+ type PropertyType "PercentageValue" CustomLineItemPercentageChargeDetailsProperty = Value Prelude.Double+ set newValue CustomLineItemPercentageChargeDetailsProperty {..}+ = CustomLineItemPercentageChargeDetailsProperty+ {percentageValue = newValue, ..}
+ gen/Stratosphere/BillingConductor/CustomLineItem/CustomLineItemPercentageChargeDetailsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.BillingConductor.CustomLineItem.CustomLineItemPercentageChargeDetailsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CustomLineItemPercentageChargeDetailsProperty :: Prelude.Type+instance ToResourceProperties CustomLineItemPercentageChargeDetailsProperty+instance Prelude.Eq CustomLineItemPercentageChargeDetailsProperty+instance Prelude.Show CustomLineItemPercentageChargeDetailsProperty+instance JSON.ToJSON CustomLineItemPercentageChargeDetailsProperty
+ gen/Stratosphere/BillingConductor/CustomLineItem/LineItemFilterProperty.hs view
@@ -0,0 +1,50 @@+module Stratosphere.BillingConductor.CustomLineItem.LineItemFilterProperty (+ LineItemFilterProperty(..), mkLineItemFilterProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LineItemFilterProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-lineitemfilter.html>+ LineItemFilterProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-lineitemfilter.html#cfn-billingconductor-customlineitem-lineitemfilter-attribute>+ attribute :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-lineitemfilter.html#cfn-billingconductor-customlineitem-lineitemfilter-matchoption>+ matchOption :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-lineitemfilter.html#cfn-billingconductor-customlineitem-lineitemfilter-values>+ values :: (ValueList Prelude.Text)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkLineItemFilterProperty ::+ Value Prelude.Text+ -> Value Prelude.Text+ -> ValueList Prelude.Text -> LineItemFilterProperty+mkLineItemFilterProperty attribute matchOption values+ = LineItemFilterProperty+ {haddock_workaround_ = (), attribute = attribute,+ matchOption = matchOption, values = values}+instance ToResourceProperties LineItemFilterProperty where+ toResourceProperties LineItemFilterProperty {..}+ = ResourceProperties+ {awsType = "AWS::BillingConductor::CustomLineItem.LineItemFilter",+ supportsTags = Prelude.False,+ properties = ["Attribute" JSON..= attribute,+ "MatchOption" JSON..= matchOption, "Values" JSON..= values]}+instance JSON.ToJSON LineItemFilterProperty where+ toJSON LineItemFilterProperty {..}+ = JSON.object+ ["Attribute" JSON..= attribute, "MatchOption" JSON..= matchOption,+ "Values" JSON..= values]+instance Property "Attribute" LineItemFilterProperty where+ type PropertyType "Attribute" LineItemFilterProperty = Value Prelude.Text+ set newValue LineItemFilterProperty {..}+ = LineItemFilterProperty {attribute = newValue, ..}+instance Property "MatchOption" LineItemFilterProperty where+ type PropertyType "MatchOption" LineItemFilterProperty = Value Prelude.Text+ set newValue LineItemFilterProperty {..}+ = LineItemFilterProperty {matchOption = newValue, ..}+instance Property "Values" LineItemFilterProperty where+ type PropertyType "Values" LineItemFilterProperty = ValueList Prelude.Text+ set newValue LineItemFilterProperty {..}+ = LineItemFilterProperty {values = newValue, ..}
+ gen/Stratosphere/BillingConductor/CustomLineItem/LineItemFilterProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.BillingConductor.CustomLineItem.LineItemFilterProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LineItemFilterProperty :: Prelude.Type+instance ToResourceProperties LineItemFilterProperty+instance Prelude.Eq LineItemFilterProperty+instance Prelude.Show LineItemFilterProperty+instance JSON.ToJSON LineItemFilterProperty
+ gen/Stratosphere/BillingConductor/CustomLineItem/PresentationDetailsProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.BillingConductor.CustomLineItem.PresentationDetailsProperty (+ PresentationDetailsProperty(..), mkPresentationDetailsProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PresentationDetailsProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-presentationdetails.html>+ PresentationDetailsProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-presentationdetails.html#cfn-billingconductor-customlineitem-presentationdetails-service>+ service :: (Value Prelude.Text)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkPresentationDetailsProperty ::+ Value Prelude.Text -> PresentationDetailsProperty+mkPresentationDetailsProperty service+ = PresentationDetailsProperty+ {haddock_workaround_ = (), service = service}+instance ToResourceProperties PresentationDetailsProperty where+ toResourceProperties PresentationDetailsProperty {..}+ = ResourceProperties+ {awsType = "AWS::BillingConductor::CustomLineItem.PresentationDetails",+ supportsTags = Prelude.False,+ properties = ["Service" JSON..= service]}+instance JSON.ToJSON PresentationDetailsProperty where+ toJSON PresentationDetailsProperty {..}+ = JSON.object ["Service" JSON..= service]+instance Property "Service" PresentationDetailsProperty where+ type PropertyType "Service" PresentationDetailsProperty = Value Prelude.Text+ set newValue PresentationDetailsProperty {..}+ = PresentationDetailsProperty {service = newValue, ..}
+ gen/Stratosphere/BillingConductor/CustomLineItem/PresentationDetailsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.BillingConductor.CustomLineItem.PresentationDetailsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PresentationDetailsProperty :: Prelude.Type+instance ToResourceProperties PresentationDetailsProperty+instance Prelude.Eq PresentationDetailsProperty+instance Prelude.Show PresentationDetailsProperty+instance JSON.ToJSON PresentationDetailsProperty
+ gen/Stratosphere/BillingConductor/PricingPlan.hs view
@@ -0,0 +1,64 @@+module Stratosphere.BillingConductor.PricingPlan (+ PricingPlan(..), mkPricingPlan+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data PricingPlan+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingplan.html>+ PricingPlan {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingplan.html#cfn-billingconductor-pricingplan-description>+ description :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingplan.html#cfn-billingconductor-pricingplan-name>+ name :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingplan.html#cfn-billingconductor-pricingplan-pricingrulearns>+ pricingRuleArns :: (Prelude.Maybe (ValueList Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingplan.html#cfn-billingconductor-pricingplan-tags>+ tags :: (Prelude.Maybe [Tag])}+ deriving stock (Prelude.Eq, Prelude.Show)+mkPricingPlan :: Value Prelude.Text -> PricingPlan+mkPricingPlan name+ = PricingPlan+ {haddock_workaround_ = (), name = name,+ description = Prelude.Nothing, pricingRuleArns = Prelude.Nothing,+ tags = Prelude.Nothing}+instance ToResourceProperties PricingPlan where+ toResourceProperties PricingPlan {..}+ = ResourceProperties+ {awsType = "AWS::BillingConductor::PricingPlan",+ supportsTags = Prelude.True,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["Name" JSON..= name]+ (Prelude.catMaybes+ [(JSON..=) "Description" Prelude.<$> description,+ (JSON..=) "PricingRuleArns" Prelude.<$> pricingRuleArns,+ (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON PricingPlan where+ toJSON PricingPlan {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["Name" JSON..= name]+ (Prelude.catMaybes+ [(JSON..=) "Description" Prelude.<$> description,+ (JSON..=) "PricingRuleArns" Prelude.<$> pricingRuleArns,+ (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Description" PricingPlan where+ type PropertyType "Description" PricingPlan = Value Prelude.Text+ set newValue PricingPlan {..}+ = PricingPlan {description = Prelude.pure newValue, ..}+instance Property "Name" PricingPlan where+ type PropertyType "Name" PricingPlan = Value Prelude.Text+ set newValue PricingPlan {..} = PricingPlan {name = newValue, ..}+instance Property "PricingRuleArns" PricingPlan where+ type PropertyType "PricingRuleArns" PricingPlan = ValueList Prelude.Text+ set newValue PricingPlan {..}+ = PricingPlan {pricingRuleArns = Prelude.pure newValue, ..}+instance Property "Tags" PricingPlan where+ type PropertyType "Tags" PricingPlan = [Tag]+ set newValue PricingPlan {..}+ = PricingPlan {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/BillingConductor/PricingRule.hs view
@@ -0,0 +1,120 @@+module Stratosphere.BillingConductor.PricingRule (+ module Exports, PricingRule(..), mkPricingRule+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.BillingConductor.PricingRule.TieringProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data PricingRule+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html>+ PricingRule {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html#cfn-billingconductor-pricingrule-billingentity>+ billingEntity :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html#cfn-billingconductor-pricingrule-description>+ description :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html#cfn-billingconductor-pricingrule-modifierpercentage>+ modifierPercentage :: (Prelude.Maybe (Value Prelude.Double)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html#cfn-billingconductor-pricingrule-name>+ name :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html#cfn-billingconductor-pricingrule-operation>+ operation :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html#cfn-billingconductor-pricingrule-scope>+ scope :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html#cfn-billingconductor-pricingrule-service>+ service :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html#cfn-billingconductor-pricingrule-tags>+ tags :: (Prelude.Maybe [Tag]),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html#cfn-billingconductor-pricingrule-tiering>+ tiering :: (Prelude.Maybe TieringProperty),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html#cfn-billingconductor-pricingrule-type>+ type' :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html#cfn-billingconductor-pricingrule-usagetype>+ usageType :: (Prelude.Maybe (Value Prelude.Text))}+ deriving stock (Prelude.Eq, Prelude.Show)+mkPricingRule ::+ Value Prelude.Text+ -> Value Prelude.Text -> Value Prelude.Text -> PricingRule+mkPricingRule name scope type'+ = PricingRule+ {haddock_workaround_ = (), name = name, scope = scope,+ type' = type', billingEntity = Prelude.Nothing,+ description = Prelude.Nothing,+ modifierPercentage = Prelude.Nothing, operation = Prelude.Nothing,+ service = Prelude.Nothing, tags = Prelude.Nothing,+ tiering = Prelude.Nothing, usageType = Prelude.Nothing}+instance ToResourceProperties PricingRule where+ toResourceProperties PricingRule {..}+ = ResourceProperties+ {awsType = "AWS::BillingConductor::PricingRule",+ supportsTags = Prelude.True,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["Name" JSON..= name, "Scope" JSON..= scope, "Type" JSON..= type']+ (Prelude.catMaybes+ [(JSON..=) "BillingEntity" Prelude.<$> billingEntity,+ (JSON..=) "Description" Prelude.<$> description,+ (JSON..=) "ModifierPercentage" Prelude.<$> modifierPercentage,+ (JSON..=) "Operation" Prelude.<$> operation,+ (JSON..=) "Service" Prelude.<$> service,+ (JSON..=) "Tags" Prelude.<$> tags,+ (JSON..=) "Tiering" Prelude.<$> tiering,+ (JSON..=) "UsageType" Prelude.<$> usageType]))}+instance JSON.ToJSON PricingRule where+ toJSON PricingRule {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["Name" JSON..= name, "Scope" JSON..= scope, "Type" JSON..= type']+ (Prelude.catMaybes+ [(JSON..=) "BillingEntity" Prelude.<$> billingEntity,+ (JSON..=) "Description" Prelude.<$> description,+ (JSON..=) "ModifierPercentage" Prelude.<$> modifierPercentage,+ (JSON..=) "Operation" Prelude.<$> operation,+ (JSON..=) "Service" Prelude.<$> service,+ (JSON..=) "Tags" Prelude.<$> tags,+ (JSON..=) "Tiering" Prelude.<$> tiering,+ (JSON..=) "UsageType" Prelude.<$> usageType])))+instance Property "BillingEntity" PricingRule where+ type PropertyType "BillingEntity" PricingRule = Value Prelude.Text+ set newValue PricingRule {..}+ = PricingRule {billingEntity = Prelude.pure newValue, ..}+instance Property "Description" PricingRule where+ type PropertyType "Description" PricingRule = Value Prelude.Text+ set newValue PricingRule {..}+ = PricingRule {description = Prelude.pure newValue, ..}+instance Property "ModifierPercentage" PricingRule where+ type PropertyType "ModifierPercentage" PricingRule = Value Prelude.Double+ set newValue PricingRule {..}+ = PricingRule {modifierPercentage = Prelude.pure newValue, ..}+instance Property "Name" PricingRule where+ type PropertyType "Name" PricingRule = Value Prelude.Text+ set newValue PricingRule {..} = PricingRule {name = newValue, ..}+instance Property "Operation" PricingRule where+ type PropertyType "Operation" PricingRule = Value Prelude.Text+ set newValue PricingRule {..}+ = PricingRule {operation = Prelude.pure newValue, ..}+instance Property "Scope" PricingRule where+ type PropertyType "Scope" PricingRule = Value Prelude.Text+ set newValue PricingRule {..} = PricingRule {scope = newValue, ..}+instance Property "Service" PricingRule where+ type PropertyType "Service" PricingRule = Value Prelude.Text+ set newValue PricingRule {..}+ = PricingRule {service = Prelude.pure newValue, ..}+instance Property "Tags" PricingRule where+ type PropertyType "Tags" PricingRule = [Tag]+ set newValue PricingRule {..}+ = PricingRule {tags = Prelude.pure newValue, ..}+instance Property "Tiering" PricingRule where+ type PropertyType "Tiering" PricingRule = TieringProperty+ set newValue PricingRule {..}+ = PricingRule {tiering = Prelude.pure newValue, ..}+instance Property "Type" PricingRule where+ type PropertyType "Type" PricingRule = Value Prelude.Text+ set newValue PricingRule {..} = PricingRule {type' = newValue, ..}+instance Property "UsageType" PricingRule where+ type PropertyType "UsageType" PricingRule = Value Prelude.Text+ set newValue PricingRule {..}+ = PricingRule {usageType = Prelude.pure newValue, ..}
+ gen/Stratosphere/BillingConductor/PricingRule/FreeTierProperty.hs view
@@ -0,0 +1,31 @@+module Stratosphere.BillingConductor.PricingRule.FreeTierProperty (+ FreeTierProperty(..), mkFreeTierProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data FreeTierProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-pricingrule-freetier.html>+ FreeTierProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-pricingrule-freetier.html#cfn-billingconductor-pricingrule-freetier-activated>+ activated :: (Value Prelude.Bool)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkFreeTierProperty :: Value Prelude.Bool -> FreeTierProperty+mkFreeTierProperty activated+ = FreeTierProperty+ {haddock_workaround_ = (), activated = activated}+instance ToResourceProperties FreeTierProperty where+ toResourceProperties FreeTierProperty {..}+ = ResourceProperties+ {awsType = "AWS::BillingConductor::PricingRule.FreeTier",+ supportsTags = Prelude.False,+ properties = ["Activated" JSON..= activated]}+instance JSON.ToJSON FreeTierProperty where+ toJSON FreeTierProperty {..}+ = JSON.object ["Activated" JSON..= activated]+instance Property "Activated" FreeTierProperty where+ type PropertyType "Activated" FreeTierProperty = Value Prelude.Bool+ set newValue FreeTierProperty {..}+ = FreeTierProperty {activated = newValue, ..}
+ gen/Stratosphere/BillingConductor/PricingRule/FreeTierProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.BillingConductor.PricingRule.FreeTierProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data FreeTierProperty :: Prelude.Type+instance ToResourceProperties FreeTierProperty+instance Prelude.Eq FreeTierProperty+instance Prelude.Show FreeTierProperty+instance JSON.ToJSON FreeTierProperty
+ gen/Stratosphere/BillingConductor/PricingRule/TieringProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.BillingConductor.PricingRule.TieringProperty (+ module Exports, TieringProperty(..), mkTieringProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.BillingConductor.PricingRule.FreeTierProperty as Exports+import Stratosphere.ResourceProperties+data TieringProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-pricingrule-tiering.html>+ TieringProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-pricingrule-tiering.html#cfn-billingconductor-pricingrule-tiering-freetier>+ freeTier :: (Prelude.Maybe FreeTierProperty)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkTieringProperty :: TieringProperty+mkTieringProperty+ = TieringProperty+ {haddock_workaround_ = (), freeTier = Prelude.Nothing}+instance ToResourceProperties TieringProperty where+ toResourceProperties TieringProperty {..}+ = ResourceProperties+ {awsType = "AWS::BillingConductor::PricingRule.Tiering",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ (Prelude.catMaybes [(JSON..=) "FreeTier" Prelude.<$> freeTier])}+instance JSON.ToJSON TieringProperty where+ toJSON TieringProperty {..}+ = JSON.object+ (Prelude.fromList+ (Prelude.catMaybes [(JSON..=) "FreeTier" Prelude.<$> freeTier]))+instance Property "FreeTier" TieringProperty where+ type PropertyType "FreeTier" TieringProperty = FreeTierProperty+ set newValue TieringProperty {..}+ = TieringProperty {freeTier = Prelude.pure newValue, ..}
+ gen/Stratosphere/BillingConductor/PricingRule/TieringProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.BillingConductor.PricingRule.TieringProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TieringProperty :: Prelude.Type+instance ToResourceProperties TieringProperty+instance Prelude.Eq TieringProperty+instance Prelude.Show TieringProperty+instance JSON.ToJSON TieringProperty
+ stratosphere-billingconductor.cabal view
@@ -0,0 +1,86 @@+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-billingconductor+version: 1.0.0+synopsis: Stratosphere integration for AWS BillingConductor.+description: Integration into stratosphere to generate resources and properties for AWS BillingConductor+category: AWS, Cloud, BillingConductor+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.BillingConductor.BillingGroup+ Stratosphere.BillingConductor.BillingGroup.AccountGroupingProperty+ Stratosphere.BillingConductor.BillingGroup.ComputationPreferenceProperty+ Stratosphere.BillingConductor.CustomLineItem+ Stratosphere.BillingConductor.CustomLineItem.BillingPeriodRangeProperty+ Stratosphere.BillingConductor.CustomLineItem.CustomLineItemChargeDetailsProperty+ Stratosphere.BillingConductor.CustomLineItem.CustomLineItemFlatChargeDetailsProperty+ Stratosphere.BillingConductor.CustomLineItem.CustomLineItemPercentageChargeDetailsProperty+ Stratosphere.BillingConductor.CustomLineItem.LineItemFilterProperty+ Stratosphere.BillingConductor.CustomLineItem.PresentationDetailsProperty+ Stratosphere.BillingConductor.PricingPlan+ Stratosphere.BillingConductor.PricingRule+ Stratosphere.BillingConductor.PricingRule.FreeTierProperty+ Stratosphere.BillingConductor.PricingRule.TieringProperty+ other-modules:+ Paths_stratosphere_billingconductor+ 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