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