private static string GetTerraformZone()

in src/TemplateRefGenerator/Generators/MarkdownGenerator.cs [505:604]


    private static string GetTerraformZone(ConfigLoader configLoader, ResourceMetadata resource, ImmutableArray<NamedType> namedTypes, RemarksFile remarks, int anchorIndex)
    {
        var sb = new StringBuilder();
        sb.Append($"""
::: zone pivot="deployment-language-terraform"

## Terraform (AzAPI provider) resource definition

The {resource.UnqualifiedResourceType} resource type can be deployed with operations that target: 


""");

        if (resource.Type.ScopeType.HasFlag(ScopeType.Tenant))
        {
                    sb.Append($"""
* **Tenant**
""");
        }

        if (resource.Type.ScopeType.HasFlag(ScopeType.ManagementGroup))
        {
                    sb.Append($"""
* **Management groups**
""");
        }

        if (resource.Type.ScopeType.HasFlag(ScopeType.Subscription))
        {
                    sb.Append($"""
* **Subscription**
""");
        }

        if (resource.Type.ScopeType.HasFlag(ScopeType.ResourceGroup))
        {
                    sb.Append($"""
* **Resource groups**
""");
        }

        var samples = CodeSampleGenerator.GetExample(resource, namedTypes, CodeSampleGenerator.Flavor.Terraform);

        sb.Append($"""


For a list of changed properties in each API version, see [change log](~/{resource.Provider.ToLowerInvariant()}/change-log/{resource.UnqualifiedResourceType.ToLowerInvariant()}.md).

## Resource format

To create a {resource.ResourceType} resource, add the following Terraform to your template.

```terraform
{samples.MainSample}
```

""");

        sb.Append(GetDeploymentRemarks(resource, remarks, DeploymentType.Terraform));

        foreach (var (discObjectType, discSamples) in samples.DiscrimatedSamples)
        {
            sb.Append($"""
### {discObjectType.Name} objects

Set the **{discObjectType.Discriminator}** property to specify the type of object.


""");

            foreach (var discSample in discSamples)
            {
                sb.Append($"""
For **{discSample.DiscriminatorValue}**, use:

```terraform
{discSample.Sample}
```


""");
            }
        }

        sb.Append(GenerateOptionalSection("Property Values", [
            GetPropertyValues(resource, DeploymentType.Terraform, namedTypes, remarks, anchorIndex),
        ]));

        sb.Append(GenerateOptionalSection("Usage Examples", [
            GetAvmSection(configLoader.GetSamples(), AvmLinkType.Terraform, resource),
        ]));

        sb.Append($"""

::: zone-end

""");

        return sb.ToString();
    }