module Stratosphere.B2BI.Transformer.X12ElementLengthValidationRuleProperty (
        X12ElementLengthValidationRuleProperty(..),
        mkX12ElementLengthValidationRuleProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data X12ElementLengthValidationRuleProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-b2bi-transformer-x12elementlengthvalidationrule.html>
    X12ElementLengthValidationRuleProperty {X12ElementLengthValidationRuleProperty -> ()
haddock_workaround_ :: (),
                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-b2bi-transformer-x12elementlengthvalidationrule.html#cfn-b2bi-transformer-x12elementlengthvalidationrule-elementid>
                                            X12ElementLengthValidationRuleProperty -> Value Text
elementId :: (Value Prelude.Text),
                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-b2bi-transformer-x12elementlengthvalidationrule.html#cfn-b2bi-transformer-x12elementlengthvalidationrule-maxlength>
                                            X12ElementLengthValidationRuleProperty -> Value Double
maxLength :: (Value Prelude.Double),
                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-b2bi-transformer-x12elementlengthvalidationrule.html#cfn-b2bi-transformer-x12elementlengthvalidationrule-minlength>
                                            X12ElementLengthValidationRuleProperty -> Value Double
minLength :: (Value Prelude.Double)}
  deriving stock (X12ElementLengthValidationRuleProperty
-> X12ElementLengthValidationRuleProperty -> Bool
(X12ElementLengthValidationRuleProperty
 -> X12ElementLengthValidationRuleProperty -> Bool)
-> (X12ElementLengthValidationRuleProperty
    -> X12ElementLengthValidationRuleProperty -> Bool)
-> Eq X12ElementLengthValidationRuleProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: X12ElementLengthValidationRuleProperty
-> X12ElementLengthValidationRuleProperty -> Bool
== :: X12ElementLengthValidationRuleProperty
-> X12ElementLengthValidationRuleProperty -> Bool
$c/= :: X12ElementLengthValidationRuleProperty
-> X12ElementLengthValidationRuleProperty -> Bool
/= :: X12ElementLengthValidationRuleProperty
-> X12ElementLengthValidationRuleProperty -> Bool
Prelude.Eq, Int -> X12ElementLengthValidationRuleProperty -> ShowS
[X12ElementLengthValidationRuleProperty] -> ShowS
X12ElementLengthValidationRuleProperty -> String
(Int -> X12ElementLengthValidationRuleProperty -> ShowS)
-> (X12ElementLengthValidationRuleProperty -> String)
-> ([X12ElementLengthValidationRuleProperty] -> ShowS)
-> Show X12ElementLengthValidationRuleProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> X12ElementLengthValidationRuleProperty -> ShowS
showsPrec :: Int -> X12ElementLengthValidationRuleProperty -> ShowS
$cshow :: X12ElementLengthValidationRuleProperty -> String
show :: X12ElementLengthValidationRuleProperty -> String
$cshowList :: [X12ElementLengthValidationRuleProperty] -> ShowS
showList :: [X12ElementLengthValidationRuleProperty] -> ShowS
Prelude.Show)
mkX12ElementLengthValidationRuleProperty ::
  Value Prelude.Text
  -> Value Prelude.Double
     -> Value Prelude.Double -> X12ElementLengthValidationRuleProperty
mkX12ElementLengthValidationRuleProperty :: Value Text
-> Value Double
-> Value Double
-> X12ElementLengthValidationRuleProperty
mkX12ElementLengthValidationRuleProperty
  Value Text
elementId
  Value Double
maxLength
  Value Double
minLength
  = X12ElementLengthValidationRuleProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), elementId :: Value Text
elementId = Value Text
elementId,
       maxLength :: Value Double
maxLength = Value Double
maxLength, minLength :: Value Double
minLength = Value Double
minLength}
instance ToResourceProperties X12ElementLengthValidationRuleProperty where
  toResourceProperties :: X12ElementLengthValidationRuleProperty -> ResourceProperties
toResourceProperties X12ElementLengthValidationRuleProperty {()
Value Double
Value Text
haddock_workaround_ :: X12ElementLengthValidationRuleProperty -> ()
elementId :: X12ElementLengthValidationRuleProperty -> Value Text
maxLength :: X12ElementLengthValidationRuleProperty -> Value Double
minLength :: X12ElementLengthValidationRuleProperty -> Value Double
haddock_workaround_ :: ()
elementId :: Value Text
maxLength :: Value Double
minLength :: Value Double
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::B2BI::Transformer.X12ElementLengthValidationRule",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ElementId" 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
elementId,
                       Key
"MaxLength" 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
maxLength, Key
"MinLength" 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
minLength]}
instance JSON.ToJSON X12ElementLengthValidationRuleProperty where
  toJSON :: X12ElementLengthValidationRuleProperty -> Value
