module Stratosphere.S3.Bucket.TargetObjectKeyFormatProperty (
module Exports, TargetObjectKeyFormatProperty(..),
mkTargetObjectKeyFormatProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.S3.Bucket.PartitionedPrefixProperty as Exports
import Stratosphere.ResourceProperties
data TargetObjectKeyFormatProperty
=
TargetObjectKeyFormatProperty {TargetObjectKeyFormatProperty -> ()
haddock_workaround_ :: (),
TargetObjectKeyFormatProperty -> Maybe PartitionedPrefixProperty
partitionedPrefix :: (Prelude.Maybe PartitionedPrefixProperty),
TargetObjectKeyFormatProperty -> Maybe Object
simplePrefix :: (Prelude.Maybe JSON.Object)}
deriving stock (TargetObjectKeyFormatProperty
-> TargetObjectKeyFormatProperty -> Bool
(TargetObjectKeyFormatProperty
-> TargetObjectKeyFormatProperty -> Bool)
-> (TargetObjectKeyFormatProperty
-> TargetObjectKeyFormatProperty -> Bool)
-> Eq TargetObjectKeyFormatProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TargetObjectKeyFormatProperty
-> TargetObjectKeyFormatProperty -> Bool
== :: TargetObjectKeyFormatProperty
-> TargetObjectKeyFormatProperty -> Bool
$c/= :: TargetObjectKeyFormatProperty
-> TargetObjectKeyFormatProperty -> Bool
/= :: TargetObjectKeyFormatProperty
-> TargetObjectKeyFormatProperty -> Bool
Prelude.Eq, Int -> TargetObjectKeyFormatProperty -> ShowS
[TargetObjectKeyFormatProperty] -> ShowS
TargetObjectKeyFormatProperty -> String
(Int -> TargetObjectKeyFormatProperty -> ShowS)
-> (TargetObjectKeyFormatProperty -> String)
-> ([TargetObjectKeyFormatProperty] -> ShowS)
-> Show TargetObjectKeyFormatProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TargetObjectKeyFormatProperty -> ShowS
showsPrec :: Int -> TargetObjectKeyFormatProperty -> ShowS
$cshow :: TargetObjectKeyFormatProperty -> String
show :: TargetObjectKeyFormatProperty -> String
$cshowList :: [TargetObjectKeyFormatProperty] -> ShowS
showList :: [TargetObjectKeyFormatProperty] -> ShowS
Prelude.Show)
mkTargetObjectKeyFormatProperty :: TargetObjectKeyFormatProperty
mkTargetObjectKeyFormatProperty :: TargetObjectKeyFormatProperty
mkTargetObjectKeyFormatProperty
= TargetObjectKeyFormatProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), partitionedPrefix :: Maybe PartitionedPrefixProperty
partitionedPrefix = Maybe PartitionedPrefixProperty
forall a. Maybe a
Prelude.Nothing,
simplePrefix :: Maybe Object
simplePrefix = Maybe Object
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties TargetObjectKeyFormatProperty where
toResourceProperties :: TargetObjectKeyFormatProperty -> ResourceProperties
toResourceProperties TargetObjectKeyFormatProperty {Maybe Object
Maybe PartitionedPrefixProperty
()
haddock_workaround_ :: TargetObjectKeyFormatProperty -> ()
partitionedPrefix :: TargetObjectKeyFormatProperty -> Maybe PartitionedPrefixProperty
simplePrefix :: TargetObjectKeyFormatProperty -> Maybe Object
haddock_workaround_ :: ()
partitionedPrefix :: Maybe PartitionedPrefixProperty
simplePrefix :: Maybe Object
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::S3::Bucket.TargetObjectKeyFormat",
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 -> PartitionedPrefixProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"PartitionedPrefix" (PartitionedPrefixProperty -> (Key, Value))
-> Maybe PartitionedPrefixProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PartitionedPrefixProperty
partitionedPrefix,
Key -> Object -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"SimplePrefix" (Object -> (Key, Value)) -> Maybe Object -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Object
simplePrefix])}
instance JSON.ToJSON TargetObjectKeyFormatProperty where
toJSON :: TargetObjectKeyFormatProperty -> Value
toJSON TargetObjectKeyFormatProperty {Maybe Object
Maybe PartitionedPrefixProperty
()
haddock_workaround_ :: TargetObjectKeyFormatProperty -> ()
partitionedPrefix :: TargetObjectKeyFormatProperty -> Maybe PartitionedPrefixProperty
simplePrefix :: TargetObjectKeyFormatProperty -> Maybe Object
haddock_workaround_ :: ()
partitionedPrefix :: Maybe PartitionedPrefixProperty
simplePrefix :: Maybe Object
..}
= [(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 -> PartitionedPrefixProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"PartitionedPrefix" (PartitionedPrefixProperty -> (Key, Value))
-> Maybe PartitionedPrefixProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PartitionedPrefixProperty
partitionedPrefix,
Key -> Object -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"SimplePrefix" (Object -> (Key, Value)) -> Maybe Object -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Object
simplePrefix]))
instance Property "PartitionedPrefix" TargetObjectKeyFormatProperty where
type PropertyType "PartitionedPrefix" TargetObjectKeyFormatProperty = PartitionedPrefixProperty
set :: PropertyType "PartitionedPrefix" TargetObjectKeyFormatProperty
-> TargetObjectKeyFormatProperty -> TargetObjectKeyFormatProperty
set PropertyType "PartitionedPrefix" TargetObjectKeyFormatProperty
newValue TargetObjectKeyFormatProperty {Maybe Object
Maybe PartitionedPrefixProperty
()
haddock_workaround_ :: TargetObjectKeyFormatProperty -> ()
partitionedPrefix :: TargetObjectKeyFormatProperty -> Maybe PartitionedPrefixProperty
simplePrefix :: TargetObjectKeyFormatProperty -> Maybe Object
haddock_workaround_ :: ()
partitionedPrefix :: Maybe PartitionedPrefixProperty
simplePrefix :: Maybe Object
..}
= TargetObjectKeyFormatProperty
{partitionedPrefix :: Maybe PartitionedPrefixProperty
partitionedPrefix = PartitionedPrefixProperty -> Maybe PartitionedPrefixProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "PartitionedPrefix" TargetObjectKeyFormatProperty
PartitionedPrefixProperty
newValue, Maybe Object
()
haddock_workaround_ :: ()
simplePrefix :: Maybe Object
haddock_workaround_ :: ()
simplePrefix :: Maybe Object
..}
instance Property "SimplePrefix" TargetObjectKeyFormatProperty where
type PropertyType "SimplePrefix" TargetObjectKeyFormatProperty = JSON.Object
set :: PropertyType "SimplePrefix" TargetObjectKeyFormatProperty
-> TargetObjectKeyFormatProperty -> TargetObjectKeyFormatProperty
set PropertyType "SimplePrefix" TargetObjectKeyFormatProperty
newValue TargetObjectKeyFormatProperty {Maybe Object
Maybe PartitionedPrefixProperty
()
haddock_workaround_ :: TargetObjectKeyFormatProperty -> ()
partitionedPrefix :: TargetObjectKeyFormatProperty -> Maybe PartitionedPrefixProperty
simplePrefix :: TargetObjectKeyFormatProperty -> Maybe Object
haddock_workaround_ :: ()
partitionedPrefix :: Maybe PartitionedPrefixProperty
simplePrefix :: Maybe Object
..}
= TargetObjectKeyFormatProperty
{simplePrefix :: Maybe Object
simplePrefix = Object -> Maybe Object
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure Object
PropertyType "SimplePrefix" TargetObjectKeyFormatProperty
newValue, Maybe PartitionedPrefixProperty
()
haddock_workaround_ :: ()
partitionedPrefix :: Maybe PartitionedPrefixProperty
haddock_workaround_ :: ()
partitionedPrefix :: Maybe PartitionedPrefixProperty
..}