public DateTime RolloutStartTimeUTC { get; set; }
public InfoItem(DateTime rolloutStartTimeUTC)
this.RolloutStartTimeUTC = rolloutStartTimeUTC;
public string Cluster { get; set; }
public string TargetVersion { get; set; }
public InfoItem Info { get; set; }
public string PathExtension { get; set; }
public UpdateInfo(string cluster, string targetVersion)
TargetVersion = targetVersion;
PathExtension = string.Format("{0}/{1}",cluster, targetVersion);
public UpdateInfo(string cluster, string targetVersion, DateTime rolloutStartTimeUTC)
: this(cluster, targetVersion)
Info = new InfoItem(rolloutStartTimeUTC);
public static void Main()
var updateInfo = new UpdateInfo("cluster", "20.09", DateTime.UtcNow.AddDays(-1));
string mstream = JsonConvert.SerializeObject(updateInfo);
Encoding DataEncoding = Encoding.UTF8;
byte[] bytes = DataEncoding.GetBytes(mstream);
var dataString = DataEncoding.GetString(bytes);
var dataItem = JsonConvert.DeserializeObject<InfoItem>(dataString);
Console.WriteLine("returned string: {0} dateitem: {1}", dataString, dataItem.RolloutStartTimeUTC);