internal WhatIfChange(string resourceId, WhatIfChangeType changeType, string unsupportedReason, BinaryData before, BinaryData after, IReadOnlyList <WhatIfPropertyChange> delta) { ResourceId = resourceId; ChangeType = changeType; UnsupportedReason = unsupportedReason; Before = before; After = after; Delta = delta; }
internal WhatIfChange(string resourceId, WhatIfChangeType changeType) { if (resourceId == null) { throw new ArgumentNullException(nameof(resourceId)); } ResourceId = resourceId; ChangeType = changeType; Delta = new ChangeTrackingList <WhatIfPropertyChange>(); }
internal static WhatIfChange DeserializeWhatIfChange(JsonElement element) { string resourceId = default; WhatIfChangeType changeType = default; Optional <string> unsupportedReason = default; Optional <BinaryData> before = default; Optional <BinaryData> after = default; Optional <IReadOnlyList <WhatIfPropertyChange> > delta = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("resourceId")) { resourceId = property.Value.GetString(); continue; } if (property.NameEquals("changeType")) { changeType = property.Value.GetString().ToWhatIfChangeType(); continue; } if (property.NameEquals("unsupportedReason")) { unsupportedReason = property.Value.GetString(); continue; } if (property.NameEquals("before")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } before = BinaryData.FromString(property.Value.GetRawText()); continue; } if (property.NameEquals("after")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } after = BinaryData.FromString(property.Value.GetRawText()); continue; } if (property.NameEquals("delta")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <WhatIfPropertyChange> array = new List <WhatIfPropertyChange>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(WhatIfPropertyChange.DeserializeWhatIfPropertyChange(item)); } delta = array; continue; } } return(new WhatIfChange(resourceId, changeType, unsupportedReason.Value, before.Value, after.Value, Optional.ToList(delta))); }
public static string ToSerialString(this WhatIfChangeType value) => value switch {