module Stratosphere.MediaLive.EventBridgeRuleTemplate.EventBridgeRuleTemplateTargetProperty (
        EventBridgeRuleTemplateTargetProperty(..),
        mkEventBridgeRuleTemplateTargetProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data EventBridgeRuleTemplateTargetProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-eventbridgeruletemplate-eventbridgeruletemplatetarget.html>
    EventBridgeRuleTemplateTargetProperty {EventBridgeRuleTemplateTargetProperty -> ()
haddock_workaround_ :: (),
                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-eventbridgeruletemplate-eventbridgeruletemplatetarget.html#cfn-medialive-eventbridgeruletemplate-eventbridgeruletemplatetarget-arn>
                                           EventBridgeRuleTemplateTargetProperty -> Value Text
arn :: (Value Prelude.Text)}
  deriving stock (EventBridgeRuleTemplateTargetProperty
-> EventBridgeRuleTemplateTargetProperty -> Bool
(EventBridgeRuleTemplateTargetProperty
 -> EventBridgeRuleTemplateTargetProperty -> Bool)
-> (EventBridgeRuleTemplateTargetProperty
    -> EventBridgeRuleTemplateTargetProperty -> Bool)
-> Eq EventBridgeRuleTemplateTargetProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: EventBridgeRuleTemplateTargetProperty
-> EventBridgeRuleTemplateTargetProperty -> Bool
== :: EventBridgeRuleTemplateTargetProperty
-> EventBridgeRuleTemplateTargetProperty -> Bool
$c/= :: EventBridgeRuleTemplateTargetProperty
-> EventBridgeRuleTemplateTargetProperty -> Bool
/= :: EventBridgeRuleTemplateTargetProperty
-> EventBridgeRuleTemplateTargetProperty -> Bool
Prelude.Eq, Int -> EventBridgeRuleTemplateTargetProperty -> ShowS
[EventBridgeRuleTemplateTargetProperty] -> ShowS
EventBridgeRuleTemplateTargetProperty -> String
(Int -> EventBridgeRuleTemplateTargetProperty -> ShowS)
-> (EventBridgeRuleTemplateTargetProperty -> String)
-> ([EventBridgeRuleTemplateTargetProperty] -> ShowS)
-> Show EventBridgeRuleTemplateTargetProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> EventBridgeRuleTemplateTargetProperty -> ShowS
showsPrec :: Int -> EventBridgeRuleTemplateTargetProperty -> ShowS
$cshow :: EventBridgeRuleTemplateTargetProperty -> String
show :: EventBridgeRuleTemplateTargetProperty -> String
$cshowList :: [EventBridgeRuleTemplateTargetProperty] -> ShowS
showList :: [EventBridgeRuleTemplateTargetProperty] -> ShowS
Prelude.Show)
mkEventBridgeRuleTemplateTargetProperty ::
  Value Prelude.Text -> EventBridgeRuleTemplateTargetProperty
mkEventBridgeRuleTemplateTargetProperty :: Value Text -> EventBridgeRuleTemplateTargetProperty
mkEventBridgeRuleTemplateTargetProperty Value Text
arn
  = EventBridgeRuleTemplateTargetProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), arn :: Value Text
arn = Value Text
arn}
instance ToResourceProperties EventBridgeRuleTemplateTargetProperty where
  toResourceProperties :: EventBridgeRuleTemplateTargetProperty -> ResourceProperties
toResourceProperties EventBridgeRuleTemplateTargetProperty {()
Value Text
haddock_workaround_ :: EventBridgeRuleTemplateTargetProperty -> ()
arn :: EventBridgeRuleTemplateTargetProperty -> Value Text
haddock_workaround_ :: ()
arn :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::MediaLive::EventBridgeRuleTemplate.EventBridgeRuleTemplateTarget",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False, properties :: Object
properties = [Key
"Arn" 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
arn]}
instance JSON.ToJSON EventBridgeRuleTemplateTargetProperty where
  toJSON :: EventBridgeRuleTemplateTargetProperty -> Value
toJSON EventBridgeRuleTemplateTargetProperty {()
Value Text
haddock_workaround_ :: EventBridgeRuleTemplateTargetProperty -> ()
arn :: EventBridgeRuleTemplateTargetProperty -> Value Text
haddock_workaround_ :: ()
arn :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"Arn" 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
arn]
instance Property "Arn" EventBridgeRuleTemplateTargetProperty where
  type PropertyType "Arn" EventBridgeRuleTemplateTargetProperty = Value Prelude.Text
  set :: PropertyType "Arn" EventBridgeRuleTemplateTargetProperty
-> EventBridgeRuleTemplateTargetProperty
-> EventBridgeRuleTemplateTargetProperty
set PropertyType "Arn" EventBridgeRuleTemplateTargetProperty
newValue EventBridgeRuleTemplateTargetProperty {()
Value Text
haddock_workaround_ :: EventBridgeRuleTemplateTargetProperty -> ()
arn :: EventBridgeRuleTemplateTargetProperty -> Value Text
haddock_workaround_ :: ()
arn :: Value Text
..}
    = EventBridgeRuleTemplateTargetProperty {arn :: Value Text
arn = PropertyType "Arn" EventBridgeRuleTemplateTargetProperty
Value Text
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}