module Stratosphere.S3ObjectLambda.AccessPoint.ContentTransformationProperty (
        module Exports, ContentTransformationProperty(..),
        mkContentTransformationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.S3ObjectLambda.AccessPoint.AwsLambdaProperty as Exports
import Stratosphere.ResourceProperties
data ContentTransformationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3objectlambda-accesspoint-contenttransformation.html>
    ContentTransformationProperty {ContentTransformationProperty -> ()
haddock_workaround_ :: (),
                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3objectlambda-accesspoint-contenttransformation.html#cfn-s3objectlambda-accesspoint-contenttransformation-awslambda>
                                   ContentTransformationProperty -> AwsLambdaProperty
awsLambda :: AwsLambdaProperty}
  deriving stock (ContentTransformationProperty
-> ContentTransformationProperty -> Bool
(ContentTransformationProperty
 -> ContentTransformationProperty -> Bool)
-> (ContentTransformationProperty
    -> ContentTransformationProperty -> Bool)
-> Eq ContentTransformationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ContentTransformationProperty
-> ContentTransformationProperty -> Bool
== :: ContentTransformationProperty
-> ContentTransformationProperty -> Bool
$c/= :: ContentTransformationProperty
-> ContentTransformationProperty -> Bool
/= :: ContentTransformationProperty
-> ContentTransformationProperty -> Bool
Prelude.Eq, Int -> ContentTransformationProperty -> ShowS
[ContentTransformationProperty] -> ShowS
ContentTransformationProperty -> String
(Int -> ContentTransformationProperty -> ShowS)
-> (ContentTransformationProperty -> String)
-> ([ContentTransformationProperty] -> ShowS)
-> Show ContentTransformationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ContentTransformationProperty -> ShowS
showsPrec :: Int -> ContentTransformationProperty -> ShowS
$cshow :: ContentTransformationProperty -> String
show :: ContentTransformationProperty -> String
$cshowList :: [ContentTransformationProperty] -> ShowS
showList :: [ContentTransformationProperty] -> ShowS
Prelude.Show)
mkContentTransformationProperty ::
  AwsLambdaProperty -> ContentTransformationProperty
mkContentTransformationProperty :: AwsLambdaProperty -> ContentTransformationProperty
mkContentTransformationProperty AwsLambdaProperty
awsLambda
  = ContentTransformationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), awsLambda :: AwsLambdaProperty
awsLambda = AwsLambdaProperty
awsLambda}
instance ToResourceProperties ContentTransformationProperty where
  toResourceProperties :: ContentTransformationProperty -> ResourceProperties
toResourceProperties ContentTransformationProperty {()
AwsLambdaProperty
haddock_workaround_ :: ContentTransformationProperty -> ()
awsLambda :: ContentTransformationProperty -> AwsLambdaProperty
haddock_workaround_ :: ()
awsLambda :: AwsLambdaProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::S3ObjectLambda::AccessPoint.ContentTransformation",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"AwsLambda" Key -> AwsLambdaProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= AwsLambdaProperty
awsLambda]}
instance JSON.ToJSON ContentTransformationProperty where
  toJSON :: ContentTransformationProperty -> Value
toJSON ContentTransformationProperty {()
AwsLambdaProperty
haddock_workaround_ :: ContentTransformationProperty -> ()
awsLambda :: ContentTransformationProperty -> AwsLambdaProperty
haddock_workaround_ :: ()
awsLambda :: AwsLambdaProperty
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"AwsLambda" Key -> AwsLambdaProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= AwsLambdaProperty
awsLambda]
instance Property "AwsLambda" ContentTransformationProperty where
  type PropertyType "AwsLambda" ContentTransformationProperty = AwsLambdaProperty
  set :: PropertyType "AwsLambda" ContentTransformationProperty
-> ContentTransformationProperty -> ContentTransformationProperty
set PropertyType "AwsLambda" ContentTransformationProperty
newValue ContentTransformationProperty {()
AwsLambdaProperty
haddock_workaround_ :: ContentTransformationProperty -> ()
awsLambda :: ContentTransformationProperty -> AwsLambdaProperty
haddock_workaround_ :: ()
awsLambda :: AwsLambdaProperty
..}
    = ContentTransformationProperty {awsLambda :: AwsLambdaProperty
awsLambda = PropertyType "AwsLambda" ContentTransformationProperty
AwsLambdaProperty
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}