module Stratosphere.KinesisFirehose.DeliveryStream.VpcConfigurationProperty (
        VpcConfigurationProperty(..), mkVpcConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data VpcConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-vpcconfiguration.html>
    VpcConfigurationProperty {VpcConfigurationProperty -> ()
haddock_workaround_ :: (),
                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-vpcconfiguration.html#cfn-kinesisfirehose-deliverystream-vpcconfiguration-rolearn>
                              VpcConfigurationProperty -> Value Text
roleARN :: (Value Prelude.Text),
                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-vpcconfiguration.html#cfn-kinesisfirehose-deliverystream-vpcconfiguration-securitygroupids>
                              VpcConfigurationProperty -> ValueList Text
securityGroupIds :: (ValueList Prelude.Text),
                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-vpcconfiguration.html#cfn-kinesisfirehose-deliverystream-vpcconfiguration-subnetids>
                              VpcConfigurationProperty -> ValueList Text
subnetIds :: (ValueList Prelude.Text)}
  deriving stock (VpcConfigurationProperty -> VpcConfigurationProperty -> Bool
(VpcConfigurationProperty -> VpcConfigurationProperty -> Bool)
-> (VpcConfigurationProperty -> VpcConfigurationProperty -> Bool)
-> Eq VpcConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: VpcConfigurationProperty -> VpcConfigurationProperty -> Bool
== :: VpcConfigurationProperty -> VpcConfigurationProperty -> Bool
$c/= :: VpcConfigurationProperty -> VpcConfigurationProperty -> Bool
/= :: VpcConfigurationProperty -> VpcConfigurationProperty -> Bool
Prelude.Eq, Int -> VpcConfigurationProperty -> ShowS
[VpcConfigurationProperty] -> ShowS
VpcConfigurationProperty -> String
(Int -> VpcConfigurationProperty -> ShowS)
-> (VpcConfigurationProperty -> String)
-> ([VpcConfigurationProperty] -> ShowS)
-> Show VpcConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> VpcConfigurationProperty -> ShowS
showsPrec :: Int -> VpcConfigurationProperty -> ShowS
$cshow :: VpcConfigurationProperty -> String
show :: VpcConfigurationProperty -> String
$cshowList :: [VpcConfigurationProperty] -> ShowS
showList :: [VpcConfigurationProperty] -> ShowS
Prelude.Show)
mkVpcConfigurationProperty ::
  Value Prelude.Text
  -> ValueList Prelude.Text
     -> ValueList Prelude.Text -> VpcConfigurationProperty
mkVpcConfigurationProperty :: Value Text
-> ValueList Text -> ValueList Text -> VpcConfigurationProperty
mkVpcConfigurationProperty Value Text
roleARN ValueList Text
securityGroupIds ValueList Text
subnetIds
  = VpcConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), roleARN :: Value Text
roleARN = Value Text
roleARN,
       securityGroupIds :: ValueList Text
securityGroupIds = ValueList Text
securityGroupIds, subnetIds :: ValueList Text
subnetIds = ValueList Text
subnetIds}
instance ToResourceProperties VpcConfigurationProperty where
  toResourceProperties :: VpcConfigurationProperty -> ResourceProperties
toResourceProperties VpcConfigurationProperty {()
ValueList Text
Value Text
haddock_workaround_ :: VpcConfigurationProperty -> ()
roleARN :: VpcConfigurationProperty -> Value Text
securityGroupIds :: VpcConfigurationProperty -> ValueList Text
subnetIds :: VpcConfigurationProperty -> ValueList Text
haddock_workaround_ :: ()
roleARN :: Value Text
securityGroupIds :: ValueList Text
subnetIds :: ValueList Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::KinesisFirehose::DeliveryStream.VpcConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [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
"SubnetIds" 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
subnetIds]}
instance JSON.ToJSON VpcConfigurationProperty where
  toJSON :: VpcConfigurationProperty -> Value
