private static string GetArmTemplateZone()

in src/TemplateRefGenerator/Generators/MarkdownGenerator.cs [404:503]


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

## ARM template resource definition

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


""");

        if (resource.Type.ScopeType.HasFlag(ScopeType.Tenant))
        {
                    sb.Append($"""
* **Tenant** - See [tenant deployment commands](/azure/azure-resource-manager/templates/deploy-to-tenant)
""");
        }

        if (resource.Type.ScopeType.HasFlag(ScopeType.ManagementGroup))
        {
                    sb.Append($"""
* **Management groups** - See [management group deployment commands](/azure/azure-resource-manager/templates/deploy-to-management-group)
""");
        }

        if (resource.Type.ScopeType.HasFlag(ScopeType.Subscription))
        {
                    sb.Append($"""
* **Subscription** - See [subscription deployment commands](/azure/azure-resource-manager/templates/deploy-to-subscription)
""");
        }

        if (resource.Type.ScopeType.HasFlag(ScopeType.ResourceGroup))
        {
                    sb.Append($"""
* **Resource groups** - See [resource group deployment commands](/azure/azure-resource-manager/templates/deploy-to-resource-group)
""");
        }

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

        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 JSON to your template.

```json
{samples.MainSample}
```

""");

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

        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:

```json
{discSample.Sample}
```


""");
            }
        }

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

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

        sb.Append($"""

::: zone-end

""");

        return sb.ToString();
    }