module Stratosphere.MediaConnect.FlowVpcInterface (
        FlowVpcInterface(..), mkFlowVpcInterface
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data FlowVpcInterface
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html>
    FlowVpcInterface {FlowVpcInterface -> ()
haddock_workaround_ :: (),
                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html#cfn-mediaconnect-flowvpcinterface-flowarn>
                      FlowVpcInterface -> Value Text
flowArn :: (Value Prelude.Text),
                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html#cfn-mediaconnect-flowvpcinterface-name>
                      FlowVpcInterface -> Value Text
name :: (Value Prelude.Text),
                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html#cfn-mediaconnect-flowvpcinterface-rolearn>
                      FlowVpcInterface -> Value Text
roleArn :: (Value Prelude.Text),
                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html#cfn-mediaconnect-flowvpcinterface-securitygroupids>
                      FlowVpcInterface -> ValueList Text
securityGroupIds :: (ValueList Prelude.Text),
                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html#cfn-mediaconnect-flowvpcinterface-subnetid>
                      FlowVpcInterface -> Value Text
subnetId :: (Value Prelude.Text)}
  deriving stock (FlowVpcInterface -> FlowVpcInterface -> Bool
(FlowVpcInterface -> FlowVpcInterface -> Bool)
-> (FlowVpcInterface -> FlowVpcInterface -> Bool)
-> Eq FlowVpcInterface
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: FlowVpcInterface -> FlowVpcInterface -> Bool
== :: FlowVpcInterface -> FlowVpcInterface -> Bool
$c/= :: FlowVpcInterface -> FlowVpcInterface -> Bool
/= :: FlowVpcInterface -> FlowVpcInterface -> Bool
Prelude.Eq, Int -> FlowVpcInterface -> ShowS
[FlowVpcInterface] -> ShowS
FlowVpcInterface -> String
(Int -> FlowVpcInterface -> ShowS)
-> (FlowVpcInterface -> String)
-> ([FlowVpcInterface] -> ShowS)
-> Show FlowVpcInterface
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> FlowVpcInterface -> ShowS
showsPrec :: Int -> FlowVpcInterface -> ShowS
$cshow :: FlowVpcInterface -> String
show :: FlowVpcInterface -> String
$cshowList :: [FlowVpcInterface] -> ShowS
showList :: [FlowVpcInterface] -> ShowS
Prelude.Show)
mkFlowVpcInterface ::
  Value Prelude.Text
  -> Value Prelude.Text
     -> Value Prelude.Text
        -> ValueList Prelude.Text -> Value Prelude.Text -> FlowVpcInterface
mkFlowVpcInterface :: Value Text
-> Value Text
-> Value Text
-> ValueList Text
-> Value Text
-> FlowVpcInterface
mkFlowVpcInterface Value Text
flowArn Value Text
name Value Text
roleArn ValueList Text
securityGroupIds Value Text
subnetId
  = FlowVpcInterface
      {haddock_workaround_ :: ()
haddock_workaround_ = (), flowArn :: Value Text
flowArn = Value Text
flowArn, name :: Value Text
name = Value Text
name,
       roleArn :: Value Text
roleArn = Value Text
roleArn, securityGroupIds :: ValueList Text
securityGroupIds = ValueList Text
securityGroupIds,
       subnetId :: Value Text
subnetId = Value Text
subnetId}
instance ToResourceProperties FlowVpcInterface where
  toResourceProperties :: FlowVpcInterface -> ResourceProperties
toResourceProperties FlowVpcInterface {()
ValueList Text
Value Text
haddock_workaround_ :: FlowVpcInterface -> ()
flowArn :: FlowVpcInterface -> Value Text
name :: FlowVpcInterface -> Value Text
roleArn :: FlowVpcInterface -> Value Text
securityGroupIds :: FlowVpcInterface -> ValueList Text
subnetId :: FlowVpcInterface -> Value Text
haddock_workaround_ :: ()
flowArn :: Value Text
name :: Value Text
roleArn :: Value Text
securityGroupIds :: ValueList Text
subnetId :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::MediaConnect::FlowVpcInterface",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"FlowArn" 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
flowArn, Key
"Name" 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
name,
                       Key
"RoleArn" 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
roleArn,
                       Key
"SecurityGroupIds" Key -> ValueList Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= ValueList Text
securityGroupIds,
                       Key
"SubnetId" 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
subnetId]}
instance JSON.ToJSON FlowVpcInterface where
  toJSON :: FlowVpcInterface -> Value
