in sdk/websites/Azure.ResourceManager.AppService/src/Customization/ProcessThreadInfo.Serialization.cs [320:657]
private BinaryData SerializeBicep(ModelReaderWriterOptions options)
{
StringBuilder builder = new StringBuilder();
BicepModelReaderWriterOptions bicepOptions = options as BicepModelReaderWriterOptions;
IDictionary<string, string> propertyOverrides = null;
bool hasObjectOverride = bicepOptions != null && bicepOptions.PropertyOverrides.TryGetValue(this, out propertyOverrides);
bool hasPropertyOverride = false;
string propertyOverride = null;
builder.AppendLine("{");
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Name), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" name: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(Name))
{
builder.Append(" name: ");
if (Name.Contains(Environment.NewLine))
{
builder.AppendLine("'''");
builder.AppendLine($"{Name}'''");
}
else
{
builder.AppendLine($"'{Name}'");
}
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Kind), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" kind: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(Kind))
{
builder.Append(" kind: ");
if (Kind.Contains(Environment.NewLine))
{
builder.AppendLine("'''");
builder.AppendLine($"{Kind}'''");
}
else
{
builder.AppendLine($"'{Kind}'");
}
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Id), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" id: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(Id))
{
builder.Append(" id: ");
builder.AppendLine($"'{Id.ToString()}'");
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(SystemData), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" systemData: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(SystemData))
{
builder.Append(" systemData: ");
builder.AppendLine($"'{SystemData.ToString()}'");
}
}
builder.Append(" properties:");
builder.AppendLine(" {");
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Identifier), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" identifier: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(Identifier))
{
builder.Append(" identifier: ");
builder.AppendLine($"{Identifier.Value}");
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Href), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" href: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(Href))
{
builder.Append(" href: ");
if (Href.Contains(Environment.NewLine))
{
builder.AppendLine("'''");
builder.AppendLine($"{Href}'''");
}
else
{
builder.AppendLine($"'{Href}'");
}
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Process), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" process: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(Process))
{
builder.Append(" process: ");
if (Process.Contains(Environment.NewLine))
{
builder.AppendLine("'''");
builder.AppendLine($"{Process}'''");
}
else
{
builder.AppendLine($"'{Process}'");
}
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(StartAddress), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" start_address: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(StartAddress))
{
builder.Append(" start_address: ");
if (StartAddress.Contains(Environment.NewLine))
{
builder.AppendLine("'''");
builder.AppendLine($"{StartAddress}'''");
}
else
{
builder.AppendLine($"'{StartAddress}'");
}
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(CurrentPriority), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" current_priority: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(CurrentPriority))
{
builder.Append(" current_priority: ");
builder.AppendLine($"{CurrentPriority.Value}");
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(PriorityLevel), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" priority_level: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(PriorityLevel))
{
builder.Append(" priority_level: ");
if (PriorityLevel.Contains(Environment.NewLine))
{
builder.AppendLine("'''");
builder.AppendLine($"{PriorityLevel}'''");
}
else
{
builder.AppendLine($"'{PriorityLevel}'");
}
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(BasePriority), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" base_priority: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(BasePriority))
{
builder.Append(" base_priority: ");
builder.AppendLine($"{BasePriority.Value}");
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(StartOn), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" start_time: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(StartOn))
{
builder.Append(" start_time: ");
var formattedDateTimeString = TypeFormatters.ToString(StartOn.Value, "o");
builder.AppendLine($"'{formattedDateTimeString}'");
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(TotalProcessorTime), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" total_processor_time: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(TotalProcessorTime))
{
builder.Append(" total_processor_time: ");
if (TotalProcessorTime.Contains(Environment.NewLine))
{
builder.AppendLine("'''");
builder.AppendLine($"{TotalProcessorTime}'''");
}
else
{
builder.AppendLine($"'{TotalProcessorTime}'");
}
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(UserProcessorTime), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" user_processor_time: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(UserProcessorTime))
{
builder.Append(" user_processor_time: ");
if (UserProcessorTime.Contains(Environment.NewLine))
{
builder.AppendLine("'''");
builder.AppendLine($"{UserProcessorTime}'''");
}
else
{
builder.AppendLine($"'{UserProcessorTime}'");
}
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(State), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" state: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(State))
{
builder.Append(" state: ");
if (State.Contains(Environment.NewLine))
{
builder.AppendLine("'''");
builder.AppendLine($"{State}'''");
}
else
{
builder.AppendLine($"'{State}'");
}
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(WaitReason), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" wait_reason: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(WaitReason))
{
builder.Append(" wait_reason: ");
if (WaitReason.Contains(Environment.NewLine))
{
builder.AppendLine("'''");
builder.AppendLine($"{WaitReason}'''");
}
else
{
builder.AppendLine($"'{WaitReason}'");
}
}
}
builder.AppendLine(" }");
builder.AppendLine("}");
return BinaryData.FromString(builder.ToString());
}