module Stratosphere.ApplicationSignals.ServiceLevelObjective.DependencyConfigProperty (
        DependencyConfigProperty(..), mkDependencyConfigProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data DependencyConfigProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-dependencyconfig.html>
    DependencyConfigProperty {DependencyConfigProperty -> ()
haddock_workaround_ :: (),
                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-dependencyconfig.html#cfn-applicationsignals-servicelevelobjective-dependencyconfig-dependencykeyattributes>
                              DependencyConfigProperty -> Map Text (Value Text)
dependencyKeyAttributes :: (Prelude.Map Prelude.Text (Value Prelude.Text)),
                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-dependencyconfig.html#cfn-applicationsignals-servicelevelobjective-dependencyconfig-dependencyoperationname>
                              DependencyConfigProperty -> Value Text
dependencyOperationName :: (Value Prelude.Text)}
  deriving stock (DependencyConfigProperty -> DependencyConfigProperty -> Bool
(DependencyConfigProperty -> DependencyConfigProperty -> Bool)
-> (DependencyConfigProperty -> DependencyConfigProperty -> Bool)
-> Eq DependencyConfigProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DependencyConfigProperty -> DependencyConfigProperty -> Bool
== :: DependencyConfigProperty -> DependencyConfigProperty -> Bool
$c/= :: DependencyConfigProperty -> DependencyConfigProperty -> Bool
/= :: DependencyConfigProperty -> DependencyConfigProperty -> Bool
Prelude.Eq, Int -> DependencyConfigProperty -> ShowS
[DependencyConfigProperty] -> ShowS
DependencyConfigProperty -> String
(Int -> DependencyConfigProperty -> ShowS)
-> (DependencyConfigProperty -> String)
-> ([DependencyConfigProperty] -> ShowS)
-> Show DependencyConfigProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DependencyConfigProperty -> ShowS
showsPrec :: Int -> DependencyConfigProperty -> ShowS
$cshow :: DependencyConfigProperty -> String
show :: DependencyConfigProperty -> String
$cshowList :: [DependencyConfigProperty] -> ShowS
showList :: [DependencyConfigProperty] -> ShowS
Prelude.Show)
mkDependencyConfigProperty ::
  Prelude.Map Prelude.Text (Value Prelude.Text)
  -> Value Prelude.Text -> DependencyConfigProperty
mkDependencyConfigProperty :: Map Text (Value Text) -> Value Text -> DependencyConfigProperty
mkDependencyConfigProperty
  Map Text (Value Text)
dependencyKeyAttributes
  Value Text
dependencyOperationName
  = DependencyConfigProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       dependencyKeyAttributes :: Map Text (Value Text)
dependencyKeyAttributes = Map Text (Value Text)
dependencyKeyAttributes,
       dependencyOperationName :: Value Text
dependencyOperationName = Value Text
dependencyOperationName}
instance ToResourceProperties DependencyConfigProperty where
  toResourceProperties :: DependencyConfigProperty -> ResourceProperties
toResourceProperties DependencyConfigProperty {()
Map Text (Value Text)
Value Text
haddock_workaround_ :: DependencyConfigProperty -> ()
dependencyKeyAttributes :: DependencyConfigProperty -> Map Text (Value Text)
dependencyOperationName :: DependencyConfigProperty -> Value Text
haddock_workaround_ :: ()
dependencyKeyAttributes :: Map Text (Value Text)
dependencyOperationName :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::ApplicationSignals::ServiceLevelObjective.DependencyConfig",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"DependencyKeyAttributes"
                         Key -> Map Text (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..= Map Text (Value Text)
dependencyKeyAttributes,
                       Key
"DependencyOperationName" 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
dependencyOperationName]}
instance JSON.ToJSON DependencyConfigProperty where
  toJSON :: DependencyConfigProperty -> Value
toJSON DependencyConfigProperty {()
Map Text (Value Text)
Value Text
haddock_workaround_ :: DependencyConfigProperty -> ()
dependencyKeyAttributes :: DependencyConfigProperty -> Map Text (Value Text)
dependencyOperationName :: DependencyConfigProperty -> Value Text
haddock_workaround_ :: ()
dependencyKeyAttributes :: Map Text (Value Text)
dependencyOperationName :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"DependencyKeyAttributes" Key -> Map Text (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..= Map Text (Value Text)
dependencyKeyAttributes,
         Key
"DependencyOperationName" 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
dependencyOperationName]
instance Property "DependencyKeyAttributes" DependencyConfigProperty where
  type PropertyType "DependencyKeyAttributes" DependencyConfigProperty = Prelude.Map Prelude.Text (Value Prelude.Text)
  set :: PropertyType "DependencyKeyAttributes" DependencyConfigProperty
-> DependencyConfigProperty -> DependencyConfigProperty
set PropertyType "DependencyKeyAttributes" DependencyConfigProperty
newValue DependencyConfigProperty {()
Map Text (Value Text)
Value Text
haddock_workaround_ :: DependencyConfigProperty -> ()
dependencyKeyAttributes :: DependencyConfigProperty -> Map Text (Value Text)
dependencyOperationName :: DependencyConfigProperty -> Value Text
haddock_workaround_ :: ()
dependencyKeyAttributes :: Map Text (Value Text)
dependencyOperationName :: Value Text
..}
    = DependencyConfigProperty {dependencyKeyAttributes :: Map Text (Value Text)
dependencyKeyAttributes = Map Text (Value Text)
PropertyType "DependencyKeyAttributes" DependencyConfigProperty
newValue, ()
Value Text
haddock_workaround_ :: ()
dependencyOperationName :: Value Text
haddock_workaround_ :: ()
dependencyOperationName :: Value Text
..}
instance Property "DependencyOperationName" DependencyConfigProperty where
  type PropertyType "DependencyOperationName" DependencyConfigProperty = Value Prelude.Text
  set :: PropertyType "DependencyOperationName" DependencyConfigProperty
-> DependencyConfigProperty -> DependencyConfigProperty
set PropertyType "DependencyOperationName" DependencyConfigProperty
newValue DependencyConfigProperty {()
Map Text (Value Text)
Value Text
haddock_workaround_ :: DependencyConfigProperty -> ()
dependencyKeyAttributes :: DependencyConfigProperty -> Map Text (Value Text)
dependencyOperationName :: DependencyConfigProperty -> Value Text
haddock_workaround_ :: ()
dependencyKeyAttributes :: Map Text (Value Text)
dependencyOperationName :: Value Text
..}
    = DependencyConfigProperty {dependencyOperationName :: Value Text
dependencyOperationName = PropertyType "DependencyOperationName" DependencyConfigProperty
Value Text
newValue, ()
Map Text (Value Text)
haddock_workaround_ :: ()
dependencyKeyAttributes :: Map Text (Value Text)
haddock_workaround_ :: ()
dependencyKeyAttributes :: Map Text (Value Text)
..}