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