/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the monitoring-2010-08-01.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.CloudWatch.Model
{
///
/// Container for the parameters to the DescribeAlarmHistory operation.
/// Retrieves the history for the specified alarm. You can filter the results by date
/// range or item type. If an alarm name is not specified, the histories for either all
/// metric alarms or all composite alarms are returned.
///
///
///
/// CloudWatch retains the history of an alarm even if you delete the alarm.
///
///
///
/// To use this operation and return information about a composite alarm, you must be
/// signed on with the cloudwatch:DescribeAlarmHistory
permission that is
/// scoped to *
. You can't return information about composite alarms if your
/// cloudwatch:DescribeAlarmHistory
permission has a narrower scope.
///
///
public partial class DescribeAlarmHistoryRequest : AmazonCloudWatchRequest
{
private string _alarmName;
private List _alarmTypes = new List();
private DateTime? _endDateUtc;
private HistoryItemType _historyItemType;
private int? _maxRecords;
private string _nextToken;
private ScanBy _scanBy;
private DateTime? _startDateUtc;
///
/// Gets and sets the property AlarmName.
///
/// The name of the alarm.
///
///
[AWSProperty(Min=1, Max=255)]
public string AlarmName
{
get { return this._alarmName; }
set { this._alarmName = value; }
}
// Check to see if AlarmName property is set
internal bool IsSetAlarmName()
{
return this._alarmName != null;
}
///
/// Gets and sets the property AlarmTypes.
///
/// Use this parameter to specify whether you want the operation to return metric alarms
/// or composite alarms. If you omit this parameter, only metric alarms are returned.
///
///
public List AlarmTypes
{
get { return this._alarmTypes; }
set { this._alarmTypes = value; }
}
// Check to see if AlarmTypes property is set
internal bool IsSetAlarmTypes()
{
return this._alarmTypes != null && this._alarmTypes.Count > 0;
}
///
/// Gets and sets the property EndDateUtc.
///
/// The ending date to retrieve alarm history.
///
///
public DateTime EndDateUtc
{
get { return this._endDateUtc.GetValueOrDefault(); }
set { this._endDate = this._endDateUtc = value; }
}
// Check to see if EndDateUtc property is set
internal bool IsSetEndDateUtc()
{
return this._endDateUtc.HasValue;
}
///
/// Gets and sets the property HistoryItemType.
///
/// The type of alarm histories to retrieve.
///
///
public HistoryItemType HistoryItemType
{
get { return this._historyItemType; }
set { this._historyItemType = value; }
}
// Check to see if HistoryItemType property is set
internal bool IsSetHistoryItemType()
{
return this._historyItemType != null;
}
///
/// Gets and sets the property MaxRecords.
///
/// The maximum number of alarm history records to retrieve.
///
///
[AWSProperty(Min=1, Max=100)]
public int MaxRecords
{
get { return this._maxRecords.GetValueOrDefault(); }
set { this._maxRecords = value; }
}
// Check to see if MaxRecords property is set
internal bool IsSetMaxRecords()
{
return this._maxRecords.HasValue;
}
///
/// Gets and sets the property NextToken.
///
/// The token returned by a previous call to indicate that there is more data available.
///
///
public string NextToken
{
get { return this._nextToken; }
set { this._nextToken = value; }
}
// Check to see if NextToken property is set
internal bool IsSetNextToken()
{
return this._nextToken != null;
}
///
/// Gets and sets the property ScanBy.
///
/// Specified whether to return the newest or oldest alarm history first. Specify TimestampDescending
/// to have the newest event history returned first, and specify TimestampAscending
/// to have the oldest history returned first.
///
///
public ScanBy ScanBy
{
get { return this._scanBy; }
set { this._scanBy = value; }
}
// Check to see if ScanBy property is set
internal bool IsSetScanBy()
{
return this._scanBy != null;
}
///
/// Gets and sets the property StartDateUtc.
///
/// The starting date to retrieve alarm history.
///
///
public DateTime StartDateUtc
{
get { return this._startDateUtc.GetValueOrDefault(); }
set { this._startDate = this._startDateUtc = value; }
}
// Check to see if StartDateUtc property is set
internal bool IsSetStartDateUtc()
{
return this._startDateUtc.HasValue;
}
#region Backwards compatible properties
private DateTime? _endDate;
private DateTime? _startDate;
///
/// Gets and sets the property EndDateUtc.
///
/// This property is deprecated. Setting this property results in non-UTC DateTimes not
/// being marshalled correctly. Use EndDateUtc instead. Setting either EndDate or EndDateUtc
/// results in both EndDate and EndDateUtc being assigned, the latest assignment to either
/// one of the two property is reflected in the value of both. EndDate is provided for
/// backwards compatibility only and assigning a non-Utc DateTime to it results in the
/// wrong timestamp being passed to the service.
///
///
///
/// The ending date to retrieve alarm history.
///
///
[Obsolete("Setting this property results in non-UTC DateTimes not being marshalled correctly. " +
"Use EndDateUtc instead. Setting either EndDate or EndDateUtc results in both EndDate and " +
"EndDateUtc being assigned, the latest assignment to either one of the two property is " +
"reflected in the value of both. EndDate is provided for backwards compatibility only and " +
"assigning a non-Utc DateTime to it results in the wrong timestamp being passed to the service.", false)]
public DateTime EndDate
{
get { return this._endDate.GetValueOrDefault(); }
set
{
this._endDate = value;
this._endDateUtc = new DateTime(value.Ticks, DateTimeKind.Utc);
}
}
///
/// Gets and sets the property StartDateUtc.
///
/// This property is deprecated. Setting this property results in non-UTC DateTimes not
/// being marshalled correctly. Use StartDateUtc instead. Setting either StartDate or
/// StartDateUtc results in both StartDate and StartDateUtc being assigned, the latest
/// assignment to either one of the two property is reflected in the value of both. StartDate
/// is provided for backwards compatibility only and assigning a non-Utc DateTime to it
/// results in the wrong timestamp being passed to the service.
///
///
///
/// The starting date to retrieve alarm history.
///
///
[Obsolete("Setting this property results in non-UTC DateTimes not being marshalled correctly. " +
"Use StartDateUtc instead. Setting either StartDate or StartDateUtc results in both StartDate and " +
"StartDateUtc being assigned, the latest assignment to either one of the two property is " +
"reflected in the value of both. StartDate is provided for backwards compatibility only and " +
"assigning a non-Utc DateTime to it results in the wrong timestamp being passed to the service.", false)]
public DateTime StartDate
{
get { return this._startDate.GetValueOrDefault(); }
set
{
this._startDate = value;
this._startDateUtc = new DateTime(value.Ticks, DateTimeKind.Utc);
}
}
#endregion
}
}