// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.

package com.azure.ai.metricsadvisor.implementation.models;

import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonProperty;

/** The DataFeedMetric model. */
@Fluent
public final class DataFeedMetric {
    /*
     * metric id
     */
    @JsonProperty(value = "metricId", access = JsonProperty.Access.WRITE_ONLY)
    private String metricId;

    /*
     * metric name
     */
    @JsonProperty(value = "metricName", required = true)
    private String metricName;

    /*
     * metric display name
     */
    @JsonProperty(value = "metricDisplayName")
    private String metricDisplayName;

    /*
     * metric description
     */
    @JsonProperty(value = "metricDescription")
    private String metricDescription;

    /** Creates an instance of DataFeedMetric class. */
    public DataFeedMetric() {}

    /**
     * Get the metricId property: metric id.
     *
     * @return the metricId value.
     */
    public String getMetricId() {
        return this.metricId;
    }

    /**
     * Get the metricName property: metric name.
     *
     * @return the metricName value.
     */
    public String getMetricName() {
        return this.metricName;
    }

    /**
     * Set the metricName property: metric name.
     *
     * @param metricName the metricName value to set.
     * @return the DataFeedMetric object itself.
     */
    public DataFeedMetric setMetricName(String metricName) {
        this.metricName = metricName;
        return this;
    }

    /**
     * Get the metricDisplayName property: metric display name.
     *
     * @return the metricDisplayName value.
     */
    public String getMetricDisplayName() {
        return this.metricDisplayName;
    }

    /**
     * Set the metricDisplayName property: metric display name.
     *
     * @param metricDisplayName the metricDisplayName value to set.
     * @return the DataFeedMetric object itself.
     */
    public DataFeedMetric setMetricDisplayName(String metricDisplayName) {
        this.metricDisplayName = metricDisplayName;
        return this;
    }

    /**
     * Get the metricDescription property: metric description.
     *
     * @return the metricDescription value.
     */
    public String getMetricDescription() {
        return this.metricDescription;
    }

    /**
     * Set the metricDescription property: metric description.
     *
     * @param metricDescription the metricDescription value to set.
     * @return the DataFeedMetric object itself.
     */
    public DataFeedMetric setMetricDescription(String metricDescription) {
        this.metricDescription = metricDescription;
        return this;
    }
}
