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

package com.azure.resourcemanager.recoveryservicessiterecovery.models;

import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;

/** This class stores the monitoring details for consistency check of inconsistent Protected Entity. */
@Fluent
public final class InconsistentVmDetails {
    /*
     * The Vm name.
     */
    @JsonProperty(value = "vmName")
    private String vmName;

    /*
     * The Cloud name.
     */
    @JsonProperty(value = "cloudName")
    private String cloudName;

    /*
     * The list of details regarding state of the Protected Entity in SRS and On prem.
     */
    @JsonProperty(value = "details")
    private List<String> details;

    /*
     * The list of error ids.
     */
    @JsonProperty(value = "errorIds")
    private List<String> errorIds;

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

    /**
     * Get the vmName property: The Vm name.
     *
     * @return the vmName value.
     */
    public String vmName() {
        return this.vmName;
    }

    /**
     * Set the vmName property: The Vm name.
     *
     * @param vmName the vmName value to set.
     * @return the InconsistentVmDetails object itself.
     */
    public InconsistentVmDetails withVmName(String vmName) {
        this.vmName = vmName;
        return this;
    }

    /**
     * Get the cloudName property: The Cloud name.
     *
     * @return the cloudName value.
     */
    public String cloudName() {
        return this.cloudName;
    }

    /**
     * Set the cloudName property: The Cloud name.
     *
     * @param cloudName the cloudName value to set.
     * @return the InconsistentVmDetails object itself.
     */
    public InconsistentVmDetails withCloudName(String cloudName) {
        this.cloudName = cloudName;
        return this;
    }

    /**
     * Get the details property: The list of details regarding state of the Protected Entity in SRS and On prem.
     *
     * @return the details value.
     */
    public List<String> details() {
        return this.details;
    }

    /**
     * Set the details property: The list of details regarding state of the Protected Entity in SRS and On prem.
     *
     * @param details the details value to set.
     * @return the InconsistentVmDetails object itself.
     */
    public InconsistentVmDetails withDetails(List<String> details) {
        this.details = details;
        return this;
    }

    /**
     * Get the errorIds property: The list of error ids.
     *
     * @return the errorIds value.
     */
    public List<String> errorIds() {
        return this.errorIds;
    }

    /**
     * Set the errorIds property: The list of error ids.
     *
     * @param errorIds the errorIds value to set.
     * @return the InconsistentVmDetails object itself.
     */
    public InconsistentVmDetails withErrorIds(List<String> errorIds) {
        this.errorIds = errorIds;
        return this;
    }

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