module Stratosphere.EC2.SecurityGroupVpcAssociation (
        SecurityGroupVpcAssociation(..), mkSecurityGroupVpcAssociation
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data SecurityGroupVpcAssociation
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupvpcassociation.html>
    SecurityGroupVpcAssociation {SecurityGroupVpcAssociation -> ()
haddock_workaround_ :: (),
                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupvpcassociation.html#cfn-ec2-securitygroupvpcassociation-groupid>
                                 SecurityGroupVpcAssociation -> Value Text
groupId :: (Value Prelude.Text),
                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupvpcassociation.html#cfn-ec2-securitygroupvpcassociation-vpcid>
                                 SecurityGroupVpcAssociation -> Value Text
vpcId :: (Value Prelude.Text)}
  deriving stock (SecurityGroupVpcAssociation -> SecurityGroupVpcAssociation -> Bool
(SecurityGroupVpcAssociation
 -> SecurityGroupVpcAssociation -> Bool)
-> (SecurityGroupVpcAssociation
    -> SecurityGroupVpcAssociation -> Bool)
-> Eq SecurityGroupVpcAssociation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SecurityGroupVpcAssociation -> SecurityGroupVpcAssociation -> Bool
== :: SecurityGroupVpcAssociation -> SecurityGroupVpcAssociation -> Bool
$c/= :: SecurityGroupVpcAssociation -> SecurityGroupVpcAssociation -> Bool
/= :: SecurityGroupVpcAssociation -> SecurityGroupVpcAssociation -> Bool
Prelude.Eq, Int -> SecurityGroupVpcAssociation -> ShowS
[SecurityGroupVpcAssociation] -> ShowS
SecurityGroupVpcAssociation -> String
(Int -> SecurityGroupVpcAssociation -> ShowS)
-> (SecurityGroupVpcAssociation -> String)
-> ([SecurityGroupVpcAssociation] -> ShowS)
-> Show SecurityGroupVpcAssociation
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SecurityGroupVpcAssociation -> ShowS
showsPrec :: Int -> SecurityGroupVpcAssociation -> ShowS
$cshow :: SecurityGroupVpcAssociation -> String
show :: SecurityGroupVpcAssociation -> String
$cshowList :: [SecurityGroupVpcAssociation] -> ShowS
showList :: [SecurityGroupVpcAssociation] -> ShowS
Prelude.Show)
mkSecurityGroupVpcAssociation ::
  Value Prelude.Text
  -> Value Prelude.Text -> SecurityGroupVpcAssociation
mkSecurityGroupVpcAssociation :: Value Text -> Value Text -> SecurityGroupVpcAssociation
mkSecurityGroupVpcAssociation Value Text
groupId Value Text
vpcId
  = SecurityGroupVpcAssociation
      {haddock_workaround_ :: ()
haddock_workaround_ = (), groupId :: Value Text
groupId = Value Text
groupId, vpcId :: Value Text
vpcId = Value Text
vpcId}
instance ToResourceProperties SecurityGroupVpcAssociation where
  toResourceProperties :: SecurityGroupVpcAssociation -> ResourceProperties
toResourceProperties SecurityGroupVpcAssociation {()
Value Text
haddock_workaround_ :: SecurityGroupVpcAssociation -> ()
groupId :: SecurityGroupVpcAssociation -> Value Text
vpcId :: SecurityGroupVpcAssociation -> Value Text
haddock_workaround_ :: ()
groupId :: Value Text
vpcId :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::EC2::SecurityGroupVpcAssociation",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"GroupId" 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
groupId, Key
"VpcId" 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
vpcId]}
instance JSON.ToJSON SecurityGroupVpcAssociation where
  toJSON :: SecurityGroupVpcAssociation -> Value
toJSON SecurityGroupVpcAssociation {()
Value Text
haddock_workaround_ :: SecurityGroupVpcAssociation -> ()
groupId :: SecurityGroupVpcAssociation -> Value Text
vpcId :: SecurityGroupVpcAssociation -> Value Text
haddock_workaround_ :: ()
groupId :: Value Text
vpcId :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"GroupId" 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
groupId, Key
"VpcId" 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
vpcId]
instance Property "GroupId" SecurityGroupVpcAssociation where
  type PropertyType "GroupId" SecurityGroupVpcAssociation = Value Prelude.Text
  set :: PropertyType "GroupId" SecurityGroupVpcAssociation
-> SecurityGroupVpcAssociation -> SecurityGroupVpcAssociation
set PropertyType "GroupId" SecurityGroupVpcAssociation
newValue SecurityGroupVpcAssociation {()
Value Text
haddock_workaround_ :: SecurityGroupVpcAssociation -> ()
groupId :: SecurityGroupVpcAssociation -> Value Text
vpcId :: SecurityGroupVpcAssociation -> Value Text
haddock_workaround_ :: ()
groupId :: Value Text
vpcId :: Value Text
..}
    = SecurityGroupVpcAssociation {groupId :: Value Text
groupId = PropertyType "GroupId" SecurityGroupVpcAssociation
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
vpcId :: Value Text
haddock_workaround_ :: ()
vpcId :: Value Text
..}
instance Property "VpcId" SecurityGroupVpcAssociation where
  type PropertyType "VpcId" SecurityGroupVpcAssociation = Value Prelude.Text
  set :: PropertyType "VpcId" SecurityGroupVpcAssociation
-> SecurityGroupVpcAssociation -> SecurityGroupVpcAssociation
set PropertyType "VpcId" SecurityGroupVpcAssociation
newValue SecurityGroupVpcAssociation {()
Value Text
haddock_workaround_ :: SecurityGroupVpcAssociation -> ()
groupId :: SecurityGroupVpcAssociation -> Value Text
vpcId :: SecurityGroupVpcAssociation -> Value Text
haddock_workaround_ :: ()
groupId :: Value Text
vpcId :: Value Text
..}
    = SecurityGroupVpcAssociation {vpcId :: Value Text
vpcId = PropertyType "VpcId" SecurityGroupVpcAssociation
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
groupId :: Value Text
haddock_workaround_ :: ()
groupId :: Value Text
..}