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

package com.azure.resourcemanager.netapp.models;

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

/** Volume details using the backup policy. */
@Fluent
public final class VolumeBackups {
    /*
     * Volume name
     */
    @JsonProperty(value = "volumeName")
    private String volumeName;

    /*
     * Total count of backups for volume
     */
    @JsonProperty(value = "backupsCount")
    private Integer backupsCount;

    /*
     * Policy enabled
     */
    @JsonProperty(value = "policyEnabled")
    private Boolean policyEnabled;

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

    /**
     * Get the volumeName property: Volume name.
     *
     * @return the volumeName value.
     */
    public String volumeName() {
        return this.volumeName;
    }

    /**
     * Set the volumeName property: Volume name.
     *
     * @param volumeName the volumeName value to set.
     * @return the VolumeBackups object itself.
     */
    public VolumeBackups withVolumeName(String volumeName) {
        this.volumeName = volumeName;
        return this;
    }

    /**
     * Get the backupsCount property: Total count of backups for volume.
     *
     * @return the backupsCount value.
     */
    public Integer backupsCount() {
        return this.backupsCount;
    }

    /**
     * Set the backupsCount property: Total count of backups for volume.
     *
     * @param backupsCount the backupsCount value to set.
     * @return the VolumeBackups object itself.
     */
    public VolumeBackups withBackupsCount(Integer backupsCount) {
        this.backupsCount = backupsCount;
        return this;
    }

    /**
     * Get the policyEnabled property: Policy enabled.
     *
     * @return the policyEnabled value.
     */
    public Boolean policyEnabled() {
        return this.policyEnabled;
    }

    /**
     * Set the policyEnabled property: Policy enabled.
     *
     * @param policyEnabled the policyEnabled value to set.
     * @return the VolumeBackups object itself.
     */
    public VolumeBackups withPolicyEnabled(Boolean policyEnabled) {
        this.policyEnabled = policyEnabled;
        return this;
    }

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