module Stratosphere.MediaConnect.BridgeSource.BridgeNetworkSourceProperty ( module Exports, BridgeNetworkSourceProperty(..), mkBridgeNetworkSourceProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import {-# SOURCE #-} Stratosphere.MediaConnect.BridgeSource.MulticastSourceSettingsProperty as Exports import Stratosphere.ResourceProperties import Stratosphere.Value data BridgeNetworkSourceProperty = -- | See: BridgeNetworkSourceProperty {haddock_workaround_ :: (), -- | See: multicastIp :: (Value Prelude.Text), -- | See: multicastSourceSettings :: (Prelude.Maybe MulticastSourceSettingsProperty), -- | See: networkName :: (Value Prelude.Text), -- | See: port :: (Value Prelude.Integer), -- | See: protocol :: (Value Prelude.Text)} deriving stock (Prelude.Eq, Prelude.Show) mkBridgeNetworkSourceProperty :: Value Prelude.Text -> Value Prelude.Text -> Value Prelude.Integer -> Value Prelude.Text -> BridgeNetworkSourceProperty mkBridgeNetworkSourceProperty multicastIp networkName port protocol = BridgeNetworkSourceProperty {haddock_workaround_ = (), multicastIp = multicastIp, networkName = networkName, port = port, protocol = protocol, multicastSourceSettings = Prelude.Nothing} instance ToResourceProperties BridgeNetworkSourceProperty where toResourceProperties BridgeNetworkSourceProperty {..} = ResourceProperties {awsType = "AWS::MediaConnect::BridgeSource.BridgeNetworkSource", supportsTags = Prelude.False, properties = Prelude.fromList ((Prelude.<>) ["MulticastIp" JSON..= multicastIp, "NetworkName" JSON..= networkName, "Port" JSON..= port, "Protocol" JSON..= protocol] (Prelude.catMaybes [(JSON..=) "MulticastSourceSettings" Prelude.<$> multicastSourceSettings]))} instance JSON.ToJSON BridgeNetworkSourceProperty where toJSON BridgeNetworkSourceProperty {..} = JSON.object (Prelude.fromList ((Prelude.<>) ["MulticastIp" JSON..= multicastIp, "NetworkName" JSON..= networkName, "Port" JSON..= port, "Protocol" JSON..= protocol] (Prelude.catMaybes [(JSON..=) "MulticastSourceSettings" Prelude.<$> multicastSourceSettings]))) instance Property "MulticastIp" BridgeNetworkSourceProperty where type PropertyType "MulticastIp" BridgeNetworkSourceProperty = Value Prelude.Text set newValue BridgeNetworkSourceProperty {..} = BridgeNetworkSourceProperty {multicastIp = newValue, ..} instance Property "MulticastSourceSettings" BridgeNetworkSourceProperty where type PropertyType "MulticastSourceSettings" BridgeNetworkSourceProperty = MulticastSourceSettingsProperty set newValue BridgeNetworkSourceProperty {..} = BridgeNetworkSourceProperty {multicastSourceSettings = Prelude.pure newValue, ..} instance Property "NetworkName" BridgeNetworkSourceProperty where type PropertyType "NetworkName" BridgeNetworkSourceProperty = Value Prelude.Text set newValue BridgeNetworkSourceProperty {..} = BridgeNetworkSourceProperty {networkName = newValue, ..} instance Property "Port" BridgeNetworkSourceProperty where type PropertyType "Port" BridgeNetworkSourceProperty = Value Prelude.Integer set newValue BridgeNetworkSourceProperty {..} = BridgeNetworkSourceProperty {port = newValue, ..} instance Property "Protocol" BridgeNetworkSourceProperty where type PropertyType "Protocol" BridgeNetworkSourceProperty = Value Prelude.Text set newValue BridgeNetworkSourceProperty {..} = BridgeNetworkSourceProperty {protocol = newValue, ..}