module Stratosphere.CleanRooms.AnalysisTemplate.AnalysisSourceMetadataProperty (
        module Exports, AnalysisSourceMetadataProperty(..),
        mkAnalysisSourceMetadataProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.CleanRooms.AnalysisTemplate.AnalysisTemplateArtifactMetadataProperty as Exports
import Stratosphere.ResourceProperties
data AnalysisSourceMetadataProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-analysistemplate-analysissourcemetadata.html>
    AnalysisSourceMetadataProperty {AnalysisSourceMetadataProperty -> ()
haddock_workaround_ :: (),
                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-analysistemplate-analysissourcemetadata.html#cfn-cleanrooms-analysistemplate-analysissourcemetadata-artifacts>
                                    AnalysisSourceMetadataProperty
-> AnalysisTemplateArtifactMetadataProperty
artifacts :: AnalysisTemplateArtifactMetadataProperty}
  deriving stock (AnalysisSourceMetadataProperty
-> AnalysisSourceMetadataProperty -> Bool
(AnalysisSourceMetadataProperty
 -> AnalysisSourceMetadataProperty -> Bool)
-> (AnalysisSourceMetadataProperty
    -> AnalysisSourceMetadataProperty -> Bool)
-> Eq AnalysisSourceMetadataProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AnalysisSourceMetadataProperty
-> AnalysisSourceMetadataProperty -> Bool
== :: AnalysisSourceMetadataProperty
-> AnalysisSourceMetadataProperty -> Bool
$c/= :: AnalysisSourceMetadataProperty
-> AnalysisSourceMetadataProperty -> Bool
/= :: AnalysisSourceMetadataProperty
-> AnalysisSourceMetadataProperty -> Bool
Prelude.Eq, Int -> AnalysisSourceMetadataProperty -> ShowS
[AnalysisSourceMetadataProperty] -> ShowS
AnalysisSourceMetadataProperty -> String
(Int -> AnalysisSourceMetadataProperty -> ShowS)
-> (AnalysisSourceMetadataProperty -> String)
-> ([AnalysisSourceMetadataProperty] -> ShowS)
-> Show AnalysisSourceMetadataProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AnalysisSourceMetadataProperty -> ShowS
showsPrec :: Int -> AnalysisSourceMetadataProperty -> ShowS
$cshow :: AnalysisSourceMetadataProperty -> String
show :: AnalysisSourceMetadataProperty -> String
$cshowList :: [AnalysisSourceMetadataProperty] -> ShowS
showList :: [AnalysisSourceMetadataProperty] -> ShowS
Prelude.Show)
mkAnalysisSourceMetadataProperty ::
  AnalysisTemplateArtifactMetadataProperty
  -> AnalysisSourceMetadataProperty
mkAnalysisSourceMetadataProperty :: AnalysisTemplateArtifactMetadataProperty
-> AnalysisSourceMetadataProperty
mkAnalysisSourceMetadataProperty AnalysisTemplateArtifactMetadataProperty
artifacts
  = AnalysisSourceMetadataProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), artifacts :: AnalysisTemplateArtifactMetadataProperty
artifacts = AnalysisTemplateArtifactMetadataProperty
artifacts}
instance ToResourceProperties AnalysisSourceMetadataProperty where
  toResourceProperties :: AnalysisSourceMetadataProperty -> ResourceProperties
toResourceProperties AnalysisSourceMetadataProperty {()
AnalysisTemplateArtifactMetadataProperty
haddock_workaround_ :: AnalysisSourceMetadataProperty -> ()
artifacts :: AnalysisSourceMetadataProperty
-> AnalysisTemplateArtifactMetadataProperty
haddock_workaround_ :: ()
artifacts :: AnalysisTemplateArtifactMetadataProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::CleanRooms::AnalysisTemplate.AnalysisSourceMetadata",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Artifacts" Key -> AnalysisTemplateArtifactMetadataProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= AnalysisTemplateArtifactMetadataProperty
artifacts]}
instance JSON.ToJSON AnalysisSourceMetadataProperty where
  toJSON :: AnalysisSourceMetadataProperty -> Value
toJSON AnalysisSourceMetadataProperty {()
AnalysisTemplateArtifactMetadataProperty
haddock_workaround_ :: AnalysisSourceMetadataProperty -> ()
artifacts :: AnalysisSourceMetadataProperty
-> AnalysisTemplateArtifactMetadataProperty
haddock_workaround_ :: ()
artifacts :: AnalysisTemplateArtifactMetadataProperty
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"Artifacts" Key -> AnalysisTemplateArtifactMetadataProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= AnalysisTemplateArtifactMetadataProperty
artifacts]
instance Property "Artifacts" AnalysisSourceMetadataProperty where
  type PropertyType "Artifacts" AnalysisSourceMetadataProperty = AnalysisTemplateArtifactMetadataProperty
  set :: PropertyType "Artifacts" AnalysisSourceMetadataProperty
-> AnalysisSourceMetadataProperty -> AnalysisSourceMetadataProperty
set PropertyType "Artifacts" AnalysisSourceMetadataProperty
newValue AnalysisSourceMetadataProperty {()
AnalysisTemplateArtifactMetadataProperty
haddock_workaround_ :: AnalysisSourceMetadataProperty -> ()
artifacts :: AnalysisSourceMetadataProperty
-> AnalysisTemplateArtifactMetadataProperty
haddock_workaround_ :: ()
artifacts :: AnalysisTemplateArtifactMetadataProperty
..}
    = AnalysisSourceMetadataProperty {artifacts :: AnalysisTemplateArtifactMetadataProperty
artifacts = PropertyType "Artifacts" AnalysisSourceMetadataProperty
AnalysisTemplateArtifactMetadataProperty
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}