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