content: module Stratosphere.Chatbot.CustomAction.CustomActionDefinitionProperty (
          CustomActionDefinitionProperty(..),
          mkCustomActionDefinitionProperty
      ) where
  import qualified Data.Aeson as JSON
  import qualified Stratosphere.Prelude as Prelude
  import Stratosphere.Property
  import Stratosphere.ResourceProperties
  import Stratosphere.Value
  data CustomActionDefinitionProperty
    = CustomActionDefinitionProperty {commandText :: (Value Prelude.Text)}
    deriving stock (Prelude.Eq, Prelude.Show)
  mkCustomActionDefinitionProperty ::
    Value Prelude.Text -> CustomActionDefinitionProperty
  mkCustomActionDefinitionProperty commandText
    = CustomActionDefinitionProperty {commandText = commandText}
  instance ToResourceProperties CustomActionDefinitionProperty where
    toResourceProperties CustomActionDefinitionProperty {..}
      = ResourceProperties
          {awsType = "AWS::Chatbot::CustomAction.CustomActionDefinition",
           supportsTags = Prelude.False,
           properties = ["CommandText" JSON..= commandText]}
  instance JSON.ToJSON CustomActionDefinitionProperty where
    toJSON CustomActionDefinitionProperty {..}
      = JSON.object ["CommandText" JSON..= commandText]
  instance Property "CommandText" CustomActionDefinitionProperty where
    type PropertyType "CommandText" CustomActionDefinitionProperty = Value Prelude.Text
    set newValue CustomActionDefinitionProperty {}
      = CustomActionDefinitionProperty {commandText = newValue, ..}