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
=
CustomLineItemPercentageChargeDetailsProperty {CustomLineItemPercentageChargeDetailsProperty -> ()
haddock_workaround_ :: (),
CustomLineItemPercentageChargeDetailsProperty
-> Maybe (ValueList Text)
childAssociatedResources :: (Prelude.Maybe (ValueList Prelude.Text)),
CustomLineItemPercentageChargeDetailsProperty -> Value Double
percentageValue :: (Value Prelude.Double)}
deriving stock (CustomLineItemPercentageChargeDetailsProperty
-> CustomLineItemPercentageChargeDetailsProperty -> Bool
(CustomLineItemPercentageChargeDetailsProperty
-> CustomLineItemPercentageChargeDetailsProperty -> Bool)
-> (CustomLineItemPercentageChargeDetailsProperty
-> CustomLineItemPercentageChargeDetailsProperty -> Bool)
-> Eq CustomLineItemPercentageChargeDetailsProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CustomLineItemPercentageChargeDetailsProperty
-> CustomLineItemPercentageChargeDetailsProperty -> Bool
== :: CustomLineItemPercentageChargeDetailsProperty
-> CustomLineItemPercentageChargeDetailsProperty -> Bool
$c/= :: CustomLineItemPercentageChargeDetailsProperty
-> CustomLineItemPercentageChargeDetailsProperty -> Bool
/= :: CustomLineItemPercentageChargeDetailsProperty
-> CustomLineItemPercentageChargeDetailsProperty -> Bool
Prelude.Eq, Int -> CustomLineItemPercentageChargeDetailsProperty -> ShowS
[CustomLineItemPercentageChargeDetailsProperty] -> ShowS
CustomLineItemPercentageChargeDetailsProperty -> String
(Int -> CustomLineItemPercentageChargeDetailsProperty -> ShowS)
-> (CustomLineItemPercentageChargeDetailsProperty -> String)
-> ([CustomLineItemPercentageChargeDetailsProperty] -> ShowS)
-> Show CustomLineItemPercentageChargeDetailsProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CustomLineItemPercentageChargeDetailsProperty -> ShowS
showsPrec :: Int -> CustomLineItemPercentageChargeDetailsProperty -> ShowS
$cshow :: CustomLineItemPercentageChargeDetailsProperty -> String
show :: CustomLineItemPercentageChargeDetailsProperty -> String
$cshowList :: [CustomLineItemPercentageChargeDetailsProperty] -> ShowS
showList :: [CustomLineItemPercentageChargeDetailsProperty] -> ShowS
Prelude.Show)
mkCustomLineItemPercentageChargeDetailsProperty ::
Value Prelude.Double
-> CustomLineItemPercentageChargeDetailsProperty
mkCustomLineItemPercentageChargeDetailsProperty :: Value Double -> CustomLineItemPercentageChargeDetailsProperty
mkCustomLineItemPercentageChargeDetailsProperty Value Double
percentageValue
= CustomLineItemPercentageChargeDetailsProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), percentageValue :: Value Double
percentageValue = Value Double
percentageValue,
childAssociatedResources :: Maybe (ValueList Text)
childAssociatedResources = Maybe (ValueList Text)
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties CustomLineItemPercentageChargeDetailsProperty where
toResourceProperties :: CustomLineItemPercentageChargeDetailsProperty -> ResourceProperties
toResourceProperties
CustomLineItemPercentageChargeDetailsProperty {Maybe (ValueList Text)
()
Value Double
haddock_workaround_ :: CustomLineItemPercentageChargeDetailsProperty -> ()
childAssociatedResources :: CustomLineItemPercentageChargeDetailsProperty
-> Maybe (ValueList Text)
percentageValue :: CustomLineItemPercentageChargeDetailsProperty -> Value Double
haddock_workaround_ :: ()
childAssociatedResources :: Maybe (ValueList Text)
percentageValue :: Value Double
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::BillingConductor::CustomLineItem.CustomLineItemPercentageChargeDetails",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
[Key
"PercentageValue" Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
percentageValue]
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> ValueList Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ChildAssociatedResources"
(ValueList Text -> (Key, Value))
-> Maybe (ValueList Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (ValueList Text)
childAssociatedResources]))}
instance JSON.ToJSON CustomLineItemPercentageChargeDetailsProperty where
toJSON :: CustomLineItemPercentageChargeDetailsProperty -> Value
toJSON CustomLineItemPercentageChargeDetailsProperty {Maybe (ValueList Text)
()
Value Double
haddock_workaround_ :: CustomLineItemPercentageChargeDetailsProperty -> ()
childAssociatedResources :: CustomLineItemPercentageChargeDetailsProperty
-> Maybe (ValueList Text)
percentageValue :: CustomLineItemPercentageChargeDetailsProperty -> Value Double
haddock_workaround_ :: ()
childAssociatedResources :: Maybe (ValueList Text)
percentageValue :: Value Double
..}
= [(Key, Value)] -> Value
JSON.object
([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
[Key
"PercentageValue" Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
percentageValue]
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> ValueList Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ChildAssociatedResources"
(ValueList Text -> (Key, Value))
-> Maybe (ValueList Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (ValueList Text)
childAssociatedResources])))
instance Property "ChildAssociatedResources" CustomLineItemPercentageChargeDetailsProperty where
type PropertyType "ChildAssociatedResources" CustomLineItemPercentageChargeDetailsProperty = ValueList Prelude.Text
set :: PropertyType
"ChildAssociatedResources"
CustomLineItemPercentageChargeDetailsProperty
-> CustomLineItemPercentageChargeDetailsProperty
-> CustomLineItemPercentageChargeDetailsProperty
set PropertyType
"ChildAssociatedResources"
CustomLineItemPercentageChargeDetailsProperty
newValue CustomLineItemPercentageChargeDetailsProperty {Maybe (ValueList Text)
()
Value Double
haddock_workaround_ :: CustomLineItemPercentageChargeDetailsProperty -> ()
childAssociatedResources :: CustomLineItemPercentageChargeDetailsProperty
-> Maybe (ValueList Text)
percentageValue :: CustomLineItemPercentageChargeDetailsProperty -> Value Double
haddock_workaround_ :: ()
childAssociatedResources :: Maybe (ValueList Text)
percentageValue :: Value Double
..}
= CustomLineItemPercentageChargeDetailsProperty
{childAssociatedResources :: Maybe (ValueList Text)
childAssociatedResources = ValueList Text -> Maybe (ValueList Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType
"ChildAssociatedResources"
CustomLineItemPercentageChargeDetailsProperty
ValueList Text
newValue, ()
Value Double
haddock_workaround_ :: ()
percentageValue :: Value Double
haddock_workaround_ :: ()
percentageValue :: Value Double
..}
instance Property "PercentageValue" CustomLineItemPercentageChargeDetailsProperty where
type PropertyType "PercentageValue" CustomLineItemPercentageChargeDetailsProperty = Value Prelude.Double
set :: PropertyType
"PercentageValue" CustomLineItemPercentageChargeDetailsProperty
-> CustomLineItemPercentageChargeDetailsProperty
-> CustomLineItemPercentageChargeDetailsProperty
set PropertyType
"PercentageValue" CustomLineItemPercentageChargeDetailsProperty
newValue CustomLineItemPercentageChargeDetailsProperty {Maybe (ValueList Text)
()
Value Double
haddock_workaround_ :: CustomLineItemPercentageChargeDetailsProperty -> ()
childAssociatedResources :: CustomLineItemPercentageChargeDetailsProperty
-> Maybe (ValueList Text)
percentageValue :: CustomLineItemPercentageChargeDetailsProperty -> Value Double
haddock_workaround_ :: ()
childAssociatedResources :: Maybe (ValueList Text)
percentageValue :: Value Double
..}
= CustomLineItemPercentageChargeDetailsProperty
{percentageValue :: Value Double
percentageValue = PropertyType
"PercentageValue" CustomLineItemPercentageChargeDetailsProperty
Value Double
newValue, Maybe (ValueList Text)
()
haddock_workaround_ :: ()
childAssociatedResources :: Maybe (ValueList Text)
haddock_workaround_ :: ()
childAssociatedResources :: Maybe (ValueList Text)
..}