gazer 0.3.10 → 0.3.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/Gemfile.lock +1 -1
- data/lib/gzr/command.rb +9 -5
- data/lib/gzr/commands/alert/cat.rb +2 -2
- data/lib/gzr/commands/alert/ls.rb +2 -2
- data/lib/gzr/commands/alert/notifications.rb +2 -2
- data/lib/gzr/commands/attribute/cat.rb +3 -3
- data/lib/gzr/commands/attribute/create.rb +2 -2
- data/lib/gzr/commands/attribute/get_group_value.rb +4 -4
- data/lib/gzr/commands/attribute/import.rb +3 -3
- data/lib/gzr/commands/attribute/ls.rb +3 -3
- data/lib/gzr/commands/attribute/rm.rb +4 -4
- data/lib/gzr/commands/attribute/set_group_value.rb +4 -4
- data/lib/gzr/commands/connection/dialects.rb +4 -4
- data/lib/gzr/commands/connection/ls.rb +2 -2
- data/lib/gzr/commands/connection/test.rb +2 -2
- data/lib/gzr/commands/dashboard/import.rb +30 -30
- data/lib/gzr/commands/dashboard/mv.rb +1 -1
- data/lib/gzr/commands/folder/cat.rb +3 -3
- data/lib/gzr/commands/folder/create.rb +3 -3
- data/lib/gzr/commands/folder/export.rb +2 -2
- data/lib/gzr/commands/folder/ls.rb +3 -4
- data/lib/gzr/commands/folder/rm.rb +3 -3
- data/lib/gzr/commands/folder/top.rb +4 -4
- data/lib/gzr/commands/folder/tree.rb +11 -11
- data/lib/gzr/commands/group/ls.rb +3 -3
- data/lib/gzr/commands/group/member_groups.rb +3 -3
- data/lib/gzr/commands/group/member_users.rb +3 -3
- data/lib/gzr/commands/look/cat.rb +1 -1
- data/lib/gzr/commands/look/import.rb +5 -5
- data/lib/gzr/commands/look/mv.rb +1 -1
- data/lib/gzr/commands/look/rm.rb +1 -1
- data/lib/gzr/commands/model/ls.rb +4 -4
- data/lib/gzr/commands/model/set/ls.rb +2 -2
- data/lib/gzr/commands/permission/ls.rb +2 -2
- data/lib/gzr/commands/permission/set/ls.rb +2 -2
- data/lib/gzr/commands/plan/cat.rb +3 -3
- data/lib/gzr/commands/plan/disable.rb +3 -3
- data/lib/gzr/commands/plan/enable.rb +3 -3
- data/lib/gzr/commands/plan/failures.rb +12 -7
- data/lib/gzr/commands/plan/import.rb +5 -5
- data/lib/gzr/commands/plan/ls.rb +5 -5
- data/lib/gzr/commands/plan/run.rb +2 -2
- data/lib/gzr/commands/project/branch.rb +4 -4
- data/lib/gzr/commands/project/ls.rb +3 -3
- data/lib/gzr/commands/role/cat.rb +2 -2
- data/lib/gzr/commands/role/group_add.rb +2 -2
- data/lib/gzr/commands/role/group_ls.rb +3 -3
- data/lib/gzr/commands/role/group_rm.rb +2 -2
- data/lib/gzr/commands/role/ls.rb +3 -3
- data/lib/gzr/commands/role/user_add.rb +2 -2
- data/lib/gzr/commands/role/user_ls.rb +3 -3
- data/lib/gzr/commands/role/user_rm.rb +2 -2
- data/lib/gzr/commands/user/cat.rb +5 -3
- data/lib/gzr/commands/user/delete.rb +2 -1
- data/lib/gzr/commands/user/disable.rb +2 -1
- data/lib/gzr/commands/user/enable.rb +2 -1
- data/lib/gzr/commands/user/ls.rb +22 -11
- data/lib/gzr/commands/user/me.rb +6 -2
- data/lib/gzr/commands/user.rb +2 -0
- data/lib/gzr/modules/alert.rb +30 -17
- data/lib/gzr/modules/attribute.rb +24 -22
- data/lib/gzr/modules/connection.rb +10 -25
- data/lib/gzr/modules/dashboard.rb +86 -44
- data/lib/gzr/modules/folder.rb +20 -28
- data/lib/gzr/modules/group.rb +8 -10
- data/lib/gzr/modules/look.rb +23 -21
- data/lib/gzr/modules/model/set.rb +6 -6
- data/lib/gzr/modules/model.rb +14 -7
- data/lib/gzr/modules/permission/set.rb +2 -2
- data/lib/gzr/modules/permission.rb +2 -4
- data/lib/gzr/modules/plan.rb +36 -36
- data/lib/gzr/modules/project.rb +26 -21
- data/lib/gzr/modules/role.rb +48 -36
- data/lib/gzr/modules/session.rb +2 -2
- data/lib/gzr/modules/user.rb +52 -43
- data/lib/gzr/version.rb +1 -1
- metadata +2 -2
@@ -29,7 +29,7 @@ module Gzr
|
|
29
29
|
req = {}
|
30
30
|
req[:fields] = fields if fields
|
31
31
|
begin
|
32
|
-
|
32
|
+
@sdk.all_model_sets(req).collect { |s| s.to_attrs }
|
33
33
|
rescue LookerSDK::NotFound => e
|
34
34
|
return nil
|
35
35
|
rescue LookerSDK::Error => e
|
@@ -43,7 +43,7 @@ module Gzr
|
|
43
43
|
req = {}
|
44
44
|
req[:fields] = fields if fields
|
45
45
|
begin
|
46
|
-
|
46
|
+
@sdk.model_set(set_id,req)&.to_attrs
|
47
47
|
rescue LookerSDK::NotFound => e
|
48
48
|
return nil
|
49
49
|
rescue LookerSDK::Error => e
|
@@ -73,7 +73,7 @@ module Gzr
|
|
73
73
|
req[:filter_or] = filter_or unless filter_or.nil?
|
74
74
|
req[:limit] = 64
|
75
75
|
loop do
|
76
|
-
page = @sdk.search_model_sets(req)
|
76
|
+
page = @sdk.search_model_sets(req).collect { |s| s.to_attrs }
|
77
77
|
data+=page
|
78
78
|
break unless page.length == req[:limit]
|
79
79
|
req[:offset] = (req[:offset] || 0) + req[:limit]
|
@@ -90,7 +90,7 @@ module Gzr
|
|
90
90
|
|
91
91
|
def update_model_set(model_set_id, data)
|
92
92
|
begin
|
93
|
-
|
93
|
+
@sdk.update_model_set(model_set_id, data)&.to_attrs
|
94
94
|
rescue LookerSDK::Error => e
|
95
95
|
say_error "Error calling update_model_set(#{model_set_id},#{JSON.pretty_generate(data)})"
|
96
96
|
say_error e
|
@@ -100,7 +100,7 @@ module Gzr
|
|
100
100
|
|
101
101
|
def create_model_set(data)
|
102
102
|
begin
|
103
|
-
|
103
|
+
@sdk.create_model_set(data)&.to_attrs
|
104
104
|
rescue LookerSDK::Error => e
|
105
105
|
say_error "Error calling create_model_set(#{JSON.pretty_generate(data)})"
|
106
106
|
say_error e
|
@@ -110,7 +110,7 @@ module Gzr
|
|
110
110
|
|
111
111
|
def delete_model_set(model_set_id)
|
112
112
|
begin
|
113
|
-
|
113
|
+
@sdk.delete_model_set(model_set_id)
|
114
114
|
rescue LookerSDK::Error => e
|
115
115
|
say_error "Error calling delete_model_set(#{model_set_id}})"
|
116
116
|
say_error e
|
data/lib/gzr/modules/model.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# The MIT License (MIT)
|
2
2
|
|
3
|
-
# Copyright (c)
|
3
|
+
# Copyright (c) 2023 Mike DeAngelo Google, Inc.
|
4
4
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
6
6
|
# this software and associated documentation files (the "Software"), to deal in
|
@@ -23,12 +23,19 @@
|
|
23
23
|
|
24
24
|
module Gzr
|
25
25
|
module Model
|
26
|
-
def query_all_lookml_models(fields=nil)
|
27
|
-
data =
|
26
|
+
def query_all_lookml_models(fields=nil, progress=false)
|
27
|
+
data = []
|
28
28
|
begin
|
29
29
|
req = Hash.new
|
30
30
|
req[:fields] = fields if fields
|
31
|
-
|
31
|
+
req[:limit] = 16
|
32
|
+
loop do
|
33
|
+
puts "fetching #{req[:limit]} offset #{req[:offset] || 0}" if progress
|
34
|
+
page = @sdk.all_lookml_models(req).collect { |m| m.to_attrs }
|
35
|
+
data+=page
|
36
|
+
break unless page.length == req[:limit]
|
37
|
+
req[:offset] = (req[:offset] || 0) + req[:limit]
|
38
|
+
end
|
32
39
|
rescue LookerSDK::Error => e
|
33
40
|
say_error "Error querying all_lookml_models(#{JSON.pretty_generate(req)})"
|
34
41
|
say_error e
|
@@ -39,7 +46,7 @@ module Gzr
|
|
39
46
|
|
40
47
|
def cat_model(model_name)
|
41
48
|
begin
|
42
|
-
|
49
|
+
@sdk.lookml_model(model_name)&.to_attrs
|
43
50
|
rescue LookerSDK::NotFound => e
|
44
51
|
return nil
|
45
52
|
rescue LookerSDK::Error => e
|
@@ -57,7 +64,7 @@ module Gzr
|
|
57
64
|
|
58
65
|
def create_model(body)
|
59
66
|
begin
|
60
|
-
|
67
|
+
@sdk.create_lookml_model(body)&.to_attrs
|
61
68
|
rescue LookerSDK::Error => e
|
62
69
|
say_error "Error running create_lookml_model(#{JSON.pretty_generate(body)})"
|
63
70
|
say_error e
|
@@ -67,7 +74,7 @@ module Gzr
|
|
67
74
|
|
68
75
|
def update_model(model_name,body)
|
69
76
|
begin
|
70
|
-
|
77
|
+
@sdk.update_lookml_model(model_name,body)&.to_attrs
|
71
78
|
rescue LookerSDK::Error => e
|
72
79
|
say_error "Error running update_lookml_model(#{model_name},#{JSON.pretty_generate(body)})"
|
73
80
|
say_error e
|
@@ -29,7 +29,7 @@ module Gzr
|
|
29
29
|
req = {}
|
30
30
|
req[:fields] = fields if fields
|
31
31
|
begin
|
32
|
-
|
32
|
+
@sdk.all_permission_sets(req).collect { |s| s.to_attrs }
|
33
33
|
rescue LookerSDK::NotFound => e
|
34
34
|
return nil
|
35
35
|
rescue LookerSDK::Error => e
|
@@ -73,7 +73,7 @@ module Gzr
|
|
73
73
|
req[:filter_or] = filter_or unless filter_or.nil?
|
74
74
|
req[:limit] = 64
|
75
75
|
loop do
|
76
|
-
page = @sdk.search_permission_sets(req)
|
76
|
+
page = @sdk.search_permission_sets(req).collect { |s| s.to_attrs }
|
77
77
|
data+=page
|
78
78
|
break unless page.length == req[:limit]
|
79
79
|
req[:offset] = (req[:offset] || 0) + req[:limit]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# The MIT License (MIT)
|
2
2
|
|
3
|
-
# Copyright (c)
|
3
|
+
# Copyright (c) 2023 Mike DeAngelo Google, Inc.
|
4
4
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
6
6
|
# this software and associated documentation files (the "Software"), to deal in
|
@@ -25,15 +25,13 @@ module Gzr
|
|
25
25
|
module Permission
|
26
26
|
|
27
27
|
def query_all_permissions()
|
28
|
-
data = nil
|
29
28
|
begin
|
30
|
-
|
29
|
+
@sdk.all_permissions().collect { |p| p.to_attrs }
|
31
30
|
rescue LookerSDK::Error => e
|
32
31
|
say_error "Error querying all_permissions()"
|
33
32
|
say_error e
|
34
33
|
raise
|
35
34
|
end
|
36
|
-
data
|
37
35
|
end
|
38
36
|
|
39
37
|
end
|
data/lib/gzr/modules/plan.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# The MIT License (MIT)
|
2
2
|
|
3
|
-
# Copyright (c)
|
3
|
+
# Copyright (c) 2023 Mike DeAngelo Google, Inc.
|
4
4
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
6
6
|
# this software and associated documentation files (the "Software"), to deal in
|
@@ -28,17 +28,15 @@ module Gzr
|
|
28
28
|
req[:all_users] = true if user_id == "all"
|
29
29
|
req[:user_id] = user_id if user_id && !(user_id == "all")
|
30
30
|
req[:fields] = fields if fields
|
31
|
-
data = nil
|
32
|
-
id = nil
|
33
|
-
id = user_id unless user_id == "all"
|
34
31
|
begin
|
35
|
-
|
36
|
-
rescue LookerSDK::
|
32
|
+
@sdk.all_scheduled_plans(req).collect { |p| p.to_attrs }
|
33
|
+
rescue LookerSDK::NotFound => e
|
34
|
+
return []
|
35
|
+
rescue LookerSDK::Error => e
|
37
36
|
say_error "Unable to get all_scheduled_plans(#{JSON.pretty_generate(req)})"
|
38
37
|
say_error e
|
39
38
|
raise
|
40
39
|
end
|
41
|
-
data
|
42
40
|
end
|
43
41
|
|
44
42
|
def query_scheduled_plans_for_look(look_id,user_id,fields=nil)
|
@@ -46,18 +44,15 @@ module Gzr
|
|
46
44
|
req[:all_users] = true if user_id == "all"
|
47
45
|
req[:user_id] = user_id if user_id && !(user_id == "all")
|
48
46
|
req[:fields] = fields if fields
|
49
|
-
data = nil
|
50
47
|
begin
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
rescue LookerSDK::ClientError => e
|
48
|
+
@sdk.scheduled_plans_for_look(look_id,req).collect { |p| p.to_attrs }
|
49
|
+
rescue LookerSDK::NotFound => e
|
50
|
+
return []
|
51
|
+
rescue LookerSDK::Error => e
|
56
52
|
say_error "Unable to get scheduled_plans_for_look(#{look_id},#{JSON.pretty_generate(req)})"
|
57
53
|
say_error e
|
58
54
|
raise
|
59
55
|
end
|
60
|
-
data
|
61
56
|
end
|
62
57
|
|
63
58
|
def query_scheduled_plans_for_dashboard(dashboard_id,user_id,fields=nil)
|
@@ -65,76 +60,81 @@ module Gzr
|
|
65
60
|
req[:all_users] = true if user_id == "all"
|
66
61
|
req[:user_id] = user_id if user_id && !(user_id == "all")
|
67
62
|
req[:fields] = fields if fields
|
68
|
-
data = nil
|
69
63
|
begin
|
70
|
-
|
71
|
-
return nil if data.respond_to?(:message) && data.message == 'Not found'
|
64
|
+
@sdk.scheduled_plans_for_dashboard(dashboard_id,req).collect { |p| p.to_attrs }
|
72
65
|
rescue LookerSDK::NotFound
|
73
|
-
return
|
74
|
-
rescue LookerSDK::
|
66
|
+
return []
|
67
|
+
rescue LookerSDK::Error => e
|
75
68
|
say_error "Unable to get scheduled_plans_for_dashboard(#{dashboard_id},#{JSON.pretty_generate(req)})"
|
76
69
|
say_error e
|
77
70
|
raise
|
78
71
|
end
|
79
|
-
data.map! {|plan| plan.to_attrs}
|
80
|
-
data
|
81
72
|
end
|
82
73
|
|
83
74
|
def query_scheduled_plan(plan_id,fields=nil)
|
84
75
|
req = {}
|
85
76
|
req[:fields] = fields if fields
|
86
77
|
begin
|
87
|
-
|
88
|
-
rescue LookerSDK::
|
78
|
+
@sdk.scheduled_plan(plan_id,req).to_attrs
|
79
|
+
rescue LookerSDK::NotFound
|
80
|
+
return nil
|
81
|
+
rescue LookerSDK::Error => e
|
89
82
|
say_error "Unable to get scheduled_plan(#{plan_id},#{JSON.pretty_generate(req)})"
|
90
83
|
say_error e
|
91
84
|
raise
|
92
85
|
end
|
93
|
-
data
|
94
86
|
end
|
95
87
|
|
96
88
|
def delete_scheduled_plan(plan_id)
|
97
89
|
begin
|
98
|
-
|
99
|
-
rescue LookerSDK::
|
90
|
+
@sdk.delete_scheduled_plan(plan_id)
|
91
|
+
rescue LookerSDK::NotFound
|
92
|
+
say_error "delete_scheduled_plan(#{plan_id}) not found"
|
93
|
+
say_error e
|
94
|
+
raise
|
95
|
+
rescue LookerSDK::Error => e
|
100
96
|
say_error "Unable to delete scheduled_plan(#{plan_id})"
|
101
97
|
say_error e
|
102
98
|
raise
|
103
99
|
end
|
104
|
-
data
|
105
100
|
end
|
106
101
|
|
107
102
|
def create_scheduled_plan(plan)
|
108
103
|
begin
|
109
|
-
|
104
|
+
@sdk.create_scheduled_plan(plan).to_attrs
|
110
105
|
rescue LookerSDK::Error => e
|
111
106
|
say_error "Error creating scheduled_plan(#{JSON.pretty_generate(plan)})"
|
112
107
|
say_error e
|
113
108
|
raise
|
114
109
|
end
|
115
|
-
data
|
116
110
|
end
|
117
111
|
|
118
112
|
def update_scheduled_plan(plan_id,plan)
|
119
113
|
begin
|
120
|
-
|
114
|
+
@sdk.update_scheduled_plan(plan_id,plan).to_attrs
|
115
|
+
rescue LookerSDK::NotFound
|
116
|
+
say_error "update_scheduled_plan(#{plan_id},#{JSON.pretty_generate(plan)}) not found"
|
117
|
+
say_error e
|
118
|
+
raise
|
121
119
|
rescue LookerSDK::Error => e
|
122
120
|
say_error "Error updating scheduled_plan(#{plan_id},#{JSON.pretty_generate(plan)})"
|
123
121
|
say_error e
|
124
122
|
raise
|
125
123
|
end
|
126
|
-
data
|
127
124
|
end
|
128
125
|
|
129
126
|
def run_scheduled_plan(plan)
|
130
127
|
begin
|
131
|
-
|
128
|
+
@sdk.scheduled_plan_run_once(plan)
|
129
|
+
rescue LookerSDK::NotFound
|
130
|
+
say_error "scheduled_plan_run_once(#{plan_id}) not found"
|
131
|
+
say_error e
|
132
|
+
raise
|
132
133
|
rescue LookerSDK::Error => e
|
133
134
|
say_error "Error executing scheduled_plan_run_once(#{JSON.pretty_generate(plan)})"
|
134
135
|
say_error e
|
135
136
|
raise
|
136
137
|
end
|
137
|
-
data
|
138
138
|
end
|
139
139
|
|
140
140
|
def upsert_plans_for_look(look_id,user_id,source_plans)
|
@@ -167,9 +167,9 @@ module Gzr
|
|
167
167
|
end
|
168
168
|
|
169
169
|
def upsert_plan_for_obj(user_id, source_plan, existing_plans)
|
170
|
-
matches = existing_plans.select { |p| p
|
170
|
+
matches = existing_plans.select { |p| p[:name] == source_plan[:name] && user_id == p[:user_id] }
|
171
171
|
if matches.length > 0 then
|
172
|
-
say_ok "Modifying existing plan #{matches.first
|
172
|
+
say_ok "Modifying existing plan #{matches.first[:id]} #{matches.first[:name]}"
|
173
173
|
plan = keys_to_keep('update_scheduled_plan').collect do |e|
|
174
174
|
[e,nil]
|
175
175
|
end.to_h
|
@@ -194,7 +194,7 @@ module Gzr
|
|
194
194
|
plan[:run_once] = false if plan[:run_once].nil?
|
195
195
|
plan[:include_links] = false if plan[:include_links].nil?
|
196
196
|
yield plan
|
197
|
-
update_scheduled_plan(matches.first
|
197
|
+
update_scheduled_plan(matches.first[:id],plan)
|
198
198
|
else
|
199
199
|
plan = source_plan.select do |k,v|
|
200
200
|
(keys_to_keep('create_scheduled_plan') - [:plan_id,:dashboard_id,:user_id,:dashboard_filters,:lookml_dashboard_id,:scheduled_plan_destination]).include? k
|
data/lib/gzr/modules/project.rb
CHANGED
@@ -25,9 +25,8 @@ module Gzr
|
|
25
25
|
module Project
|
26
26
|
|
27
27
|
def all_projects(fields: 'id')
|
28
|
-
data = []
|
29
28
|
begin
|
30
|
-
|
29
|
+
@sdk.all_projects({ fields: fields }).collect { |p| p.to_attrs }
|
31
30
|
rescue LookerSDK::NotFound => e
|
32
31
|
return []
|
33
32
|
rescue LookerSDK::Error => e
|
@@ -35,14 +34,15 @@ module Gzr
|
|
35
34
|
say_error e
|
36
35
|
raise
|
37
36
|
end
|
38
|
-
data
|
39
37
|
end
|
40
38
|
|
41
39
|
def cat_project(project_id)
|
42
40
|
begin
|
43
|
-
|
41
|
+
@sdk.project(project_id)&.to_attrs
|
44
42
|
rescue LookerSDK::NotFound => e
|
45
|
-
|
43
|
+
say_error "project(#{project_id}) not found"
|
44
|
+
say_error e
|
45
|
+
raise
|
46
46
|
rescue LookerSDK::Error => e
|
47
47
|
say_error "Error getting project(#{project_id})"
|
48
48
|
say_error e
|
@@ -58,7 +58,7 @@ module Gzr
|
|
58
58
|
|
59
59
|
def create_project(body)
|
60
60
|
begin
|
61
|
-
|
61
|
+
@sdk.create_project(body)&.to_attrs
|
62
62
|
rescue LookerSDK::Error => e
|
63
63
|
say_error "Error running create_project(#{JSON.pretty_generate(body)})"
|
64
64
|
say_error e
|
@@ -68,9 +68,11 @@ module Gzr
|
|
68
68
|
|
69
69
|
def update_project(id,body)
|
70
70
|
begin
|
71
|
-
|
71
|
+
@sdk.update_project(id,body)&.to_attrs
|
72
72
|
rescue LookerSDK::NotFound => e
|
73
|
-
|
73
|
+
say_error "update_project(#{id},#{JSON.pretty_generate(body)} not found)"
|
74
|
+
say_error e
|
75
|
+
raise
|
74
76
|
rescue LookerSDK::Error => e
|
75
77
|
say_error "Error running update_project(#{id},#{JSON.pretty_generate(body)})"
|
76
78
|
say_error e
|
@@ -80,9 +82,9 @@ module Gzr
|
|
80
82
|
|
81
83
|
def git_deploy_key(id)
|
82
84
|
begin
|
83
|
-
|
85
|
+
@sdk.git_deploy_key(id)
|
84
86
|
rescue LookerSDK::NotFound => e
|
85
|
-
|
87
|
+
nil
|
86
88
|
rescue LookerSDK::Error => e
|
87
89
|
say_error "Error running git_deploy_key(#{id})"
|
88
90
|
say_error e
|
@@ -92,9 +94,9 @@ module Gzr
|
|
92
94
|
|
93
95
|
def create_git_deploy_key(id)
|
94
96
|
begin
|
95
|
-
|
97
|
+
@sdk.create_git_deploy_key(id)
|
96
98
|
rescue LookerSDK::NotFound => e
|
97
|
-
|
99
|
+
nil
|
98
100
|
rescue LookerSDK::Error => e
|
99
101
|
say_error "Error running create_git_deploy_key(#{id})"
|
100
102
|
say_error e
|
@@ -104,9 +106,9 @@ module Gzr
|
|
104
106
|
|
105
107
|
def all_git_branches(proj_id)
|
106
108
|
begin
|
107
|
-
|
109
|
+
@sdk.all_git_branches(proj_id).collect { |b| b.to_attrs }
|
108
110
|
rescue LookerSDK::NotFound => e
|
109
|
-
|
111
|
+
[]
|
110
112
|
rescue LookerSDK::Error => e
|
111
113
|
say_error "Error running all_git_branches(#{proj_id})"
|
112
114
|
say_error e
|
@@ -116,9 +118,9 @@ module Gzr
|
|
116
118
|
|
117
119
|
def git_branch(proj_id)
|
118
120
|
begin
|
119
|
-
|
121
|
+
@sdk.git_branch(proj_id).to_attrs
|
120
122
|
rescue LookerSDK::NotFound => e
|
121
|
-
|
123
|
+
nil
|
122
124
|
rescue LookerSDK::Error => e
|
123
125
|
say_error "Error running git_branch(#{proj_id})"
|
124
126
|
say_error e
|
@@ -128,9 +130,11 @@ module Gzr
|
|
128
130
|
|
129
131
|
def deploy_to_production(proj_id)
|
130
132
|
begin
|
131
|
-
|
133
|
+
@sdk.deploy_to_production(proj_id)
|
132
134
|
rescue LookerSDK::NotFound => e
|
133
|
-
|
135
|
+
say_error "deploy_to_production(#{proj_id}) not found"
|
136
|
+
say_error e
|
137
|
+
raise
|
134
138
|
rescue LookerSDK::Error => e
|
135
139
|
say_error "Error running deploy_to_production(#{proj_id})"
|
136
140
|
say_error e
|
@@ -141,15 +145,16 @@ module Gzr
|
|
141
145
|
def update_git_branch(proj_id, name)
|
142
146
|
body = { name: name }
|
143
147
|
begin
|
144
|
-
|
148
|
+
@sdk.update_git_branch(proj_id, body)&.to_attrs
|
145
149
|
rescue LookerSDK::NotFound => e
|
146
|
-
|
150
|
+
say_error "update_git_branch(#{proj_id},#{JSON.pretty_generate(body)}) not found"
|
151
|
+
say_error e
|
152
|
+
raise
|
147
153
|
rescue LookerSDK::Error => e
|
148
154
|
say_error "Error running update_git_branch(#{proj_id},#{JSON.pretty_generate(body)})"
|
149
155
|
say_error e
|
150
156
|
raise
|
151
157
|
end
|
152
158
|
end
|
153
|
-
|
154
159
|
end
|
155
160
|
end
|
data/lib/gzr/modules/role.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# The MIT License (MIT)
|
2
2
|
|
3
|
-
# Copyright (c)
|
3
|
+
# Copyright (c) 2023 Mike DeAngelo Google, Inc.
|
4
4
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
6
6
|
# this software and associated documentation files (the "Software"), to deal in
|
@@ -26,33 +26,33 @@ module Gzr
|
|
26
26
|
def query_all_roles(fields=nil)
|
27
27
|
req = Hash.new
|
28
28
|
req[:fields] = fields if fields
|
29
|
-
data = Array.new
|
30
29
|
begin
|
31
|
-
|
30
|
+
@sdk.all_roles(req).collect { |r| r.to_attrs }
|
32
31
|
rescue LookerSDK::NotFound => e
|
33
|
-
|
34
|
-
rescue LookerSDK::
|
32
|
+
[]
|
33
|
+
rescue LookerSDK::Error => e
|
35
34
|
say_error "Unable to get all_roles(#{JSON.pretty_generate(req)})"
|
36
35
|
say_error e
|
37
36
|
say_error e.errors if e.errors
|
38
37
|
raise
|
39
38
|
end
|
40
|
-
data
|
41
39
|
end
|
40
|
+
|
42
41
|
def query_role(role_id)
|
43
|
-
data = nil
|
44
42
|
begin
|
45
|
-
|
43
|
+
@sdk.role(role_id).to_attrs
|
46
44
|
rescue LookerSDK::NotFound => e
|
47
|
-
#
|
48
|
-
|
45
|
+
say_error "role(#{role_id}) not found"
|
46
|
+
say_error e
|
47
|
+
raise
|
48
|
+
rescue LookerSDK::Error => e
|
49
49
|
say_error "Unable to get role(#{role_id})"
|
50
50
|
say_error e
|
51
51
|
say_error e.errors if e.errors
|
52
52
|
raise
|
53
53
|
end
|
54
|
-
data
|
55
54
|
end
|
55
|
+
|
56
56
|
def trim_role(data)
|
57
57
|
trimmed = data.select do |k,v|
|
58
58
|
(keys_to_keep('create_role') + [:id]).include? k
|
@@ -65,87 +65,99 @@ module Gzr
|
|
65
65
|
end
|
66
66
|
trimmed
|
67
67
|
end
|
68
|
+
|
68
69
|
def delete_role(role_id)
|
69
|
-
data = nil
|
70
70
|
begin
|
71
|
-
|
71
|
+
@sdk.delete_role(role_id)
|
72
72
|
rescue LookerSDK::NotFound => e
|
73
|
-
#
|
74
|
-
|
73
|
+
say_error "role(#{role_id}) not found"
|
74
|
+
say_error e
|
75
|
+
raise
|
76
|
+
rescue LookerSDK::Error => e
|
75
77
|
say_error "Unable to delete_role(#{role_id})"
|
76
78
|
say_error e
|
77
79
|
say_error e.errors if e.errors
|
78
80
|
raise
|
79
81
|
end
|
80
|
-
data
|
81
82
|
end
|
83
|
+
|
82
84
|
def query_role_groups(role_id,fields=nil)
|
83
85
|
req = Hash.new
|
84
86
|
req[:fields] = fields if fields
|
85
|
-
data = Array.new
|
86
87
|
begin
|
87
|
-
|
88
|
+
@sdk.role_groups(role_id, req).collect { |g| g.to_attrs }
|
88
89
|
rescue LookerSDK::NotFound => e
|
89
|
-
#
|
90
|
-
|
90
|
+
say_error "role_groups(#{role_id},#{JSON.pretty_generate(req)}) not found"
|
91
|
+
say_error e
|
92
|
+
raise
|
93
|
+
rescue LookerSDK::Error => e
|
91
94
|
say_error "Unable to get role_groups(#{role_id},#{JSON.pretty_generate(req)})"
|
92
95
|
say_error e
|
93
96
|
say_error e.errors if e.errors
|
94
97
|
raise
|
95
98
|
end
|
96
|
-
data
|
97
99
|
end
|
100
|
+
|
98
101
|
def query_role_users(role_id,fields=nil,direct_association_only=true)
|
99
102
|
req = Hash.new
|
100
103
|
req[:fields] = fields if fields
|
101
104
|
req[:direct_association_only] = direct_association_only
|
102
|
-
data = Array.new
|
103
105
|
begin
|
104
|
-
|
106
|
+
@sdk.role_users(role_id, req).collect { |u| u.to_attrs }
|
105
107
|
rescue LookerSDK::NotFound => e
|
106
|
-
#
|
107
|
-
|
108
|
+
say_error "role_users(#{role_id},#{JSON.pretty_generate(req)}) not found"
|
109
|
+
say_error e
|
110
|
+
say_error e.errors if e.errors
|
111
|
+
raise
|
112
|
+
rescue LookerSDK::Error => e
|
108
113
|
say_error "Unable to get role_users(#{role_id},#{JSON.pretty_generate(req)})"
|
109
114
|
say_error e
|
110
115
|
say_error e.errors if e.errors
|
111
116
|
raise
|
112
117
|
end
|
113
|
-
data
|
114
118
|
end
|
119
|
+
|
115
120
|
def set_role_groups(role_id,groups=[])
|
116
|
-
data = Array.new
|
117
121
|
begin
|
118
|
-
|
119
|
-
rescue LookerSDK::
|
122
|
+
@sdk.set_role_groups(role_id, groups)
|
123
|
+
rescue LookerSDK::NotFound => e
|
124
|
+
say_error "set_role_groups(#{role_id},#{JSON.pretty_generate(groups)}) not found"
|
125
|
+
say_error e
|
126
|
+
say_error e.errors if e.errors
|
127
|
+
raise
|
128
|
+
rescue LookerSDK::Error => e
|
120
129
|
say_error "Unable to call set_role_groups(#{role_id},#{JSON.pretty_generate(groups)})"
|
121
130
|
say_error e
|
122
131
|
say_error e.errors if e.errors
|
123
132
|
raise
|
124
133
|
end
|
125
|
-
data
|
126
134
|
end
|
135
|
+
|
127
136
|
def set_role_users(role_id,users=[])
|
128
|
-
data = Array.new
|
129
137
|
begin
|
130
|
-
|
131
|
-
rescue LookerSDK::
|
138
|
+
@sdk.set_role_users(role_id, users)
|
139
|
+
rescue LookerSDK::NotFound => e
|
140
|
+
say_error "set_role_users(#{role_id},#{JSON.pretty_generate(users)}) not found"
|
141
|
+
say_error e
|
142
|
+
say_error e.errors if e.errors
|
143
|
+
raise
|
144
|
+
rescue LookerSDK::Error => e
|
132
145
|
say_error "Unable to call set_role_users(#{role_id},#{JSON.pretty_generate(users)})"
|
133
146
|
say_error e
|
134
147
|
say_error e.errors if e.errors
|
135
148
|
raise
|
136
149
|
end
|
137
|
-
data
|
138
150
|
end
|
151
|
+
|
139
152
|
def create_role(name,pset,mset)
|
140
153
|
req = { name: name, permission_set_id: pset, model_set_id: mset }
|
141
154
|
begin
|
142
|
-
|
155
|
+
@sdk.create_role(req)&.to_attrs
|
143
156
|
rescue LookerSDK::Error => e
|
144
157
|
say_error "Unable to call create_role(#{JSON.pretty_generate(req)})"
|
145
158
|
say_error e
|
146
159
|
raise
|
147
160
|
end
|
148
161
|
end
|
149
|
-
|
150
162
|
end
|
151
163
|
end
|
data/lib/gzr/modules/session.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# The MIT License (MIT)
|
2
2
|
|
3
|
-
# Copyright (c)
|
3
|
+
# Copyright (c) 2023 Mike DeAngelo Google, Inc.
|
4
4
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
6
6
|
# this software and associated documentation files (the "Software"), to deal in
|
@@ -317,7 +317,7 @@ module Gzr
|
|
317
317
|
body = {}
|
318
318
|
body[:workspace_id] = workspace_id
|
319
319
|
begin
|
320
|
-
|
320
|
+
@sdk.update_session(body)&.to_attrs
|
321
321
|
rescue LookerSDK::Error => e
|
322
322
|
say_error "Unable to run update_session(#{JSON.pretty_generate(body)})"
|
323
323
|
say_error e
|