module Stratosphere.DataZone.SubscriptionTarget.SubscriptionTargetFormProperty (
        SubscriptionTargetFormProperty(..),
        mkSubscriptionTargetFormProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data SubscriptionTargetFormProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-subscriptiontarget-subscriptiontargetform.html>
    SubscriptionTargetFormProperty {SubscriptionTargetFormProperty -> ()
haddock_workaround_ :: (),
                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-subscriptiontarget-subscriptiontargetform.html#cfn-datazone-subscriptiontarget-subscriptiontargetform-content>
                                    SubscriptionTargetFormProperty -> Value Text
content :: (Value Prelude.Text),
                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-subscriptiontarget-subscriptiontargetform.html#cfn-datazone-subscriptiontarget-subscriptiontargetform-formname>
                                    SubscriptionTargetFormProperty -> Value Text
formName :: (Value Prelude.Text)}
  deriving stock (SubscriptionTargetFormProperty
-> SubscriptionTargetFormProperty -> Bool
(SubscriptionTargetFormProperty
 -> SubscriptionTargetFormProperty -> Bool)
-> (SubscriptionTargetFormProperty
    -> SubscriptionTargetFormProperty -> Bool)
-> Eq SubscriptionTargetFormProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SubscriptionTargetFormProperty
-> SubscriptionTargetFormProperty -> Bool
== :: SubscriptionTargetFormProperty
-> SubscriptionTargetFormProperty -> Bool
$c/= :: SubscriptionTargetFormProperty
-> SubscriptionTargetFormProperty -> Bool
/= :: SubscriptionTargetFormProperty
-> SubscriptionTargetFormProperty -> Bool
Prelude.Eq, Int -> SubscriptionTargetFormProperty -> ShowS
[SubscriptionTargetFormProperty] -> ShowS
SubscriptionTargetFormProperty -> String
(Int -> SubscriptionTargetFormProperty -> ShowS)
-> (SubscriptionTargetFormProperty -> String)
-> ([SubscriptionTargetFormProperty] -> ShowS)
-> Show SubscriptionTargetFormProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SubscriptionTargetFormProperty -> ShowS
showsPrec :: Int -> SubscriptionTargetFormProperty -> ShowS
$cshow :: SubscriptionTargetFormProperty -> String
show :: SubscriptionTargetFormProperty -> String
$cshowList :: [SubscriptionTargetFormProperty] -> ShowS
showList :: [SubscriptionTargetFormProperty] -> ShowS
Prelude.Show)
mkSubscriptionTargetFormProperty ::
  Value Prelude.Text
  -> Value Prelude.Text -> SubscriptionTargetFormProperty
mkSubscriptionTargetFormProperty :: Value Text -> Value Text -> SubscriptionTargetFormProperty
mkSubscriptionTargetFormProperty Value Text
content Value Text
formName
  = SubscriptionTargetFormProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), content :: Value Text
content = Value Text
content, formName :: Value Text
formName = Value Text
formName}
instance ToResourceProperties SubscriptionTargetFormProperty where
  toResourceProperties :: SubscriptionTargetFormProperty -> ResourceProperties
toResourceProperties SubscriptionTargetFormProperty {()
Value Text
haddock_workaround_ :: SubscriptionTargetFormProperty -> ()
content :: SubscriptionTargetFormProperty -> Value Text
formName :: SubscriptionTargetFormProperty -> Value Text
haddock_workaround_ :: ()
content :: Value Text
formName :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::DataZone::SubscriptionTarget.SubscriptionTargetForm",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Content" 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
content,
                       Key
"FormName" 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
formName]}
instance JSON.ToJSON SubscriptionTargetFormProperty where
  toJSON :: SubscriptionTargetFormProperty -> Value
toJSON SubscriptionTargetFormProperty {()
Value Text
haddock_workaround_ :: SubscriptionTargetFormProperty -> ()
content :: SubscriptionTargetFormProperty -> Value Text
formName :: SubscriptionTargetFormProperty -> Value Text
haddock_workaround_ :: ()
content :: Value Text
formName :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"Content" 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
content, Key
"FormName" 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
formName]
instance Property "Content" SubscriptionTargetFormProperty where
  type PropertyType "Content" SubscriptionTargetFormProperty = Value Prelude.Text
  set :: PropertyType "Content" SubscriptionTargetFormProperty
-> SubscriptionTargetFormProperty -> SubscriptionTargetFormProperty
set PropertyType "Content" SubscriptionTargetFormProperty
newValue SubscriptionTargetFormProperty {()
Value Text
haddock_workaround_ :: SubscriptionTargetFormProperty -> ()
content :: SubscriptionTargetFormProperty -> Value Text
formName :: SubscriptionTargetFormProperty -> Value Text
haddock_workaround_ :: ()
content :: Value Text
formName :: Value Text
..}
    = SubscriptionTargetFormProperty {content :: Value Text
content = PropertyType "Content" SubscriptionTargetFormProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
formName :: Value Text
haddock_workaround_ :: ()
formName :: Value Text
..}
instance Property "FormName" SubscriptionTargetFormProperty where
  type PropertyType "FormName" SubscriptionTargetFormProperty = Value Prelude.Text
  set :: PropertyType "FormName" SubscriptionTargetFormProperty
-> SubscriptionTargetFormProperty -> SubscriptionTargetFormProperty
set PropertyType "FormName" SubscriptionTargetFormProperty
newValue SubscriptionTargetFormProperty {()
Value Text
haddock_workaround_ :: SubscriptionTargetFormProperty -> ()
content :: SubscriptionTargetFormProperty -> Value Text
formName :: SubscriptionTargetFormProperty -> Value Text
haddock_workaround_ :: ()
content :: Value Text
formName :: Value Text
..}
    = SubscriptionTargetFormProperty {formName :: Value Text
formName = PropertyType "FormName" SubscriptionTargetFormProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
content :: Value Text
haddock_workaround_ :: ()
content :: Value Text
..}