private static NodeRepairImpactDescription GetImpactFromDetails(ITenantJob tenantJob, CoordinatorEnvironment environment) { environment.Validate("environment"); var translator = new ImpactTranslator(environment); var impact = new NodeRepairImpactDescription(); if (tenantJob.JobStep == null || tenantJob.JobStep.CurrentlyImpactedRoleInstances == null) { return(impact); } foreach (var roleInstance in tenantJob.JobStep.CurrentlyImpactedRoleInstances) { string nodeName = roleInstance.RoleInstanceName.TranslateRoleInstanceToNodeName(); NodeImpactLevel impactLevel = translator.TranslateImpactDetailToNodeImpactLevel( tenantJob.ImpactDetail.ImpactAction, roleInstance.ExpectedImpact); if (impactLevel != NodeImpactLevel.None) { var nodeImpact = new NodeImpact(nodeName, impactLevel); impact.ImpactedNodes.Add(nodeImpact); } } return(impact); }
/// <summary> /// Serializes the object to JSON. /// </summary> /// <param name="writer">The <see cref="T: Newtonsoft.Json.JsonWriter" /> to write to.</param> /// <param name="obj">The object to serialize to JSON.</param> internal static void Serialize(JsonWriter writer, NodeImpact obj) { // Required properties are always serialized, optional properties are serialized when not null. writer.WriteStartObject(); writer.WriteProperty(obj.NodeName, "NodeName", JsonWriterExtensions.WriteStringValue); writer.WriteProperty(obj.ImpactLevel, "ImpactLevel", ImpactLevelConverter.Serialize); writer.WriteEndObject(); }
private static WinFabricNodeImpact Convert(NodeImpact nodeImpact) { ThrowIf.Null(nodeImpact, "nodeImpact"); return(new WinFabricNodeImpact() { NodeName = nodeImpact.NodeName, ImpactLevel = Convert(nodeImpact.ImpactLevel) }); }