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