module Stratosphere.IoTFleetWise.Campaign.MqttTopicConfigProperty (
        MqttTopicConfigProperty(..), mkMqttTopicConfigProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data MqttTopicConfigProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-campaign-mqtttopicconfig.html>
    MqttTopicConfigProperty {MqttTopicConfigProperty -> ()
haddock_workaround_ :: (),
                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-campaign-mqtttopicconfig.html#cfn-iotfleetwise-campaign-mqtttopicconfig-executionrolearn>
                             MqttTopicConfigProperty -> Value Text
executionRoleArn :: (Value Prelude.Text),
                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotfleetwise-campaign-mqtttopicconfig.html#cfn-iotfleetwise-campaign-mqtttopicconfig-mqtttopicarn>
                             MqttTopicConfigProperty -> Value Text
mqttTopicArn :: (Value Prelude.Text)}
  deriving stock (MqttTopicConfigProperty -> MqttTopicConfigProperty -> Bool
(MqttTopicConfigProperty -> MqttTopicConfigProperty -> Bool)
-> (MqttTopicConfigProperty -> MqttTopicConfigProperty -> Bool)
-> Eq MqttTopicConfigProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: MqttTopicConfigProperty -> MqttTopicConfigProperty -> Bool
== :: MqttTopicConfigProperty -> MqttTopicConfigProperty -> Bool
$c/= :: MqttTopicConfigProperty -> MqttTopicConfigProperty -> Bool
/= :: MqttTopicConfigProperty -> MqttTopicConfigProperty -> Bool
Prelude.Eq, Int -> MqttTopicConfigProperty -> ShowS
[MqttTopicConfigProperty] -> ShowS
MqttTopicConfigProperty -> String
(Int -> MqttTopicConfigProperty -> ShowS)
-> (MqttTopicConfigProperty -> String)
-> ([MqttTopicConfigProperty] -> ShowS)
-> Show MqttTopicConfigProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> MqttTopicConfigProperty -> ShowS
showsPrec :: Int -> MqttTopicConfigProperty -> ShowS
$cshow :: MqttTopicConfigProperty -> String
show :: MqttTopicConfigProperty -> String
$cshowList :: [MqttTopicConfigProperty] -> ShowS
showList :: [MqttTopicConfigProperty] -> ShowS
Prelude.Show)
mkMqttTopicConfigProperty ::
  Value Prelude.Text -> Value Prelude.Text -> MqttTopicConfigProperty
mkMqttTopicConfigProperty :: Value Text -> Value Text -> MqttTopicConfigProperty
mkMqttTopicConfigProperty Value Text
executionRoleArn Value Text
mqttTopicArn
  = MqttTopicConfigProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), executionRoleArn :: Value Text
executionRoleArn = Value Text
executionRoleArn,
       mqttTopicArn :: Value Text
mqttTopicArn = Value Text
mqttTopicArn}
instance ToResourceProperties MqttTopicConfigProperty where
  toResourceProperties :: MqttTopicConfigProperty -> ResourceProperties
toResourceProperties MqttTopicConfigProperty {()
Value Text
haddock_workaround_ :: MqttTopicConfigProperty -> ()
executionRoleArn :: MqttTopicConfigProperty -> Value Text
mqttTopicArn :: MqttTopicConfigProperty -> Value Text
haddock_workaround_ :: ()
executionRoleArn :: Value Text
mqttTopicArn :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::IoTFleetWise::Campaign.MqttTopicConfig",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ExecutionRoleArn" 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
executionRoleArn,
                       Key
"MqttTopicArn" 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
mqttTopicArn]}
instance JSON.ToJSON MqttTopicConfigProperty where
  toJSON :: MqttTopicConfigProperty -> Value
toJSON MqttTopicConfigProperty {()
Value Text
haddock_workaround_ :: MqttTopicConfigProperty -> ()
executionRoleArn :: MqttTopicConfigProperty -> Value Text
mqttTopicArn :: MqttTopicConfigProperty -> Value Text
haddock_workaround_ :: ()
executionRoleArn :: Value Text
mqttTopicArn :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ExecutionRoleArn" 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
executionRoleArn,
         Key
"MqttTopicArn" 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
mqttTopicArn]
instance Property "ExecutionRoleArn" MqttTopicConfigProperty where
  type PropertyType "ExecutionRoleArn" MqttTopicConfigProperty = Value Prelude.Text
  set :: PropertyType "ExecutionRoleArn" MqttTopicConfigProperty
-> MqttTopicConfigProperty -> MqttTopicConfigProperty
set PropertyType "ExecutionRoleArn" MqttTopicConfigProperty
newValue MqttTopicConfigProperty {()
Value Text
haddock_workaround_ :: MqttTopicConfigProperty -> ()
executionRoleArn :: MqttTopicConfigProperty -> Value Text
mqttTopicArn :: MqttTopicConfigProperty -> Value Text
haddock_workaround_ :: ()
executionRoleArn :: Value Text
mqttTopicArn :: Value Text
..}
    = MqttTopicConfigProperty {executionRoleArn :: Value Text
executionRoleArn = PropertyType "ExecutionRoleArn" MqttTopicConfigProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
mqttTopicArn :: Value Text
haddock_workaround_ :: ()
mqttTopicArn :: Value Text
..}
instance Property "MqttTopicArn" MqttTopicConfigProperty where
  type PropertyType "MqttTopicArn" MqttTopicConfigProperty = Value Prelude.Text
  set :: PropertyType "MqttTopicArn" MqttTopicConfigProperty
-> MqttTopicConfigProperty -> MqttTopicConfigProperty
set PropertyType "MqttTopicArn" MqttTopicConfigProperty
newValue MqttTopicConfigProperty {()
Value Text
haddock_workaround_ :: MqttTopicConfigProperty -> ()
executionRoleArn :: MqttTopicConfigProperty -> Value Text
mqttTopicArn :: MqttTopicConfigProperty -> Value Text
haddock_workaround_ :: ()
executionRoleArn :: Value Text
mqttTopicArn :: Value Text
..}
    = MqttTopicConfigProperty {mqttTopicArn :: Value Text
mqttTopicArn = PropertyType "MqttTopicArn" MqttTopicConfigProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
executionRoleArn :: Value Text
haddock_workaround_ :: ()
executionRoleArn :: Value Text
..}