/*
* 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
{
///
/// The details about a composite alarm.
///
public partial class CompositeAlarm
{
private bool? _actionsEnabled;
private ActionsSuppressedBy _actionsSuppressedBy;
private string _actionsSuppressedReason;
private string _actionsSuppressor;
private int? _actionsSuppressorExtensionPeriod;
private int? _actionsSuppressorWaitPeriod;
private List _alarmActions = new List();
private string _alarmArn;
private DateTime? _alarmConfigurationUpdatedTimestamp;
private string _alarmDescription;
private string _alarmName;
private string _alarmRule;
private List _insufficientDataActions = new List();
private List _okActions = new List();
private string _stateReason;
private string _stateReasonData;
private DateTime? _stateTransitionedTimestamp;
private DateTime? _stateUpdatedTimestamp;
private StateValue _stateValue;
///
/// Gets and sets the property ActionsEnabled.
///
/// Indicates whether actions should be executed during any changes to the alarm state.
///
///
public bool ActionsEnabled
{
get { return this._actionsEnabled.GetValueOrDefault(); }
set { this._actionsEnabled = value; }
}
// Check to see if ActionsEnabled property is set
internal bool IsSetActionsEnabled()
{
return this._actionsEnabled.HasValue;
}
///
/// Gets and sets the property ActionsSuppressedBy.
///
/// When the value is ALARM
, it means that the actions are suppressed because
/// the suppressor alarm is in ALARM
When the value is WaitPeriod
,
/// it means that the actions are suppressed because the composite alarm is waiting for
/// the suppressor alarm to go into into the ALARM
state. The maximum waiting
/// time is as specified in ActionsSuppressorWaitPeriod
. After this time,
/// the composite alarm performs its actions. When the value is ExtensionPeriod
,
/// it means that the actions are suppressed because the composite alarm is waiting after
/// the suppressor alarm went out of the ALARM
state. The maximum waiting
/// time is as specified in ActionsSuppressorExtensionPeriod
. After this
/// time, the composite alarm performs its actions.
///
///
public ActionsSuppressedBy ActionsSuppressedBy
{
get { return this._actionsSuppressedBy; }
set { this._actionsSuppressedBy = value; }
}
// Check to see if ActionsSuppressedBy property is set
internal bool IsSetActionsSuppressedBy()
{
return this._actionsSuppressedBy != null;
}
///
/// Gets and sets the property ActionsSuppressedReason.
///
/// Captures the reason for action suppression.
///
///
[AWSProperty(Min=0, Max=1024)]
public string ActionsSuppressedReason
{
get { return this._actionsSuppressedReason; }
set { this._actionsSuppressedReason = value; }
}
// Check to see if ActionsSuppressedReason property is set
internal bool IsSetActionsSuppressedReason()
{
return this._actionsSuppressedReason != null;
}
///
/// Gets and sets the property ActionsSuppressor.
///
/// Actions will be suppressed if the suppressor alarm is in the ALARM
state.
/// ActionsSuppressor
can be an AlarmName or an Amazon Resource Name (ARN)
/// from an existing alarm.
///
///
[AWSProperty(Min=1, Max=1600)]
public string ActionsSuppressor
{
get { return this._actionsSuppressor; }
set { this._actionsSuppressor = value; }
}
// Check to see if ActionsSuppressor property is set
internal bool IsSetActionsSuppressor()
{
return this._actionsSuppressor != null;
}
///
/// Gets and sets the property ActionsSuppressorExtensionPeriod.
///
/// The maximum time in seconds that the composite alarm waits after suppressor alarm
/// goes out of the ALARM
state. After this time, the composite alarm performs
/// its actions.
///
///
///
/// ExtensionPeriod
is required only when ActionsSuppressor
/// is specified.
///
///
///
public int ActionsSuppressorExtensionPeriod
{
get { return this._actionsSuppressorExtensionPeriod.GetValueOrDefault(); }
set { this._actionsSuppressorExtensionPeriod = value; }
}
// Check to see if ActionsSuppressorExtensionPeriod property is set
internal bool IsSetActionsSuppressorExtensionPeriod()
{
return this._actionsSuppressorExtensionPeriod.HasValue;
}
///
/// Gets and sets the property ActionsSuppressorWaitPeriod.
///
/// The maximum time in seconds that the composite alarm waits for the suppressor alarm
/// to go into the ALARM
state. After this time, the composite alarm performs
/// its actions.
///
///
///
/// WaitPeriod
is required only when ActionsSuppressor
is specified.
///
///
///
///
public int ActionsSuppressorWaitPeriod
{
get { return this._actionsSuppressorWaitPeriod.GetValueOrDefault(); }
set { this._actionsSuppressorWaitPeriod = value; }
}
// Check to see if ActionsSuppressorWaitPeriod property is set
internal bool IsSetActionsSuppressorWaitPeriod()
{
return this._actionsSuppressorWaitPeriod.HasValue;
}
///
/// Gets and sets the property AlarmActions.
///
/// The actions to execute when this alarm transitions to the ALARM state from any other
/// state. Each action is specified as an Amazon Resource Name (ARN).
///
///
[AWSProperty(Max=5)]
public List AlarmActions
{
get { return this._alarmActions; }
set { this._alarmActions = value; }
}
// Check to see if AlarmActions property is set
internal bool IsSetAlarmActions()
{
return this._alarmActions != null && this._alarmActions.Count > 0;
}
///
/// Gets and sets the property AlarmArn.
///
/// The Amazon Resource Name (ARN) of the alarm.
///
///
[AWSProperty(Min=1, Max=1600)]
public string AlarmArn
{
get { return this._alarmArn; }
set { this._alarmArn = value; }
}
// Check to see if AlarmArn property is set
internal bool IsSetAlarmArn()
{
return this._alarmArn != null;
}
///
/// Gets and sets the property AlarmConfigurationUpdatedTimestamp.
///
/// The time stamp of the last update to the alarm configuration.
///
///
public DateTime AlarmConfigurationUpdatedTimestamp
{
get { return this._alarmConfigurationUpdatedTimestamp.GetValueOrDefault(); }
set { this._alarmConfigurationUpdatedTimestamp = value; }
}
// Check to see if AlarmConfigurationUpdatedTimestamp property is set
internal bool IsSetAlarmConfigurationUpdatedTimestamp()
{
return this._alarmConfigurationUpdatedTimestamp.HasValue;
}
///
/// Gets and sets the property AlarmDescription.
///
/// The description of the alarm.
///
///
[AWSProperty(Min=0, Max=1024)]
public string AlarmDescription
{
get { return this._alarmDescription; }
set { this._alarmDescription = value; }
}
// Check to see if AlarmDescription property is set
internal bool IsSetAlarmDescription()
{
return this._alarmDescription != null;
}
///
/// 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 AlarmRule.
///
/// The rule that this alarm uses to evaluate its alarm state.
///
///
[AWSProperty(Min=1, Max=10240)]
public string AlarmRule
{
get { return this._alarmRule; }
set { this._alarmRule = value; }
}
// Check to see if AlarmRule property is set
internal bool IsSetAlarmRule()
{
return this._alarmRule != null;
}
///
/// Gets and sets the property InsufficientDataActions.
///
/// The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state
/// from any other state. Each action is specified as an Amazon Resource Name (ARN).
///
///
[AWSProperty(Max=5)]
public List InsufficientDataActions
{
get { return this._insufficientDataActions; }
set { this._insufficientDataActions = value; }
}
// Check to see if InsufficientDataActions property is set
internal bool IsSetInsufficientDataActions()
{
return this._insufficientDataActions != null && this._insufficientDataActions.Count > 0;
}
///
/// Gets and sets the property OKActions.
///
/// The actions to execute when this alarm transitions to the OK state from any other
/// state. Each action is specified as an Amazon Resource Name (ARN).
///
///
[AWSProperty(Max=5)]
public List OKActions
{
get { return this._okActions; }
set { this._okActions = value; }
}
// Check to see if OKActions property is set
internal bool IsSetOKActions()
{
return this._okActions != null && this._okActions.Count > 0;
}
///
/// Gets and sets the property StateReason.
///
/// An explanation for the alarm state, in text format.
///
///
[AWSProperty(Min=0, Max=1023)]
public string StateReason
{
get { return this._stateReason; }
set { this._stateReason = value; }
}
// Check to see if StateReason property is set
internal bool IsSetStateReason()
{
return this._stateReason != null;
}
///
/// Gets and sets the property StateReasonData.
///
/// An explanation for the alarm state, in JSON format.
///
///
[AWSProperty(Min=0, Max=4000)]
public string StateReasonData
{
get { return this._stateReasonData; }
set { this._stateReasonData = value; }
}
// Check to see if StateReasonData property is set
internal bool IsSetStateReasonData()
{
return this._stateReasonData != null;
}
///
/// Gets and sets the property StateTransitionedTimestamp.
///
/// The timestamp of the last change to the alarm's StateValue
.
///
///
public DateTime StateTransitionedTimestamp
{
get { return this._stateTransitionedTimestamp.GetValueOrDefault(); }
set { this._stateTransitionedTimestamp = value; }
}
// Check to see if StateTransitionedTimestamp property is set
internal bool IsSetStateTransitionedTimestamp()
{
return this._stateTransitionedTimestamp.HasValue;
}
///
/// Gets and sets the property StateUpdatedTimestamp.
///
/// Tracks the timestamp of any state update, even if StateValue
doesn't
/// change.
///
///
public DateTime StateUpdatedTimestamp
{
get { return this._stateUpdatedTimestamp.GetValueOrDefault(); }
set { this._stateUpdatedTimestamp = value; }
}
// Check to see if StateUpdatedTimestamp property is set
internal bool IsSetStateUpdatedTimestamp()
{
return this._stateUpdatedTimestamp.HasValue;
}
///
/// Gets and sets the property StateValue.
///
/// The state value for the alarm.
///
///
public StateValue StateValue
{
get { return this._stateValue; }
set { this._stateValue = value; }
}
// Check to see if StateValue property is set
internal bool IsSetStateValue()
{
return this._stateValue != null;
}
}
}