module Stratosphere.QBusiness.DataSource.MediaExtractionConfigurationProperty (
        module Exports, MediaExtractionConfigurationProperty(..),
        mkMediaExtractionConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.QBusiness.DataSource.AudioExtractionConfigurationProperty as Exports
import {-# SOURCE #-} Stratosphere.QBusiness.DataSource.ImageExtractionConfigurationProperty as Exports
import {-# SOURCE #-} Stratosphere.QBusiness.DataSource.VideoExtractionConfigurationProperty as Exports
import Stratosphere.ResourceProperties
data MediaExtractionConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-mediaextractionconfiguration.html>
    MediaExtractionConfigurationProperty {MediaExtractionConfigurationProperty -> ()
haddock_workaround_ :: (),
                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-mediaextractionconfiguration.html#cfn-qbusiness-datasource-mediaextractionconfiguration-audioextractionconfiguration>
                                          MediaExtractionConfigurationProperty
-> Maybe AudioExtractionConfigurationProperty
audioExtractionConfiguration :: (Prelude.Maybe AudioExtractionConfigurationProperty),
                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-mediaextractionconfiguration.html#cfn-qbusiness-datasource-mediaextractionconfiguration-imageextractionconfiguration>
                                          MediaExtractionConfigurationProperty
-> Maybe ImageExtractionConfigurationProperty
imageExtractionConfiguration :: (Prelude.Maybe ImageExtractionConfigurationProperty),
                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-datasource-mediaextractionconfiguration.html#cfn-qbusiness-datasource-mediaextractionconfiguration-videoextractionconfiguration>
                                          MediaExtractionConfigurationProperty
-> Maybe VideoExtractionConfigurationProperty
videoExtractionConfiguration :: (Prelude.Maybe VideoExtractionConfigurationProperty)}
  deriving stock (MediaExtractionConfigurationProperty
-> MediaExtractionConfigurationProperty -> Bool
(MediaExtractionConfigurationProperty
 -> MediaExtractionConfigurationProperty -> Bool)
-> (MediaExtractionConfigurationProperty
    -> MediaExtractionConfigurationProperty -> Bool)
-> Eq MediaExtractionConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: MediaExtractionConfigurationProperty
-> MediaExtractionConfigurationProperty -> Bool
== :: MediaExtractionConfigurationProperty
-> MediaExtractionConfigurationProperty -> Bool
$c/= :: MediaExtractionConfigurationProperty
-> MediaExtractionConfigurationProperty -> Bool
/= :: MediaExtractionConfigurationProperty
-> MediaExtractionConfigurationProperty -> Bool
Prelude.Eq, Int -> MediaExtractionConfigurationProperty -> ShowS
[MediaExtractionConfigurationProperty] -> ShowS
MediaExtractionConfigurationProperty -> String
(Int -> MediaExtractionConfigurationProperty -> ShowS)
-> (MediaExtractionConfigurationProperty -> String)
-> ([MediaExtractionConfigurationProperty] -> ShowS)
-> Show MediaExtractionConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> MediaExtractionConfigurationProperty -> ShowS
showsPrec :: Int -> MediaExtractionConfigurationProperty -> ShowS
$cshow :: MediaExtractionConfigurationProperty -> String
show :: MediaExtractionConfigurationProperty -> String
$cshowList :: [MediaExtractionConfigurationProperty] -> ShowS
showList :: [MediaExtractionConfigurationProperty] -> ShowS
Prelude.Show)
mkMediaExtractionConfigurationProperty ::
  MediaExtractionConfigurationProperty
mkMediaExtractionConfigurationProperty :: MediaExtractionConfigurationProperty
mkMediaExtractionConfigurationProperty
  = MediaExtractionConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       audioExtractionConfiguration :: Maybe AudioExtractionConfigurationProperty
audioExtractionConfiguration = Maybe AudioExtractionConfigurationProperty
forall a. Maybe a
Prelude.Nothing,
       imageExtractionConfiguration :: Maybe ImageExtractionConfigurationProperty
imageExtractionConfiguration = Maybe ImageExtractionConfigurationProperty
forall a. Maybe a
Prelude.Nothing,
       videoExtractionConfiguration :: Maybe VideoExtractionConfigurationProperty
videoExtractionConfiguration = Maybe VideoExtractionConfigurationProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties MediaExtractionConfigurationProperty where
  toResourceProperties :: MediaExtractionConfigurationProperty -> ResourceProperties
toResourceProperties MediaExtractionConfigurationProperty {Maybe AudioExtractionConfigurationProperty
Maybe ImageExtractionConfigurationProperty
Maybe VideoExtractionConfigurationProperty
()
haddock_workaround_ :: MediaExtractionConfigurationProperty -> ()
audioExtractionConfiguration :: MediaExtractionConfigurationProperty
-> Maybe AudioExtractionConfigurationProperty
imageExtractionConfiguration :: MediaExtractionConfigurationProperty
-> Maybe ImageExtractionConfigurationProperty
videoExtractionConfiguration :: MediaExtractionConfigurationProperty
-> Maybe VideoExtractionConfigurationProperty
haddock_workaround_ :: ()
audioExtractionConfiguration :: Maybe AudioExtractionConfigurationProperty
imageExtractionConfiguration :: Maybe ImageExtractionConfigurationProperty
videoExtractionConfiguration :: Maybe VideoExtractionConfigurationProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::QBusiness::DataSource.MediaExtractionConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
                        ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                           [Key -> AudioExtractionConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"AudioExtractionConfiguration"
                              (AudioExtractionConfigurationProperty -> (Key, Value))
-> Maybe AudioExtractionConfigurationProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AudioExtractionConfigurationProperty
audioExtractionConfiguration,
                            Key -> ImageExtractionConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ImageExtractionConfiguration"
                              (ImageExtractionConfigurationProperty -> (Key, Value))
-> Maybe ImageExtractionConfigurationProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ImageExtractionConfigurationProperty
imageExtractionConfiguration,
                            Key -> VideoExtractionConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"VideoExtractionConfiguration"
                              (VideoExtractionConfigurationProperty -> (Key, Value))
-> Maybe VideoExtractionConfigurationProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe VideoExtractionConfigurationProperty
videoExtractionConfiguration])}
instance JSON.ToJSON MediaExtractionConfigurationProperty where
  toJSON :: MediaExtractionConfigurationProperty -> Value
toJSON MediaExtractionConfigurationProperty {Maybe AudioExtractionConfigurationProperty
Maybe ImageExtractionConfigurationProperty
Maybe VideoExtractionConfigurationProperty
()
haddock_workaround_ :: MediaExtractionConfigurationProperty -> ()
audioExtractionConfiguration :: MediaExtractionConfigurationProperty
-> Maybe AudioExtractionConfigurationProperty
imageExtractionConfiguration :: MediaExtractionConfigurationProperty
-> Maybe ImageExtractionConfigurationProperty
videoExtractionConfiguration :: MediaExtractionConfigurationProperty
-> Maybe VideoExtractionConfigurationProperty
haddock_workaround_ :: ()
audioExtractionConfiguration :: Maybe AudioExtractionConfigurationProperty
imageExtractionConfiguration :: Maybe ImageExtractionConfigurationProperty
videoExtractionConfiguration :: Maybe VideoExtractionConfigurationProperty
..}
    = [(Key, Value)] -> Value
JSON.object
        ([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
           ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
              [Key -> AudioExtractionConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"AudioExtractionConfiguration"
                 (AudioExtractionConfigurationProperty -> (Key, Value))
-> Maybe AudioExtractionConfigurationProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AudioExtractionConfigurationProperty
audioExtractionConfiguration,
               Key -> ImageExtractionConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ImageExtractionConfiguration"
                 (ImageExtractionConfigurationProperty -> (Key, Value))
-> Maybe ImageExtractionConfigurationProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ImageExtractionConfigurationProperty
imageExtractionConfiguration,
               Key -> VideoExtractionConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"VideoExtractionConfiguration"
                 (VideoExtractionConfigurationProperty -> (Key, Value))
-> Maybe VideoExtractionConfigurationProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe VideoExtractionConfigurationProperty
videoExtractionConfiguration]))
instance Property "AudioExtractionConfiguration" MediaExtractionConfigurationProperty where
  type PropertyType "AudioExtractionConfiguration" MediaExtractionConfigurationProperty = AudioExtractionConfigurationProperty
  set :: PropertyType
  "AudioExtractionConfiguration" MediaExtractionConfigurationProperty
-> MediaExtractionConfigurationProperty
-> MediaExtractionConfigurationProperty
set PropertyType
  "AudioExtractionConfiguration" MediaExtractionConfigurationProperty
newValue MediaExtractionConfigurationProperty {Maybe AudioExtractionConfigurationProperty
Maybe ImageExtractionConfigurationProperty
Maybe VideoExtractionConfigurationProperty
()
haddock_workaround_ :: MediaExtractionConfigurationProperty -> ()
audioExtractionConfiguration :: MediaExtractionConfigurationProperty
-> Maybe AudioExtractionConfigurationProperty
imageExtractionConfiguration :: MediaExtractionConfigurationProperty
-> Maybe ImageExtractionConfigurationProperty
videoExtractionConfiguration :: MediaExtractionConfigurationProperty
-> Maybe VideoExtractionConfigurationProperty
haddock_workaround_ :: ()
audioExtractionConfiguration :: Maybe AudioExtractionConfigurationProperty
imageExtractionConfiguration :: Maybe ImageExtractionConfigurationProperty
videoExtractionConfiguration :: Maybe VideoExtractionConfigurationProperty
..}
    = MediaExtractionConfigurationProperty
        {audioExtractionConfiguration :: Maybe AudioExtractionConfigurationProperty
audioExtractionConfiguration = AudioExtractionConfigurationProperty
-> Maybe AudioExtractionConfigurationProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType
  "AudioExtractionConfiguration" MediaExtractionConfigurationProperty
AudioExtractionConfigurationProperty
newValue, Maybe ImageExtractionConfigurationProperty
Maybe VideoExtractionConfigurationProperty
()
haddock_workaround_ :: ()
imageExtractionConfiguration :: Maybe ImageExtractionConfigurationProperty
videoExtractionConfiguration :: Maybe VideoExtractionConfigurationProperty
haddock_workaround_ :: ()
imageExtractionConfiguration :: Maybe ImageExtractionConfigurationProperty
videoExtractionConfiguration :: Maybe VideoExtractionConfigurationProperty
..}
instance Property "ImageExtractionConfiguration" MediaExtractionConfigurationProperty where
  type PropertyType "ImageExtractionConfiguration" MediaExtractionConfigurationProperty = ImageExtractionConfigurationProperty
  set :: PropertyType
  "ImageExtractionConfiguration" MediaExtractionConfigurationProperty
-> MediaExtractionConfigurationProperty
-> MediaExtractionConfigurationProperty
set PropertyType
  "ImageExtractionConfiguration" MediaExtractionConfigurationProperty
newValue MediaExtractionConfigurationProperty {Maybe AudioExtractionConfigurationProperty
Maybe ImageExtractionConfigurationProperty
Maybe VideoExtractionConfigurationProperty
()
haddock_workaround_ :: MediaExtractionConfigurationProperty -> ()
audioExtractionConfiguration :: MediaExtractionConfigurationProperty
-> Maybe AudioExtractionConfigurationProperty
imageExtractionConfiguration :: MediaExtractionConfigurationProperty
-> Maybe ImageExtractionConfigurationProperty
videoExtractionConfiguration :: MediaExtractionConfigurationProperty
-> Maybe VideoExtractionConfigurationProperty
haddock_workaround_ :: ()
audioExtractionConfiguration :: Maybe AudioExtractionConfigurationProperty
imageExtractionConfiguration :: Maybe ImageExtractionConfigurationProperty
videoExtractionConfiguration :: Maybe VideoExtractionConfigurationProperty
..}
    = MediaExtractionConfigurationProperty
        {imageExtractionConfiguration :: Maybe ImageExtractionConfigurationProperty
imageExtractionConfiguration = ImageExtractionConfigurationProperty
-> Maybe ImageExtractionConfigurationProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType
  "ImageExtractionConfiguration" MediaExtractionConfigurationProperty
ImageExtractionConfigurationProperty
newValue, Maybe AudioExtractionConfigurationProperty
Maybe VideoExtractionConfigurationProperty
()
haddock_workaround_ :: ()
audioExtractionConfiguration :: Maybe AudioExtractionConfigurationProperty
videoExtractionConfiguration :: Maybe VideoExtractionConfigurationProperty
haddock_workaround_ :: ()
audioExtractionConfiguration :: Maybe AudioExtractionConfigurationProperty
videoExtractionConfiguration :: Maybe VideoExtractionConfigurationProperty
..}
instance Property "VideoExtractionConfiguration" MediaExtractionConfigurationProperty where
  type PropertyType "VideoExtractionConfiguration" MediaExtractionConfigurationProperty = VideoExtractionConfigurationProperty
  set :: PropertyType
  "VideoExtractionConfiguration" MediaExtractionConfigurationProperty
-> MediaExtractionConfigurationProperty
-> MediaExtractionConfigurationProperty
set PropertyType
  "VideoExtractionConfiguration" MediaExtractionConfigurationProperty
newValue MediaExtractionConfigurationProperty {Maybe AudioExtractionConfigurationProperty
Maybe ImageExtractionConfigurationProperty
Maybe VideoExtractionConfigurationProperty
()
haddock_workaround_ :: MediaExtractionConfigurationProperty -> ()
audioExtractionConfiguration :: MediaExtractionConfigurationProperty
-> Maybe AudioExtractionConfigurationProperty
imageExtractionConfiguration :: MediaExtractionConfigurationProperty
-> Maybe ImageExtractionConfigurationProperty
videoExtractionConfiguration :: MediaExtractionConfigurationProperty
-> Maybe VideoExtractionConfigurationProperty
haddock_workaround_ :: ()
audioExtractionConfiguration :: Maybe AudioExtractionConfigurationProperty
imageExtractionConfiguration :: Maybe ImageExtractionConfigurationProperty
videoExtractionConfiguration :: Maybe VideoExtractionConfigurationProperty
..}
    = MediaExtractionConfigurationProperty
        {videoExtractionConfiguration :: Maybe VideoExtractionConfigurationProperty
videoExtractionConfiguration = VideoExtractionConfigurationProperty
-> Maybe VideoExtractionConfigurationProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType
  "VideoExtractionConfiguration" MediaExtractionConfigurationProperty
VideoExtractionConfigurationProperty
newValue, Maybe AudioExtractionConfigurationProperty
Maybe ImageExtractionConfigurationProperty
()
haddock_workaround_ :: ()
audioExtractionConfiguration :: Maybe AudioExtractionConfigurationProperty
imageExtractionConfiguration :: Maybe ImageExtractionConfigurationProperty
haddock_workaround_ :: ()
audioExtractionConfiguration :: Maybe AudioExtractionConfigurationProperty
imageExtractionConfiguration :: Maybe ImageExtractionConfigurationProperty
..}