[ aws . cloudwatch ]
Temporarily sets the state of an alarm for testing purposes. When the updated state differs from the previous value, the action configured for the appropriate state is invoked. For example, if your alarm is configured to send an Amazon SNS message when an alarm is triggered, temporarily changing the alarm state to ALARM
sends an SNS message.
Metric alarms returns to their actual state quickly, often within seconds. Because the metric alarm state change happens quickly, it is typically only visible in the alarm’s History tab in the Amazon CloudWatch console or through DescribeAlarmHistory .
If you use SetAlarmState
on a composite alarm, the composite alarm is not guaranteed to return to its actual state. It returns to its actual state only once any of its children alarms change state. It is also reevaluated if you update its configuration.
If an alarm triggers EC2 Auto Scaling policies or application Auto Scaling policies, you must include information in the StateReasonData
parameter to enable the policy to take the correct action.
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
set-alarm-state
--alarm-name <value>
--state-value <value>
--state-reason <value>
[--state-reason-data <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
--alarm-name
(string)
The name of the alarm.
--state-value
(string)
The value of the state.
Possible values:
OK
ALARM
INSUFFICIENT_DATA
--state-reason
(string)
The reason that this alarm is set to this specific state, in text format.
--state-reason-data
(string)
The reason that this alarm is set to this specific state, in JSON format.
For SNS or EC2 alarm actions, this is just informational. But for EC2 Auto Scaling or application Auto Scaling alarm actions, the Auto Scaling policy uses the information in this field to take the correct action.
--cli-input-json
| --cli-input-yaml
(string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton
. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml
.
--generate-cli-skeleton
(string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input
, prints a sample input JSON that can be used as an argument for --cli-input-json
. Similarly, if provided yaml-input
it will print a sample input YAML that can be used with --cli-input-yaml
. If provided with the value output
, it validates the command inputs and returns a sample output JSON for that command.
See ‘aws help’ for descriptions of global parameters.
To temporarily change the state of an alarm
The following example uses the set-alarm-state
command to temporarily change the state of an
Amazon CloudWatch alarm named “myalarm” and set it to the ALARM state for testing purposes:
aws cloudwatch set-alarm-state --alarm-name "myalarm" --state-value ALARM --state-reason "testing purposes"
This command returns to the prompt if successful.
None