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

package com.azure.resourcemanager.appcontainers.models;

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

/** Workload Profile resource specific properties. */
@Fluent
public final class WorkloadProfileStatesProperties {
    /*
     * Minimum count of instances.
     */
    @JsonProperty(value = "minimumCount")
    private Integer minimumCount;

    /*
     * Maximum count of nodes.
     */
    @JsonProperty(value = "maximumCount")
    private Integer maximumCount;

    /*
     * Current count of nodes.
     */
    @JsonProperty(value = "currentCount")
    private Integer currentCount;

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

    /**
     * Get the minimumCount property: Minimum count of instances.
     *
     * @return the minimumCount value.
     */
    public Integer minimumCount() {
        return this.minimumCount;
    }

    /**
     * Set the minimumCount property: Minimum count of instances.
     *
     * @param minimumCount the minimumCount value to set.
     * @return the WorkloadProfileStatesProperties object itself.
     */
    public WorkloadProfileStatesProperties withMinimumCount(Integer minimumCount) {
        this.minimumCount = minimumCount;
        return this;
    }

    /**
     * Get the maximumCount property: Maximum count of nodes.
     *
     * @return the maximumCount value.
     */
    public Integer maximumCount() {
        return this.maximumCount;
    }

    /**
     * Set the maximumCount property: Maximum count of nodes.
     *
     * @param maximumCount the maximumCount value to set.
     * @return the WorkloadProfileStatesProperties object itself.
     */
    public WorkloadProfileStatesProperties withMaximumCount(Integer maximumCount) {
        this.maximumCount = maximumCount;
        return this;
    }

    /**
     * Get the currentCount property: Current count of nodes.
     *
     * @return the currentCount value.
     */
    public Integer currentCount() {
        return this.currentCount;
    }

    /**
     * Set the currentCount property: Current count of nodes.
     *
     * @param currentCount the currentCount value to set.
     * @return the WorkloadProfileStatesProperties object itself.
     */
    public WorkloadProfileStatesProperties withCurrentCount(Integer currentCount) {
        this.currentCount = currentCount;
        return this;
    }

    /**
     * Validates the instance.
     *
     * @throws IllegalArgumentException thrown if the instance is not valid.
     */
    public void validate() {
    }
}
