{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.Google.Monitoring.Types.Sum where
import Network.Google.Prelude
data MetricDescriptorValueType
= MDVTValueTypeUnspecified
| MDVTBool
| MDVTINT64
| MDVTDouble
| MDVTString
| MDVTDistribution
| MDVTMoney
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable MetricDescriptorValueType
instance FromHttpApiData MetricDescriptorValueType where
parseQueryParam = \case
"VALUE_TYPE_UNSPECIFIED" -> Right MDVTValueTypeUnspecified
"BOOL" -> Right MDVTBool
"INT64" -> Right MDVTINT64
"DOUBLE" -> Right MDVTDouble
"STRING" -> Right MDVTString
"DISTRIBUTION" -> Right MDVTDistribution
"MONEY" -> Right MDVTMoney
x -> Left ("Unable to parse MetricDescriptorValueType from: " <> x)
instance ToHttpApiData MetricDescriptorValueType where
toQueryParam = \case
MDVTValueTypeUnspecified -> "VALUE_TYPE_UNSPECIFIED"
MDVTBool -> "BOOL"
MDVTINT64 -> "INT64"
MDVTDouble -> "DOUBLE"
MDVTString -> "STRING"
MDVTDistribution -> "DISTRIBUTION"
MDVTMoney -> "MONEY"
instance FromJSON MetricDescriptorValueType where
parseJSON = parseJSONText "MetricDescriptorValueType"
instance ToJSON MetricDescriptorValueType where
toJSON = toJSONText
data CollectdValueDataSourceType
= UnspecifiedDataSourceType
| Gauge
| Counter
| Derive
| Absolute
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable CollectdValueDataSourceType
instance FromHttpApiData CollectdValueDataSourceType where
parseQueryParam = \case
"UNSPECIFIED_DATA_SOURCE_TYPE" -> Right UnspecifiedDataSourceType
"GAUGE" -> Right Gauge
"COUNTER" -> Right Counter
"DERIVE" -> Right Derive
"ABSOLUTE" -> Right Absolute
x -> Left ("Unable to parse CollectdValueDataSourceType from: " <> x)
instance ToHttpApiData CollectdValueDataSourceType where
toQueryParam = \case
UnspecifiedDataSourceType -> "UNSPECIFIED_DATA_SOURCE_TYPE"
Gauge -> "GAUGE"
Counter -> "COUNTER"
Derive -> "DERIVE"
Absolute -> "ABSOLUTE"
instance FromJSON CollectdValueDataSourceType where
parseJSON = parseJSONText "CollectdValueDataSourceType"
instance ToJSON CollectdValueDataSourceType where
toJSON = toJSONText
data FieldKind
= TypeUnknown
| TypeDouble
| TypeFloat
| TypeINT64
| TypeUINT64
| TypeINT32
| TypeFIXED64
| TypeFIXED32
| TypeBool
| TypeString
| TypeGroup
| TypeMessage
| TypeBytes
| TypeUINT32
| TypeEnum
| TypeSFIXED32
| TypeSFIXED64
| TypeSINT32
| TypeSINT64
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable FieldKind
instance FromHttpApiData FieldKind where
parseQueryParam = \case
"TYPE_UNKNOWN" -> Right TypeUnknown
"TYPE_DOUBLE" -> Right TypeDouble
"TYPE_FLOAT" -> Right TypeFloat
"TYPE_INT64" -> Right TypeINT64
"TYPE_UINT64" -> Right TypeUINT64
"TYPE_INT32" -> Right TypeINT32
"TYPE_FIXED64" -> Right TypeFIXED64
"TYPE_FIXED32" -> Right TypeFIXED32
"TYPE_BOOL" -> Right TypeBool
"TYPE_STRING" -> Right TypeString
"TYPE_GROUP" -> Right TypeGroup
"TYPE_MESSAGE" -> Right TypeMessage
"TYPE_BYTES" -> Right TypeBytes
"TYPE_UINT32" -> Right TypeUINT32
"TYPE_ENUM" -> Right TypeEnum
"TYPE_SFIXED32" -> Right TypeSFIXED32
"TYPE_SFIXED64" -> Right TypeSFIXED64
"TYPE_SINT32" -> Right TypeSINT32
"TYPE_SINT64" -> Right TypeSINT64
x -> Left ("Unable to parse FieldKind from: " <> x)
instance ToHttpApiData FieldKind where
toQueryParam = \case
TypeUnknown -> "TYPE_UNKNOWN"
TypeDouble -> "TYPE_DOUBLE"
TypeFloat -> "TYPE_FLOAT"
TypeINT64 -> "TYPE_INT64"
TypeUINT64 -> "TYPE_UINT64"
TypeINT32 -> "TYPE_INT32"
TypeFIXED64 -> "TYPE_FIXED64"
TypeFIXED32 -> "TYPE_FIXED32"
TypeBool -> "TYPE_BOOL"
TypeString -> "TYPE_STRING"
TypeGroup -> "TYPE_GROUP"
TypeMessage -> "TYPE_MESSAGE"
TypeBytes -> "TYPE_BYTES"
TypeUINT32 -> "TYPE_UINT32"
TypeEnum -> "TYPE_ENUM"
TypeSFIXED32 -> "TYPE_SFIXED32"
TypeSFIXED64 -> "TYPE_SFIXED64"
TypeSINT32 -> "TYPE_SINT32"
TypeSINT64 -> "TYPE_SINT64"
instance FromJSON FieldKind where
parseJSON = parseJSONText "FieldKind"
instance ToJSON FieldKind where
toJSON = toJSONText
data LabelDescriptorValueType
= String
| Bool
| INT64
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable LabelDescriptorValueType
instance FromHttpApiData LabelDescriptorValueType where
parseQueryParam = \case
"STRING" -> Right String
"BOOL" -> Right Bool
"INT64" -> Right INT64
x -> Left ("Unable to parse LabelDescriptorValueType from: " <> x)
instance ToHttpApiData LabelDescriptorValueType where
toQueryParam = \case
String -> "STRING"
Bool -> "BOOL"
INT64 -> "INT64"
instance FromJSON LabelDescriptorValueType where
parseJSON = parseJSONText "LabelDescriptorValueType"
instance ToJSON LabelDescriptorValueType where
toJSON = toJSONText
data TypeSyntax
= SyntaxPROTO2
| SyntaxPROTO3
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable TypeSyntax
instance FromHttpApiData TypeSyntax where
parseQueryParam = \case
"SYNTAX_PROTO2" -> Right SyntaxPROTO2
"SYNTAX_PROTO3" -> Right SyntaxPROTO3
x -> Left ("Unable to parse TypeSyntax from: " <> x)
instance ToHttpApiData TypeSyntax where
toQueryParam = \case
SyntaxPROTO2 -> "SYNTAX_PROTO2"
SyntaxPROTO3 -> "SYNTAX_PROTO3"
instance FromJSON TypeSyntax where
parseJSON = parseJSONText "TypeSyntax"
instance ToJSON TypeSyntax where
toJSON = toJSONText
data Xgafv
= X1
| X2
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable Xgafv
instance FromHttpApiData Xgafv where
parseQueryParam = \case
"1" -> Right X1
"2" -> Right X2
x -> Left ("Unable to parse Xgafv from: " <> x)
instance ToHttpApiData Xgafv where
toQueryParam = \case
X1 -> "1"
X2 -> "2"
instance FromJSON Xgafv where
parseJSON = parseJSONText "Xgafv"
instance ToJSON Xgafv where
toJSON = toJSONText
data TimeSeriesMetricKind
= TSMKMetricKindUnspecified
| TSMKGauge
| TSMKDelta
| TSMKCumulative
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable TimeSeriesMetricKind
instance FromHttpApiData TimeSeriesMetricKind where
parseQueryParam = \case
"METRIC_KIND_UNSPECIFIED" -> Right TSMKMetricKindUnspecified
"GAUGE" -> Right TSMKGauge
"DELTA" -> Right TSMKDelta
"CUMULATIVE" -> Right TSMKCumulative
x -> Left ("Unable to parse TimeSeriesMetricKind from: " <> x)
instance ToHttpApiData TimeSeriesMetricKind where
toQueryParam = \case
TSMKMetricKindUnspecified -> "METRIC_KIND_UNSPECIFIED"
TSMKGauge -> "GAUGE"
TSMKDelta -> "DELTA"
TSMKCumulative -> "CUMULATIVE"
instance FromJSON TimeSeriesMetricKind where
parseJSON = parseJSONText "TimeSeriesMetricKind"
instance ToJSON TimeSeriesMetricKind where
toJSON = toJSONText
data TimeSeriesValueType
= TSVTValueTypeUnspecified
| TSVTBool
| TSVTINT64
| TSVTDouble
| TSVTString
| TSVTDistribution
| TSVTMoney
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable TimeSeriesValueType
instance FromHttpApiData TimeSeriesValueType where
parseQueryParam = \case
"VALUE_TYPE_UNSPECIFIED" -> Right TSVTValueTypeUnspecified
"BOOL" -> Right TSVTBool
"INT64" -> Right TSVTINT64
"DOUBLE" -> Right TSVTDouble
"STRING" -> Right TSVTString
"DISTRIBUTION" -> Right TSVTDistribution
"MONEY" -> Right TSVTMoney
x -> Left ("Unable to parse TimeSeriesValueType from: " <> x)
instance ToHttpApiData TimeSeriesValueType where
toQueryParam = \case
TSVTValueTypeUnspecified -> "VALUE_TYPE_UNSPECIFIED"
TSVTBool -> "BOOL"
TSVTINT64 -> "INT64"
TSVTDouble -> "DOUBLE"
TSVTString -> "STRING"
TSVTDistribution -> "DISTRIBUTION"
TSVTMoney -> "MONEY"
instance FromJSON TimeSeriesValueType where
parseJSON = parseJSONText "TimeSeriesValueType"
instance ToJSON TimeSeriesValueType where
toJSON = toJSONText
data FieldCardinality
= CardinalityUnknown
| CardinalityOptional
| CardinalityRequired
| CardinalityRepeated
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable FieldCardinality
instance FromHttpApiData FieldCardinality where
parseQueryParam = \case
"CARDINALITY_UNKNOWN" -> Right CardinalityUnknown
"CARDINALITY_OPTIONAL" -> Right CardinalityOptional
"CARDINALITY_REQUIRED" -> Right CardinalityRequired
"CARDINALITY_REPEATED" -> Right CardinalityRepeated
x -> Left ("Unable to parse FieldCardinality from: " <> x)
instance ToHttpApiData FieldCardinality where
toQueryParam = \case
CardinalityUnknown -> "CARDINALITY_UNKNOWN"
CardinalityOptional -> "CARDINALITY_OPTIONAL"
CardinalityRequired -> "CARDINALITY_REQUIRED"
CardinalityRepeated -> "CARDINALITY_REPEATED"
instance FromJSON FieldCardinality where
parseJSON = parseJSONText "FieldCardinality"
instance ToJSON FieldCardinality where
toJSON = toJSONText
data MetricDescriptorMetricKind
= MDMKMetricKindUnspecified
| MDMKGauge
| MDMKDelta
| MDMKCumulative
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable MetricDescriptorMetricKind
instance FromHttpApiData MetricDescriptorMetricKind where
parseQueryParam = \case
"METRIC_KIND_UNSPECIFIED" -> Right MDMKMetricKindUnspecified
"GAUGE" -> Right MDMKGauge
"DELTA" -> Right MDMKDelta
"CUMULATIVE" -> Right MDMKCumulative
x -> Left ("Unable to parse MetricDescriptorMetricKind from: " <> x)
instance ToHttpApiData MetricDescriptorMetricKind where
toQueryParam = \case
MDMKMetricKindUnspecified -> "METRIC_KIND_UNSPECIFIED"
MDMKGauge -> "GAUGE"
MDMKDelta -> "DELTA"
MDMKCumulative -> "CUMULATIVE"
instance FromJSON MetricDescriptorMetricKind where
parseJSON = parseJSONText "MetricDescriptorMetricKind"
instance ToJSON MetricDescriptorMetricKind where
toJSON = toJSONText