module Stratosphere.Pipes.Pipe.SingleMeasureMappingProperty (
        SingleMeasureMappingProperty(..), mkSingleMeasureMappingProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data SingleMeasureMappingProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-singlemeasuremapping.html>
    SingleMeasureMappingProperty {SingleMeasureMappingProperty -> ()
haddock_workaround_ :: (),
                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-singlemeasuremapping.html#cfn-pipes-pipe-singlemeasuremapping-measurename>
                                  SingleMeasureMappingProperty -> Value Text
measureName :: (Value Prelude.Text),
                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-singlemeasuremapping.html#cfn-pipes-pipe-singlemeasuremapping-measurevalue>
                                  SingleMeasureMappingProperty -> Value Text
measureValue :: (Value Prelude.Text),
                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-singlemeasuremapping.html#cfn-pipes-pipe-singlemeasuremapping-measurevaluetype>
                                  SingleMeasureMappingProperty -> Value Text
measureValueType :: (Value Prelude.Text)}
  deriving stock (SingleMeasureMappingProperty
-> SingleMeasureMappingProperty -> Bool
(SingleMeasureMappingProperty
 -> SingleMeasureMappingProperty -> Bool)
-> (SingleMeasureMappingProperty
    -> SingleMeasureMappingProperty -> Bool)
-> Eq SingleMeasureMappingProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SingleMeasureMappingProperty
-> SingleMeasureMappingProperty -> Bool
== :: SingleMeasureMappingProperty
-> SingleMeasureMappingProperty -> Bool
$c/= :: SingleMeasureMappingProperty
-> SingleMeasureMappingProperty -> Bool
/= :: SingleMeasureMappingProperty
-> SingleMeasureMappingProperty -> Bool
Prelude.Eq, Int -> SingleMeasureMappingProperty -> ShowS
[SingleMeasureMappingProperty] -> ShowS
SingleMeasureMappingProperty -> String
(Int -> SingleMeasureMappingProperty -> ShowS)
-> (SingleMeasureMappingProperty -> String)
-> ([SingleMeasureMappingProperty] -> ShowS)
-> Show SingleMeasureMappingProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SingleMeasureMappingProperty -> ShowS
showsPrec :: Int -> SingleMeasureMappingProperty -> ShowS
$cshow :: SingleMeasureMappingProperty -> String
show :: SingleMeasureMappingProperty -> String
$cshowList :: [SingleMeasureMappingProperty] -> ShowS
showList :: [SingleMeasureMappingProperty] -> ShowS
Prelude.Show)
mkSingleMeasureMappingProperty ::
  Value Prelude.Text
  -> Value Prelude.Text
     -> Value Prelude.Text -> SingleMeasureMappingProperty
mkSingleMeasureMappingProperty :: Value Text
-> Value Text -> Value Text -> SingleMeasureMappingProperty
mkSingleMeasureMappingProperty
  Value Text
measureName
  Value Text
measureValue
  Value Text
measureValueType
  = SingleMeasureMappingProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), measureName :: Value Text
measureName = Value Text
measureName,
       measureValue :: Value Text
measureValue = Value Text
measureValue, measureValueType :: Value Text
measureValueType = Value Text
measureValueType}
instance ToResourceProperties SingleMeasureMappingProperty where
  toResourceProperties :: SingleMeasureMappingProperty -> ResourceProperties
toResourceProperties SingleMeasureMappingProperty {()
Value Text
haddock_workaround_ :: SingleMeasureMappingProperty -> ()
measureName :: SingleMeasureMappingProperty -> Value Text
measureValue :: SingleMeasureMappingProperty -> Value Text
measureValueType :: SingleMeasureMappingProperty -> Value Text
haddock_workaround_ :: ()
measureName :: Value Text
measureValue :: Value Text
measureValueType :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Pipes::Pipe.SingleMeasureMapping",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"MeasureName" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
measureName,
                       Key
"MeasureValue" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
measureValue,
                       Key
"MeasureValueType" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
measureValueType]}
instance JSON.ToJSON SingleMeasureMappingProperty where
  toJSON :: SingleMeasureMappingProperty -> Value
