-
Notifications
You must be signed in to change notification settings - Fork 142
/
google.go
75 lines (62 loc) · 2.32 KB
/
google.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package google
import (
bigquery "github.com/cloudlibz/gocloud/analytics/bigquery"
gce "github.com/cloudlibz/gocloud/compute/gce"
googlecontainer "github.com/cloudlibz/gocloud/container/googlecontainer"
bigtable "github.com/cloudlibz/gocloud/database/bigtable"
googledns "github.com/cloudlibz/gocloud/dns/googledns"
"github.com/cloudlibz/gocloud/gocloudinterface"
googleloadbalancer "github.com/cloudlibz/gocloud/loadbalancer/googleloadbalancer"
googlemachinelearning "github.com/cloudlibz/gocloud/machinelearning/googlemachinelearning"
googlenotification "github.com/cloudlibz/gocloud/notification/googlenotification"
googlecloudfunctions "github.com/cloudlibz/gocloud/serverless/googlecloudfunctions"
googlestorage "github.com/cloudlibz/gocloud/storage/googlestorage"
clouddataflow "github.com/cloudlibz/gocloud/streamdataprocessing/clouddataflow"
)
// Google struct represents Google Cloud provider.
type Google struct {
gce.GCE
googlestorage.GoogleStorage
googleloadbalancer.Googleloadbalancer
googlecontainer.Googlecontainer
googledns.Googledns
googlecloudfunctions.Googlecloudfunctions
bigtable.Bigtable
googlemachinelearning.Googlemachinelearning
bigquery.Bigquery
googlenotification.Googlenotification
clouddataflow.Clouddataflow
}
func (*Google) Compute() gocloudinterface.Compute {
return &gce.GCE{}
}
func (*Google) Storage() gocloudinterface.Storage {
return &googlestorage.GoogleStorage{}
}
func (*Google) LoadBalancer() gocloudinterface.LoadBalancer {
return &googleloadbalancer.Googleloadbalancer{}
}
func (*Google) Container() gocloudinterface.Container {
return &googlecontainer.Googlecontainer{}
}
func (*Google) DNS() gocloudinterface.DNS {
return &googledns.Googledns{}
}
func (*Google) Serverless() gocloudinterface.Serverless {
return &googlecloudfunctions.Googlecloudfunctions{}
}
func (*Google) Database() gocloudinterface.Database {
return &bigtable.Bigtable{}
}
func (*Google) Analytics() gocloudinterface.Analytics {
return &bigquery.Bigquery{}
}
func (*Google) Notification() gocloudinterface.Notification {
return &googlenotification.Googlenotification{}
}
func (*Google) MachineLearning() gocloudinterface.MachineLearning {
return &googlemachinelearning.Googlemachinelearning{}
}
func (*Google) Streamdataprocessing() gocloudinterface.Streamdataprocessing {
return &clouddataflow.Clouddataflow{}
}