func applyARMConversionInterface(idFactory astmodel.IdentifierFactory) PipelineStage {
	return MakePipelineStage(
		"applyArmConversionInterface",
		"Apply the ARM conversion interface to Kubernetes types",
		func(ctx context.Context, definitions astmodel.Types) (astmodel.Types, error) {
			converter := &armConversionApplier{
				definitions: definitions,
				idFactory:   idFactory,
			}
			return converter.transformTypes()
		})
}
applyARMConversionInterface adds the genruntime.ARMTransformer interface and the Owner property
to all Kubernetes types.
The genruntime.ARMTransformer interface is used to convert from the Kubernetes type to the corresponding ARM type and back.
package codegen
import (
	"context"
	"strings"
	"github.com/pkg/errors"
	"github.com/Azure/k8s-infra/hack/generator/pkg/astmodel"
	"github.com/Azure/k8s-infra/hack/generator/pkg/astmodel/armconversion"
)