toJSON SingleMeasureMappingProperty {()
Value Text
haddock_workaround_ :: SingleMeasureMappingProperty -> ()
measureName :: SingleMeasureMappingProperty -> Value Text
measureValue :: SingleMeasureMappingProperty -> Value Text
measureValueType :: SingleMeasureMappingProperty -> Value Text
haddock_workaround_ :: ()
measureName :: Value Text
measureValue :: Value Text
measureValueType :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"MeasureName" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
measureName,
         Key
"MeasureValue" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
measureValue,
         Key
"MeasureValueType" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
measureValueType]
instance Property "MeasureName" SingleMeasureMappingProperty where
  type PropertyType "MeasureName" SingleMeasureMappingProperty = Value Prelude.Text
  set :: PropertyType "MeasureName" SingleMeasureMappingProperty
-> SingleMeasureMappingProperty -> SingleMeasureMappingProperty
set PropertyType "MeasureName" SingleMeasureMappingProperty
newValue SingleMeasureMappingProperty {()
Value Text
haddock_workaround_ :: SingleMeasureMappingProperty -> ()
measureName :: SingleMeasureMappingProperty -> Value Text
measureValue :: SingleMeasureMappingProperty -> Value Text
measureValueType :: SingleMeasureMappingProperty -> Value Text
haddock_workaround_ :: ()
measureName :: Value Text
measureValue :: Value Text
measureValueType :: Value Text
..}
    = SingleMeasureMappingProperty {measureName :: Value Text
measureName = PropertyType "MeasureName" SingleMeasureMappingProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
measureValue :: Value Text
measureValueType :: Value Text
haddock_workaround_ :: ()
measureValue :: Value Text
measureValueType :: Value Text
..}
instance Property "MeasureValue" SingleMeasureMappingProperty where
  type PropertyType "MeasureValue" SingleMeasureMappingProperty = Value Prelude.Text
  set :: PropertyType "MeasureValue" SingleMeasureMappingProperty
-> SingleMeasureMappingProperty -> SingleMeasureMappingProperty
set PropertyType "MeasureValue" SingleMeasureMappingProperty
newValue SingleMeasureMappingProperty {()
Value Text
haddock_workaround_ :: SingleMeasureMappingProperty -> ()
measureName :: SingleMeasureMappingProperty -> Value Text
measureValue :: SingleMeasureMappingProperty -> Value Text
measureValueType :: SingleMeasureMappingProperty -> Value Text
haddock_workaround_ :: ()
measureName :: Value Text
measureValue :: Value Text
measureValueType :: Value Text
..}
    = SingleMeasureMappingProperty {measureValue :: Value Text
measureValue = PropertyType "MeasureValue" SingleMeasureMappingProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
measureName :: Value Text
measureValueType :: Value Text
haddock_workaround_ :: ()
measureName :: Value Text
measureValueType :: Value Text
..}
instance Property "MeasureValueType" SingleMeasureMappingProperty where
  type PropertyType "MeasureValueType" SingleMeasureMappingProperty = Value Prelude.Text
  set :: PropertyType "MeasureValueType" SingleMeasureMappingProperty
-> SingleMeasureMappingProperty -> SingleMeasureMappingProperty
set PropertyType "MeasureValueType" SingleMeasureMappingProperty
newValue SingleMeasureMappingProperty {()
Value Text
haddock_workaround_ :: SingleMeasureMappingProperty -> ()
measureName :: SingleMeasureMappingProperty -> Value Text
measureValue :: SingleMeasureMappingProperty -> Value Text
measureValueType :: SingleMeasureMappingProperty -> Value Text
haddock_workaround_ :: ()
measureName :: Value Text
measureValue :: Value Text
measureValueType :: Value Text
..}
    = SingleMeasureMappingProperty {measureValueType :: Value Text
measureValueType = PropertyType "MeasureValueType" SingleMeasureMappingProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
measureName :: Value Text
measureValue :: Value Text
haddock_workaround_ :: ()
measureName :: Value Text
measureValue :: Value Text
..}