gazer 0.3.10 → 0.3.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -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
|