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