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