func (m *Provider) UnmarshalJSON(raw []byte) error {
	var data struct {
		Type string `json:"type"`
		Target *ProviderAO1Target `json:"target"`
	}
	buf := bytes.NewBuffer(raw)
	dec := json.NewDecoder(buf)
	dec.UseNumber()
	if err := dec.Decode(&data); err != nil {
		return err
	}
	m.Target = data.Target
	return nil
}
UnmarshalJSON unmarshals this polymorphic type from a JSON structure
package models
import (
	"bytes"
	"encoding/json"
	strfmt "github.com/go-openapi/strfmt"
	"github.com/manifoldco/go-manifold"
	"github.com/go-openapi/errors"
	"github.com/go-openapi/validate"
)
type Provider struct {
	Target *ProviderAO1Target `json:"target"`
}
func (m *Provider) Type() string {
	return "provider"
}
func (m *Provider) SetType(val string) {
}