in sdk/sqlmanagement/Azure.ResourceManager.Sql/src/Custom/DistributedAvailabilityGroupData.Serialization.cs [259:526]
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(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(TargetDatabase), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" targetDatabase: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(TargetDatabase))
{
builder.Append(" targetDatabase: ");
if (TargetDatabase.Contains(Environment.NewLine))
{
builder.AppendLine("'''");
builder.AppendLine($"{TargetDatabase}'''");
}
else
{
builder.AppendLine($"'{TargetDatabase}'");
}
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(SourceEndpoint), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" sourceEndpoint: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(SourceEndpoint))
{
builder.Append(" sourceEndpoint: ");
if (SourceEndpoint.Contains(Environment.NewLine))
{
builder.AppendLine("'''");
builder.AppendLine($"{SourceEndpoint}'''");
}
else
{
builder.AppendLine($"'{SourceEndpoint}'");
}
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(PrimaryAvailabilityGroupName), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" primaryAvailabilityGroupName: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(PrimaryAvailabilityGroupName))
{
builder.Append(" primaryAvailabilityGroupName: ");
if (PrimaryAvailabilityGroupName.Contains(Environment.NewLine))
{
builder.AppendLine("'''");
builder.AppendLine($"{PrimaryAvailabilityGroupName}'''");
}
else
{
builder.AppendLine($"'{PrimaryAvailabilityGroupName}'");
}
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(SecondaryAvailabilityGroupName), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" secondaryAvailabilityGroupName: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(SecondaryAvailabilityGroupName))
{
builder.Append(" secondaryAvailabilityGroupName: ");
if (SecondaryAvailabilityGroupName.Contains(Environment.NewLine))
{
builder.AppendLine("'''");
builder.AppendLine($"{SecondaryAvailabilityGroupName}'''");
}
else
{
builder.AppendLine($"'{SecondaryAvailabilityGroupName}'");
}
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(ReplicationMode), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" replicationMode: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(ReplicationMode))
{
builder.Append(" replicationMode: ");
builder.AppendLine($"'{ReplicationMode.Value.ToString()}'");
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(DistributedAvailabilityGroupId), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" distributedAvailabilityGroupId: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(DistributedAvailabilityGroupId))
{
builder.Append(" distributedAvailabilityGroupId: ");
builder.AppendLine($"'{DistributedAvailabilityGroupId.Value.ToString()}'");
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(SourceReplicaId), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" sourceReplicaId: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(SourceReplicaId))
{
builder.Append(" sourceReplicaId: ");
builder.AppendLine($"'{SourceReplicaId.Value.ToString()}'");
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(TargetReplicaId), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" targetReplicaId: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(TargetReplicaId))
{
builder.Append(" targetReplicaId: ");
builder.AppendLine($"'{TargetReplicaId.Value.ToString()}'");
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(LinkState), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" linkState: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(LinkState))
{
builder.Append(" linkState: ");
if (LinkState.Contains(Environment.NewLine))
{
builder.AppendLine("'''");
builder.AppendLine($"{LinkState}'''");
}
else
{
builder.AppendLine($"'{LinkState}'");
}
}
}
hasPropertyOverride = hasObjectOverride && propertyOverrides.TryGetValue(nameof(LastHardenedLsn), out propertyOverride);
if (hasPropertyOverride)
{
builder.Append(" lastHardenedLsn: ");
builder.AppendLine(propertyOverride);
}
else
{
if (Optional.IsDefined(LastHardenedLsn))
{
builder.Append(" lastHardenedLsn: ");
if (LastHardenedLsn.Contains(Environment.NewLine))
{
builder.AppendLine("'''");
builder.AppendLine($"{LastHardenedLsn}'''");
}
else
{
builder.AppendLine($"'{LastHardenedLsn}'");
}
}
}
builder.AppendLine(" }");
builder.AppendLine("}");
return BinaryData.FromString(builder.ToString());
}