All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.cdklabs.cdkmonitoringconstructs.NetworkLoadBalancerMetricFactory Maven / Gradle / Ivy

There is a newer version: 9.1.3
Show newest version
package io.github.cdklabs.cdkmonitoringconstructs;

/**
 * (experimental) Metric factory to create metrics for network load-balanced service.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.93.0 (build 1706ca5)", date = "2024-01-08T00:34:46.743Z")
@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.NetworkLoadBalancerMetricFactory")
public class NetworkLoadBalancerMetricFactory extends software.amazon.jsii.JsiiObject implements io.github.cdklabs.cdkmonitoringconstructs.ILoadBalancerMetricFactory {

    protected NetworkLoadBalancerMetricFactory(final software.amazon.jsii.JsiiObjectRef objRef) {
        super(objRef);
    }

    protected NetworkLoadBalancerMetricFactory(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
        super(initializationMode);
    }

    /**
     * @param metricFactory This parameter is required.
     * @param props This parameter is required.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    public NetworkLoadBalancerMetricFactory(final @org.jetbrains.annotations.NotNull io.github.cdklabs.cdkmonitoringconstructs.MetricFactory metricFactory, final @org.jetbrains.annotations.NotNull io.github.cdklabs.cdkmonitoringconstructs.NetworkLoadBalancerMetricFactoryProps props) {
        super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
        software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(metricFactory, "metricFactory is required"), java.util.Objects.requireNonNull(props, "props is required") });
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @Override
    public @org.jetbrains.annotations.NotNull java.lang.Object metricActiveConnectionCount() {
        return software.amazon.jsii.Kernel.call(this, "metricActiveConnectionCount", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @Override
    public @org.jetbrains.annotations.NotNull java.lang.Object metricHealthyTaskCount() {
        return software.amazon.jsii.Kernel.call(this, "metricHealthyTaskCount", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @Override
    public @org.jetbrains.annotations.NotNull java.lang.Object metricHealthyTaskInPercent() {
        return software.amazon.jsii.Kernel.call(this, "metricHealthyTaskInPercent", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @Override
    public @org.jetbrains.annotations.NotNull java.lang.Object metricNewConnectionCount() {
        return software.amazon.jsii.Kernel.call(this, "metricNewConnectionCount", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @Override
    public @org.jetbrains.annotations.NotNull java.lang.Object metricProcessedBytesMin() {
        return software.amazon.jsii.Kernel.call(this, "metricProcessedBytesMin", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @Override
    public @org.jetbrains.annotations.NotNull java.lang.Object metricUnhealthyTaskCount() {
        return software.amazon.jsii.Kernel.call(this, "metricUnhealthyTaskCount", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    protected @org.jetbrains.annotations.NotNull java.lang.Boolean getInvertStatisticsOfTaskCountEnabled() {
        return software.amazon.jsii.Kernel.get(this, "invertStatisticsOfTaskCountEnabled", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    protected @org.jetbrains.annotations.NotNull io.github.cdklabs.cdkmonitoringconstructs.MetricFactory getMetricFactory() {
        return software.amazon.jsii.Kernel.get(this, "metricFactory", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdkmonitoringconstructs.MetricFactory.class));
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    protected @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.elasticloadbalancingv2.INetworkLoadBalancer getNetworkLoadBalancer() {
        return software.amazon.jsii.Kernel.get(this, "networkLoadBalancer", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.elasticloadbalancingv2.INetworkLoadBalancer.class));
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    protected @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.elasticloadbalancingv2.INetworkTargetGroup getNetworkTargetGroup() {
        return software.amazon.jsii.Kernel.get(this, "networkTargetGroup", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.elasticloadbalancingv2.INetworkTargetGroup.class));
    }

    /**
     * (experimental) A fluent builder for {@link io.github.cdklabs.cdkmonitoringconstructs.NetworkLoadBalancerMetricFactory}.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    public static final class Builder implements software.amazon.jsii.Builder {
        /**
         * @return a new instance of {@link Builder}.
         * @param metricFactory This parameter is required.
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public static Builder create(final io.github.cdklabs.cdkmonitoringconstructs.MetricFactory metricFactory) {
            return new Builder(metricFactory);
        }

        private final io.github.cdklabs.cdkmonitoringconstructs.MetricFactory metricFactory;
        private final io.github.cdklabs.cdkmonitoringconstructs.NetworkLoadBalancerMetricFactoryProps.Builder props;

        private Builder(final io.github.cdklabs.cdkmonitoringconstructs.MetricFactory metricFactory) {
            this.metricFactory = metricFactory;
            this.props = new io.github.cdklabs.cdkmonitoringconstructs.NetworkLoadBalancerMetricFactoryProps.Builder();
        }

        /**
         * (experimental) Invert the statistics of HealthyHostCount and UnHealthyHostCount.
         * 

* When invertStatisticsOfTaskCountEnabled is set to false, the minimum of HealthyHostCount and the maximum of UnHealthyHostCount are monitored. * When invertStatisticsOfTaskCountEnabled is set to true, the maximum of HealthyHostCount and the minimum of UnHealthyHostCount are monitored. *

* invertStatisticsOfTaskCountEnabled is recommended to set to true as per the guidelines at * https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics *

* Default: false *

* @return {@code this} * @param invertStatisticsOfTaskCountEnabled Invert the statistics of HealthyHostCount and UnHealthyHostCount. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder invertStatisticsOfTaskCountEnabled(final java.lang.Boolean invertStatisticsOfTaskCountEnabled) { this.props.invertStatisticsOfTaskCountEnabled(invertStatisticsOfTaskCountEnabled); return this; } /** * @return {@code this} * @param networkLoadBalancer This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder networkLoadBalancer(final software.amazon.awscdk.services.elasticloadbalancingv2.INetworkLoadBalancer networkLoadBalancer) { this.props.networkLoadBalancer(networkLoadBalancer); return this; } /** * @return {@code this} * @param networkTargetGroup This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder networkTargetGroup(final software.amazon.awscdk.services.elasticloadbalancingv2.INetworkTargetGroup networkTargetGroup) { this.props.networkTargetGroup(networkTargetGroup); return this; } /** * @return a newly built instance of {@link io.github.cdklabs.cdkmonitoringconstructs.NetworkLoadBalancerMetricFactory}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @Override public io.github.cdklabs.cdkmonitoringconstructs.NetworkLoadBalancerMetricFactory build() { return new io.github.cdklabs.cdkmonitoringconstructs.NetworkLoadBalancerMetricFactory( this.metricFactory, this.props.build() ); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy