func newTPUService(client *http.Client) (*tpuService, error) {
	s, err := tpuapi.NewService(context.Background())
	if err != nil {
		return nil, err
	}
	return &tpuService{
		projects: tpuapi.NewProjectsService(s),
	}, nil
}
newTPUService returns a new tpuService using the client to communicate with
the Cloud TPU APIs.
package gce
import (
	"context"
	"encoding/json"
	"fmt"
	"net/http"
	"time"
	"google.golang.org/api/googleapi"
	tpuapi "google.golang.org/api/tpu/v1"
	"k8s.io/klog/v2"
	"k8s.io/apimachinery/pkg/util/wait"
)