toJSON FlowVpcInterface {()
ValueList Text
Value Text
haddock_workaround_ :: FlowVpcInterface -> ()
flowArn :: FlowVpcInterface -> Value Text
name :: FlowVpcInterface -> Value Text
roleArn :: FlowVpcInterface -> Value Text
securityGroupIds :: FlowVpcInterface -> ValueList Text
subnetId :: FlowVpcInterface -> Value Text
haddock_workaround_ :: ()
flowArn :: Value Text
name :: Value Text
roleArn :: Value Text
securityGroupIds :: ValueList Text
subnetId :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"FlowArn" 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
flowArn, Key
"Name" 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
name,
         Key
"RoleArn" 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
roleArn,
         Key
"SecurityGroupIds" Key -> ValueList Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= ValueList Text
securityGroupIds,
         Key
"SubnetId" 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
subnetId]
instance Property "FlowArn" FlowVpcInterface where
  type PropertyType "FlowArn" FlowVpcInterface = Value Prelude.Text
  set :: PropertyType "FlowArn" FlowVpcInterface
-> FlowVpcInterface -> FlowVpcInterface
set PropertyType "FlowArn" FlowVpcInterface
newValue FlowVpcInterface {()
ValueList Text
Value Text
haddock_workaround_ :: FlowVpcInterface -> ()
flowArn :: FlowVpcInterface -> Value Text
name :: FlowVpcInterface -> Value Text
roleArn :: FlowVpcInterface -> Value Text
securityGroupIds :: FlowVpcInterface -> ValueList Text
subnetId :: FlowVpcInterface -> Value Text
haddock_workaround_ :: ()
flowArn :: Value Text
name :: Value Text
roleArn :: Value Text
securityGroupIds :: ValueList Text
subnetId :: Value Text
..}
    = FlowVpcInterface {flowArn :: Value Text
flowArn = PropertyType "FlowArn" FlowVpcInterface
Value Text
newValue, ()
ValueList Text
Value Text
haddock_workaround_ :: ()
name :: Value Text
roleArn :: Value Text
securityGroupIds :: ValueList Text
subnetId :: Value Text
haddock_workaround_ :: ()
name :: Value Text
roleArn :: Value Text
securityGroupIds :: ValueList Text
subnetId :: Value Text
..}
instance Property "Name" FlowVpcInterface where
  type PropertyType "Name" FlowVpcInterface = Value Prelude.Text
  set :: PropertyType "Name" FlowVpcInterface
-> FlowVpcInterface -> FlowVpcInterface
set PropertyType "Name" FlowVpcInterface
newValue FlowVpcInterface {()
ValueList Text
Value Text
haddock_workaround_ :: FlowVpcInterface -> ()
flowArn :: FlowVpcInterface -> Value Text
name :: FlowVpcInterface -> Value Text
roleArn :: FlowVpcInterface -> Value Text
securityGroupIds :: FlowVpcInterface -> ValueList Text
subnetId :: FlowVpcInterface -> Value Text
haddock_workaround_ :: ()
flowArn :: Value Text
name :: Value Text
roleArn :: Value Text
securityGroupIds :: ValueList Text
subnetId :: Value Text
..}
    = FlowVpcInterface {name :: Value Text
name = PropertyType "Name" FlowVpcInterface
Value Text
newValue, ()
ValueList Text
Value Text
haddock_workaround_ :: ()
flowArn :: Value Text
roleArn :: Value Text
securityGroupIds :: ValueList Text
subnetId :: Value Text
haddock_workaround_ :: ()
flowArn :: Value Text
roleArn :: Value Text
securityGroupIds :: ValueList Text
subnetId :: Value Text
..}
instance Property "RoleArn" FlowVpcInterface where
  type PropertyType "RoleArn" FlowVpcInterface = Value Prelude.Text
  set :: PropertyType "RoleArn" FlowVpcInterface
