module Stratosphere.FSx.Volume.SnaplockRetentionPeriodProperty (
module Exports, SnaplockRetentionPeriodProperty(..),
mkSnaplockRetentionPeriodProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.FSx.Volume.RetentionPeriodProperty as Exports
import Stratosphere.ResourceProperties
data SnaplockRetentionPeriodProperty
=
SnaplockRetentionPeriodProperty {SnaplockRetentionPeriodProperty -> ()
haddock_workaround_ :: (),
SnaplockRetentionPeriodProperty -> RetentionPeriodProperty
defaultRetention :: RetentionPeriodProperty,
SnaplockRetentionPeriodProperty -> RetentionPeriodProperty
maximumRetention :: RetentionPeriodProperty,
SnaplockRetentionPeriodProperty -> RetentionPeriodProperty
minimumRetention :: RetentionPeriodProperty}
deriving stock (SnaplockRetentionPeriodProperty
-> SnaplockRetentionPeriodProperty -> Bool
(SnaplockRetentionPeriodProperty
-> SnaplockRetentionPeriodProperty -> Bool)
-> (SnaplockRetentionPeriodProperty
-> SnaplockRetentionPeriodProperty -> Bool)
-> Eq SnaplockRetentionPeriodProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SnaplockRetentionPeriodProperty
-> SnaplockRetentionPeriodProperty -> Bool
== :: SnaplockRetentionPeriodProperty
-> SnaplockRetentionPeriodProperty -> Bool
$c/= :: SnaplockRetentionPeriodProperty
-> SnaplockRetentionPeriodProperty -> Bool
/= :: SnaplockRetentionPeriodProperty
-> SnaplockRetentionPeriodProperty -> Bool
Prelude.Eq, Int -> SnaplockRetentionPeriodProperty -> ShowS
[SnaplockRetentionPeriodProperty] -> ShowS
SnaplockRetentionPeriodProperty -> String
(Int -> SnaplockRetentionPeriodProperty -> ShowS)
-> (SnaplockRetentionPeriodProperty -> String)
-> ([SnaplockRetentionPeriodProperty] -> ShowS)
-> Show SnaplockRetentionPeriodProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SnaplockRetentionPeriodProperty -> ShowS
showsPrec :: Int -> SnaplockRetentionPeriodProperty -> ShowS
$cshow :: SnaplockRetentionPeriodProperty -> String
show :: SnaplockRetentionPeriodProperty -> String
$cshowList :: [SnaplockRetentionPeriodProperty] -> ShowS
showList :: [SnaplockRetentionPeriodProperty] -> ShowS
Prelude.Show)
mkSnaplockRetentionPeriodProperty ::
RetentionPeriodProperty
-> RetentionPeriodProperty
-> RetentionPeriodProperty -> SnaplockRetentionPeriodProperty
mkSnaplockRetentionPeriodProperty :: RetentionPeriodProperty
-> RetentionPeriodProperty
-> RetentionPeriodProperty
-> SnaplockRetentionPeriodProperty
mkSnaplockRetentionPeriodProperty
RetentionPeriodProperty
defaultRetention
RetentionPeriodProperty
maximumRetention
RetentionPeriodProperty
minimumRetention
= SnaplockRetentionPeriodProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), defaultRetention :: RetentionPeriodProperty
defaultRetention = RetentionPeriodProperty
defaultRetention,
maximumRetention :: RetentionPeriodProperty
maximumRetention = RetentionPeriodProperty
maximumRetention,
minimumRetention :: RetentionPeriodProperty
minimumRetention = RetentionPeriodProperty
minimumRetention}
instance ToResourceProperties SnaplockRetentionPeriodProperty where
toResourceProperties :: SnaplockRetentionPeriodProperty -> ResourceProperties
toResourceProperties SnaplockRetentionPeriodProperty {()
RetentionPeriodProperty
haddock_workaround_ :: SnaplockRetentionPeriodProperty -> ()
defaultRetention :: SnaplockRetentionPeriodProperty -> RetentionPeriodProperty
maximumRetention :: SnaplockRetentionPeriodProperty -> RetentionPeriodProperty
minimumRetention :: SnaplockRetentionPeriodProperty -> RetentionPeriodProperty
haddock_workaround_ :: ()
defaultRetention :: RetentionPeriodProperty
maximumRetention :: RetentionPeriodProperty
minimumRetention :: RetentionPeriodProperty
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::FSx::Volume.SnaplockRetentionPeriod",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Key
"DefaultRetention" Key -> RetentionPeriodProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= RetentionPeriodProperty
defaultRetention,
Key
"MaximumRetention" Key -> RetentionPeriodProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= RetentionPeriodProperty
maximumRetention,
Key
"MinimumRetention" Key -> RetentionPeriodProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= RetentionPeriodProperty
minimumRetention]}
instance JSON.ToJSON SnaplockRetentionPeriodProperty where
toJSON :: SnaplockRetentionPeriodProperty -> Value
toJSON SnaplockRetentionPeriodProperty {()
RetentionPeriodProperty
haddock_workaround_ :: SnaplockRetentionPeriodProperty -> ()
defaultRetention :: SnaplockRetentionPeriodProperty -> RetentionPeriodProperty
maximumRetention :: SnaplockRetentionPeriodProperty -> RetentionPeriodProperty
minimumRetention :: SnaplockRetentionPeriodProperty -> RetentionPeriodProperty
haddock_workaround_ :: ()
defaultRetention :: RetentionPeriodProperty
maximumRetention :: RetentionPeriodProperty
minimumRetention :: RetentionPeriodProperty
..}
= [(Key, Value)] -> Value
JSON.object
[Key
"DefaultRetention" Key -> RetentionPeriodProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= RetentionPeriodProperty
defaultRetention,
Key
"MaximumRetention" Key -> RetentionPeriodProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= RetentionPeriodProperty
maximumRetention,
Key
"MinimumRetention" Key -> RetentionPeriodProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= RetentionPeriodProperty
minimumRetention]
instance Property "DefaultRetention" SnaplockRetentionPeriodProperty where
type PropertyType "DefaultRetention" SnaplockRetentionPeriodProperty = RetentionPeriodProperty
set :: PropertyType "DefaultRetention" SnaplockRetentionPeriodProperty
-> SnaplockRetentionPeriodProperty
-> SnaplockRetentionPeriodProperty
set PropertyType "DefaultRetention" SnaplockRetentionPeriodProperty
newValue SnaplockRetentionPeriodProperty {()
RetentionPeriodProperty
haddock_workaround_ :: SnaplockRetentionPeriodProperty -> ()
defaultRetention :: SnaplockRetentionPeriodProperty -> RetentionPeriodProperty
maximumRetention :: SnaplockRetentionPeriodProperty -> RetentionPeriodProperty
minimumRetention :: SnaplockRetentionPeriodProperty -> RetentionPeriodProperty
haddock_workaround_ :: ()
defaultRetention :: RetentionPeriodProperty
maximumRetention :: RetentionPeriodProperty
minimumRetention :: RetentionPeriodProperty
..}
= SnaplockRetentionPeriodProperty {defaultRetention :: RetentionPeriodProperty
defaultRetention = PropertyType "DefaultRetention" SnaplockRetentionPeriodProperty
RetentionPeriodProperty
newValue, ()
RetentionPeriodProperty
haddock_workaround_ :: ()
maximumRetention :: RetentionPeriodProperty
minimumRetention :: RetentionPeriodProperty
haddock_workaround_ :: ()
maximumRetention :: RetentionPeriodProperty
minimumRetention :: RetentionPeriodProperty
..}
instance Property "MaximumRetention" SnaplockRetentionPeriodProperty where
type PropertyType "MaximumRetention" SnaplockRetentionPeriodProperty = RetentionPeriodProperty
set :: PropertyType "MaximumRetention" SnaplockRetentionPeriodProperty
-> SnaplockRetentionPeriodProperty
-> SnaplockRetentionPeriodProperty
set PropertyType "MaximumRetention" SnaplockRetentionPeriodProperty
newValue SnaplockRetentionPeriodProperty {()
RetentionPeriodProperty
haddock_workaround_ :: SnaplockRetentionPeriodProperty -> ()
defaultRetention :: SnaplockRetentionPeriodProperty -> RetentionPeriodProperty
maximumRetention :: SnaplockRetentionPeriodProperty -> RetentionPeriodProperty
minimumRetention :: SnaplockRetentionPeriodProperty -> RetentionPeriodProperty
haddock_workaround_ :: ()
defaultRetention :: RetentionPeriodProperty
maximumRetention :: RetentionPeriodProperty
minimumRetention :: RetentionPeriodProperty
..}
= SnaplockRetentionPeriodProperty {maximumRetention :: RetentionPeriodProperty
maximumRetention = PropertyType "MaximumRetention" SnaplockRetentionPeriodProperty
RetentionPeriodProperty
newValue, ()
RetentionPeriodProperty
haddock_workaround_ :: ()
defaultRetention :: RetentionPeriodProperty
minimumRetention :: RetentionPeriodProperty
haddock_workaround_ :: ()
defaultRetention :: RetentionPeriodProperty
minimumRetention :: RetentionPeriodProperty
..}
instance Property "MinimumRetention" SnaplockRetentionPeriodProperty where
type PropertyType "MinimumRetention" SnaplockRetentionPeriodProperty = RetentionPeriodProperty
set :: PropertyType "MinimumRetention" SnaplockRetentionPeriodProperty
-> SnaplockRetentionPeriodProperty
-> SnaplockRetentionPeriodProperty
set PropertyType "MinimumRetention" SnaplockRetentionPeriodProperty
newValue SnaplockRetentionPeriodProperty {()
RetentionPeriodProperty
haddock_workaround_ :: SnaplockRetentionPeriodProperty -> ()
defaultRetention :: SnaplockRetentionPeriodProperty -> RetentionPeriodProperty
maximumRetention :: SnaplockRetentionPeriodProperty -> RetentionPeriodProperty
minimumRetention :: SnaplockRetentionPeriodProperty -> RetentionPeriodProperty
haddock_workaround_ :: ()
defaultRetention :: RetentionPeriodProperty
maximumRetention :: RetentionPeriodProperty
minimumRetention :: RetentionPeriodProperty
..}
= SnaplockRetentionPeriodProperty {minimumRetention :: RetentionPeriodProperty
minimumRetention = PropertyType "MinimumRetention" SnaplockRetentionPeriodProperty
RetentionPeriodProperty
newValue, ()
RetentionPeriodProperty
haddock_workaround_ :: ()
defaultRetention :: RetentionPeriodProperty
maximumRetention :: RetentionPeriodProperty
haddock_workaround_ :: ()
defaultRetention :: RetentionPeriodProperty
maximumRetention :: RetentionPeriodProperty
..}