module Stratosphere.QBusiness.DataAccessor.DocumentAttributeProperty (
        module Exports, DocumentAttributeProperty(..),
        mkDocumentAttributeProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.QBusiness.DataAccessor.DocumentAttributeValueProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data DocumentAttributeProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-dataaccessor-documentattribute.html>
    DocumentAttributeProperty {DocumentAttributeProperty -> ()
haddock_workaround_ :: (),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-dataaccessor-documentattribute.html#cfn-qbusiness-dataaccessor-documentattribute-name>
                               DocumentAttributeProperty -> Value Text
name :: (Value Prelude.Text),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-dataaccessor-documentattribute.html#cfn-qbusiness-dataaccessor-documentattribute-value>
                               DocumentAttributeProperty -> DocumentAttributeValueProperty
value :: DocumentAttributeValueProperty}
  deriving stock (DocumentAttributeProperty -> DocumentAttributeProperty -> Bool
(DocumentAttributeProperty -> DocumentAttributeProperty -> Bool)
-> (DocumentAttributeProperty -> DocumentAttributeProperty -> Bool)
-> Eq DocumentAttributeProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DocumentAttributeProperty -> DocumentAttributeProperty -> Bool
== :: DocumentAttributeProperty -> DocumentAttributeProperty -> Bool
$c/= :: DocumentAttributeProperty -> DocumentAttributeProperty -> Bool
/= :: DocumentAttributeProperty -> DocumentAttributeProperty -> Bool
Prelude.Eq, Int -> DocumentAttributeProperty -> ShowS
[DocumentAttributeProperty] -> ShowS
DocumentAttributeProperty -> String
(Int -> DocumentAttributeProperty -> ShowS)
-> (DocumentAttributeProperty -> String)
-> ([DocumentAttributeProperty] -> ShowS)
-> Show DocumentAttributeProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DocumentAttributeProperty -> ShowS
showsPrec :: Int -> DocumentAttributeProperty -> ShowS
$cshow :: DocumentAttributeProperty -> String
show :: DocumentAttributeProperty -> String
$cshowList :: [DocumentAttributeProperty] -> ShowS
showList :: [DocumentAttributeProperty] -> ShowS
Prelude.Show)
mkDocumentAttributeProperty ::
  Value Prelude.Text
  -> DocumentAttributeValueProperty -> DocumentAttributeProperty
mkDocumentAttributeProperty :: Value Text
-> DocumentAttributeValueProperty -> DocumentAttributeProperty
mkDocumentAttributeProperty Value Text
name DocumentAttributeValueProperty
value
  = DocumentAttributeProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), name :: Value Text
name = Value Text
name, value :: DocumentAttributeValueProperty
value = DocumentAttributeValueProperty
value}
instance ToResourceProperties DocumentAttributeProperty where
  toResourceProperties :: DocumentAttributeProperty -> ResourceProperties
toResourceProperties DocumentAttributeProperty {()
Value Text
DocumentAttributeValueProperty
haddock_workaround_ :: DocumentAttributeProperty -> ()
name :: DocumentAttributeProperty -> Value Text
value :: DocumentAttributeProperty -> DocumentAttributeValueProperty
haddock_workaround_ :: ()
name :: Value Text
value :: DocumentAttributeValueProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::QBusiness::DataAccessor.DocumentAttribute",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Name" 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
name, Key
"Value" Key -> DocumentAttributeValueProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= DocumentAttributeValueProperty
value]}
instance JSON.ToJSON DocumentAttributeProperty where
  toJSON :: DocumentAttributeProperty -> Value
toJSON DocumentAttributeProperty {()
Value Text
DocumentAttributeValueProperty
haddock_workaround_ :: DocumentAttributeProperty -> ()
name :: DocumentAttributeProperty -> Value Text
value :: DocumentAttributeProperty -> DocumentAttributeValueProperty
haddock_workaround_ :: ()
name :: Value Text
value :: DocumentAttributeValueProperty
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"Name" 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
name, Key
"Value" Key -> DocumentAttributeValueProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= DocumentAttributeValueProperty
value]
instance Property "Name" DocumentAttributeProperty where
  type PropertyType "Name" DocumentAttributeProperty = Value Prelude.Text
  set :: PropertyType "Name" DocumentAttributeProperty
-> DocumentAttributeProperty -> DocumentAttributeProperty
set PropertyType "Name" DocumentAttributeProperty
newValue DocumentAttributeProperty {()
Value Text
DocumentAttributeValueProperty
haddock_workaround_ :: DocumentAttributeProperty -> ()
name :: DocumentAttributeProperty -> Value Text
value :: DocumentAttributeProperty -> DocumentAttributeValueProperty
haddock_workaround_ :: ()
name :: Value Text
value :: DocumentAttributeValueProperty
..}
    = DocumentAttributeProperty {name :: Value Text
name = PropertyType "Name" DocumentAttributeProperty
Value Text
newValue, ()
DocumentAttributeValueProperty
haddock_workaround_ :: ()
value :: DocumentAttributeValueProperty
haddock_workaround_ :: ()
value :: DocumentAttributeValueProperty
..}
instance Property "Value" DocumentAttributeProperty where
  type PropertyType "Value" DocumentAttributeProperty = DocumentAttributeValueProperty
  set :: PropertyType "Value" DocumentAttributeProperty
-> DocumentAttributeProperty -> DocumentAttributeProperty
set PropertyType "Value" DocumentAttributeProperty
newValue DocumentAttributeProperty {()
Value Text
DocumentAttributeValueProperty
haddock_workaround_ :: DocumentAttributeProperty -> ()
name :: DocumentAttributeProperty -> Value Text
value :: DocumentAttributeProperty -> DocumentAttributeValueProperty
haddock_workaround_ :: ()
name :: Value Text
value :: DocumentAttributeValueProperty
..}
    = DocumentAttributeProperty {value :: DocumentAttributeValueProperty
value = PropertyType "Value" DocumentAttributeProperty
DocumentAttributeValueProperty
newValue, ()
Value Text
haddock_workaround_ :: ()
name :: Value Text
haddock_workaround_ :: ()
name :: Value Text
..}