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

package com.azure.resourcemanager.recoveryservices.models;

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

/** Summary of the replication job data for this vault. */
@Fluent
public final class JobsSummary {
    /*
     * Count of failed jobs.
     */
    @JsonProperty(value = "failedJobs")
    private Integer failedJobs;

    /*
     * Count of suspended jobs.
     */
    @JsonProperty(value = "suspendedJobs")
    private Integer suspendedJobs;

    /*
     * Count of in-progress jobs.
     */
    @JsonProperty(value = "inProgressJobs")
    private Integer inProgressJobs;

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

    /**
     * Get the failedJobs property: Count of failed jobs.
     *
     * @return the failedJobs value.
     */
    public Integer failedJobs() {
        return this.failedJobs;
    }

    /**
     * Set the failedJobs property: Count of failed jobs.
     *
     * @param failedJobs the failedJobs value to set.
     * @return the JobsSummary object itself.
     */
    public JobsSummary withFailedJobs(Integer failedJobs) {
        this.failedJobs = failedJobs;
        return this;
    }

    /**
     * Get the suspendedJobs property: Count of suspended jobs.
     *
     * @return the suspendedJobs value.
     */
    public Integer suspendedJobs() {
        return this.suspendedJobs;
    }

    /**
     * Set the suspendedJobs property: Count of suspended jobs.
     *
     * @param suspendedJobs the suspendedJobs value to set.
     * @return the JobsSummary object itself.
     */
    public JobsSummary withSuspendedJobs(Integer suspendedJobs) {
        this.suspendedJobs = suspendedJobs;
        return this;
    }

    /**
     * Get the inProgressJobs property: Count of in-progress jobs.
     *
     * @return the inProgressJobs value.
     */
    public Integer inProgressJobs() {
        return this.inProgressJobs;
    }

    /**
     * Set the inProgressJobs property: Count of in-progress jobs.
     *
     * @param inProgressJobs the inProgressJobs value to set.
     * @return the JobsSummary object itself.
     */
    public JobsSummary withInProgressJobs(Integer inProgressJobs) {
        this.inProgressJobs = inProgressJobs;
        return this;
    }

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