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

package com.azure.resourcemanager.networkcloud.models;

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

/**
 * ClusterAvailableVersion represents the cluster version that the cluster manager can be asked to create and manage.
 */
@Immutable
public final class ClusterAvailableVersion {
    /*
     * The last date the version of the platform is supported.
     */
    @JsonProperty(value = "supportExpiryDate", access = JsonProperty.Access.WRITE_ONLY)
    private String supportExpiryDate;

    /*
     * The version of the cluster to be deployed.
     */
    @JsonProperty(value = "targetClusterVersion", access = JsonProperty.Access.WRITE_ONLY)
    private String targetClusterVersion;

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

    /**
     * Get the supportExpiryDate property: The last date the version of the platform is supported.
     *
     * @return the supportExpiryDate value.
     */
    public String supportExpiryDate() {
        return this.supportExpiryDate;
    }

    /**
     * Get the targetClusterVersion property: The version of the cluster to be deployed.
     *
     * @return the targetClusterVersion value.
     */
    public String targetClusterVersion() {
        return this.targetClusterVersion;
    }

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