com.microsoft.azure.management.monitor.implementation.MetricAlertConditionImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-mgmt-monitor Show documentation
Show all versions of azure-mgmt-monitor Show documentation
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.
/**
* 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();
}
}