module Stratosphere.LookoutMetrics.AnomalyDetector.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-lookoutmetrics-anomalydetector-vpcconfiguration.html>
    VpcConfigurationProperty {VpcConfigurationProperty -> ()
haddock_workaround_ :: (),
                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-anomalydetector-vpcconfiguration.html#cfn-lookoutmetrics-anomalydetector-vpcconfiguration-securitygroupidlist>
                              VpcConfigurationProperty -> ValueList Text
securityGroupIdList :: (ValueList Prelude.Text),
                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lookoutmetrics-anomalydetector-vpcconfiguration.html#cfn-lookoutmetrics-anomalydetector-vpcconfiguration-subnetidlist>
                              VpcConfigurationProperty -> ValueList Text
subnetIdList :: (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 ::
  ValueList Prelude.Text
  -> ValueList Prelude.Text -> VpcConfigurationProperty
mkVpcConfigurationProperty :: ValueList Text -> ValueList Text -> VpcConfigurationProperty
mkVpcConfigurationProperty ValueList Text
securityGroupIdList ValueList Text
subnetIdList
  = VpcConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       securityGroupIdList :: ValueList Text
securityGroupIdList = ValueList Text
securityGroupIdList,
       subnetIdList :: ValueList Text
subnetIdList = ValueList Text
subnetIdList}
instance ToResourceProperties VpcConfigurationProperty where
  toResourceProperties :: VpcConfigurationProperty -> ResourceProperties
toResourceProperties VpcConfigurationProperty {()
ValueList Text
haddock_workaround_ :: VpcConfigurationProperty -> ()
securityGroupIdList :: VpcConfigurationProperty -> ValueList Text
subnetIdList :: VpcConfigurationProperty -> ValueList Text
haddock_workaround_ :: ()
securityGroupIdList :: ValueList Text
subnetIdList :: ValueList Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"SecurityGroupIdList" 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
securityGroupIdList,
                       Key
"SubnetIdList" 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
subnetIdList]}
instance JSON.ToJSON VpcConfigurationProperty where
  toJSON :: VpcConfigurationProperty -> Value
toJSON VpcConfigurationProperty {()
ValueList Text
haddock_workaround_ :: VpcConfigurationProperty -> ()
securityGroupIdList :: VpcConfigurationProperty -> ValueList Text
subnetIdList :: VpcConfigurationProperty -> ValueList Text
haddock_workaround_ :: ()
securityGroupIdList :: ValueList Text
subnetIdList :: ValueList Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"SecurityGroupIdList" 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
securityGroupIdList,
         Key
"SubnetIdList" 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
subnetIdList]
instance Property "SecurityGroupIdList" VpcConfigurationProperty where
  type PropertyType "SecurityGroupIdList" VpcConfigurationProperty = ValueList Prelude.Text
  set :: PropertyType "SecurityGroupIdList" VpcConfigurationProperty
-> VpcConfigurationProperty -> VpcConfigurationProperty
set PropertyType "SecurityGroupIdList" VpcConfigurationProperty
newValue VpcConfigurationProperty {()
ValueList Text
haddock_workaround_ :: VpcConfigurationProperty -> ()
securityGroupIdList :: VpcConfigurationProperty -> ValueList Text
subnetIdList :: VpcConfigurationProperty -> ValueList Text
haddock_workaround_ :: ()
securityGroupIdList :: ValueList Text
subnetIdList :: ValueList Text
..}
    = VpcConfigurationProperty {securityGroupIdList :: ValueList Text
securityGroupIdList = PropertyType "SecurityGroupIdList" VpcConfigurationProperty
ValueList Text
newValue, ()
ValueList Text
haddock_workaround_ :: ()
subnetIdList :: ValueList Text
haddock_workaround_ :: ()
subnetIdList :: ValueList Text
..}
instance Property "SubnetIdList" VpcConfigurationProperty where
  type PropertyType "SubnetIdList" VpcConfigurationProperty = ValueList Prelude.Text
  set :: PropertyType "SubnetIdList" VpcConfigurationProperty
-> VpcConfigurationProperty -> VpcConfigurationProperty
set PropertyType "SubnetIdList" VpcConfigurationProperty
newValue VpcConfigurationProperty {()
ValueList Text
haddock_workaround_ :: VpcConfigurationProperty -> ()
securityGroupIdList :: VpcConfigurationProperty -> ValueList Text
subnetIdList :: VpcConfigurationProperty -> ValueList Text
haddock_workaround_ :: ()
securityGroupIdList :: ValueList Text
subnetIdList :: ValueList Text
..}
    = VpcConfigurationProperty {subnetIdList :: ValueList Text
subnetIdList = PropertyType "SubnetIdList" VpcConfigurationProperty
ValueList Text
newValue, ()
ValueList Text
haddock_workaround_ :: ()
securityGroupIdList :: ValueList Text
haddock_workaround_ :: ()
securityGroupIdList :: ValueList Text
..}