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

package com.azure.resourcemanager.appcomplianceautomation.models;

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

/** The overview of the compliance result for one report. */
@Fluent
public final class OverviewStatus {
    /*
     * The count of all passed full automation control.
     */
    @JsonProperty(value = "passedCount")
    private Integer passedCount;

    /*
     * The count of all failed full automation control.
     */
    @JsonProperty(value = "failedCount")
    private Integer failedCount;

    /*
     * The count of all manual control.
     */
    @JsonProperty(value = "manualCount")
    private Integer manualCount;

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

    /**
     * Get the passedCount property: The count of all passed full automation control.
     *
     * @return the passedCount value.
     */
    public Integer passedCount() {
        return this.passedCount;
    }

    /**
     * Set the passedCount property: The count of all passed full automation control.
     *
     * @param passedCount the passedCount value to set.
     * @return the OverviewStatus object itself.
     */
    public OverviewStatus withPassedCount(Integer passedCount) {
        this.passedCount = passedCount;
        return this;
    }

    /**
     * Get the failedCount property: The count of all failed full automation control.
     *
     * @return the failedCount value.
     */
    public Integer failedCount() {
        return this.failedCount;
    }

    /**
     * Set the failedCount property: The count of all failed full automation control.
     *
     * @param failedCount the failedCount value to set.
     * @return the OverviewStatus object itself.
     */
    public OverviewStatus withFailedCount(Integer failedCount) {
        this.failedCount = failedCount;
        return this;
    }

    /**
     * Get the manualCount property: The count of all manual control.
     *
     * @return the manualCount value.
     */
    public Integer manualCount() {
        return this.manualCount;
    }

    /**
     * Set the manualCount property: The count of all manual control.
     *
     * @param manualCount the manualCount value to set.
     * @return the OverviewStatus object itself.
     */
    public OverviewStatus withManualCount(Integer manualCount) {
        this.manualCount = manualCount;
        return this;
    }

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