{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- | -- Module : Network.Google.Monitoring.Types.Sum -- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.Google.Monitoring.Types.Sum where import Network.Google.Prelude -- | Whether the measurement is an integer, a floating-point number, etc. -- Some combinations of metric_kind and value_type might not be supported. data MetricDescriptorValueType = MDVTValueTypeUnspecified -- ^ @VALUE_TYPE_UNSPECIFIED@ -- Do not use this default value. | MDVTBool -- ^ @BOOL@ -- The value is a boolean. This value type can be used only if the metric -- kind is GAUGE. | MDVTINT64 -- ^ @INT64@ -- The value is a signed 64-bit integer. | MDVTDouble -- ^ @DOUBLE@ -- The value is a double precision floating point number. | MDVTString -- ^ @STRING@ -- The value is a text string. This value type can be used only if the -- metric kind is GAUGE. | MDVTDistribution -- ^ @DISTRIBUTION@ -- The value is a Distribution. | MDVTMoney -- ^ @MONEY@ -- The value is money. 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 -- | The type of measurement. data CollectdValueDataSourceType = UnspecifiedDataSourceType -- ^ @UNSPECIFIED_DATA_SOURCE_TYPE@ -- An unspecified data source type. This corresponds to -- google.api.MetricDescriptor.MetricKind.METRIC_KIND_UNSPECIFIED. | Gauge -- ^ @GAUGE@ -- An instantaneous measurement of a varying quantity. This corresponds to -- google.api.MetricDescriptor.MetricKind.GAUGE. | Counter -- ^ @COUNTER@ -- A cumulative value over time. This corresponds to -- google.api.MetricDescriptor.MetricKind.CUMULATIVE. | Derive -- ^ @DERIVE@ -- A rate of change of the measurement. | Absolute -- ^ @ABSOLUTE@ -- An amount of change since the last measurement interval. This -- corresponds to google.api.MetricDescriptor.MetricKind.DELTA. 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 -- | The field type. data FieldKind = TypeUnknown -- ^ @TYPE_UNKNOWN@ -- Field type unknown. | TypeDouble -- ^ @TYPE_DOUBLE@ -- Field type double. | TypeFloat -- ^ @TYPE_FLOAT@ -- Field type float. | TypeINT64 -- ^ @TYPE_INT64@ -- Field type int64. | TypeUINT64 -- ^ @TYPE_UINT64@ -- Field type uint64. | TypeINT32 -- ^ @TYPE_INT32@ -- Field type int32. | TypeFIXED64 -- ^ @TYPE_FIXED64@ -- Field type fixed64. | TypeFIXED32 -- ^ @TYPE_FIXED32@ -- Field type fixed32. | TypeBool -- ^ @TYPE_BOOL@ -- Field type bool. | TypeString -- ^ @TYPE_STRING@ -- Field type string. | TypeGroup -- ^ @TYPE_GROUP@ -- Field type group. Proto2 syntax only, and deprecated. | TypeMessage -- ^ @TYPE_MESSAGE@ -- Field type message. | TypeBytes -- ^ @TYPE_BYTES@ -- Field type bytes. | TypeUINT32 -- ^ @TYPE_UINT32@ -- Field type uint32. | TypeEnum -- ^ @TYPE_ENUM@ -- Field type enum. | TypeSFIXED32 -- ^ @TYPE_SFIXED32@ -- Field type sfixed32. | TypeSFIXED64 -- ^ @TYPE_SFIXED64@ -- Field type sfixed64. | TypeSINT32 -- ^ @TYPE_SINT32@ -- Field type sint32. | TypeSINT64 -- ^ @TYPE_SINT64@ -- Field type sint64. 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 -- | The type of data that can be assigned to the label. data LabelDescriptorValueType = String -- ^ @STRING@ -- A variable-length string. This is the default. | Bool -- ^ @BOOL@ -- Boolean; true or false. | INT64 -- ^ @INT64@ -- A 64-bit signed integer. 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 -- | The source syntax. data TypeSyntax = SyntaxPROTO2 -- ^ @SYNTAX_PROTO2@ -- Syntax proto2. | SyntaxPROTO3 -- ^ @SYNTAX_PROTO3@ -- Syntax proto3. 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 -- | V1 error format. data Xgafv = X1 -- ^ @1@ -- v1 error format | X2 -- ^ @2@ -- v2 error format 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 -- | The metric kind of the time series. When listing time series, this -- metric kind might be different from the metric kind of the associated -- metric if this time series is an alignment or reduction of other time -- series.When creating a time series, this field is optional. If present, -- it must be the same as the metric kind of the associated metric. If the -- associated metric\'s descriptor must be auto-created, then this field -- specifies the metric kind of the new descriptor and must be either GAUGE -- (the default) or CUMULATIVE. data TimeSeriesMetricKind = TSMKMetricKindUnspecified -- ^ @METRIC_KIND_UNSPECIFIED@ -- Do not use this default value. | TSMKGauge -- ^ @GAUGE@ -- An instantaneous measurement of a value. | TSMKDelta -- ^ @DELTA@ -- The change in a value during a time interval. | TSMKCumulative -- ^ @CUMULATIVE@ -- A value accumulated over a time interval. Cumulative measurements in a -- time series should have the same start time and increasing end times, -- until an event resets the cumulative value to zero and sets a new start -- time for the following points. 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 -- | The value type of the time series. When listing time series, this value -- type might be different from the value type of the associated metric if -- this time series is an alignment or reduction of other time series.When -- creating a time series, this field is optional. If present, it must be -- the same as the type of the data in the points field. data TimeSeriesValueType = TSVTValueTypeUnspecified -- ^ @VALUE_TYPE_UNSPECIFIED@ -- Do not use this default value. | TSVTBool -- ^ @BOOL@ -- The value is a boolean. This value type can be used only if the metric -- kind is GAUGE. | TSVTINT64 -- ^ @INT64@ -- The value is a signed 64-bit integer. | TSVTDouble -- ^ @DOUBLE@ -- The value is a double precision floating point number. | TSVTString -- ^ @STRING@ -- The value is a text string. This value type can be used only if the -- metric kind is GAUGE. | TSVTDistribution -- ^ @DISTRIBUTION@ -- The value is a Distribution. | TSVTMoney -- ^ @MONEY@ -- The value is money. 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 -- | The field cardinality. data FieldCardinality = CardinalityUnknown -- ^ @CARDINALITY_UNKNOWN@ -- For fields with unknown cardinality. | CardinalityOptional -- ^ @CARDINALITY_OPTIONAL@ -- For optional fields. | CardinalityRequired -- ^ @CARDINALITY_REQUIRED@ -- For required fields. Proto2 syntax only. | CardinalityRepeated -- ^ @CARDINALITY_REPEATED@ -- For repeated fields. 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 -- | Whether the metric records instantaneous values, changes to a value, -- etc. Some combinations of metric_kind and value_type might not be -- supported. data MetricDescriptorMetricKind = MDMKMetricKindUnspecified -- ^ @METRIC_KIND_UNSPECIFIED@ -- Do not use this default value. | MDMKGauge -- ^ @GAUGE@ -- An instantaneous measurement of a value. | MDMKDelta -- ^ @DELTA@ -- The change in a value during a time interval. | MDMKCumulative -- ^ @CUMULATIVE@ -- A value accumulated over a time interval. Cumulative measurements in a -- time series should have the same start time and increasing end times, -- until an event resets the cumulative value to zero and sets a new start -- time for the following points. 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