toJSON VpcConfigurationProperty {()
ValueList Text
Value Text
haddock_workaround_ :: VpcConfigurationProperty -> ()
roleARN :: VpcConfigurationProperty -> Value Text
securityGroupIds :: VpcConfigurationProperty -> ValueList Text
subnetIds :: VpcConfigurationProperty -> ValueList Text
haddock_workaround_ :: ()
roleARN :: Value Text
securityGroupIds :: ValueList Text
subnetIds :: ValueList Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [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
"SubnetIds" 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
subnetIds]
instance Property "RoleARN" VpcConfigurationProperty where
  type PropertyType "RoleARN" VpcConfigurationProperty = Value Prelude.Text
  set :: PropertyType "RoleARN" VpcConfigurationProperty
-> VpcConfigurationProperty -> VpcConfigurationProperty
set PropertyType "RoleARN" VpcConfigurationProperty
newValue VpcConfigurationProperty {()
ValueList Text
Value Text
haddock_workaround_ :: VpcConfigurationProperty -> ()
roleARN :: VpcConfigurationProperty -> Value Text
securityGroupIds :: VpcConfigurationProperty -> ValueList Text
subnetIds :: VpcConfigurationProperty -> ValueList Text
haddock_workaround_ :: ()
roleARN :: Value Text
securityGroupIds :: ValueList Text
subnetIds :: ValueList Text
..}
    = VpcConfigurationProperty {roleARN :: Value Text
roleARN = PropertyType "RoleARN" VpcConfigurationProperty
Value Text
newValue, ()
ValueList Text
haddock_workaround_ :: ()
securityGroupIds :: ValueList Text
subnetIds :: ValueList Text
haddock_workaround_ :: ()
securityGroupIds :: ValueList Text
subnetIds :: ValueList Text
..}
instance Property "SecurityGroupIds" VpcConfigurationProperty where
  type PropertyType "SecurityGroupIds" VpcConfigurationProperty = ValueList Prelude.Text
  set :: PropertyType "SecurityGroupIds" VpcConfigurationProperty
-> VpcConfigurationProperty -> VpcConfigurationProperty
set PropertyType "SecurityGroupIds" VpcConfigurationProperty
newValue VpcConfigurationProperty {()
ValueList Text
Value Text
haddock_workaround_ :: VpcConfigurationProperty -> ()
roleARN :: VpcConfigurationProperty -> Value Text
securityGroupIds :: VpcConfigurationProperty -> ValueList Text
subnetIds :: VpcConfigurationProperty -> ValueList Text
haddock_workaround_ :: ()
roleARN :: Value Text
securityGroupIds :: ValueList Text
subnetIds :: ValueList Text
..}
    = VpcConfigurationProperty {securityGroupIds :: ValueList Text
securityGroupIds = PropertyType "SecurityGroupIds" VpcConfigurationProperty
ValueList Text
newValue, ()
ValueList Text
Value Text
haddock_workaround_ :: ()
roleARN :: Value Text
subnetIds :: ValueList Text
haddock_workaround_ :: ()
roleARN :: Value Text
subnetIds :: ValueList Text
..}
instance Property "SubnetIds" VpcConfigurationProperty where
  type PropertyType "SubnetIds" VpcConfigurationProperty = ValueList Prelude.Text
  set :: PropertyType "SubnetIds" VpcConfigurationProperty
-> VpcConfigurationProperty -> VpcConfigurationProperty
set PropertyType "SubnetIds" VpcConfigurationProperty
newValue VpcConfigurationProperty {()
ValueList Text
Value Text
haddock_workaround_ :: VpcConfigurationProperty -> ()
roleARN :: VpcConfigurationProperty -> Value Text
securityGroupIds :: VpcConfigurationProperty -> ValueList Text
subnetIds :: VpcConfigurationProperty -> ValueList Text
haddock_workaround_ :: ()
roleARN :: Value Text
securityGroupIds :: ValueList Text
subnetIds :: ValueList Text
..}
    = VpcConfigurationProperty {subnetIds :: ValueList Text
subnetIds = PropertyType "SubnetIds" VpcConfigurationProperty
ValueList Text
newValue, ()
ValueList Text
Value Text
haddock_workaround_ :: ()
roleARN :: Value Text
securityGroupIds :: ValueList Text
haddock_workaround_ :: ()
roleARN :: Value Text
securityGroupIds :: ValueList Text
..}