com.aliyun.ess20220222.models.ModifyAlarmRequest Maven / Gradle / Ivy
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.ess20220222.models;
import com.aliyun.tea.*;
public class ModifyAlarmRequest extends TeaModel {
/**
* The list of unique identifiers of the scaling rules that are associated with the event-triggered task.
*/
@NameInMap("AlarmActions")
public java.util.List alarmActions;
/**
* The ID of the event-triggered task.
* This parameter is required.
*
* example:
* asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****
*/
@NameInMap("AlarmTaskId")
public String alarmTaskId;
/**
* The operator that is used to compare the metric value and the threshold. Valid values:
*
* - If the metric value is greater than or equal to the threshold, set the value to
>=
.
* - If the metric value is less than or equal to the threshold, set the value to
<=
.
* - If the metric value is greater than the threshold, set the value to
>
.
* - If the metric value is less than the threshold, set the value to
<
.
*
*
* example:
*
* =
*
*/
@NameInMap("ComparisonOperator")
public String comparisonOperator;
/**
* The description of the event-triggered task.
*
* example:
* Test alarm task.
*/
@NameInMap("Description")
public String description;
/**
* Details of the dimensions.
*/
@NameInMap("Dimensions")
public java.util.List dimensions;
/**
* The effective period of the event-triggered task.
* This parameter follows the cron expression format. The default format is X X X X X ?
, in which:
*
* - X: a placeholder for a field, which represents seconds, minutes, hours, days, and months in sequence. X can be a definite value or a special character that has logical meaning. For information about the valid values of X, see Cron expression.
* - ?: No value is specified.
*
*
* By default, the value of this parameter is specified in UTC+8. You can specify the time zone in the TZ=+yy
format before a cron expression. y indicates the time zone. For example, TZ=+00 * * 1-2 * * ?
specifies that the event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.
*
* Examples:
*
* * * * * * ?
: The event-triggered task is in effect all the time.
* * * 17-18 * * ?
: The event-triggered task is in effect between 17:00 and 18:59 (UTC+8) every day.
* TZ=+00 * * 1-2 * * ?
: The event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.
*
*
* example:
* TZ=+00 * * 1-2 * * ?
*/
@NameInMap("Effective")
public String effective;
/**
* The number of times that the threshold must be reached before a scaling rule can be executed. For example, if you set this parameter to 3, the average CPU utilization must reach or exceed 80% three times in a row before a scaling rule is triggered.
*
* example:
* 3
*/
@NameInMap("EvaluationCount")
public Integer evaluationCount;
/**
* The expressions that are specified in the multi-metric alert rule.
*/
@NameInMap("Expressions")
public java.util.List expressions;
/**
* The relationship between the trigger conditions in the multi-metric alert rule. Valid values:
*
* &&
: An alert is triggered only if all metrics in the multi-metric alert rule meet the trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are true
.
* ||
: An alert is triggered if one of the metrics in the multi-metric alert rule meets the trigger condition.
*
* Default value: &&
.
*
* example:
* &&
*/
@NameInMap("ExpressionsLogicOperator")
public String expressionsLogicOperator;
/**
* The ID of the application group to which the custom metric belongs. If you set the MetricType parameter to custom, you must specify this parameter.
*
* example:
* 4055401
*/
@NameInMap("GroupId")
public Integer groupId;
/**
* The name of the metric. The valid values vary based on the metric type.
*
* If you set the MetricType parameter to custom, the valid values are your custom metrics.
*
* If you set the MetricType parameter to system, the MetricName parameter has the following valid values:
*
* - CpuUtilization: the CPU utilization of an ECS instance. Unit: %.
* - IntranetTx: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.
* - IntranetRx: the inbound traffic over the Internet to an ECS instance that resides in a virtual private cloud (VPC). Unit: KB/min.
* - VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a VPC. Unit: KB/min.
* - VpcInternetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.
* - SystemDiskReadBps: the number of bytes read from the system disk used by an ECS instance per second.
* - SystemDiskWriteBps: the number of bytes written to the system disk used by an ECS instance per second.
* - SystemDiskReadOps: the number of read operations on the system disk used by an ECS instance per second.
* - SystemDiskWriteOps: the number of write operations on the system disk used by an ECS instance per second.
* - CpuUtilizationAgent: the CPU utilization of an agent. Unit: %.
* - GpuMemoryFreeUtilizationAgent: the percentage of idle GPU memory of an agent.
* - GpuMemoryUtilizationAgent: the GPU memory usage of an agent. Unit: %.
* - MemoryUtilization: the memory usage of an agent. Unit: %.
* - LoadAverage: the average system load of an agent.
* - TcpConnection: the total number of TCP connections of an agent.
* - TcpConnection: the number of established TCP connections of an agent.
* - PackagesNetOut: the number of packets that are sent by the internal network interface controller (NIC) used by an agent.
* - PackagesNetIn: the number of packets that are received by the internal NIC used by an agent.
* - EciPodCpuUtilization: the CPU utilization of an elastic container instance. Unit: %.
* - EciPodMemoryUtilization: the memory usage of an elastic container instance. Unit: %.
*
*
*
* For more information, see Event-triggered task for system monitoring.
*
* example:
* MemoryUtilization
*/
@NameInMap("MetricName")
public String metricName;
/**
* The type of the metric. Valid values:
*
* - system: system metrics of CloudMonitor
* - custom: custom metrics that are reported to CloudMonitor
*
*
* example:
* system
*/
@NameInMap("MetricType")
public String metricType;
/**
* The name of the event-triggered task.
*
* example:
* alarmtask****
*/
@NameInMap("Name")
public String name;
@NameInMap("OwnerId")
public Long ownerId;
/**
* The period of time during which statistics about the metric is collected. Unit: seconds. Valid values:
*
* - 15
* - 60
* - 120
* - 300
* - 900
*
*
* If your scaling group is of the ECS type and uses CloudMonitor metrics, you can set the Period parameter to 15. In other cases, you can set the Period parameter to 60, 120, 300, or 900. In most cases, the name of a CloudMonitor metric contains Agent.
*
*
* example:
* 300
*/
@NameInMap("Period")
public Integer period;
/**
* The region ID of the event-triggered task.
* This parameter is required.
*
* example:
* cn-qingdao
*/
@NameInMap("RegionId")
public String regionId;
@NameInMap("ResourceOwnerAccount")
public String resourceOwnerAccount;
/**
* The method that is used to aggregate statistics for the metric. Valid values:
*
* - Average
* - Minimum
* - Maximum
*
*
* example:
* Average
*/
@NameInMap("Statistics")
public String statistics;
/**
* The thresholds of the metric values in the multi-metric alert rule. If the thresholds are reached the specified number of times within the specified period, a scaling rule is executed.
*
* example:
* 80
*/
@NameInMap("Threshold")
public Float threshold;
public static ModifyAlarmRequest build(java.util.Map map) throws Exception {
ModifyAlarmRequest self = new ModifyAlarmRequest();
return TeaModel.build(map, self);
}
public ModifyAlarmRequest setAlarmActions(java.util.List alarmActions) {
this.alarmActions = alarmActions;
return this;
}
public java.util.List getAlarmActions() {
return this.alarmActions;
}
public ModifyAlarmRequest setAlarmTaskId(String alarmTaskId) {
this.alarmTaskId = alarmTaskId;
return this;
}
public String getAlarmTaskId() {
return this.alarmTaskId;
}
public ModifyAlarmRequest setComparisonOperator(String comparisonOperator) {
this.comparisonOperator = comparisonOperator;
return this;
}
public String getComparisonOperator() {
return this.comparisonOperator;
}
public ModifyAlarmRequest setDescription(String description) {
this.description = description;
return this;
}
public String getDescription() {
return this.description;
}
public ModifyAlarmRequest setDimensions(java.util.List dimensions) {
this.dimensions = dimensions;
return this;
}
public java.util.List getDimensions() {
return this.dimensions;
}
public ModifyAlarmRequest setEffective(String effective) {
this.effective = effective;
return this;
}
public String getEffective() {
return this.effective;
}
public ModifyAlarmRequest setEvaluationCount(Integer evaluationCount) {
this.evaluationCount = evaluationCount;
return this;
}
public Integer getEvaluationCount() {
return this.evaluationCount;
}
public ModifyAlarmRequest setExpressions(java.util.List expressions) {
this.expressions = expressions;
return this;
}
public java.util.List getExpressions() {
return this.expressions;
}
public ModifyAlarmRequest setExpressionsLogicOperator(String expressionsLogicOperator) {
this.expressionsLogicOperator = expressionsLogicOperator;
return this;
}
public String getExpressionsLogicOperator() {
return this.expressionsLogicOperator;
}
public ModifyAlarmRequest setGroupId(Integer groupId) {
this.groupId = groupId;
return this;
}
public Integer getGroupId() {
return this.groupId;
}
public ModifyAlarmRequest setMetricName(String metricName) {
this.metricName = metricName;
return this;
}
public String getMetricName() {
return this.metricName;
}
public ModifyAlarmRequest setMetricType(String metricType) {
this.metricType = metricType;
return this;
}
public String getMetricType() {
return this.metricType;
}
public ModifyAlarmRequest setName(String name) {
this.name = name;
return this;
}
public String getName() {
return this.name;
}
public ModifyAlarmRequest setOwnerId(Long ownerId) {
this.ownerId = ownerId;
return this;
}
public Long getOwnerId() {
return this.ownerId;
}
public ModifyAlarmRequest setPeriod(Integer period) {
this.period = period;
return this;
}
public Integer getPeriod() {
return this.period;
}
public ModifyAlarmRequest setRegionId(String regionId) {
this.regionId = regionId;
return this;
}
public String getRegionId() {
return this.regionId;
}
public ModifyAlarmRequest setResourceOwnerAccount(String resourceOwnerAccount) {
this.resourceOwnerAccount = resourceOwnerAccount;
return this;
}
public String getResourceOwnerAccount() {
return this.resourceOwnerAccount;
}
public ModifyAlarmRequest setStatistics(String statistics) {
this.statistics = statistics;
return this;
}
public String getStatistics() {
return this.statistics;
}
public ModifyAlarmRequest setThreshold(Float threshold) {
this.threshold = threshold;
return this;
}
public Float getThreshold() {
return this.threshold;
}
public static class ModifyAlarmRequestDimensions extends TeaModel {
/**
* The key of the dimension. The valid values vary based on the metric type.
*
* If you set the MetricType parameter to custom, you can specify this parameter based on your business requirements.
*
* If you set the MetricType parameter to system, this parameter has the following valid values:
*
* - user_id: the ID of your Alibaba Cloud account
* - scaling_group: the scaling group that you want to monitor
* - device: the type of the NIC
* - state: the status of the TCP connection
*
*
*
*
* example:
* device
*/
@NameInMap("DimensionKey")
public String dimensionKey;
/**
* The value of the dimension. The valid values vary based on the value of the DimensionKey parameter.
*
* If you set the MetricType parameter to custom, you can specify this parameter based on your business requirements.
*
* If you set the MetricType parameter to system, this parameter has the following valid values:
*
* If you set the DimensionKey parameter to user_id, the system specifies the value
*
* scaling_group: The system specifies the value of the DimensionValue parameter.
*
* If you set the DimensionKey parameter to device, you can set the DimensionValue parameter to eth0 or eth1.
*
* - For instances that reside in the classic network type, eth0 specifies the internal NIC. Only one eth0 NIC exists on each instance that resides in a VPC.
* - For instances that reside in the classic network, eth1 specifies the public NIC.
*
*
* If you set the DimensionKey parameter to state, you can set the DimensionValue parameter to TCP_TOTAL or ESTABLISHED.
*
* - TCP_TOTAL specifies the total number of TCP connections.
* - ESTABLISHED specifies the number of established TCP connections.
*
*
*
*
*
*
* example:
* eth0
*/
@NameInMap("DimensionValue")
public String dimensionValue;
public static ModifyAlarmRequestDimensions build(java.util.Map map) throws Exception {
ModifyAlarmRequestDimensions self = new ModifyAlarmRequestDimensions();
return TeaModel.build(map, self);
}
public ModifyAlarmRequestDimensions setDimensionKey(String dimensionKey) {
this.dimensionKey = dimensionKey;
return this;
}
public String getDimensionKey() {
return this.dimensionKey;
}
public ModifyAlarmRequestDimensions setDimensionValue(String dimensionValue) {
this.dimensionValue = dimensionValue;
return this;
}
public String getDimensionValue() {
return this.dimensionValue;
}
}
public static class ModifyAlarmRequestExpressions extends TeaModel {
/**
* The operator that is used to compare the metric value and the threshold. Valid values:
*
* - If the metric value is greater than or equal to the threshold, set the value to
>=
.
* - If the metric value is less than or equal to the threshold, set the value to
<=
.
* - If the metric value is greater than the threshold, set the value to
>
.
* - If the metric value is less than the threshold, set the value to
<
.
*
* Default value: >=.
*
* example:
*
* =
*
*/
@NameInMap("ComparisonOperator")
public String comparisonOperator;
/**
* The name of the metric that is specified in the multi-metric alert rule. The valid values vary based on the metric type.
*
* If you set the MetricType parameter to custom, the valid values are your custom metrics.
*
* If you set the MetricType parameter to system, the MetricName parameter has the following valid values:
*
* - CpuUtilization: the CPU utilization of an ECS instance. Unit: %.
* - IntranetTx: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.
* - IntranetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.
* - VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a VPC. Unit: KB/min.
* - VpcInternetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.
* - SystemDiskReadBps: the number of bytes read from the system disk used by an ECS instance per second.
* - SystemDiskWriteBps: the number of bytes written to the system disk used by an ECS instance per second.
* - SystemDiskReadOps: the number of read operations on the system disk used by an ECS instance per second.
* - SystemDiskWriteOps: the number of write operations on the system disk used by an ECS instance per second.
* - CpuUtilizationAgent: the CPU utilization of an agent. Unit: %.
* - GpuUtilizationAgent: the GPU utilization of an agent. Unit: %.
* - GpuMemoryFreeUtilizationAgent: the percentage of idle GPU memory of an agent.
* - GpuMemoryUtilizationAgent: the GPU memory usage of an agent. Unit: %.
* - MemoryUtilization: the memory usage of an agent. Unit: %.
* - LoadAverage: the average system load of an agent.
* - TcpConnection: the total number of TCP connections of an agent.
* - TcpConnection: the number of established TCP connections of an agent.
* - PackagesNetOut: the number of packets that are sent by the internal NIC used by an agent.
* - PackagesNetIn: the number of packets that are received by the internal NIC used by an agent.
* - EciPodCpuUtilization: the CPU utilization of an elastic container instance. Unit: %.
* - EciPodMemoryUtilization: the memory usage of an elastic container instance. Unit: %.
*
*
*
* For more information, see Event-triggered task for system monitoring.
*
* example:
* CpuUtilization
*/
@NameInMap("MetricName")
public String metricName;
/**
* The period of time during which statistics about the metrics in the multi-metric alert rule is collected. Unit: seconds. Valid values:
*
* - 15
* - 60
* - 120
* - 300
* - 900
*
*
* If your scaling group is of the ECS type and the event-triggered task associated with your scaling group monitors CloudMonitor metrics, you can set the Period parameter to 15. In other cases, you can set the Period parameter to 60, 120, 300, or 900. In most cases, the name of a CloudMonitor metric contains Agent.
*
* Default value: 300.
*
* example:
* 300
*/
@NameInMap("Period")
public Integer period;
/**
* The method that is used to aggregate statistics about the metrics that are specified in the multi-metric alert rule. Valid values:
*
* - Average
* - Minimum
* - Maximum
*
*
* example:
* Average
*/
@NameInMap("Statistics")
public String statistics;
/**
* The thresholds of the metric values in the multi-metric alert rule. If the thresholds are reached the specified number of times within the specified period, a scaling rule is executed.
*
* example:
* 40.0
*/
@NameInMap("Threshold")
public Float threshold;
public static ModifyAlarmRequestExpressions build(java.util.Map map) throws Exception {
ModifyAlarmRequestExpressions self = new ModifyAlarmRequestExpressions();
return TeaModel.build(map, self);
}
public ModifyAlarmRequestExpressions setComparisonOperator(String comparisonOperator) {
this.comparisonOperator = comparisonOperator;
return this;
}
public String getComparisonOperator() {
return this.comparisonOperator;
}
public ModifyAlarmRequestExpressions setMetricName(String metricName) {
this.metricName = metricName;
return this;
}
public String getMetricName() {
return this.metricName;
}
public ModifyAlarmRequestExpressions setPeriod(Integer period) {
this.period = period;
return this;
}
public Integer getPeriod() {
return this.period;
}
public ModifyAlarmRequestExpressions setStatistics(String statistics) {
this.statistics = statistics;
return this;
}
public String getStatistics() {
return this.statistics;
}
public ModifyAlarmRequestExpressions setThreshold(Float threshold) {
this.threshold = threshold;
return this;
}
public Float getThreshold() {
return this.threshold;
}
}
}