func (n *Network) MarshalJSON() ([]byte, error) {
	return json.Marshal(*n)
}
MarshalJSON is a hacky workaround to compute.Network's implementation.
package daisy
import (
	"context"
	"encoding/json"
	"fmt"
	"net"
	"net/http"
	"regexp"
	daisyCompute "github.com/GoogleCloudPlatform/compute-image-tools/daisy/compute"
	"google.golang.org/api/compute/v1"
	"google.golang.org/api/googleapi"
)
var (
	networkURLRegex = regexp.MustCompile(fmt.Sprintf(`^(projects/(?P<project>%[1]s)/)?global/networks/(?P<network>%[2]s)$`, projectRgxStr, rfc1035))
)
func (w *Workflow) networkExists(project, network string) (bool, DError) {
	return w.networkCache.resourceExists(func(project string, opts ...daisyCompute.ListCallOption) (interface{}, error) {
		return w.ComputeClient.ListNetworks(project)
	}, project, network)
}
type Network struct {
	compute.Network
	AutoCreateSubnetworks *bool `json:"autoCreateSubnetworks,omitempty"`
	Resource
}