com.azure.resourcemanager.appplatform.models.MetricSpecification Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-resourcemanager-appplatform Show documentation
Show all versions of azure-resourcemanager-appplatform Show documentation
This package contains Microsoft Azure App Platform Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.
package com.azure.resourcemanager.appplatform.models;
import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
/** Specifications of the Metrics for Azure Monitoring. */
@Fluent
public final class MetricSpecification {
/*
* Name of the metric
*/
@JsonProperty(value = "name")
private String name;
/*
* Localized friendly display name of the metric
*/
@JsonProperty(value = "displayName")
private String displayName;
/*
* Localized friendly description of the metric
*/
@JsonProperty(value = "displayDescription")
private String displayDescription;
/*
* Unit that makes sense for the metric
*/
@JsonProperty(value = "unit")
private String unit;
/*
* Name of the metric category that the metric belongs to. A metric can
* only belong to a single category.
*/
@JsonProperty(value = "category")
private String category;
/*
* Only provide one value for this field. Valid values: Average, Minimum,
* Maximum, Total, Count.
*/
@JsonProperty(value = "aggregationType")
private String aggregationType;
/*
* Supported aggregation types
*/
@JsonProperty(value = "supportedAggregationTypes")
private List supportedAggregationTypes;
/*
* Supported time grain types
*/
@JsonProperty(value = "supportedTimeGrainTypes")
private List supportedTimeGrainTypes;
/*
* Optional. If set to true, then zero will be returned for time duration
* where no metric is emitted/published.
*/
@JsonProperty(value = "fillGapWithZero")
private Boolean fillGapWithZero;
/*
* Dimensions of the metric
*/
@JsonProperty(value = "dimensions")
private List dimensions;
/*
* Name of the MDM namespace. Optional.
*/
@JsonProperty(value = "sourceMdmNamespace")
private String sourceMdmNamespace;
/**
* Get the name property: Name of the metric.
*
* @return the name value.
*/
public String name() {
return this.name;
}
/**
* Set the name property: Name of the metric.
*
* @param name the name value to set.
* @return the MetricSpecification object itself.
*/
public MetricSpecification withName(String name) {
this.name = name;
return this;
}
/**
* Get the displayName property: Localized friendly display name of the metric.
*
* @return the displayName value.
*/
public String displayName() {
return this.displayName;
}
/**
* Set the displayName property: Localized friendly display name of the metric.
*
* @param displayName the displayName value to set.
* @return the MetricSpecification object itself.
*/
public MetricSpecification withDisplayName(String displayName) {
this.displayName = displayName;
return this;
}
/**
* Get the displayDescription property: Localized friendly description of the metric.
*
* @return the displayDescription value.
*/
public String displayDescription() {
return this.displayDescription;
}
/**
* Set the displayDescription property: Localized friendly description of the metric.
*
* @param displayDescription the displayDescription value to set.
* @return the MetricSpecification object itself.
*/
public MetricSpecification withDisplayDescription(String displayDescription) {
this.displayDescription = displayDescription;
return this;
}
/**
* Get the unit property: Unit that makes sense for the metric.
*
* @return the unit value.
*/
public String unit() {
return this.unit;
}
/**
* Set the unit property: Unit that makes sense for the metric.
*
* @param unit the unit value to set.
* @return the MetricSpecification object itself.
*/
public MetricSpecification withUnit(String unit) {
this.unit = unit;
return this;
}
/**
* Get the category property: Name of the metric category that the metric belongs to. A metric can only belong to a
* single category.
*
* @return the category value.
*/
public String category() {
return this.category;
}
/**
* Set the category property: Name of the metric category that the metric belongs to. A metric can only belong to a
* single category.
*
* @param category the category value to set.
* @return the MetricSpecification object itself.
*/
public MetricSpecification withCategory(String category) {
this.category = category;
return this;
}
/**
* Get the aggregationType property: Only provide one value for this field. Valid values: Average, Minimum, Maximum,
* Total, Count.
*
* @return the aggregationType value.
*/
public String aggregationType() {
return this.aggregationType;
}
/**
* Set the aggregationType property: Only provide one value for this field. Valid values: Average, Minimum, Maximum,
* Total, Count.
*
* @param aggregationType the aggregationType value to set.
* @return the MetricSpecification object itself.
*/
public MetricSpecification withAggregationType(String aggregationType) {
this.aggregationType = aggregationType;
return this;
}
/**
* Get the supportedAggregationTypes property: Supported aggregation types.
*
* @return the supportedAggregationTypes value.
*/
public List supportedAggregationTypes() {
return this.supportedAggregationTypes;
}
/**
* Set the supportedAggregationTypes property: Supported aggregation types.
*
* @param supportedAggregationTypes the supportedAggregationTypes value to set.
* @return the MetricSpecification object itself.
*/
public MetricSpecification withSupportedAggregationTypes(List supportedAggregationTypes) {
this.supportedAggregationTypes = supportedAggregationTypes;
return this;
}
/**
* Get the supportedTimeGrainTypes property: Supported time grain types.
*
* @return the supportedTimeGrainTypes value.
*/
public List supportedTimeGrainTypes() {
return this.supportedTimeGrainTypes;
}
/**
* Set the supportedTimeGrainTypes property: Supported time grain types.
*
* @param supportedTimeGrainTypes the supportedTimeGrainTypes value to set.
* @return the MetricSpecification object itself.
*/
public MetricSpecification withSupportedTimeGrainTypes(List supportedTimeGrainTypes) {
this.supportedTimeGrainTypes = supportedTimeGrainTypes;
return this;
}
/**
* Get the fillGapWithZero property: Optional. If set to true, then zero will be returned for time duration where no
* metric is emitted/published.
*
* @return the fillGapWithZero value.
*/
public Boolean fillGapWithZero() {
return this.fillGapWithZero;
}
/**
* Set the fillGapWithZero property: Optional. If set to true, then zero will be returned for time duration where no
* metric is emitted/published.
*
* @param fillGapWithZero the fillGapWithZero value to set.
* @return the MetricSpecification object itself.
*/
public MetricSpecification withFillGapWithZero(Boolean fillGapWithZero) {
this.fillGapWithZero = fillGapWithZero;
return this;
}
/**
* Get the dimensions property: Dimensions of the metric.
*
* @return the dimensions value.
*/
public List dimensions() {
return this.dimensions;
}
/**
* Set the dimensions property: Dimensions of the metric.
*
* @param dimensions the dimensions value to set.
* @return the MetricSpecification object itself.
*/
public MetricSpecification withDimensions(List dimensions) {
this.dimensions = dimensions;
return this;
}
/**
* Get the sourceMdmNamespace property: Name of the MDM namespace. Optional.
*
* @return the sourceMdmNamespace value.
*/
public String sourceMdmNamespace() {
return this.sourceMdmNamespace;
}
/**
* Set the sourceMdmNamespace property: Name of the MDM namespace. Optional.
*
* @param sourceMdmNamespace the sourceMdmNamespace value to set.
* @return the MetricSpecification object itself.
*/
public MetricSpecification withSourceMdmNamespace(String sourceMdmNamespace) {
this.sourceMdmNamespace = sourceMdmNamespace;
return this;
}
/**
* Validates the instance.
*
* @throws IllegalArgumentException thrown if the instance is not valid.
*/
public void validate() {
if (dimensions() != null) {
dimensions().forEach(e -> e.validate());
}
}
}