private string FormatRolloutInfoHeader(PSRollout rollout) { StringBuilder sb = new StringBuilder(); sb.InvariantAppend($"\n\nStatus: {rollout.Status}"); if (rollout.Status == RolloutCmdletBase.FailedStatus) { verboseBuilder.InvariantAppend(sb.ToString()); sb.Clear(); } sb.Append(RolloutCmdletBase.FormatRolloutDetails(rollout)); sb.AppendFormatWithLeftIndentAndNewLineIfNotNull( RolloutCmdletBase.NoIndent, "Total Retry Attempts", rollout.TotalRetryAttempts.HasValue && rollout.TotalRetryAttempts > 0 ? rollout.TotalRetryAttempts.Value.ToString(CultureInfo.InvariantCulture) : null); if (rollout.OperationInfo != null) { sb.AppendFormatWithLeftIndentAndNewLine(NoIndent, RolloutCmdletBase.FormatOperationInfo(rollout.OperationInfo, RolloutCmdletBase.NoIndent)); } return(sb.ToString()); }
private void PrintServiceUnits(PSServiceUnit serviceUnit, StringBuilder eb) { StringBuilder sb = new StringBuilder(); if (serviceUnit != null) { sb.AppendLine(); sb.AppendFormatWithLeftIndentAndNewLine( RolloutCmdletBase.ServiceUnitIndentFactor, $"ServiceUnit: {serviceUnit.Name}"); sb.AppendFormatWithLeftIndentAndNewLineIfNotNull( RolloutCmdletBase.StepIndentFactor, "TargetResourceGroup", serviceUnit.TargetResourceGroup); foreach (var step in serviceUnit.Steps) { if (step.Status != null && step.Status.Equals("Failed", StringComparison.OrdinalIgnoreCase)) { verboseBuilder.InvariantAppend(sb.ToString()); sb.Clear(); } sb.AppendLine(); sb.AppendFormatWithLeftIndentAndNewLine(RolloutCmdletBase.StepIndentFactor, $"Step: {step.Name}"); sb.AppendFormatWithLeftIndentAndNewLine(RolloutCmdletBase.StepPropertiesIndentFactor, $"Status: {step.Status}"); sb.AppendFormatWithLeftIndentAndNewLine(RolloutCmdletBase.StepPropertiesIndentFactor, $"StepGroup: {step.StepGroup}"); sb.AppendFormatWithLeftIndentAndNewLineIfNotNull( RolloutCmdletBase.StepPropertiesIndentFactor, "Message", RolloutCmdletBase.ActionMessagesToDisplayString(step.Messages)); if (step.OperationInfo != null) { string formatOperationInfo = RolloutCmdletBase.FormatOperationInfo(step.OperationInfo, RolloutCmdletBase.StepPropertiesIndentFactor); sb.Append(formatOperationInfo); } if (step.Status != null && step.Status.Equals("Failed", StringComparison.OrdinalIgnoreCase)) { verboseBuilder.InvariantAppend(sb.ToString()); eb.InvariantAppend(sb.ToString()); } else { verboseBuilder.InvariantAppend(sb.ToString()); } sb.Clear(); this.PrintResourceOperations(step.ResourceOperations, eb); } } }