module Stratosphere.ApplicationInsights.Application.SQLServerPrometheusExporterProperty (
        SQLServerPrometheusExporterProperty(..),
        mkSQLServerPrometheusExporterProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data SQLServerPrometheusExporterProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-sqlserverprometheusexporter.html>
    SQLServerPrometheusExporterProperty {SQLServerPrometheusExporterProperty -> ()
haddock_workaround_ :: (),
                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-sqlserverprometheusexporter.html#cfn-applicationinsights-application-sqlserverprometheusexporter-prometheusport>
                                         SQLServerPrometheusExporterProperty -> Value Text
prometheusPort :: (Value Prelude.Text),
                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-sqlserverprometheusexporter.html#cfn-applicationinsights-application-sqlserverprometheusexporter-sqlsecretname>
                                         SQLServerPrometheusExporterProperty -> Value Text
sQLSecretName :: (Value Prelude.Text)}
  deriving stock (SQLServerPrometheusExporterProperty
-> SQLServerPrometheusExporterProperty -> Bool
(SQLServerPrometheusExporterProperty
 -> SQLServerPrometheusExporterProperty -> Bool)
-> (SQLServerPrometheusExporterProperty
    -> SQLServerPrometheusExporterProperty -> Bool)
-> Eq SQLServerPrometheusExporterProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SQLServerPrometheusExporterProperty
-> SQLServerPrometheusExporterProperty -> Bool
== :: SQLServerPrometheusExporterProperty
-> SQLServerPrometheusExporterProperty -> Bool
$c/= :: SQLServerPrometheusExporterProperty
-> SQLServerPrometheusExporterProperty -> Bool
/= :: SQLServerPrometheusExporterProperty
-> SQLServerPrometheusExporterProperty -> Bool
Prelude.Eq, Int -> SQLServerPrometheusExporterProperty -> ShowS
[SQLServerPrometheusExporterProperty] -> ShowS
SQLServerPrometheusExporterProperty -> String
(Int -> SQLServerPrometheusExporterProperty -> ShowS)
-> (SQLServerPrometheusExporterProperty -> String)
-> ([SQLServerPrometheusExporterProperty] -> ShowS)
-> Show SQLServerPrometheusExporterProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SQLServerPrometheusExporterProperty -> ShowS
showsPrec :: Int -> SQLServerPrometheusExporterProperty -> ShowS
$cshow :: SQLServerPrometheusExporterProperty -> String
show :: SQLServerPrometheusExporterProperty -> String
$cshowList :: [SQLServerPrometheusExporterProperty] -> ShowS
showList :: [SQLServerPrometheusExporterProperty] -> ShowS
Prelude.Show)
mkSQLServerPrometheusExporterProperty ::
  Value Prelude.Text
  -> Value Prelude.Text -> SQLServerPrometheusExporterProperty
mkSQLServerPrometheusExporterProperty :: Value Text -> Value Text -> SQLServerPrometheusExporterProperty
mkSQLServerPrometheusExporterProperty Value Text
prometheusPort Value Text
sQLSecretName
  = SQLServerPrometheusExporterProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), prometheusPort :: Value Text
prometheusPort = Value Text
prometheusPort,
       sQLSecretName :: Value Text
sQLSecretName = Value Text
sQLSecretName}
instance ToResourceProperties SQLServerPrometheusExporterProperty where
  toResourceProperties :: SQLServerPrometheusExporterProperty -> ResourceProperties
toResourceProperties SQLServerPrometheusExporterProperty {()
Value Text
haddock_workaround_ :: SQLServerPrometheusExporterProperty -> ()
prometheusPort :: SQLServerPrometheusExporterProperty -> Value Text
sQLSecretName :: SQLServerPrometheusExporterProperty -> Value Text
haddock_workaround_ :: ()
prometheusPort :: Value Text
sQLSecretName :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::ApplicationInsights::Application.SQLServerPrometheusExporter",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"PrometheusPort" 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
prometheusPort,
                       Key
"SQLSecretName" 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
sQLSecretName]}
instance JSON.ToJSON SQLServerPrometheusExporterProperty where
  toJSON :: SQLServerPrometheusExporterProperty -> Value
toJSON SQLServerPrometheusExporterProperty {()
Value Text
haddock_workaround_ :: SQLServerPrometheusExporterProperty -> ()
prometheusPort :: SQLServerPrometheusExporterProperty -> Value Text
sQLSecretName :: SQLServerPrometheusExporterProperty -> Value Text
haddock_workaround_ :: ()
prometheusPort :: Value Text
sQLSecretName :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"PrometheusPort" 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
prometheusPort,
         Key
"SQLSecretName" 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
sQLSecretName]
instance Property "PrometheusPort" SQLServerPrometheusExporterProperty where
  type PropertyType "PrometheusPort" SQLServerPrometheusExporterProperty = Value Prelude.Text
  set :: PropertyType "PrometheusPort" SQLServerPrometheusExporterProperty
-> SQLServerPrometheusExporterProperty
-> SQLServerPrometheusExporterProperty
set PropertyType "PrometheusPort" SQLServerPrometheusExporterProperty
newValue SQLServerPrometheusExporterProperty {()
Value Text
haddock_workaround_ :: SQLServerPrometheusExporterProperty -> ()
prometheusPort :: SQLServerPrometheusExporterProperty -> Value Text
sQLSecretName :: SQLServerPrometheusExporterProperty -> Value Text
haddock_workaround_ :: ()
prometheusPort :: Value Text
sQLSecretName :: Value Text
..}
    = SQLServerPrometheusExporterProperty
        {prometheusPort :: Value Text
prometheusPort = PropertyType "PrometheusPort" SQLServerPrometheusExporterProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
sQLSecretName :: Value Text
haddock_workaround_ :: ()
sQLSecretName :: Value Text
..}
instance Property "SQLSecretName" SQLServerPrometheusExporterProperty where
  type PropertyType "SQLSecretName" SQLServerPrometheusExporterProperty = Value Prelude.Text
  set :: PropertyType "SQLSecretName" SQLServerPrometheusExporterProperty
-> SQLServerPrometheusExporterProperty
-> SQLServerPrometheusExporterProperty
set PropertyType "SQLSecretName" SQLServerPrometheusExporterProperty
newValue SQLServerPrometheusExporterProperty {()
Value Text
haddock_workaround_ :: SQLServerPrometheusExporterProperty -> ()
prometheusPort :: SQLServerPrometheusExporterProperty -> Value Text
sQLSecretName :: SQLServerPrometheusExporterProperty -> Value Text
haddock_workaround_ :: ()
prometheusPort :: Value Text
sQLSecretName :: Value Text
..}
    = SQLServerPrometheusExporterProperty
        {sQLSecretName :: Value Text
sQLSecretName = PropertyType "SQLSecretName" SQLServerPrometheusExporterProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
prometheusPort :: Value Text
haddock_workaround_ :: ()
prometheusPort :: Value Text
..}