...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package gcp
16
17 import (
18 "context"
19
20 "golang.org/x/oauth2/google"
21 "google.golang.org/api/cloudresourcemanager/v1"
22 "google.golang.org/api/iam/v1"
23 "google.golang.org/api/storage/v1"
24 )
25
26
27 const KCCUserAgent = "kcc/controller-manager"
28
29 func NewIAMClient(ctx context.Context) (*iam.Service, error) {
30 httpClient, err := google.DefaultClient(ctx, iam.CloudPlatformScope)
31 if err != nil {
32 return nil, err
33 }
34 client, err := iam.New(httpClient)
35 if err != nil {
36 return nil, err
37 }
38 client.UserAgent = KCCUserAgent
39 return client, nil
40 }
41
42 func NewStorageClient(ctx context.Context) (*storage.Service, error) {
43 httpClient, err := google.DefaultClient(ctx, storage.CloudPlatformScope)
44 if err != nil {
45 return nil, err
46 }
47 client, err := storage.New(httpClient)
48 if err != nil {
49 return nil, err
50 }
51 client.UserAgent = KCCUserAgent
52 return client, nil
53 }
54
55
56 func NewCloudResourceManagerClient(ctx context.Context) (*cloudresourcemanager.Service, error) {
57 httpClient, err := google.DefaultClient(ctx, cloudresourcemanager.CloudPlatformScope)
58 if err != nil {
59 return nil, err
60 }
61 client, err := cloudresourcemanager.New(httpClient)
62 if err != nil {
63 return nil, err
64 }
65 client.UserAgent = KCCUserAgent
66 return client, nil
67 }
68
View as plain text