module Stratosphere.KafkaConnect.Connector.CapacityProperty (
module Exports, CapacityProperty(..), mkCapacityProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.KafkaConnect.Connector.AutoScalingProperty as Exports
import {-# SOURCE #-} Stratosphere.KafkaConnect.Connector.ProvisionedCapacityProperty as Exports
import Stratosphere.ResourceProperties
data CapacityProperty
=
CapacityProperty {CapacityProperty -> ()
haddock_workaround_ :: (),
CapacityProperty -> Maybe AutoScalingProperty
autoScaling :: (Prelude.Maybe AutoScalingProperty),
CapacityProperty -> Maybe ProvisionedCapacityProperty
provisionedCapacity :: (Prelude.Maybe ProvisionedCapacityProperty)}
deriving stock (CapacityProperty -> CapacityProperty -> Bool
(CapacityProperty -> CapacityProperty -> Bool)
-> (CapacityProperty -> CapacityProperty -> Bool)
-> Eq CapacityProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CapacityProperty -> CapacityProperty -> Bool
== :: CapacityProperty -> CapacityProperty -> Bool
$c/= :: CapacityProperty -> CapacityProperty -> Bool
/= :: CapacityProperty -> CapacityProperty -> Bool
Prelude.Eq, Int -> CapacityProperty -> ShowS
[CapacityProperty] -> ShowS
CapacityProperty -> String
(Int -> CapacityProperty -> ShowS)
-> (CapacityProperty -> String)
-> ([CapacityProperty] -> ShowS)
-> Show CapacityProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CapacityProperty -> ShowS
showsPrec :: Int -> CapacityProperty -> ShowS
$cshow :: CapacityProperty -> String
show :: CapacityProperty -> String
$cshowList :: [CapacityProperty] -> ShowS
showList :: [CapacityProperty] -> ShowS
Prelude.Show)
mkCapacityProperty :: CapacityProperty
mkCapacityProperty :: CapacityProperty
mkCapacityProperty
= CapacityProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), autoScaling :: Maybe AutoScalingProperty
autoScaling = Maybe AutoScalingProperty
forall a. Maybe a
Prelude.Nothing,
provisionedCapacity :: Maybe ProvisionedCapacityProperty
provisionedCapacity = Maybe ProvisionedCapacityProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties CapacityProperty where
toResourceProperties :: CapacityProperty -> ResourceProperties
toResourceProperties CapacityProperty {Maybe ProvisionedCapacityProperty
Maybe AutoScalingProperty
()
haddock_workaround_ :: CapacityProperty -> ()
autoScaling :: CapacityProperty -> Maybe AutoScalingProperty
provisionedCapacity :: CapacityProperty -> Maybe ProvisionedCapacityProperty
haddock_workaround_ :: ()
autoScaling :: Maybe AutoScalingProperty
provisionedCapacity :: Maybe ProvisionedCapacityProperty
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::KafkaConnect::Connector.Capacity",
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 -> AutoScalingProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"AutoScaling" (AutoScalingProperty -> (Key, Value))
-> Maybe AutoScalingProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AutoScalingProperty
autoScaling,
Key -> ProvisionedCapacityProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ProvisionedCapacity" (ProvisionedCapacityProperty -> (Key, Value))
-> Maybe ProvisionedCapacityProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ProvisionedCapacityProperty
provisionedCapacity])}
instance JSON.ToJSON CapacityProperty where
toJSON :: CapacityProperty -> Value
toJSON CapacityProperty {Maybe ProvisionedCapacityProperty
Maybe AutoScalingProperty
()
haddock_workaround_ :: CapacityProperty -> ()
autoScaling :: CapacityProperty -> Maybe AutoScalingProperty
provisionedCapacity :: CapacityProperty -> Maybe ProvisionedCapacityProperty
haddock_workaround_ :: ()
autoScaling :: Maybe AutoScalingProperty
provisionedCapacity :: Maybe ProvisionedCapacityProperty
..}
= [(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 -> AutoScalingProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"AutoScaling" (AutoScalingProperty -> (Key, Value))
-> Maybe AutoScalingProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AutoScalingProperty
autoScaling,
Key -> ProvisionedCapacityProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ProvisionedCapacity" (ProvisionedCapacityProperty -> (Key, Value))
-> Maybe ProvisionedCapacityProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ProvisionedCapacityProperty
provisionedCapacity]))
instance Property "AutoScaling" CapacityProperty where
type PropertyType "AutoScaling" CapacityProperty = AutoScalingProperty
set :: PropertyType "AutoScaling" CapacityProperty
-> CapacityProperty -> CapacityProperty
set PropertyType "AutoScaling" CapacityProperty
newValue CapacityProperty {Maybe ProvisionedCapacityProperty
Maybe AutoScalingProperty
()
haddock_workaround_ :: CapacityProperty -> ()
autoScaling :: CapacityProperty -> Maybe AutoScalingProperty
provisionedCapacity :: CapacityProperty -> Maybe ProvisionedCapacityProperty
haddock_workaround_ :: ()
autoScaling :: Maybe AutoScalingProperty
provisionedCapacity :: Maybe ProvisionedCapacityProperty
..}
= CapacityProperty {autoScaling :: Maybe AutoScalingProperty
autoScaling = AutoScalingProperty -> Maybe AutoScalingProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "AutoScaling" CapacityProperty
AutoScalingProperty
newValue, Maybe ProvisionedCapacityProperty
()
haddock_workaround_ :: ()
provisionedCapacity :: Maybe ProvisionedCapacityProperty
haddock_workaround_ :: ()
provisionedCapacity :: Maybe ProvisionedCapacityProperty
..}
instance Property "ProvisionedCapacity" CapacityProperty where
type PropertyType "ProvisionedCapacity" CapacityProperty = ProvisionedCapacityProperty
set :: PropertyType "ProvisionedCapacity" CapacityProperty
-> CapacityProperty -> CapacityProperty
set PropertyType "ProvisionedCapacity" CapacityProperty
newValue CapacityProperty {Maybe ProvisionedCapacityProperty
Maybe AutoScalingProperty
()
haddock_workaround_ :: CapacityProperty -> ()
autoScaling :: CapacityProperty -> Maybe AutoScalingProperty
provisionedCapacity :: CapacityProperty -> Maybe ProvisionedCapacityProperty
haddock_workaround_ :: ()
autoScaling :: Maybe AutoScalingProperty
provisionedCapacity :: Maybe ProvisionedCapacityProperty
..}
= CapacityProperty
{provisionedCapacity :: Maybe ProvisionedCapacityProperty
provisionedCapacity = ProvisionedCapacityProperty -> Maybe ProvisionedCapacityProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "ProvisionedCapacity" CapacityProperty
ProvisionedCapacityProperty
newValue, Maybe AutoScalingProperty
()
haddock_workaround_ :: ()
autoScaling :: Maybe AutoScalingProperty
haddock_workaround_ :: ()
autoScaling :: Maybe AutoScalingProperty
..}