module Stratosphere.SES.MailManagerArchive.ArchiveRetentionProperty (
ArchiveRetentionProperty(..), mkArchiveRetentionProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ArchiveRetentionProperty
=
ArchiveRetentionProperty {ArchiveRetentionProperty -> ()
haddock_workaround_ :: (),
ArchiveRetentionProperty -> Value Text
retentionPeriod :: (Value Prelude.Text)}
deriving stock (ArchiveRetentionProperty -> ArchiveRetentionProperty -> Bool
(ArchiveRetentionProperty -> ArchiveRetentionProperty -> Bool)
-> (ArchiveRetentionProperty -> ArchiveRetentionProperty -> Bool)
-> Eq ArchiveRetentionProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ArchiveRetentionProperty -> ArchiveRetentionProperty -> Bool
== :: ArchiveRetentionProperty -> ArchiveRetentionProperty -> Bool
$c/= :: ArchiveRetentionProperty -> ArchiveRetentionProperty -> Bool
/= :: ArchiveRetentionProperty -> ArchiveRetentionProperty -> Bool
Prelude.Eq, Int -> ArchiveRetentionProperty -> ShowS
[ArchiveRetentionProperty] -> ShowS
ArchiveRetentionProperty -> String
(Int -> ArchiveRetentionProperty -> ShowS)
-> (ArchiveRetentionProperty -> String)
-> ([ArchiveRetentionProperty] -> ShowS)
-> Show ArchiveRetentionProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ArchiveRetentionProperty -> ShowS
showsPrec :: Int -> ArchiveRetentionProperty -> ShowS
$cshow :: ArchiveRetentionProperty -> String
show :: ArchiveRetentionProperty -> String
$cshowList :: [ArchiveRetentionProperty] -> ShowS
showList :: [ArchiveRetentionProperty] -> ShowS
Prelude.Show)
mkArchiveRetentionProperty ::
Value Prelude.Text -> ArchiveRetentionProperty
mkArchiveRetentionProperty :: Value Text -> ArchiveRetentionProperty
mkArchiveRetentionProperty Value Text
retentionPeriod
= ArchiveRetentionProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), retentionPeriod :: Value Text
retentionPeriod = Value Text
retentionPeriod}
instance ToResourceProperties ArchiveRetentionProperty where
toResourceProperties :: ArchiveRetentionProperty -> ResourceProperties
toResourceProperties ArchiveRetentionProperty {()
Value Text
haddock_workaround_ :: ArchiveRetentionProperty -> ()
retentionPeriod :: ArchiveRetentionProperty -> Value Text
haddock_workaround_ :: ()
retentionPeriod :: Value Text
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::SES::MailManagerArchive.ArchiveRetention",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Key
"RetentionPeriod" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
retentionPeriod]}
instance JSON.ToJSON ArchiveRetentionProperty where
toJSON :: ArchiveRetentionProperty -> Value
toJSON ArchiveRetentionProperty {()
Value Text
haddock_workaround_ :: ArchiveRetentionProperty -> ()
retentionPeriod :: ArchiveRetentionProperty -> Value Text
haddock_workaround_ :: ()
retentionPeriod :: Value Text
..}
= [(Key, Value)] -> Value
JSON.object [Key
"RetentionPeriod" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
retentionPeriod]
instance Property "RetentionPeriod" ArchiveRetentionProperty where
type PropertyType "RetentionPeriod" ArchiveRetentionProperty = Value Prelude.Text
set :: PropertyType "RetentionPeriod" ArchiveRetentionProperty
-> ArchiveRetentionProperty -> ArchiveRetentionProperty
set PropertyType "RetentionPeriod" ArchiveRetentionProperty
newValue ArchiveRetentionProperty {()
Value Text
haddock_workaround_ :: ArchiveRetentionProperty -> ()
retentionPeriod :: ArchiveRetentionProperty -> Value Text
haddock_workaround_ :: ()
retentionPeriod :: Value Text
..}
= ArchiveRetentionProperty {retentionPeriod :: Value Text
retentionPeriod = PropertyType "RetentionPeriod" ArchiveRetentionProperty
Value Text
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}