packages feed

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 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