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