-> FlowVpcInterface -> FlowVpcInterface
set PropertyType "RoleArn" FlowVpcInterface
newValue FlowVpcInterface {()
ValueList Text
Value Text
haddock_workaround_ :: FlowVpcInterface -> ()
flowArn :: FlowVpcInterface -> Value Text
name :: FlowVpcInterface -> Value Text
roleArn :: FlowVpcInterface -> Value Text
securityGroupIds :: FlowVpcInterface -> ValueList Text
subnetId :: FlowVpcInterface -> Value Text
haddock_workaround_ :: ()
flowArn :: Value Text
name :: Value Text
roleArn :: Value Text
securityGroupIds :: ValueList Text
subnetId :: Value Text
..}
    = FlowVpcInterface {roleArn :: Value Text
roleArn = PropertyType "RoleArn" FlowVpcInterface
Value Text
newValue, ()
ValueList Text
Value Text
haddock_workaround_ :: ()
flowArn :: Value Text
name :: Value Text
securityGroupIds :: ValueList Text
subnetId :: Value Text
haddock_workaround_ :: ()
flowArn :: Value Text
name :: Value Text
securityGroupIds :: ValueList Text
subnetId :: Value Text
..}
instance Property "SecurityGroupIds" FlowVpcInterface where
  type PropertyType "SecurityGroupIds" FlowVpcInterface = ValueList Prelude.Text
  set :: PropertyType "SecurityGroupIds" FlowVpcInterface
-> FlowVpcInterface -> FlowVpcInterface
set PropertyType "SecurityGroupIds" FlowVpcInterface
newValue FlowVpcInterface {()
ValueList Text
Value Text
haddock_workaround_ :: FlowVpcInterface -> ()
flowArn :: FlowVpcInterface -> Value Text
name :: FlowVpcInterface -> Value Text
roleArn :: FlowVpcInterface -> Value Text
securityGroupIds :: FlowVpcInterface -> ValueList Text
subnetId :: FlowVpcInterface -> Value Text
haddock_workaround_ :: ()
flowArn :: Value Text
name :: Value Text
roleArn :: Value Text
securityGroupIds :: ValueList Text
subnetId :: Value Text
..}
    = FlowVpcInterface {securityGroupIds :: ValueList Text
securityGroupIds = PropertyType "SecurityGroupIds" FlowVpcInterface
ValueList Text
newValue, ()
Value Text
haddock_workaround_ :: ()
flowArn :: Value Text
name :: Value Text
roleArn :: Value Text
subnetId :: Value Text
haddock_workaround_ :: ()
flowArn :: Value Text
name :: Value Text
roleArn :: Value Text
subnetId :: Value Text
..}
instance Property "SubnetId" FlowVpcInterface where
  type PropertyType "SubnetId" FlowVpcInterface = Value Prelude.Text
  set :: PropertyType "SubnetId" FlowVpcInterface
-> FlowVpcInterface -> FlowVpcInterface
set PropertyType "SubnetId" FlowVpcInterface
newValue FlowVpcInterface {()
ValueList Text
Value Text
haddock_workaround_ :: FlowVpcInterface -> ()
flowArn :: FlowVpcInterface -> Value Text
name :: FlowVpcInterface -> Value Text
roleArn :: FlowVpcInterface -> Value Text
securityGroupIds :: FlowVpcInterface -> ValueList Text
subnetId :: FlowVpcInterface -> Value Text
haddock_workaround_ :: ()
flowArn :: Value Text
name :: Value Text
roleArn :: Value Text
securityGroupIds :: ValueList Text
subnetId :: Value Text
..}
    = FlowVpcInterface {subnetId :: Value Text
subnetId = PropertyType "SubnetId" FlowVpcInterface
Value Text
newValue, ()
ValueList Text
Value Text
haddock_workaround_ :: ()
flowArn :: Value Text
name :: Value Text
roleArn :: Value Text
securityGroupIds :: ValueList Text
haddock_workaround_ :: ()
flowArn :: Value Text
name :: Value Text
roleArn :: Value Text
securityGroupIds :: ValueList Text
..}