io.github.cdklabs.cdkmonitoringconstructs.Route53HealthCheckMetricAdjuster Maven / Gradle / Ivy
package io.github.cdklabs.cdkmonitoringconstructs;
/**
* (experimental) Adjusts a metric so that alarms created from it can be used in Route53 Health Checks.
*
* The metric will be validated to ensure it satisfies Route53 Health Check alarm requirements, otherwise it will throw an {@link Error}.
*
* @see https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-types.html
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.93.0 (build 1706ca5)", date = "2024-01-08T00:34:46.775Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@software.amazon.jsii.Jsii(module = io.github.cdklabs.cdkmonitoringconstructs.$Module.class, fqn = "cdk-monitoring-constructs.Route53HealthCheckMetricAdjuster")
public class Route53HealthCheckMetricAdjuster extends software.amazon.jsii.JsiiObject implements io.github.cdklabs.cdkmonitoringconstructs.IMetricAdjuster {
protected Route53HealthCheckMetricAdjuster(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected Route53HealthCheckMetricAdjuster(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
static {
INSTANCE = software.amazon.jsii.JsiiObject.jsiiStaticGet(io.github.cdklabs.cdkmonitoringconstructs.Route53HealthCheckMetricAdjuster.class, "INSTANCE", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdkmonitoringconstructs.Route53HealthCheckMetricAdjuster.class));
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Route53HealthCheckMetricAdjuster() {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this);
}
/**
* (experimental) Adjusts a metric.
*
* @param metric This parameter is required.
* @param alarmScope This parameter is required.
* @param props This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public @org.jetbrains.annotations.NotNull java.lang.Object adjustMetric(final @org.jetbrains.annotations.NotNull java.lang.Object metric, final @org.jetbrains.annotations.NotNull software.constructs.Construct alarmScope, final @org.jetbrains.annotations.NotNull io.github.cdklabs.cdkmonitoringconstructs.AddAlarmProps props) {
if (software.amazon.jsii.Configuration.getRuntimeTypeChecking()) {
if (
!(metric instanceof software.amazon.awscdk.services.cloudwatch.Metric)
&& !(metric instanceof software.amazon.awscdk.services.cloudwatch.MathExpression)
) {
throw new IllegalArgumentException(
new java.lang.StringBuilder("Expected ")
.append("metric")
.append(" to be one of: software.amazon.awscdk.services.cloudwatch.Metric, software.amazon.awscdk.services.cloudwatch.MathExpression; received ")
.append(metric.getClass()).toString());
}
}
return software.amazon.jsii.Kernel.call(this, "adjustMetric", software.amazon.jsii.NativeType.forClass(java.lang.Object.class), new Object[] { java.util.Objects.requireNonNull(metric, "metric is required"), java.util.Objects.requireNonNull(alarmScope, "alarmScope is required"), java.util.Objects.requireNonNull(props, "props is required") });
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public final static io.github.cdklabs.cdkmonitoringconstructs.Route53HealthCheckMetricAdjuster INSTANCE;
}