module Stratosphere.Logs.Transformer.TrimStringProperty (
        TrimStringProperty(..), mkTrimStringProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data TrimStringProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-transformer-trimstring.html>
    TrimStringProperty {TrimStringProperty -> ()
haddock_workaround_ :: (),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-transformer-trimstring.html#cfn-logs-transformer-trimstring-withkeys>
                        TrimStringProperty -> ValueList Text
withKeys :: (ValueList Prelude.Text)}
  deriving stock (TrimStringProperty -> TrimStringProperty -> Bool
(TrimStringProperty -> TrimStringProperty -> Bool)
-> (TrimStringProperty -> TrimStringProperty -> Bool)
-> Eq TrimStringProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TrimStringProperty -> TrimStringProperty -> Bool
== :: TrimStringProperty -> TrimStringProperty -> Bool
$c/= :: TrimStringProperty -> TrimStringProperty -> Bool
/= :: TrimStringProperty -> TrimStringProperty -> Bool
Prelude.Eq, Int -> TrimStringProperty -> ShowS
[TrimStringProperty] -> ShowS
TrimStringProperty -> String
(Int -> TrimStringProperty -> ShowS)
-> (TrimStringProperty -> String)
-> ([TrimStringProperty] -> ShowS)
-> Show TrimStringProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TrimStringProperty -> ShowS
showsPrec :: Int -> TrimStringProperty -> ShowS
$cshow :: TrimStringProperty -> String
show :: TrimStringProperty -> String
$cshowList :: [TrimStringProperty] -> ShowS
showList :: [TrimStringProperty] -> ShowS
Prelude.Show)
mkTrimStringProperty ::
  ValueList Prelude.Text -> TrimStringProperty
mkTrimStringProperty :: ValueList Text -> TrimStringProperty
mkTrimStringProperty ValueList Text
withKeys
  = TrimStringProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), withKeys :: ValueList Text
withKeys = ValueList Text
withKeys}
instance ToResourceProperties TrimStringProperty where
  toResourceProperties :: TrimStringProperty -> ResourceProperties
toResourceProperties TrimStringProperty {()
ValueList Text
haddock_workaround_ :: TrimStringProperty -> ()
withKeys :: TrimStringProperty -> ValueList Text
haddock_workaround_ :: ()
withKeys :: ValueList Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Logs::Transformer.TrimString",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"WithKeys" 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..= ValueList Text
withKeys]}
instance JSON.ToJSON TrimStringProperty where
  toJSON :: TrimStringProperty -> Value
toJSON TrimStringProperty {()
ValueList Text
haddock_workaround_ :: TrimStringProperty -> ()
withKeys :: TrimStringProperty -> ValueList Text
haddock_workaround_ :: ()
withKeys :: ValueList Text
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"WithKeys" 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..= ValueList Text
withKeys]
instance Property "WithKeys" TrimStringProperty where
  type PropertyType "WithKeys" TrimStringProperty = ValueList Prelude.Text
  set :: PropertyType "WithKeys" TrimStringProperty
-> TrimStringProperty -> TrimStringProperty
set PropertyType "WithKeys" TrimStringProperty
newValue TrimStringProperty {()
ValueList Text
haddock_workaround_ :: TrimStringProperty -> ()
withKeys :: TrimStringProperty -> ValueList Text
haddock_workaround_ :: ()
withKeys :: ValueList Text
..}
    = TrimStringProperty {withKeys :: ValueList Text
withKeys = PropertyType "WithKeys" TrimStringProperty
ValueList Text
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}