module Stratosphere.Budgets.Budget.ExpressionProperty (
        module Exports, ExpressionProperty(..), mkExpressionProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Budgets.Budget.CostCategoryValuesProperty as Exports
import {-# SOURCE #-} Stratosphere.Budgets.Budget.ExpressionDimensionValuesProperty as Exports
import {-# SOURCE #-} Stratosphere.Budgets.Budget.TagValuesProperty as Exports
import Stratosphere.ResourceProperties
data ExpressionProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html>
    ExpressionProperty {ExpressionProperty -> ()
haddock_workaround_ :: (),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-and>
                        ExpressionProperty -> Maybe [ExpressionProperty]
and :: (Prelude.Maybe [ExpressionProperty]),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-costcategories>
                        ExpressionProperty -> Maybe CostCategoryValuesProperty
costCategories :: (Prelude.Maybe CostCategoryValuesProperty),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-dimensions>
                        ExpressionProperty -> Maybe ExpressionDimensionValuesProperty
dimensions :: (Prelude.Maybe ExpressionDimensionValuesProperty),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-not>
                        ExpressionProperty -> Maybe ExpressionProperty
not :: (Prelude.Maybe ExpressionProperty),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-or>
                        ExpressionProperty -> Maybe [ExpressionProperty]
or :: (Prelude.Maybe [ExpressionProperty]),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-tags>
                        ExpressionProperty -> Maybe TagValuesProperty
tags :: (Prelude.Maybe TagValuesProperty)}
  deriving stock (ExpressionProperty -> ExpressionProperty -> Bool
(ExpressionProperty -> ExpressionProperty -> Bool)
-> (ExpressionProperty -> ExpressionProperty -> Bool)
-> Eq ExpressionProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ExpressionProperty -> ExpressionProperty -> Bool
== :: ExpressionProperty -> ExpressionProperty -> Bool
$c/= :: ExpressionProperty -> ExpressionProperty -> Bool
/= :: ExpressionProperty -> ExpressionProperty -> Bool
Prelude.Eq, Int -> ExpressionProperty -> ShowS
[ExpressionProperty] -> ShowS
ExpressionProperty -> String
(Int -> ExpressionProperty -> ShowS)
-> (ExpressionProperty -> String)
-> ([ExpressionProperty] -> ShowS)
-> Show ExpressionProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ExpressionProperty -> ShowS
showsPrec :: Int -> ExpressionProperty -> ShowS
$cshow :: ExpressionProperty -> String
show :: ExpressionProperty -> String
$cshowList :: [ExpressionProperty] -> ShowS
showList :: [ExpressionProperty] -> ShowS
Prelude.Show)
mkExpressionProperty :: ExpressionProperty
mkExpressionProperty :: ExpressionProperty
mkExpressionProperty
  = ExpressionProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), and :: Maybe [ExpressionProperty]
and = Maybe [ExpressionProperty]
forall a. Maybe a
Prelude.Nothing,
       costCategories :: Maybe CostCategoryValuesProperty
costCategories = Maybe CostCategoryValuesProperty
forall a. Maybe a
Prelude.Nothing, dimensions :: Maybe ExpressionDimensionValuesProperty
dimensions = Maybe ExpressionDimensionValuesProperty
forall a. Maybe a
Prelude.Nothing,
       not :: Maybe ExpressionProperty
not = Maybe ExpressionProperty
forall a. Maybe a
Prelude.Nothing, or :: Maybe [ExpressionProperty]
or = Maybe [ExpressionProperty]
forall a. Maybe a
Prelude.Nothing,
       tags :: Maybe TagValuesProperty
tags = Maybe TagValuesProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties ExpressionProperty where
  toResourceProperties :: ExpressionProperty -> ResourceProperties
toResourceProperties ExpressionProperty {Maybe [ExpressionProperty]
Maybe CostCategoryValuesProperty
Maybe ExpressionDimensionValuesProperty
Maybe TagValuesProperty
Maybe ExpressionProperty
()
haddock_workaround_ :: ExpressionProperty -> ()
and :: ExpressionProperty -> Maybe [ExpressionProperty]
costCategories :: ExpressionProperty -> Maybe CostCategoryValuesProperty
dimensions :: ExpressionProperty -> Maybe ExpressionDimensionValuesProperty
not :: ExpressionProperty -> Maybe ExpressionProperty
or :: ExpressionProperty -> Maybe [ExpressionProperty]
tags :: ExpressionProperty -> Maybe TagValuesProperty
haddock_workaround_ :: ()
and :: Maybe [ExpressionProperty]
costCategories :: Maybe CostCategoryValuesProperty
dimensions :: Maybe ExpressionDimensionValuesProperty
not :: Maybe ExpressionProperty
or :: Maybe [ExpressionProperty]
tags :: Maybe TagValuesProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Budgets::Budget.Expression",
         supportsTags :: Bool
supportsTags = Bool
Prelude.True,
         properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
                        ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                           [Key -> [ExpressionProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"And" ([ExpressionProperty] -> (Key, Value))
-> Maybe [ExpressionProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [ExpressionProperty]
and,
                            Key -> CostCategoryValuesProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"CostCategories" (CostCategoryValuesProperty -> (Key, Value))
-> Maybe CostCategoryValuesProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe CostCategoryValuesProperty
costCategories,
                            Key -> ExpressionDimensionValuesProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Dimensions" (ExpressionDimensionValuesProperty -> (Key, Value))
-> Maybe ExpressionDimensionValuesProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ExpressionDimensionValuesProperty
dimensions,
                            Key -> ExpressionProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Not" (ExpressionProperty -> (Key, Value))
-> Maybe ExpressionProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ExpressionProperty
not, Key -> [ExpressionProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Or" ([ExpressionProperty] -> (Key, Value))
-> Maybe [ExpressionProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [ExpressionProperty]
or,
                            Key -> TagValuesProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Tags" (TagValuesProperty -> (Key, Value))
-> Maybe TagValuesProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TagValuesProperty
tags])}
instance JSON.ToJSON ExpressionProperty where
  toJSON :: ExpressionProperty -> Value
toJSON ExpressionProperty {Maybe [ExpressionProperty]
Maybe CostCategoryValuesProperty
Maybe ExpressionDimensionValuesProperty
Maybe TagValuesProperty
Maybe ExpressionProperty
()
haddock_workaround_ :: ExpressionProperty -> ()
and :: ExpressionProperty -> Maybe [ExpressionProperty]
costCategories :: ExpressionProperty -> Maybe CostCategoryValuesProperty
dimensions :: ExpressionProperty -> Maybe ExpressionDimensionValuesProperty
not :: ExpressionProperty -> Maybe ExpressionProperty
or :: ExpressionProperty -> Maybe [ExpressionProperty]
tags :: ExpressionProperty -> Maybe TagValuesProperty
haddock_workaround_ :: ()
and :: Maybe [ExpressionProperty]
costCategories :: Maybe CostCategoryValuesProperty
dimensions :: Maybe ExpressionDimensionValuesProperty
not :: Maybe ExpressionProperty
or :: Maybe [ExpressionProperty]
tags :: Maybe TagValuesProperty
..}
    = [(Key, Value)] -> Value
JSON.object
        ([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
           ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
              [Key -> [ExpressionProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"And" ([ExpressionProperty] -> (Key, Value))
-> Maybe [ExpressionProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [ExpressionProperty]
and,
               Key -> CostCategoryValuesProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"CostCategories" (CostCategoryValuesProperty -> (Key, Value))
-> Maybe CostCategoryValuesProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe CostCategoryValuesProperty
costCategories,
               Key -> ExpressionDimensionValuesProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Dimensions" (ExpressionDimensionValuesProperty -> (Key, Value))
-> Maybe ExpressionDimensionValuesProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ExpressionDimensionValuesProperty
dimensions,
               Key -> ExpressionProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Not" (ExpressionProperty -> (Key, Value))
-> Maybe ExpressionProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ExpressionProperty
not, Key -> [ExpressionProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Or" ([ExpressionProperty] -> (Key, Value))
-> Maybe [ExpressionProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [ExpressionProperty]
or,
               Key -> TagValuesProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Tags" (TagValuesProperty -> (Key, Value))
-> Maybe TagValuesProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TagValuesProperty
tags]))
instance Property "And" ExpressionProperty where
  type PropertyType "And" ExpressionProperty = [ExpressionProperty]
  set :: PropertyType "And" ExpressionProperty
-> ExpressionProperty -> ExpressionProperty
set PropertyType "And" ExpressionProperty
newValue ExpressionProperty {Maybe [ExpressionProperty]
Maybe CostCategoryValuesProperty
Maybe ExpressionDimensionValuesProperty
Maybe TagValuesProperty
Maybe ExpressionProperty
()
haddock_workaround_ :: ExpressionProperty -> ()
and :: ExpressionProperty -> Maybe [ExpressionProperty]
costCategories :: ExpressionProperty -> Maybe CostCategoryValuesProperty
dimensions :: ExpressionProperty -> Maybe ExpressionDimensionValuesProperty
not :: ExpressionProperty -> Maybe ExpressionProperty
or :: ExpressionProperty -> Maybe [ExpressionProperty]
tags :: ExpressionProperty -> Maybe TagValuesProperty
haddock_workaround_ :: ()
and :: Maybe [ExpressionProperty]
costCategories :: Maybe CostCategoryValuesProperty
dimensions :: Maybe ExpressionDimensionValuesProperty
not :: Maybe ExpressionProperty
or :: Maybe [ExpressionProperty]
tags :: Maybe TagValuesProperty
..}
    = ExpressionProperty {and :: Maybe [ExpressionProperty]
and = [ExpressionProperty] -> Maybe [ExpressionProperty]
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure [ExpressionProperty]
PropertyType "And" ExpressionProperty
newValue, Maybe [ExpressionProperty]
Maybe CostCategoryValuesProperty
Maybe ExpressionDimensionValuesProperty
Maybe TagValuesProperty
Maybe ExpressionProperty
()
haddock_workaround_ :: ()
costCategories :: Maybe CostCategoryValuesProperty
dimensions :: Maybe ExpressionDimensionValuesProperty
not :: Maybe ExpressionProperty
or :: Maybe [ExpressionProperty]
tags :: Maybe TagValuesProperty
haddock_workaround_ :: ()
costCategories :: Maybe CostCategoryValuesProperty
dimensions :: Maybe ExpressionDimensionValuesProperty
not :: Maybe ExpressionProperty
or :: Maybe [ExpressionProperty]
tags :: Maybe TagValuesProperty
..}
instance Property "CostCategories" ExpressionProperty where
  type PropertyType "CostCategories" ExpressionProperty = CostCategoryValuesProperty
  set :: PropertyType "CostCategories" ExpressionProperty
-> ExpressionProperty -> ExpressionProperty
set PropertyType "CostCategories" ExpressionProperty
newValue ExpressionProperty {Maybe [ExpressionProperty]
Maybe CostCategoryValuesProperty
Maybe ExpressionDimensionValuesProperty
Maybe TagValuesProperty
Maybe ExpressionProperty
()
haddock_workaround_ :: ExpressionProperty -> ()
and :: ExpressionProperty -> Maybe [ExpressionProperty]
costCategories :: ExpressionProperty -> Maybe CostCategoryValuesProperty
dimensions :: ExpressionProperty -> Maybe ExpressionDimensionValuesProperty
not :: ExpressionProperty -> Maybe ExpressionProperty
or :: ExpressionProperty -> Maybe [ExpressionProperty]
tags :: ExpressionProperty -> Maybe TagValuesProperty
haddock_workaround_ :: ()
and :: Maybe [ExpressionProperty]
costCategories :: Maybe CostCategoryValuesProperty
dimensions :: Maybe ExpressionDimensionValuesProperty
not :: Maybe ExpressionProperty
or :: Maybe [ExpressionProperty]
tags :: Maybe TagValuesProperty
..}
    = ExpressionProperty {costCategories :: Maybe CostCategoryValuesProperty
costCategories = CostCategoryValuesProperty -> Maybe CostCategoryValuesProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "CostCategories" ExpressionProperty
CostCategoryValuesProperty
newValue, Maybe [ExpressionProperty]
Maybe ExpressionDimensionValuesProperty
Maybe TagValuesProperty
Maybe ExpressionProperty
()
haddock_workaround_ :: ()
and :: Maybe [ExpressionProperty]
dimensions :: Maybe ExpressionDimensionValuesProperty
not :: Maybe ExpressionProperty
or :: Maybe [ExpressionProperty]
tags :: Maybe TagValuesProperty
haddock_workaround_ :: ()
and :: Maybe [ExpressionProperty]
dimensions :: Maybe ExpressionDimensionValuesProperty
not :: Maybe ExpressionProperty
or :: Maybe [ExpressionProperty]
tags :: Maybe TagValuesProperty
..}
instance Property "Dimensions" ExpressionProperty where
  type PropertyType "Dimensions" ExpressionProperty = ExpressionDimensionValuesProperty
  set :: PropertyType "Dimensions" ExpressionProperty
-> ExpressionProperty -> ExpressionProperty
set PropertyType "Dimensions" ExpressionProperty
newValue ExpressionProperty {Maybe [ExpressionProperty]
Maybe CostCategoryValuesProperty
Maybe ExpressionDimensionValuesProperty
Maybe TagValuesProperty
Maybe ExpressionProperty
()
haddock_workaround_ :: ExpressionProperty -> ()
and :: ExpressionProperty -> Maybe [ExpressionProperty]
costCategories :: ExpressionProperty -> Maybe CostCategoryValuesProperty
dimensions :: ExpressionProperty -> Maybe ExpressionDimensionValuesProperty
not :: ExpressionProperty -> Maybe ExpressionProperty
or :: ExpressionProperty -> Maybe [ExpressionProperty]
tags :: ExpressionProperty -> Maybe TagValuesProperty
haddock_workaround_ :: ()
and :: Maybe [ExpressionProperty]
costCategories :: Maybe CostCategoryValuesProperty
dimensions :: Maybe ExpressionDimensionValuesProperty
not :: Maybe ExpressionProperty
or :: Maybe [ExpressionProperty]
tags :: Maybe TagValuesProperty
..}
    = ExpressionProperty {dimensions :: Maybe ExpressionDimensionValuesProperty
dimensions = ExpressionDimensionValuesProperty
-> Maybe ExpressionDimensionValuesProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Dimensions" ExpressionProperty
ExpressionDimensionValuesProperty
newValue, Maybe [ExpressionProperty]
Maybe CostCategoryValuesProperty
Maybe TagValuesProperty
Maybe ExpressionProperty
()
haddock_workaround_ :: ()
and :: Maybe [ExpressionProperty]
costCategories :: Maybe CostCategoryValuesProperty
not :: Maybe ExpressionProperty
or :: Maybe [ExpressionProperty]
tags :: Maybe TagValuesProperty
haddock_workaround_ :: ()
and :: Maybe [ExpressionProperty]
costCategories :: Maybe CostCategoryValuesProperty
not :: Maybe ExpressionProperty
or :: Maybe [ExpressionProperty]
tags :: Maybe TagValuesProperty
..}
instance Property "Not" ExpressionProperty where
  type PropertyType "Not" ExpressionProperty = ExpressionProperty
  set :: PropertyType "Not" ExpressionProperty
-> ExpressionProperty -> ExpressionProperty
set PropertyType "Not" ExpressionProperty
newValue ExpressionProperty {Maybe [ExpressionProperty]
Maybe CostCategoryValuesProperty
Maybe ExpressionDimensionValuesProperty
Maybe TagValuesProperty
Maybe ExpressionProperty
()
haddock_workaround_ :: ExpressionProperty -> ()
and :: ExpressionProperty -> Maybe [ExpressionProperty]
costCategories :: ExpressionProperty -> Maybe CostCategoryValuesProperty
dimensions :: ExpressionProperty -> Maybe ExpressionDimensionValuesProperty
not :: ExpressionProperty -> Maybe ExpressionProperty
or :: ExpressionProperty -> Maybe [ExpressionProperty]
tags :: ExpressionProperty -> Maybe TagValuesProperty
haddock_workaround_ :: ()
and :: Maybe [ExpressionProperty]
costCategories :: Maybe CostCategoryValuesProperty
dimensions :: Maybe ExpressionDimensionValuesProperty
not :: Maybe ExpressionProperty
or :: Maybe [ExpressionProperty]
tags :: Maybe TagValuesProperty
..}
    = ExpressionProperty {not :: Maybe ExpressionProperty
not = ExpressionProperty -> Maybe ExpressionProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Not" ExpressionProperty
ExpressionProperty
newValue, Maybe [ExpressionProperty]
Maybe CostCategoryValuesProperty
Maybe ExpressionDimensionValuesProperty
Maybe TagValuesProperty
()
haddock_workaround_ :: ()
and :: Maybe [ExpressionProperty]
costCategories :: Maybe CostCategoryValuesProperty
dimensions :: Maybe ExpressionDimensionValuesProperty
or :: Maybe [ExpressionProperty]
tags :: Maybe TagValuesProperty
haddock_workaround_ :: ()
and :: Maybe [ExpressionProperty]
costCategories :: Maybe CostCategoryValuesProperty
dimensions :: Maybe ExpressionDimensionValuesProperty
or :: Maybe [ExpressionProperty]
tags :: Maybe TagValuesProperty
..}
instance Property "Or" ExpressionProperty where
  type PropertyType "Or" ExpressionProperty = [ExpressionProperty]
  set :: PropertyType "Or" ExpressionProperty
-> ExpressionProperty -> ExpressionProperty
set PropertyType "Or" ExpressionProperty
newValue ExpressionProperty {Maybe [ExpressionProperty]
Maybe CostCategoryValuesProperty
Maybe ExpressionDimensionValuesProperty
Maybe TagValuesProperty
Maybe ExpressionProperty
()
haddock_workaround_ :: ExpressionProperty -> ()
and :: ExpressionProperty -> Maybe [ExpressionProperty]
costCategories :: ExpressionProperty -> Maybe CostCategoryValuesProperty
dimensions :: ExpressionProperty -> Maybe ExpressionDimensionValuesProperty
not :: ExpressionProperty -> Maybe ExpressionProperty
or :: ExpressionProperty -> Maybe [ExpressionProperty]
tags :: ExpressionProperty -> Maybe TagValuesProperty
haddock_workaround_ :: ()
and :: Maybe [ExpressionProperty]
costCategories :: Maybe CostCategoryValuesProperty
dimensions :: Maybe ExpressionDimensionValuesProperty
not :: Maybe ExpressionProperty
or :: Maybe [ExpressionProperty]
tags :: Maybe TagValuesProperty
..}
    = ExpressionProperty {or :: Maybe [ExpressionProperty]
or = [ExpressionProperty] -> Maybe [ExpressionProperty]
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure [ExpressionProperty]
PropertyType "Or" ExpressionProperty
newValue, Maybe [ExpressionProperty]
Maybe CostCategoryValuesProperty
Maybe ExpressionDimensionValuesProperty
Maybe TagValuesProperty
Maybe ExpressionProperty
()
haddock_workaround_ :: ()
and :: Maybe [ExpressionProperty]
costCategories :: Maybe CostCategoryValuesProperty
dimensions :: Maybe ExpressionDimensionValuesProperty
not :: Maybe ExpressionProperty
tags :: Maybe TagValuesProperty
haddock_workaround_ :: ()
and :: Maybe [ExpressionProperty]
costCategories :: Maybe CostCategoryValuesProperty
dimensions :: Maybe ExpressionDimensionValuesProperty
not :: Maybe ExpressionProperty
tags :: Maybe TagValuesProperty
..}
instance Property "Tags" ExpressionProperty where
  type PropertyType "Tags" ExpressionProperty = TagValuesProperty
  set :: PropertyType "Tags" ExpressionProperty
-> ExpressionProperty -> ExpressionProperty
set PropertyType "Tags" ExpressionProperty
newValue ExpressionProperty {Maybe [ExpressionProperty]
Maybe CostCategoryValuesProperty
Maybe ExpressionDimensionValuesProperty
Maybe TagValuesProperty
Maybe ExpressionProperty
()
haddock_workaround_ :: ExpressionProperty -> ()
and :: ExpressionProperty -> Maybe [ExpressionProperty]
costCategories :: ExpressionProperty -> Maybe CostCategoryValuesProperty
dimensions :: ExpressionProperty -> Maybe ExpressionDimensionValuesProperty
not :: ExpressionProperty -> Maybe ExpressionProperty
or :: ExpressionProperty -> Maybe [ExpressionProperty]
tags :: ExpressionProperty -> Maybe TagValuesProperty
haddock_workaround_ :: ()
and :: Maybe [ExpressionProperty]
costCategories :: Maybe CostCategoryValuesProperty
dimensions :: Maybe ExpressionDimensionValuesProperty
not :: Maybe ExpressionProperty
or :: Maybe [ExpressionProperty]
tags :: Maybe TagValuesProperty
..}
    = ExpressionProperty {tags :: Maybe TagValuesProperty
tags = TagValuesProperty -> Maybe TagValuesProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Tags" ExpressionProperty
TagValuesProperty
newValue, Maybe [ExpressionProperty]
Maybe CostCategoryValuesProperty
Maybe ExpressionDimensionValuesProperty
Maybe ExpressionProperty
()
haddock_workaround_ :: ()
and :: Maybe [ExpressionProperty]
costCategories :: Maybe CostCategoryValuesProperty
dimensions :: Maybe ExpressionDimensionValuesProperty
not :: Maybe ExpressionProperty
or :: Maybe [ExpressionProperty]
haddock_workaround_ :: ()
and :: Maybe [ExpressionProperty]
costCategories :: Maybe CostCategoryValuesProperty
dimensions :: Maybe ExpressionDimensionValuesProperty
not :: Maybe ExpressionProperty
or :: Maybe [ExpressionProperty]
..}