module OpenTelemetry.Resource.Webengine where
import Data.Text (Text)
import OpenTelemetry.Attributes.Key (unkey)
import OpenTelemetry.Resource
import qualified OpenTelemetry.SemanticConventions as SC
data Webengine = Webengine
{ Webengine -> Text
webengineName :: Text
, Webengine -> Maybe Text
webengineVersion :: Maybe Text
, Webengine -> Maybe Text
webengineDescription :: Maybe Text
}
instance ToResource Webengine where
toResource :: Webengine -> Resource
toResource Webengine {Maybe Text
Text
webengineName :: Webengine -> Text
webengineVersion :: Webengine -> Maybe Text
webengineDescription :: Webengine -> Maybe Text
webengineName :: Text
webengineVersion :: Maybe Text
webengineDescription :: Maybe Text
..} =
Maybe Text -> [Maybe (Text, Attribute)] -> Resource
mkResourceWithSchema
(Text -> Maybe Text
forall a. a -> Maybe a
Just Text
semConvSchemaUrl)
[ AttributeKey Text -> Text
forall a. AttributeKey a -> Text
unkey AttributeKey Text
SC.webengine_name Text -> Text -> Maybe (Text, Attribute)
forall a. ToAttribute a => Text -> a -> Maybe (Text, Attribute)
.= Text
webengineName
, AttributeKey Text -> Text
forall a. AttributeKey a -> Text
unkey AttributeKey Text
SC.webengine_version Text -> Maybe Text -> Maybe (Text, Attribute)
forall a.
ToAttribute a =>
Text -> Maybe a -> Maybe (Text, Attribute)
.=? Maybe Text
webengineVersion
, AttributeKey Text -> Text
forall a. AttributeKey a -> Text
unkey AttributeKey Text
SC.webengine_description Text -> Maybe Text -> Maybe (Text, Attribute)
forall a.
ToAttribute a =>
Text -> Maybe a -> Maybe (Text, Attribute)
.=? Maybe Text
webengineDescription
]