module Stratosphere.S3.StorageLens.CloudWatchMetricsProperty (
CloudWatchMetricsProperty(..), mkCloudWatchMetricsProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data CloudWatchMetricsProperty
=
CloudWatchMetricsProperty {CloudWatchMetricsProperty -> ()
haddock_workaround_ :: (),
CloudWatchMetricsProperty -> Value Bool
isEnabled :: (Value Prelude.Bool)}
deriving stock (CloudWatchMetricsProperty -> CloudWatchMetricsProperty -> Bool
(CloudWatchMetricsProperty -> CloudWatchMetricsProperty -> Bool)
-> (CloudWatchMetricsProperty -> CloudWatchMetricsProperty -> Bool)
-> Eq CloudWatchMetricsProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CloudWatchMetricsProperty -> CloudWatchMetricsProperty -> Bool
== :: CloudWatchMetricsProperty -> CloudWatchMetricsProperty -> Bool
$c/= :: CloudWatchMetricsProperty -> CloudWatchMetricsProperty -> Bool
/= :: CloudWatchMetricsProperty -> CloudWatchMetricsProperty -> Bool
Prelude.Eq, Int -> CloudWatchMetricsProperty -> ShowS
[CloudWatchMetricsProperty] -> ShowS
CloudWatchMetricsProperty -> String
(Int -> CloudWatchMetricsProperty -> ShowS)
-> (CloudWatchMetricsProperty -> String)
-> ([CloudWatchMetricsProperty] -> ShowS)
-> Show CloudWatchMetricsProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CloudWatchMetricsProperty -> ShowS
showsPrec :: Int -> CloudWatchMetricsProperty -> ShowS
$cshow :: CloudWatchMetricsProperty -> String
show :: CloudWatchMetricsProperty -> String
$cshowList :: [CloudWatchMetricsProperty] -> ShowS
showList :: [CloudWatchMetricsProperty] -> ShowS
Prelude.Show)
mkCloudWatchMetricsProperty ::
Value Prelude.Bool -> CloudWatchMetricsProperty
mkCloudWatchMetricsProperty :: Value Bool -> CloudWatchMetricsProperty
mkCloudWatchMetricsProperty Value Bool
isEnabled
= CloudWatchMetricsProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), isEnabled :: Value Bool
isEnabled = Value Bool
isEnabled}
instance ToResourceProperties CloudWatchMetricsProperty where
toResourceProperties :: CloudWatchMetricsProperty -> ResourceProperties
toResourceProperties CloudWatchMetricsProperty {()
Value Bool
haddock_workaround_ :: CloudWatchMetricsProperty -> ()
isEnabled :: CloudWatchMetricsProperty -> Value Bool
haddock_workaround_ :: ()
isEnabled :: Value Bool
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::S3::StorageLens.CloudWatchMetrics",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Key
"IsEnabled" 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..= Value Bool
isEnabled]}
instance JSON.ToJSON CloudWatchMetricsProperty where
toJSON :: CloudWatchMetricsProperty -> Value
toJSON CloudWatchMetricsProperty {()
Value Bool
haddock_workaround_ :: CloudWatchMetricsProperty -> ()
isEnabled :: CloudWatchMetricsProperty -> Value Bool
haddock_workaround_ :: ()
isEnabled :: Value Bool
..}
= [(Key, Value)] -> Value
JSON.object [Key
"IsEnabled" 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..= Value Bool
isEnabled]
instance Property "IsEnabled" CloudWatchMetricsProperty where
type PropertyType "IsEnabled" CloudWatchMetricsProperty = Value Prelude.Bool
set :: PropertyType "IsEnabled" CloudWatchMetricsProperty
-> CloudWatchMetricsProperty -> CloudWatchMetricsProperty
set PropertyType "IsEnabled" CloudWatchMetricsProperty
newValue CloudWatchMetricsProperty {()
Value Bool
haddock_workaround_ :: CloudWatchMetricsProperty -> ()
isEnabled :: CloudWatchMetricsProperty -> Value Bool
haddock_workaround_ :: ()
isEnabled :: Value Bool
..}
= CloudWatchMetricsProperty {isEnabled :: Value Bool
isEnabled = PropertyType "IsEnabled" CloudWatchMetricsProperty
Value Bool
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}