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

com.microsoft.azure.management.monitor.implementation.MetricAlertConditionImpl Maven / Gradle / Ivy

Go to download

This package contains Microsoft Azure Monitor SDK. This package has been deprecated. A replacement package com.azure.resourcemanager:azure-resourcemanager-monitor is available as of 31-March-2022. We strongly encourage you to upgrade to continue receiving updates. See Migration Guide https://aka.ms/java-track2-migration-guide for guidance on upgrading. Refer to our deprecation policy https://azure.github.io/azure-sdk/policies_support.html for more details.

There is a newer version: 1.41.4
Show newest version
/**
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License. See License.txt in the project root for
 * license information.
 */

package com.microsoft.azure.management.monitor.implementation;

import com.microsoft.azure.management.apigeneration.LangDefinition;
import com.microsoft.azure.management.monitor.MetricAlert;
import com.microsoft.azure.management.monitor.MetricAlertCondition;
import com.microsoft.azure.management.monitor.MetricAlertRuleCondition;
import com.microsoft.azure.management.monitor.MetricAlertRuleTimeAggregation;
import com.microsoft.azure.management.monitor.MetricCriteria;

import java.util.ArrayList;

/**
 * Implementation for MetricAlertCondition.
 */
@LangDefinition
class MetricAlertConditionImpl
        extends MetricAlertConditionBaseImpl
        implements
            MetricAlertCondition,

            MetricAlertCondition.DefinitionStages,
            MetricAlertCondition.DefinitionStages.Blank.MetricName,
            MetricAlertCondition.DefinitionStages.WithCriteriaOperator,
            MetricAlertCondition.DefinitionStages.WithConditionAttach,

            MetricAlertCondition.UpdateDefinitionStages,
            MetricAlertCondition.UpdateDefinitionStages.Blank.MetricName,
            MetricAlertCondition.UpdateDefinitionStages.WithCriteriaOperator,
            MetricAlertCondition.UpdateDefinitionStages.WithConditionAttach,

            MetricAlertCondition.UpdateStages {

    MetricAlertConditionImpl(String name, MetricCriteria innerObject, MetricAlertImpl parent) {
        super(name, innerObject, parent);
    }

    @Override
    public MetricAlertConditionImpl withCondition(MetricAlertRuleTimeAggregation timeAggregation, MetricAlertRuleCondition condition, double threshold) {
        this.inner().withOperator(condition);
        this.inner().withTimeAggregation(timeAggregation);
        this.inner().withThreshold(threshold);
        return this;
    }

    @Override
    public MetricAlertImpl attach() {
        this.inner().withDimensions(new ArrayList<>(this.dimensions.values()));
        return this.parent().withAlertCriteria(this);
    }

    @Override
    public MetricAlertRuleCondition condition() {
        return MetricAlertRuleCondition.fromString(this.inner().operator().toString());
    }

    @Override
    public double threshold() {
        return this.inner().threshold();
    }
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy