module Stratosphere.Backup.BackupSelection (
module Exports, BackupSelection(..), mkBackupSelection
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Backup.BackupSelection.BackupSelectionResourceTypeProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data BackupSelection
=
BackupSelection {BackupSelection -> ()
haddock_workaround_ :: (),
BackupSelection -> Value Text
backupPlanId :: (Value Prelude.Text),
BackupSelection -> BackupSelectionResourceTypeProperty
backupSelection :: BackupSelectionResourceTypeProperty}
deriving stock (BackupSelection -> BackupSelection -> Bool
(BackupSelection -> BackupSelection -> Bool)
-> (BackupSelection -> BackupSelection -> Bool)
-> Eq BackupSelection
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BackupSelection -> BackupSelection -> Bool
== :: BackupSelection -> BackupSelection -> Bool
$c/= :: BackupSelection -> BackupSelection -> Bool
/= :: BackupSelection -> BackupSelection -> Bool
Prelude.Eq, Int -> BackupSelection -> ShowS
[BackupSelection] -> ShowS
BackupSelection -> String
(Int -> BackupSelection -> ShowS)
-> (BackupSelection -> String)
-> ([BackupSelection] -> ShowS)
-> Show BackupSelection
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> BackupSelection -> ShowS
showsPrec :: Int -> BackupSelection -> ShowS
$cshow :: BackupSelection -> String
show :: BackupSelection -> String
$cshowList :: [BackupSelection] -> ShowS
showList :: [BackupSelection] -> ShowS
Prelude.Show)
mkBackupSelection ::
Value Prelude.Text
-> BackupSelectionResourceTypeProperty -> BackupSelection
mkBackupSelection :: Value Text
-> BackupSelectionResourceTypeProperty -> BackupSelection
mkBackupSelection Value Text
backupPlanId BackupSelectionResourceTypeProperty
backupSelection
= BackupSelection
{haddock_workaround_ :: ()
haddock_workaround_ = (), backupPlanId :: Value Text
backupPlanId = Value Text
backupPlanId,
backupSelection :: BackupSelectionResourceTypeProperty
backupSelection = BackupSelectionResourceTypeProperty
backupSelection}
instance ToResourceProperties BackupSelection where
toResourceProperties :: BackupSelection -> ResourceProperties
toResourceProperties BackupSelection {()
Value Text
BackupSelectionResourceTypeProperty
haddock_workaround_ :: BackupSelection -> ()
backupPlanId :: BackupSelection -> Value Text
backupSelection :: BackupSelection -> BackupSelectionResourceTypeProperty
haddock_workaround_ :: ()
backupPlanId :: Value Text
backupSelection :: BackupSelectionResourceTypeProperty
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::Backup::BackupSelection",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Key
"BackupPlanId" 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
backupPlanId,
Key
"BackupSelection" Key -> BackupSelectionResourceTypeProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= BackupSelectionResourceTypeProperty
backupSelection]}
instance JSON.ToJSON BackupSelection where
toJSON :: BackupSelection -> Value
toJSON BackupSelection {()
Value Text
BackupSelectionResourceTypeProperty
haddock_workaround_ :: BackupSelection -> ()
backupPlanId :: BackupSelection -> Value Text
backupSelection :: BackupSelection -> BackupSelectionResourceTypeProperty
haddock_workaround_ :: ()
backupPlanId :: Value Text
backupSelection :: BackupSelectionResourceTypeProperty
..}
= [(Key, Value)] -> Value
JSON.object
[Key
"BackupPlanId" 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
backupPlanId,
Key
"BackupSelection" Key -> BackupSelectionResourceTypeProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= BackupSelectionResourceTypeProperty
backupSelection]
instance Property "BackupPlanId" BackupSelection where
type PropertyType "BackupPlanId" BackupSelection = Value Prelude.Text
set :: PropertyType "BackupPlanId" BackupSelection
-> BackupSelection -> BackupSelection
set PropertyType "BackupPlanId" BackupSelection
newValue BackupSelection {()
Value Text
BackupSelectionResourceTypeProperty
haddock_workaround_ :: BackupSelection -> ()
backupPlanId :: BackupSelection -> Value Text
backupSelection :: BackupSelection -> BackupSelectionResourceTypeProperty
haddock_workaround_ :: ()
backupPlanId :: Value Text
backupSelection :: BackupSelectionResourceTypeProperty
..}
= BackupSelection {backupPlanId :: Value Text
backupPlanId = PropertyType "BackupPlanId" BackupSelection
Value Text
newValue, ()
BackupSelectionResourceTypeProperty
haddock_workaround_ :: ()
backupSelection :: BackupSelectionResourceTypeProperty
haddock_workaround_ :: ()
backupSelection :: BackupSelectionResourceTypeProperty
..}
instance Property "BackupSelection" BackupSelection where
type PropertyType "BackupSelection" BackupSelection = BackupSelectionResourceTypeProperty
set :: PropertyType "BackupSelection" BackupSelection
-> BackupSelection -> BackupSelection
set PropertyType "BackupSelection" BackupSelection
newValue BackupSelection {()
Value Text
BackupSelectionResourceTypeProperty
haddock_workaround_ :: BackupSelection -> ()
backupPlanId :: BackupSelection -> Value Text
backupSelection :: BackupSelection -> BackupSelectionResourceTypeProperty
haddock_workaround_ :: ()
backupPlanId :: Value Text
backupSelection :: BackupSelectionResourceTypeProperty
..}
= BackupSelection {backupSelection :: BackupSelectionResourceTypeProperty
backupSelection = PropertyType "BackupSelection" BackupSelection
BackupSelectionResourceTypeProperty
newValue, ()
Value Text
haddock_workaround_ :: ()
backupPlanId :: Value Text
haddock_workaround_ :: ()
backupPlanId :: Value Text
..}