toJSON X12ElementLengthValidationRuleProperty {()
Value Double
Value Text
haddock_workaround_ :: X12ElementLengthValidationRuleProperty -> ()
elementId :: X12ElementLengthValidationRuleProperty -> Value Text
maxLength :: X12ElementLengthValidationRuleProperty -> Value Double
minLength :: X12ElementLengthValidationRuleProperty -> Value Double
haddock_workaround_ :: ()
elementId :: Value Text
maxLength :: Value Double
minLength :: Value Double
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ElementId" 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
elementId, Key
"MaxLength" 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
maxLength,
         Key
"MinLength" 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
minLength]
instance Property "ElementId" X12ElementLengthValidationRuleProperty where
  type PropertyType "ElementId" X12ElementLengthValidationRuleProperty = Value Prelude.Text
  set :: PropertyType "ElementId" X12ElementLengthValidationRuleProperty
-> X12ElementLengthValidationRuleProperty
-> X12ElementLengthValidationRuleProperty
set PropertyType "ElementId" X12ElementLengthValidationRuleProperty
newValue X12ElementLengthValidationRuleProperty {()
Value Double
Value Text
haddock_workaround_ :: X12ElementLengthValidationRuleProperty -> ()
elementId :: X12ElementLengthValidationRuleProperty -> Value Text
maxLength :: X12ElementLengthValidationRuleProperty -> Value Double
minLength :: X12ElementLengthValidationRuleProperty -> Value Double
haddock_workaround_ :: ()
elementId :: Value Text
maxLength :: Value Double
minLength :: Value Double
..}
    = X12ElementLengthValidationRuleProperty {elementId :: Value Text
elementId = PropertyType "ElementId" X12ElementLengthValidationRuleProperty
Value Text
newValue, ()
Value Double
haddock_workaround_ :: ()
maxLength :: Value Double
minLength :: Value Double
haddock_workaround_ :: ()
maxLength :: Value Double
minLength :: Value Double
..}
instance Property "MaxLength" X12ElementLengthValidationRuleProperty where
  type PropertyType "MaxLength" X12ElementLengthValidationRuleProperty = Value Prelude.Double
  set :: PropertyType "MaxLength" X12ElementLengthValidationRuleProperty
-> X12ElementLengthValidationRuleProperty
-> X12ElementLengthValidationRuleProperty
set PropertyType "MaxLength" X12ElementLengthValidationRuleProperty
newValue X12ElementLengthValidationRuleProperty {()
Value Double
Value Text
haddock_workaround_ :: X12ElementLengthValidationRuleProperty -> ()
elementId :: X12ElementLengthValidationRuleProperty -> Value Text
maxLength :: X12ElementLengthValidationRuleProperty -> Value Double
minLength :: X12ElementLengthValidationRuleProperty -> Value Double
haddock_workaround_ :: ()
elementId :: Value Text
maxLength :: Value Double
minLength :: Value Double
..}
    = X12ElementLengthValidationRuleProperty {maxLength :: Value Double
maxLength = PropertyType "MaxLength" X12ElementLengthValidationRuleProperty
Value Double
newValue, ()
Value Double
Value Text
haddock_workaround_ :: ()
elementId :: Value Text
minLength :: Value Double
haddock_workaround_ :: ()
elementId :: Value Text
minLength :: Value Double
..}
instance Property "MinLength" X12ElementLengthValidationRuleProperty where
  type PropertyType "MinLength" X12ElementLengthValidationRuleProperty = Value Prelude.Double
  set :: PropertyType "MinLength" X12ElementLengthValidationRuleProperty
-> X12ElementLengthValidationRuleProperty
-> X12ElementLengthValidationRuleProperty
set PropertyType "MinLength" X12ElementLengthValidationRuleProperty
newValue X12ElementLengthValidationRuleProperty {()
Value Double
Value Text
haddock_workaround_ :: X12ElementLengthValidationRuleProperty -> ()
elementId :: X12ElementLengthValidationRuleProperty -> Value Text
maxLength :: X12ElementLengthValidationRuleProperty -> Value Double
minLength :: X12ElementLengthValidationRuleProperty -> Value Double
haddock_workaround_ :: ()
elementId :: Value Text
maxLength :: Value Double
minLength :: Value Double
..}
    = X12ElementLengthValidationRuleProperty {minLength :: Value Double
minLength = PropertyType "MinLength" X12ElementLengthValidationRuleProperty
Value Double
newValue, ()
Value Double
Value Text
haddock_workaround_ :: ()
elementId :: Value Text
maxLength :: Value Double
haddock_workaround_ :: ()
elementId :: Value Text
maxLength :: Value Double
..}