internal static VersionStatus GetVersionStatusInternal(Version hdinsightClusterVersion)
        {
            hdinsightClusterVersion.ArgumentNotNull("version");
            //version < MinVersion
            if (hdinsightClusterVersion.Major < HDInsightSDKSupportedVersions.MinVersion.Major ||
                (hdinsightClusterVersion.Major == HDInsightSDKSupportedVersions.MinVersion.Major &&
                 hdinsightClusterVersion.Minor < HDInsightSDKSupportedVersions.MinVersion.Minor))
            {
                return VersionStatus.Obsolete;
            }
            //version > MaxVersion
            else if (hdinsightClusterVersion.Major > HDInsightSDKSupportedVersions.MaxVersion.Major ||
                     (hdinsightClusterVersion.Major == HDInsightSDKSupportedVersions.MaxVersion.Major &&
                      hdinsightClusterVersion.Minor > HDInsightSDKSupportedVersions.MaxVersion.Minor))
            {
                return VersionStatus.ToolsUpgradeRequired;
            }

            return VersionStatus.Compatible;
        }