File tree Expand file tree Collapse file tree 1 file changed +25
-0
lines changed Expand file tree Collapse file tree 1 file changed +25
-0
lines changed Original file line number Diff line number Diff line change 1
1
package gcpen
2
2
3
3
import (
4
+ "context"
4
5
"os"
6
+
7
+ "google.golang.org/api/cloudresourcemanager/v1"
5
8
)
6
9
7
10
var (
11
14
ServiceName = os .Getenv (EnvKeyServiceName )
12
15
// ServiceVersion - Google App Engine service version
13
16
ServiceVersion = os .Getenv (EnvKeyServiceVersion )
17
+ projectNumber int64
14
18
)
15
19
16
20
func getProjectID () string {
@@ -33,3 +37,24 @@ func Reload() {
33
37
ServiceName = os .Getenv (EnvKeyServiceName )
34
38
ServiceVersion = os .Getenv (EnvKeyServiceVersion )
35
39
}
40
+
41
+ // GetProjectNumber - get project number
42
+ func GetProjectNumber (ctx context.Context , forceRefresh ... bool ) (int64 , error ) {
43
+ if projectNumber != 0 && ! (len (forceRefresh ) > 0 && forceRefresh [0 ]) {
44
+ return projectNumber , nil
45
+ }
46
+
47
+ service , err := cloudresourcemanager .NewService (ctx )
48
+ if err != nil {
49
+ return 0 , err
50
+ }
51
+
52
+ project , err := service .Projects .Get (getProjectID ()).Context (ctx ).Do ()
53
+ if err != nil {
54
+ return 0 , err
55
+ }
56
+
57
+ projectNumber = project .ProjectNumber
58
+
59
+ return projectNumber , nil
60
+ }
You can’t perform that action at this time.
0 commit comments