module Stratosphere.Backup.BackupPlan.LifecycleResourceTypeProperty (
LifecycleResourceTypeProperty(..), mkLifecycleResourceTypeProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data LifecycleResourceTypeProperty
=
LifecycleResourceTypeProperty {LifecycleResourceTypeProperty -> ()
haddock_workaround_ :: (),
LifecycleResourceTypeProperty -> Maybe (Value Double)
deleteAfterDays :: (Prelude.Maybe (Value Prelude.Double)),
LifecycleResourceTypeProperty -> Maybe (Value Double)
moveToColdStorageAfterDays :: (Prelude.Maybe (Value Prelude.Double)),
LifecycleResourceTypeProperty -> Maybe (Value Bool)
optInToArchiveForSupportedResources :: (Prelude.Maybe (Value Prelude.Bool))}
deriving stock (LifecycleResourceTypeProperty
-> LifecycleResourceTypeProperty -> Bool
(LifecycleResourceTypeProperty
-> LifecycleResourceTypeProperty -> Bool)
-> (LifecycleResourceTypeProperty
-> LifecycleResourceTypeProperty -> Bool)
-> Eq LifecycleResourceTypeProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: LifecycleResourceTypeProperty
-> LifecycleResourceTypeProperty -> Bool
== :: LifecycleResourceTypeProperty
-> LifecycleResourceTypeProperty -> Bool
$c/= :: LifecycleResourceTypeProperty
-> LifecycleResourceTypeProperty -> Bool
/= :: LifecycleResourceTypeProperty
-> LifecycleResourceTypeProperty -> Bool
Prelude.Eq, Int -> LifecycleResourceTypeProperty -> ShowS
[LifecycleResourceTypeProperty] -> ShowS
LifecycleResourceTypeProperty -> String
(Int -> LifecycleResourceTypeProperty -> ShowS)
-> (LifecycleResourceTypeProperty -> String)
-> ([LifecycleResourceTypeProperty] -> ShowS)
-> Show LifecycleResourceTypeProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> LifecycleResourceTypeProperty -> ShowS
showsPrec :: Int -> LifecycleResourceTypeProperty -> ShowS
$cshow :: LifecycleResourceTypeProperty -> String
show :: LifecycleResourceTypeProperty -> String
$cshowList :: [LifecycleResourceTypeProperty] -> ShowS
showList :: [LifecycleResourceTypeProperty] -> ShowS
Prelude.Show)
mkLifecycleResourceTypeProperty :: LifecycleResourceTypeProperty
mkLifecycleResourceTypeProperty :: LifecycleResourceTypeProperty
mkLifecycleResourceTypeProperty
= LifecycleResourceTypeProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), deleteAfterDays :: Maybe (Value Double)
deleteAfterDays = Maybe (Value Double)
forall a. Maybe a
Prelude.Nothing,
moveToColdStorageAfterDays :: Maybe (Value Double)
moveToColdStorageAfterDays = Maybe (Value Double)
forall a. Maybe a
Prelude.Nothing,
optInToArchiveForSupportedResources :: Maybe (Value Bool)
optInToArchiveForSupportedResources = Maybe (Value Bool)
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties LifecycleResourceTypeProperty where
toResourceProperties :: LifecycleResourceTypeProperty -> ResourceProperties
toResourceProperties LifecycleResourceTypeProperty {Maybe (Value Bool)
Maybe (Value Double)
()
haddock_workaround_ :: LifecycleResourceTypeProperty -> ()
deleteAfterDays :: LifecycleResourceTypeProperty -> Maybe (Value Double)
moveToColdStorageAfterDays :: LifecycleResourceTypeProperty -> Maybe (Value Double)
optInToArchiveForSupportedResources :: LifecycleResourceTypeProperty -> Maybe (Value Bool)
haddock_workaround_ :: ()
deleteAfterDays :: Maybe (Value Double)
moveToColdStorageAfterDays :: Maybe (Value Double)
optInToArchiveForSupportedResources :: Maybe (Value Bool)
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::Backup::BackupPlan.LifecycleResourceType",
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 -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"DeleteAfterDays" (Value Double -> (Key, Value))
-> Maybe (Value Double) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Double)
deleteAfterDays,
Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"MoveToColdStorageAfterDays"
(Value Double -> (Key, Value))
-> Maybe (Value Double) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Double)
moveToColdStorageAfterDays,
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..=) Key
"OptInToArchiveForSupportedResources"
(Value Bool -> (Key, Value))
-> Maybe (Value Bool) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Bool)
optInToArchiveForSupportedResources])}
instance JSON.ToJSON LifecycleResourceTypeProperty where
toJSON :: LifecycleResourceTypeProperty -> Value
toJSON LifecycleResourceTypeProperty {Maybe (Value Bool)
Maybe (Value Double)
()
haddock_workaround_ :: LifecycleResourceTypeProperty -> ()
deleteAfterDays :: LifecycleResourceTypeProperty -> Maybe (Value Double)
moveToColdStorageAfterDays :: LifecycleResourceTypeProperty -> Maybe (Value Double)
optInToArchiveForSupportedResources :: LifecycleResourceTypeProperty -> Maybe (Value Bool)
haddock_workaround_ :: ()
deleteAfterDays :: Maybe (Value Double)
moveToColdStorageAfterDays :: Maybe (Value Double)
optInToArchiveForSupportedResources :: Maybe (Value Bool)
..}
= [(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 -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"DeleteAfterDays" (Value Double -> (Key, Value))
-> Maybe (Value Double) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Double)
deleteAfterDays,
Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"MoveToColdStorageAfterDays"
(Value Double -> (Key, Value))
-> Maybe (Value Double) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Double)
moveToColdStorageAfterDays,
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..=) Key
"OptInToArchiveForSupportedResources"
(Value Bool -> (Key, Value))
-> Maybe (Value Bool) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Bool)
optInToArchiveForSupportedResources]))
instance Property "DeleteAfterDays" LifecycleResourceTypeProperty where
type PropertyType "DeleteAfterDays" LifecycleResourceTypeProperty = Value Prelude.Double
set :: PropertyType "DeleteAfterDays" LifecycleResourceTypeProperty
-> LifecycleResourceTypeProperty -> LifecycleResourceTypeProperty
set PropertyType "DeleteAfterDays" LifecycleResourceTypeProperty
newValue LifecycleResourceTypeProperty {Maybe (Value Bool)
Maybe (Value Double)
()
haddock_workaround_ :: LifecycleResourceTypeProperty -> ()
deleteAfterDays :: LifecycleResourceTypeProperty -> Maybe (Value Double)
moveToColdStorageAfterDays :: LifecycleResourceTypeProperty -> Maybe (Value Double)
optInToArchiveForSupportedResources :: LifecycleResourceTypeProperty -> Maybe (Value Bool)
haddock_workaround_ :: ()
deleteAfterDays :: Maybe (Value Double)
moveToColdStorageAfterDays :: Maybe (Value Double)
optInToArchiveForSupportedResources :: Maybe (Value Bool)
..}
= LifecycleResourceTypeProperty
{deleteAfterDays :: Maybe (Value Double)
deleteAfterDays = Value Double -> Maybe (Value Double)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "DeleteAfterDays" LifecycleResourceTypeProperty
Value Double
newValue, Maybe (Value Bool)
Maybe (Value Double)
()
haddock_workaround_ :: ()
moveToColdStorageAfterDays :: Maybe (Value Double)
optInToArchiveForSupportedResources :: Maybe (Value Bool)
haddock_workaround_ :: ()
moveToColdStorageAfterDays :: Maybe (Value Double)
optInToArchiveForSupportedResources :: Maybe (Value Bool)
..}
instance Property "MoveToColdStorageAfterDays" LifecycleResourceTypeProperty where
type PropertyType "MoveToColdStorageAfterDays" LifecycleResourceTypeProperty = Value Prelude.Double
set :: PropertyType
"MoveToColdStorageAfterDays" LifecycleResourceTypeProperty
-> LifecycleResourceTypeProperty -> LifecycleResourceTypeProperty
set PropertyType
"MoveToColdStorageAfterDays" LifecycleResourceTypeProperty
newValue LifecycleResourceTypeProperty {Maybe (Value Bool)
Maybe (Value Double)
()
haddock_workaround_ :: LifecycleResourceTypeProperty -> ()
deleteAfterDays :: LifecycleResourceTypeProperty -> Maybe (Value Double)
moveToColdStorageAfterDays :: LifecycleResourceTypeProperty -> Maybe (Value Double)
optInToArchiveForSupportedResources :: LifecycleResourceTypeProperty -> Maybe (Value Bool)
haddock_workaround_ :: ()
deleteAfterDays :: Maybe (Value Double)
moveToColdStorageAfterDays :: Maybe (Value Double)
optInToArchiveForSupportedResources :: Maybe (Value Bool)
..}
= LifecycleResourceTypeProperty
{moveToColdStorageAfterDays :: Maybe (Value Double)
moveToColdStorageAfterDays = Value Double -> Maybe (Value Double)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType
"MoveToColdStorageAfterDays" LifecycleResourceTypeProperty
Value Double
newValue, Maybe (Value Bool)
Maybe (Value Double)
()
haddock_workaround_ :: ()
deleteAfterDays :: Maybe (Value Double)
optInToArchiveForSupportedResources :: Maybe (Value Bool)
haddock_workaround_ :: ()
deleteAfterDays :: Maybe (Value Double)
optInToArchiveForSupportedResources :: Maybe (Value Bool)
..}
instance Property "OptInToArchiveForSupportedResources" LifecycleResourceTypeProperty where
type PropertyType "OptInToArchiveForSupportedResources" LifecycleResourceTypeProperty = Value Prelude.Bool
set :: PropertyType
"OptInToArchiveForSupportedResources" LifecycleResourceTypeProperty
-> LifecycleResourceTypeProperty -> LifecycleResourceTypeProperty
set PropertyType
"OptInToArchiveForSupportedResources" LifecycleResourceTypeProperty
newValue LifecycleResourceTypeProperty {Maybe (Value Bool)
Maybe (Value Double)
()
haddock_workaround_ :: LifecycleResourceTypeProperty -> ()
deleteAfterDays :: LifecycleResourceTypeProperty -> Maybe (Value Double)
moveToColdStorageAfterDays :: LifecycleResourceTypeProperty -> Maybe (Value Double)
optInToArchiveForSupportedResources :: LifecycleResourceTypeProperty -> Maybe (Value Bool)
haddock_workaround_ :: ()
deleteAfterDays :: Maybe (Value Double)
moveToColdStorageAfterDays :: Maybe (Value Double)
optInToArchiveForSupportedResources :: Maybe (Value Bool)
..}
= LifecycleResourceTypeProperty
{optInToArchiveForSupportedResources :: Maybe (Value Bool)
optInToArchiveForSupportedResources = Value Bool -> Maybe (Value Bool)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType
"OptInToArchiveForSupportedResources" LifecycleResourceTypeProperty
Value Bool
newValue, Maybe (Value Double)
()
haddock_workaround_ :: ()
deleteAfterDays :: Maybe (Value Double)
moveToColdStorageAfterDays :: Maybe (Value Double)
haddock_workaround_ :: ()
deleteAfterDays :: Maybe (Value Double)
moveToColdStorageAfterDays :: Maybe (Value Double)
..}