module Network.AWS.CloudWatch.Types.Product where
import Network.AWS.CloudWatch.Types.Sum
import Network.AWS.Prelude
data AlarmHistoryItem = AlarmHistoryItem'
{ _ahiAlarmName :: !(Maybe Text)
, _ahiHistoryItemType :: !(Maybe HistoryItemType)
, _ahiHistoryData :: !(Maybe Text)
, _ahiTimestamp :: !(Maybe ISO8601)
, _ahiHistorySummary :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
alarmHistoryItem
:: AlarmHistoryItem
alarmHistoryItem =
AlarmHistoryItem'
{ _ahiAlarmName = Nothing
, _ahiHistoryItemType = Nothing
, _ahiHistoryData = Nothing
, _ahiTimestamp = Nothing
, _ahiHistorySummary = Nothing
}
ahiAlarmName :: Lens' AlarmHistoryItem (Maybe Text)
ahiAlarmName = lens _ahiAlarmName (\ s a -> s{_ahiAlarmName = a});
ahiHistoryItemType :: Lens' AlarmHistoryItem (Maybe HistoryItemType)
ahiHistoryItemType = lens _ahiHistoryItemType (\ s a -> s{_ahiHistoryItemType = a});
ahiHistoryData :: Lens' AlarmHistoryItem (Maybe Text)
ahiHistoryData = lens _ahiHistoryData (\ s a -> s{_ahiHistoryData = a});
ahiTimestamp :: Lens' AlarmHistoryItem (Maybe UTCTime)
ahiTimestamp = lens _ahiTimestamp (\ s a -> s{_ahiTimestamp = a}) . mapping _Time;
ahiHistorySummary :: Lens' AlarmHistoryItem (Maybe Text)
ahiHistorySummary = lens _ahiHistorySummary (\ s a -> s{_ahiHistorySummary = a});
instance FromXML AlarmHistoryItem where
parseXML x
= AlarmHistoryItem' <$>
(x .@? "AlarmName") <*> (x .@? "HistoryItemType") <*>
(x .@? "HistoryData")
<*> (x .@? "Timestamp")
<*> (x .@? "HistorySummary")
data Datapoint = Datapoint'
{ _dSampleCount :: !(Maybe Double)
, _dMaximum :: !(Maybe Double)
, _dAverage :: !(Maybe Double)
, _dMinimum :: !(Maybe Double)
, _dSum :: !(Maybe Double)
, _dTimestamp :: !(Maybe ISO8601)
, _dUnit :: !(Maybe StandardUnit)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
datapoint
:: Datapoint
datapoint =
Datapoint'
{ _dSampleCount = Nothing
, _dMaximum = Nothing
, _dAverage = Nothing
, _dMinimum = Nothing
, _dSum = Nothing
, _dTimestamp = Nothing
, _dUnit = Nothing
}
dSampleCount :: Lens' Datapoint (Maybe Double)
dSampleCount = lens _dSampleCount (\ s a -> s{_dSampleCount = a});
dMaximum :: Lens' Datapoint (Maybe Double)
dMaximum = lens _dMaximum (\ s a -> s{_dMaximum = a});
dAverage :: Lens' Datapoint (Maybe Double)
dAverage = lens _dAverage (\ s a -> s{_dAverage = a});
dMinimum :: Lens' Datapoint (Maybe Double)
dMinimum = lens _dMinimum (\ s a -> s{_dMinimum = a});
dSum :: Lens' Datapoint (Maybe Double)
dSum = lens _dSum (\ s a -> s{_dSum = a});
dTimestamp :: Lens' Datapoint (Maybe UTCTime)
dTimestamp = lens _dTimestamp (\ s a -> s{_dTimestamp = a}) . mapping _Time;
dUnit :: Lens' Datapoint (Maybe StandardUnit)
dUnit = lens _dUnit (\ s a -> s{_dUnit = a});
instance FromXML Datapoint where
parseXML x
= Datapoint' <$>
(x .@? "SampleCount") <*> (x .@? "Maximum") <*>
(x .@? "Average")
<*> (x .@? "Minimum")
<*> (x .@? "Sum")
<*> (x .@? "Timestamp")
<*> (x .@? "Unit")
data Dimension = Dimension'
{ _dName :: !Text
, _dValue :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
dimension
:: Text
-> Text
-> Dimension
dimension pName_ pValue_ =
Dimension'
{ _dName = pName_
, _dValue = pValue_
}
dName :: Lens' Dimension Text
dName = lens _dName (\ s a -> s{_dName = a});
dValue :: Lens' Dimension Text
dValue = lens _dValue (\ s a -> s{_dValue = a});
instance FromXML Dimension where
parseXML x
= Dimension' <$> (x .@ "Name") <*> (x .@ "Value")
instance ToQuery Dimension where
toQuery Dimension'{..}
= mconcat ["Name" =: _dName, "Value" =: _dValue]
data DimensionFilter = DimensionFilter'
{ _dfValue :: !(Maybe Text)
, _dfName :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
dimensionFilter
:: Text
-> DimensionFilter
dimensionFilter pName_ =
DimensionFilter'
{ _dfValue = Nothing
, _dfName = pName_
}
dfValue :: Lens' DimensionFilter (Maybe Text)
dfValue = lens _dfValue (\ s a -> s{_dfValue = a});
dfName :: Lens' DimensionFilter Text
dfName = lens _dfName (\ s a -> s{_dfName = a});
instance ToQuery DimensionFilter where
toQuery DimensionFilter'{..}
= mconcat ["Value" =: _dfValue, "Name" =: _dfName]
data Metric = Metric'
{ _mMetricName :: !(Maybe Text)
, _mNamespace :: !(Maybe Text)
, _mDimensions :: !(Maybe [Dimension])
} deriving (Eq,Read,Show,Data,Typeable,Generic)
metric
:: Metric
metric =
Metric'
{ _mMetricName = Nothing
, _mNamespace = Nothing
, _mDimensions = Nothing
}
mMetricName :: Lens' Metric (Maybe Text)
mMetricName = lens _mMetricName (\ s a -> s{_mMetricName = a});
mNamespace :: Lens' Metric (Maybe Text)
mNamespace = lens _mNamespace (\ s a -> s{_mNamespace = a});
mDimensions :: Lens' Metric [Dimension]
mDimensions = lens _mDimensions (\ s a -> s{_mDimensions = a}) . _Default . _Coerce;
instance FromXML Metric where
parseXML x
= Metric' <$>
(x .@? "MetricName") <*> (x .@? "Namespace") <*>
(x .@? "Dimensions" .!@ mempty >>=
may (parseXMLList "member"))
data MetricAlarm = MetricAlarm'
{ _maAlarmName :: !(Maybe Text)
, _maStateUpdatedTimestamp :: !(Maybe ISO8601)
, _maAlarmDescription :: !(Maybe Text)
, _maPeriod :: !(Maybe Nat)
, _maEvaluationPeriods :: !(Maybe Nat)
, _maMetricName :: !(Maybe Text)
, _maNamespace :: !(Maybe Text)
, _maOKActions :: !(Maybe [Text])
, _maComparisonOperator :: !(Maybe ComparisonOperator)
, _maStateValue :: !(Maybe StateValue)
, _maThreshold :: !(Maybe Double)
, _maActionsEnabled :: !(Maybe Bool)
, _maAlarmConfigurationUpdatedTimestamp :: !(Maybe ISO8601)
, _maInsufficientDataActions :: !(Maybe [Text])
, _maDimensions :: !(Maybe [Dimension])
, _maStateReasonData :: !(Maybe Text)
, _maStateReason :: !(Maybe Text)
, _maAlarmARN :: !(Maybe Text)
, _maAlarmActions :: !(Maybe [Text])
, _maStatistic :: !(Maybe Statistic)
, _maUnit :: !(Maybe StandardUnit)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
metricAlarm
:: MetricAlarm
metricAlarm =
MetricAlarm'
{ _maAlarmName = Nothing
, _maStateUpdatedTimestamp = Nothing
, _maAlarmDescription = Nothing
, _maPeriod = Nothing
, _maEvaluationPeriods = Nothing
, _maMetricName = Nothing
, _maNamespace = Nothing
, _maOKActions = Nothing
, _maComparisonOperator = Nothing
, _maStateValue = Nothing
, _maThreshold = Nothing
, _maActionsEnabled = Nothing
, _maAlarmConfigurationUpdatedTimestamp = Nothing
, _maInsufficientDataActions = Nothing
, _maDimensions = Nothing
, _maStateReasonData = Nothing
, _maStateReason = Nothing
, _maAlarmARN = Nothing
, _maAlarmActions = Nothing
, _maStatistic = Nothing
, _maUnit = Nothing
}
maAlarmName :: Lens' MetricAlarm (Maybe Text)
maAlarmName = lens _maAlarmName (\ s a -> s{_maAlarmName = a});
maStateUpdatedTimestamp :: Lens' MetricAlarm (Maybe UTCTime)
maStateUpdatedTimestamp = lens _maStateUpdatedTimestamp (\ s a -> s{_maStateUpdatedTimestamp = a}) . mapping _Time;
maAlarmDescription :: Lens' MetricAlarm (Maybe Text)
maAlarmDescription = lens _maAlarmDescription (\ s a -> s{_maAlarmDescription = a});
maPeriod :: Lens' MetricAlarm (Maybe Natural)
maPeriod = lens _maPeriod (\ s a -> s{_maPeriod = a}) . mapping _Nat;
maEvaluationPeriods :: Lens' MetricAlarm (Maybe Natural)
maEvaluationPeriods = lens _maEvaluationPeriods (\ s a -> s{_maEvaluationPeriods = a}) . mapping _Nat;
maMetricName :: Lens' MetricAlarm (Maybe Text)
maMetricName = lens _maMetricName (\ s a -> s{_maMetricName = a});
maNamespace :: Lens' MetricAlarm (Maybe Text)
maNamespace = lens _maNamespace (\ s a -> s{_maNamespace = a});
maOKActions :: Lens' MetricAlarm [Text]
maOKActions = lens _maOKActions (\ s a -> s{_maOKActions = a}) . _Default . _Coerce;
maComparisonOperator :: Lens' MetricAlarm (Maybe ComparisonOperator)
maComparisonOperator = lens _maComparisonOperator (\ s a -> s{_maComparisonOperator = a});
maStateValue :: Lens' MetricAlarm (Maybe StateValue)
maStateValue = lens _maStateValue (\ s a -> s{_maStateValue = a});
maThreshold :: Lens' MetricAlarm (Maybe Double)
maThreshold = lens _maThreshold (\ s a -> s{_maThreshold = a});
maActionsEnabled :: Lens' MetricAlarm (Maybe Bool)
maActionsEnabled = lens _maActionsEnabled (\ s a -> s{_maActionsEnabled = a});
maAlarmConfigurationUpdatedTimestamp :: Lens' MetricAlarm (Maybe UTCTime)
maAlarmConfigurationUpdatedTimestamp = lens _maAlarmConfigurationUpdatedTimestamp (\ s a -> s{_maAlarmConfigurationUpdatedTimestamp = a}) . mapping _Time;
maInsufficientDataActions :: Lens' MetricAlarm [Text]
maInsufficientDataActions = lens _maInsufficientDataActions (\ s a -> s{_maInsufficientDataActions = a}) . _Default . _Coerce;
maDimensions :: Lens' MetricAlarm [Dimension]
maDimensions = lens _maDimensions (\ s a -> s{_maDimensions = a}) . _Default . _Coerce;
maStateReasonData :: Lens' MetricAlarm (Maybe Text)
maStateReasonData = lens _maStateReasonData (\ s a -> s{_maStateReasonData = a});
maStateReason :: Lens' MetricAlarm (Maybe Text)
maStateReason = lens _maStateReason (\ s a -> s{_maStateReason = a});
maAlarmARN :: Lens' MetricAlarm (Maybe Text)
maAlarmARN = lens _maAlarmARN (\ s a -> s{_maAlarmARN = a});
maAlarmActions :: Lens' MetricAlarm [Text]
maAlarmActions = lens _maAlarmActions (\ s a -> s{_maAlarmActions = a}) . _Default . _Coerce;
maStatistic :: Lens' MetricAlarm (Maybe Statistic)
maStatistic = lens _maStatistic (\ s a -> s{_maStatistic = a});
maUnit :: Lens' MetricAlarm (Maybe StandardUnit)
maUnit = lens _maUnit (\ s a -> s{_maUnit = a});
instance FromXML MetricAlarm where
parseXML x
= MetricAlarm' <$>
(x .@? "AlarmName") <*>
(x .@? "StateUpdatedTimestamp")
<*> (x .@? "AlarmDescription")
<*> (x .@? "Period")
<*> (x .@? "EvaluationPeriods")
<*> (x .@? "MetricName")
<*> (x .@? "Namespace")
<*>
(x .@? "OKActions" .!@ mempty >>=
may (parseXMLList "member"))
<*> (x .@? "ComparisonOperator")
<*> (x .@? "StateValue")
<*> (x .@? "Threshold")
<*> (x .@? "ActionsEnabled")
<*> (x .@? "AlarmConfigurationUpdatedTimestamp")
<*>
(x .@? "InsufficientDataActions" .!@ mempty >>=
may (parseXMLList "member"))
<*>
(x .@? "Dimensions" .!@ mempty >>=
may (parseXMLList "member"))
<*> (x .@? "StateReasonData")
<*> (x .@? "StateReason")
<*> (x .@? "AlarmArn")
<*>
(x .@? "AlarmActions" .!@ mempty >>=
may (parseXMLList "member"))
<*> (x .@? "Statistic")
<*> (x .@? "Unit")
data MetricDatum = MetricDatum'
{ _mdValue :: !(Maybe Double)
, _mdDimensions :: !(Maybe [Dimension])
, _mdTimestamp :: !(Maybe ISO8601)
, _mdStatisticValues :: !(Maybe StatisticSet)
, _mdUnit :: !(Maybe StandardUnit)
, _mdMetricName :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
metricDatum
:: Text
-> MetricDatum
metricDatum pMetricName_ =
MetricDatum'
{ _mdValue = Nothing
, _mdDimensions = Nothing
, _mdTimestamp = Nothing
, _mdStatisticValues = Nothing
, _mdUnit = Nothing
, _mdMetricName = pMetricName_
}
mdValue :: Lens' MetricDatum (Maybe Double)
mdValue = lens _mdValue (\ s a -> s{_mdValue = a});
mdDimensions :: Lens' MetricDatum [Dimension]
mdDimensions = lens _mdDimensions (\ s a -> s{_mdDimensions = a}) . _Default . _Coerce;
mdTimestamp :: Lens' MetricDatum (Maybe UTCTime)
mdTimestamp = lens _mdTimestamp (\ s a -> s{_mdTimestamp = a}) . mapping _Time;
mdStatisticValues :: Lens' MetricDatum (Maybe StatisticSet)
mdStatisticValues = lens _mdStatisticValues (\ s a -> s{_mdStatisticValues = a});
mdUnit :: Lens' MetricDatum (Maybe StandardUnit)
mdUnit = lens _mdUnit (\ s a -> s{_mdUnit = a});
mdMetricName :: Lens' MetricDatum Text
mdMetricName = lens _mdMetricName (\ s a -> s{_mdMetricName = a});
instance ToQuery MetricDatum where
toQuery MetricDatum'{..}
= mconcat
["Value" =: _mdValue,
"Dimensions" =:
toQuery (toQueryList "member" <$> _mdDimensions),
"Timestamp" =: _mdTimestamp,
"StatisticValues" =: _mdStatisticValues,
"Unit" =: _mdUnit, "MetricName" =: _mdMetricName]
data StatisticSet = StatisticSet'
{ _ssSampleCount :: !Double
, _ssSum :: !Double
, _ssMinimum :: !Double
, _ssMaximum :: !Double
} deriving (Eq,Read,Show,Data,Typeable,Generic)
statisticSet
:: Double
-> Double
-> Double
-> Double
-> StatisticSet
statisticSet pSampleCount_ pSum_ pMinimum_ pMaximum_ =
StatisticSet'
{ _ssSampleCount = pSampleCount_
, _ssSum = pSum_
, _ssMinimum = pMinimum_
, _ssMaximum = pMaximum_
}
ssSampleCount :: Lens' StatisticSet Double
ssSampleCount = lens _ssSampleCount (\ s a -> s{_ssSampleCount = a});
ssSum :: Lens' StatisticSet Double
ssSum = lens _ssSum (\ s a -> s{_ssSum = a});
ssMinimum :: Lens' StatisticSet Double
ssMinimum = lens _ssMinimum (\ s a -> s{_ssMinimum = a});
ssMaximum :: Lens' StatisticSet Double
ssMaximum = lens _ssMaximum (\ s a -> s{_ssMaximum = a});
instance ToQuery StatisticSet where
toQuery StatisticSet'{..}
= mconcat
["SampleCount" =: _ssSampleCount, "Sum" =: _ssSum,
"Minimum" =: _ssMinimum, "Maximum" =: _ssMaximum]