in sdk/postgresql/Azure.ResourceManager.PostgreSql/src/PostgreSqlFlexibleServers/Custom/PostgreSqlFlexibleServerHyperscaleNodeEditionCapability.Serialization.cs [183:306]
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 (Optional.IsDefined(Name) || hasPropertyOverride)
{
builder.Append(" name: ");
if (hasPropertyOverride)
{
builder.AppendLine($"{propertyOverride}");
}
else
{
if (Name.Contains(Environment.NewLine))
{
builder.AppendLine("'''");
builder.AppendLine($"{Name}'''");
}
else
{
builder.AppendLine($"'{Name}'");
}
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(SupportedStorageEditions), out propertyOverride);
if (Optional.IsCollectionDefined(SupportedStorageEditions) || hasPropertyOverride)
{
if (SupportedStorageEditions.Any() || hasPropertyOverride)
{
builder.Append(" supportedStorageEditions: ");
if (hasPropertyOverride)
{
builder.AppendLine($"{propertyOverride}");
}
else
{
builder.AppendLine("[");
foreach (var item in SupportedStorageEditions)
{
BicepSerializationHelpers.AppendChildObject(builder, item, options, 4, true, " supportedStorageEditions: ");
}
builder.AppendLine(" ]");
}
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(SupportedServerVersions), out propertyOverride);
if (Optional.IsCollectionDefined(SupportedServerVersions) || hasPropertyOverride)
{
if (SupportedServerVersions.Any() || hasPropertyOverride)
{
builder.Append(" supportedServerVersions: ");
if (hasPropertyOverride)
{
builder.AppendLine($"{propertyOverride}");
}
else
{
builder.AppendLine("[");
foreach (var item in SupportedServerVersions)
{
BicepSerializationHelpers.AppendChildObject(builder, item, options, 4, true, " supportedServerVersions: ");
}
builder.AppendLine(" ]");
}
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(SupportedNodeTypes), out propertyOverride);
if (Optional.IsCollectionDefined(SupportedNodeTypes) || hasPropertyOverride)
{
if (SupportedNodeTypes.Any() || hasPropertyOverride)
{
builder.Append(" supportedNodeTypes: ");
if (hasPropertyOverride)
{
builder.AppendLine($"{propertyOverride}");
}
else
{
builder.AppendLine("[");
foreach (var item in SupportedNodeTypes)
{
BicepSerializationHelpers.AppendChildObject(builder, item, options, 4, true, " supportedNodeTypes: ");
}
builder.AppendLine(" ]");
}
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(Status), out propertyOverride);
if (Optional.IsDefined(Status) || hasPropertyOverride)
{
builder.Append(" status: ");
if (hasPropertyOverride)
{
builder.AppendLine($"{propertyOverride}");
}
else
{
if (Status.Contains(Environment.NewLine))
{
builder.AppendLine("'''");
builder.AppendLine($"{Status}'''");
}
else
{
builder.AppendLine($"'{Status}'");
}
}
}
builder.AppendLine("}");
return BinaryData.FromString(builder.ToString());
}