func GCSWatcherWithBackupBucketName(bucketName string) GCSWatcherOption {
	return &gcsWatcherBucketNameOption{
		BackupBucketName: bucketName,
	}
}
GCSWatcherWithBackupBucketName provides bucket name of datastatore backup target.
package ds2bq
import (
	"context"
	"fmt"
	"net/http"
	"time"
	"github.com/favclip/ucon"
	"github.com/mjibson/goon"
	"golang.org/x/oauth2"
	"golang.org/x/oauth2/google"
	"google.golang.org/api/bigquery/v2"
	"google.golang.org/appengine"
	"google.golang.org/appengine/log"
	"google.golang.org/appengine/urlfetch"
)
type GCSWatcherOption interface {
	implements(s *gcsWatcherService)
}
type gcsWatcherURLOption struct {
	APIObjectChangeNotificationURL string
	ObjectToBigQueryURL            string
}
func (o *gcsWatcherURLOption) implements(s *gcsWatcherService) {
	if v := o.APIObjectChangeNotificationURL; v != "" {
		s.OCNReceiveURL = v
	}
	if v := o.ObjectToBigQueryURL; v != "" {
		s.GCSObjectToBQJobURL = v
	}
}
func GCSWatcherWithURLs(apiURL, tqURL string) GCSWatcherOption {
	return &gcsWatcherURLOption{
		APIObjectChangeNotificationURL: apiURL,
		ObjectToBigQueryURL:            tqURL,
	}
}
type gcsWatcherQueueNameOption struct {
	QueueName string
}
func (o *gcsWatcherQueueNameOption) implements(s *gcsWatcherService) {
	s.QueueName = o.QueueName
}
func GCSWatcherWithQueueName(queueName string) GCSWatcherOption {
	return &gcsWatcherQueueNameOption{
		QueueName: queueName,
	}
}
type gcsWatcherBucketNameOption struct {
	BackupBucketName string
}
func (o *gcsWatcherBucketNameOption) implements(s *gcsWatcherService) {
	s.BackupBucketName = o.BackupBucketName
}