module Stratosphere.Rekognition.StreamProcessor.DataSharingPreferenceProperty (
        DataSharingPreferenceProperty(..), mkDataSharingPreferenceProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data DataSharingPreferenceProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rekognition-streamprocessor-datasharingpreference.html>
    DataSharingPreferenceProperty {DataSharingPreferenceProperty -> ()
haddock_workaround_ :: (),
                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rekognition-streamprocessor-datasharingpreference.html#cfn-rekognition-streamprocessor-datasharingpreference-optin>
                                   DataSharingPreferenceProperty -> Value Bool
optIn :: (Value Prelude.Bool)}
  deriving stock (DataSharingPreferenceProperty
-> DataSharingPreferenceProperty -> Bool
(DataSharingPreferenceProperty
 -> DataSharingPreferenceProperty -> Bool)
-> (DataSharingPreferenceProperty
    -> DataSharingPreferenceProperty -> Bool)
-> Eq DataSharingPreferenceProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DataSharingPreferenceProperty
-> DataSharingPreferenceProperty -> Bool
== :: DataSharingPreferenceProperty
-> DataSharingPreferenceProperty -> Bool
$c/= :: DataSharingPreferenceProperty
-> DataSharingPreferenceProperty -> Bool
/= :: DataSharingPreferenceProperty
-> DataSharingPreferenceProperty -> Bool
Prelude.Eq, Int -> DataSharingPreferenceProperty -> ShowS
[DataSharingPreferenceProperty] -> ShowS
DataSharingPreferenceProperty -> String
(Int -> DataSharingPreferenceProperty -> ShowS)
-> (DataSharingPreferenceProperty -> String)
-> ([DataSharingPreferenceProperty] -> ShowS)
-> Show DataSharingPreferenceProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DataSharingPreferenceProperty -> ShowS
showsPrec :: Int -> DataSharingPreferenceProperty -> ShowS
$cshow :: DataSharingPreferenceProperty -> String
show :: DataSharingPreferenceProperty -> String
$cshowList :: [DataSharingPreferenceProperty] -> ShowS
showList :: [DataSharingPreferenceProperty] -> ShowS
Prelude.Show)
mkDataSharingPreferenceProperty ::
  Value Prelude.Bool -> DataSharingPreferenceProperty
mkDataSharingPreferenceProperty :: Value Bool -> DataSharingPreferenceProperty
mkDataSharingPreferenceProperty Value Bool
optIn
  = DataSharingPreferenceProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), optIn :: Value Bool
optIn = Value Bool
optIn}
instance ToResourceProperties DataSharingPreferenceProperty where
  toResourceProperties :: DataSharingPreferenceProperty -> ResourceProperties
toResourceProperties DataSharingPreferenceProperty {()
Value Bool
haddock_workaround_ :: DataSharingPreferenceProperty -> ()
optIn :: DataSharingPreferenceProperty -> Value Bool
haddock_workaround_ :: ()
optIn :: Value Bool
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Rekognition::StreamProcessor.DataSharingPreference",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False, properties :: Object
properties = [Key
"OptIn" Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Bool
optIn]}
instance JSON.ToJSON DataSharingPreferenceProperty where
  toJSON :: DataSharingPreferenceProperty -> Value
toJSON DataSharingPreferenceProperty {()
Value Bool
haddock_workaround_ :: DataSharingPreferenceProperty -> ()
optIn :: DataSharingPreferenceProperty -> Value Bool
haddock_workaround_ :: ()
optIn :: Value Bool
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"OptIn" Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Bool
optIn]
instance Property "OptIn" DataSharingPreferenceProperty where
  type PropertyType "OptIn" DataSharingPreferenceProperty = Value Prelude.Bool
  set :: PropertyType "OptIn" DataSharingPreferenceProperty
-> DataSharingPreferenceProperty -> DataSharingPreferenceProperty
set PropertyType "OptIn" DataSharingPreferenceProperty
newValue DataSharingPreferenceProperty {()
Value Bool
haddock_workaround_ :: DataSharingPreferenceProperty -> ()
optIn :: DataSharingPreferenceProperty -> Value Bool
haddock_workaround_ :: ()
optIn :: Value Bool
..}
    = DataSharingPreferenceProperty {optIn :: Value Bool
optIn = PropertyType "OptIn" DataSharingPreferenceProperty
Value Bool
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}