package core.aws.client;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.cloudwatch.AmazonCloudWatch;
import com.amazonaws.services.cloudwatch.AmazonCloudWatchClientBuilder;
import com.amazonaws.services.cloudwatch.model.DeleteAlarmsRequest;
import com.amazonaws.services.cloudwatch.model.PutMetricAlarmRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
/**
* @author neo
*/
public class CloudWatch {
public final AmazonCloudWatch cloudWatch;
private final Logger logger = LoggerFactory.getLogger(getClass());
public CloudWatch(AWSCredentialsProvider credentials, Regions region) {
cloudWatch = AmazonCloudWatchClientBuilder.standard().withRegion(region).withCredentials(credentials).build();
}
public void createAlarm(PutMetricAlarmRequest request) {
logger.info("create cloud watch alarm, request={}", request);
cloudWatch.putMetricAlarm(request);
}
public void deleteAlarms(List<String> alarmNames) {
logger.info("delete alarms, alarms={}", alarmNames);
cloudWatch.deleteAlarms(new DeleteAlarmsRequest().withAlarmNames(alarmNames));
}
}