module Stratosphere.Route53.HostedZone.VPCProperty (
        VPCProperty(..), mkVPCProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data VPCProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-vpc.html>
    VPCProperty {VPCProperty -> ()
haddock_workaround_ :: (),
                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-vpc.html#cfn-route53-hostedzone-vpc-vpcid>
                 VPCProperty -> Value Text
vPCId :: (Value Prelude.Text),
                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-vpc.html#cfn-route53-hostedzone-vpc-vpcregion>
                 VPCProperty -> Value Text
vPCRegion :: (Value Prelude.Text)}
  deriving stock (VPCProperty -> VPCProperty -> Bool
(VPCProperty -> VPCProperty -> Bool)
-> (VPCProperty -> VPCProperty -> Bool) -> Eq VPCProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: VPCProperty -> VPCProperty -> Bool
== :: VPCProperty -> VPCProperty -> Bool
$c/= :: VPCProperty -> VPCProperty -> Bool
/= :: VPCProperty -> VPCProperty -> Bool
Prelude.Eq, Int -> VPCProperty -> ShowS
[VPCProperty] -> ShowS
VPCProperty -> String
(Int -> VPCProperty -> ShowS)
-> (VPCProperty -> String)
-> ([VPCProperty] -> ShowS)
-> Show VPCProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> VPCProperty -> ShowS
showsPrec :: Int -> VPCProperty -> ShowS
$cshow :: VPCProperty -> String
show :: VPCProperty -> String
$cshowList :: [VPCProperty] -> ShowS
showList :: [VPCProperty] -> ShowS
Prelude.Show)
mkVPCProperty ::
  Value Prelude.Text -> Value Prelude.Text -> VPCProperty
mkVPCProperty :: Value Text -> Value Text -> VPCProperty
mkVPCProperty Value Text
vPCId Value Text
vPCRegion
  = VPCProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), vPCId :: Value Text
vPCId = Value Text
vPCId, vPCRegion :: Value Text
vPCRegion = Value Text
vPCRegion}
instance ToResourceProperties VPCProperty where
  toResourceProperties :: VPCProperty -> ResourceProperties
toResourceProperties VPCProperty {()
Value Text
haddock_workaround_ :: VPCProperty -> ()
vPCId :: VPCProperty -> Value Text
vPCRegion :: VPCProperty -> Value Text
haddock_workaround_ :: ()
vPCId :: Value Text
vPCRegion :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Route53::HostedZone.VPC",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [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,
                       Key
"VPCRegion" 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
vPCRegion]}
instance JSON.ToJSON VPCProperty where
  toJSON :: VPCProperty -> Value
toJSON VPCProperty {()
Value Text
haddock_workaround_ :: VPCProperty -> ()
vPCId :: VPCProperty -> Value Text
vPCRegion :: VPCProperty -> Value Text
haddock_workaround_ :: ()
vPCId :: Value Text
vPCRegion :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [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, Key
"VPCRegion" 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
vPCRegion]
instance Property "VPCId" VPCProperty where
  type PropertyType "VPCId" VPCProperty = Value Prelude.Text
  set :: PropertyType "VPCId" VPCProperty -> VPCProperty -> VPCProperty
set PropertyType "VPCId" VPCProperty
newValue VPCProperty {()
Value Text
haddock_workaround_ :: VPCProperty -> ()
vPCId :: VPCProperty -> Value Text
vPCRegion :: VPCProperty -> Value Text
haddock_workaround_ :: ()
vPCId :: Value Text
vPCRegion :: Value Text
..} = VPCProperty {vPCId :: Value Text
vPCId = PropertyType "VPCId" VPCProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
vPCRegion :: Value Text
haddock_workaround_ :: ()
vPCRegion :: Value Text
..}
instance Property "VPCRegion" VPCProperty where
  type PropertyType "VPCRegion" VPCProperty = Value Prelude.Text
  set :: PropertyType "VPCRegion" VPCProperty -> VPCProperty -> VPCProperty
set PropertyType "VPCRegion" VPCProperty
newValue VPCProperty {()
Value Text
haddock_workaround_ :: VPCProperty -> ()
vPCId :: VPCProperty -> Value Text
vPCRegion :: VPCProperty -> Value Text
haddock_workaround_ :: ()
vPCId :: Value Text
vPCRegion :: Value Text
..}
    = VPCProperty {vPCRegion :: Value Text
vPCRegion = PropertyType "VPCRegion" VPCProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
vPCId :: Value Text
haddock_workaround_ :: ()
vPCId :: Value Text
..}