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