module Stratosphere.GuardDuty.MalwareProtectionPlan.CFNProtectedResourceProperty (
module Exports, CFNProtectedResourceProperty(..),
mkCFNProtectedResourceProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.GuardDuty.MalwareProtectionPlan.S3BucketProperty as Exports
import Stratosphere.ResourceProperties
data CFNProtectedResourceProperty
=
CFNProtectedResourceProperty {CFNProtectedResourceProperty -> ()
haddock_workaround_ :: (),
CFNProtectedResourceProperty -> S3BucketProperty
s3Bucket :: S3BucketProperty}
deriving stock (CFNProtectedResourceProperty
-> CFNProtectedResourceProperty -> Bool
(CFNProtectedResourceProperty
-> CFNProtectedResourceProperty -> Bool)
-> (CFNProtectedResourceProperty
-> CFNProtectedResourceProperty -> Bool)
-> Eq CFNProtectedResourceProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CFNProtectedResourceProperty
-> CFNProtectedResourceProperty -> Bool
== :: CFNProtectedResourceProperty
-> CFNProtectedResourceProperty -> Bool
$c/= :: CFNProtectedResourceProperty
-> CFNProtectedResourceProperty -> Bool
/= :: CFNProtectedResourceProperty
-> CFNProtectedResourceProperty -> Bool
Prelude.Eq, Int -> CFNProtectedResourceProperty -> ShowS
[CFNProtectedResourceProperty] -> ShowS
CFNProtectedResourceProperty -> String
(Int -> CFNProtectedResourceProperty -> ShowS)
-> (CFNProtectedResourceProperty -> String)
-> ([CFNProtectedResourceProperty] -> ShowS)
-> Show CFNProtectedResourceProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CFNProtectedResourceProperty -> ShowS
showsPrec :: Int -> CFNProtectedResourceProperty -> ShowS
$cshow :: CFNProtectedResourceProperty -> String
show :: CFNProtectedResourceProperty -> String
$cshowList :: [CFNProtectedResourceProperty] -> ShowS
showList :: [CFNProtectedResourceProperty] -> ShowS
Prelude.Show)
mkCFNProtectedResourceProperty ::
S3BucketProperty -> CFNProtectedResourceProperty
mkCFNProtectedResourceProperty :: S3BucketProperty -> CFNProtectedResourceProperty
mkCFNProtectedResourceProperty S3BucketProperty
s3Bucket
= CFNProtectedResourceProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), s3Bucket :: S3BucketProperty
s3Bucket = S3BucketProperty
s3Bucket}
instance ToResourceProperties CFNProtectedResourceProperty where
toResourceProperties :: CFNProtectedResourceProperty -> ResourceProperties
toResourceProperties CFNProtectedResourceProperty {()
S3BucketProperty
haddock_workaround_ :: CFNProtectedResourceProperty -> ()
s3Bucket :: CFNProtectedResourceProperty -> S3BucketProperty
haddock_workaround_ :: ()
s3Bucket :: S3BucketProperty
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::GuardDuty::MalwareProtectionPlan.CFNProtectedResource",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Key
"S3Bucket" Key -> S3BucketProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= S3BucketProperty
s3Bucket]}
instance JSON.ToJSON CFNProtectedResourceProperty where
toJSON :: CFNProtectedResourceProperty -> Value
toJSON CFNProtectedResourceProperty {()
S3BucketProperty
haddock_workaround_ :: CFNProtectedResourceProperty -> ()
s3Bucket :: CFNProtectedResourceProperty -> S3BucketProperty
haddock_workaround_ :: ()
s3Bucket :: S3BucketProperty
..}
= [(Key, Value)] -> Value
JSON.object [Key
"S3Bucket" Key -> S3BucketProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= S3BucketProperty
s3Bucket]
instance Property "S3Bucket" CFNProtectedResourceProperty where
type PropertyType "S3Bucket" CFNProtectedResourceProperty = S3BucketProperty
set :: PropertyType "S3Bucket" CFNProtectedResourceProperty
-> CFNProtectedResourceProperty -> CFNProtectedResourceProperty
set PropertyType "S3Bucket" CFNProtectedResourceProperty
newValue CFNProtectedResourceProperty {()
S3BucketProperty
haddock_workaround_ :: CFNProtectedResourceProperty -> ()
s3Bucket :: CFNProtectedResourceProperty -> S3BucketProperty
haddock_workaround_ :: ()
s3Bucket :: S3BucketProperty
..}
= CFNProtectedResourceProperty {s3Bucket :: S3BucketProperty
s3Bucket = PropertyType "S3Bucket" CFNProtectedResourceProperty
S3BucketProperty
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}