gazer 0.3.10 → 0.3.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/Gemfile.lock +1 -1
  4. data/lib/gzr/command.rb +9 -5
  5. data/lib/gzr/commands/alert/cat.rb +2 -2
  6. data/lib/gzr/commands/alert/ls.rb +2 -2
  7. data/lib/gzr/commands/alert/notifications.rb +2 -2
  8. data/lib/gzr/commands/attribute/cat.rb +3 -3
  9. data/lib/gzr/commands/attribute/create.rb +2 -2
  10. data/lib/gzr/commands/attribute/get_group_value.rb +4 -4
  11. data/lib/gzr/commands/attribute/import.rb +3 -3
  12. data/lib/gzr/commands/attribute/ls.rb +3 -3
  13. data/lib/gzr/commands/attribute/rm.rb +4 -4
  14. data/lib/gzr/commands/attribute/set_group_value.rb +4 -4
  15. data/lib/gzr/commands/connection/dialects.rb +4 -4
  16. data/lib/gzr/commands/connection/ls.rb +2 -2
  17. data/lib/gzr/commands/connection/test.rb +2 -2
  18. data/lib/gzr/commands/dashboard/import.rb +30 -30
  19. data/lib/gzr/commands/dashboard/mv.rb +1 -1
  20. data/lib/gzr/commands/folder/cat.rb +3 -3
  21. data/lib/gzr/commands/folder/create.rb +3 -3
  22. data/lib/gzr/commands/folder/export.rb +2 -2
  23. data/lib/gzr/commands/folder/ls.rb +3 -4
  24. data/lib/gzr/commands/folder/rm.rb +3 -3
  25. data/lib/gzr/commands/folder/top.rb +4 -4
  26. data/lib/gzr/commands/folder/tree.rb +11 -11
  27. data/lib/gzr/commands/group/ls.rb +3 -3
  28. data/lib/gzr/commands/group/member_groups.rb +3 -3
  29. data/lib/gzr/commands/group/member_users.rb +3 -3
  30. data/lib/gzr/commands/look/cat.rb +1 -1
  31. data/lib/gzr/commands/look/import.rb +5 -5
  32. data/lib/gzr/commands/look/mv.rb +1 -1
  33. data/lib/gzr/commands/look/rm.rb +1 -1
  34. data/lib/gzr/commands/model/ls.rb +4 -4
  35. data/lib/gzr/commands/model/set/ls.rb +2 -2
  36. data/lib/gzr/commands/permission/ls.rb +2 -2
  37. data/lib/gzr/commands/permission/set/ls.rb +2 -2
  38. data/lib/gzr/commands/plan/cat.rb +3 -3
  39. data/lib/gzr/commands/plan/disable.rb +3 -3
  40. data/lib/gzr/commands/plan/enable.rb +3 -3
  41. data/lib/gzr/commands/plan/failures.rb +12 -7
  42. data/lib/gzr/commands/plan/import.rb +5 -5
  43. data/lib/gzr/commands/plan/ls.rb +5 -5
  44. data/lib/gzr/commands/plan/run.rb +2 -2
  45. data/lib/gzr/commands/project/branch.rb +4 -4
  46. data/lib/gzr/commands/project/ls.rb +3 -3
  47. data/lib/gzr/commands/role/cat.rb +2 -2
  48. data/lib/gzr/commands/role/group_add.rb +2 -2
  49. data/lib/gzr/commands/role/group_ls.rb +3 -3
  50. data/lib/gzr/commands/role/group_rm.rb +2 -2
  51. data/lib/gzr/commands/role/ls.rb +3 -3
  52. data/lib/gzr/commands/role/user_add.rb +2 -2
  53. data/lib/gzr/commands/role/user_ls.rb +3 -3
  54. data/lib/gzr/commands/role/user_rm.rb +2 -2
  55. data/lib/gzr/commands/user/cat.rb +5 -3
  56. data/lib/gzr/commands/user/delete.rb +2 -1
  57. data/lib/gzr/commands/user/disable.rb +2 -1
  58. data/lib/gzr/commands/user/enable.rb +2 -1
  59. data/lib/gzr/commands/user/ls.rb +22 -11
  60. data/lib/gzr/commands/user/me.rb +6 -2
  61. data/lib/gzr/commands/user.rb +2 -0
  62. data/lib/gzr/modules/alert.rb +30 -17
  63. data/lib/gzr/modules/attribute.rb +24 -22
  64. data/lib/gzr/modules/connection.rb +10 -25
  65. data/lib/gzr/modules/dashboard.rb +86 -44
  66. data/lib/gzr/modules/folder.rb +20 -28
  67. data/lib/gzr/modules/group.rb +8 -10
  68. data/lib/gzr/modules/look.rb +23 -21
  69. data/lib/gzr/modules/model/set.rb +6 -6
  70. data/lib/gzr/modules/model.rb +14 -7
  71. data/lib/gzr/modules/permission/set.rb +2 -2
  72. data/lib/gzr/modules/permission.rb +2 -4
  73. data/lib/gzr/modules/plan.rb +36 -36
  74. data/lib/gzr/modules/project.rb +26 -21
  75. data/lib/gzr/modules/role.rb +48 -36
  76. data/lib/gzr/modules/session.rb +2 -2
  77. data/lib/gzr/modules/user.rb +52 -43
  78. data/lib/gzr/version.rb +1 -1
  79. metadata +2 -2
@@ -29,7 +29,7 @@ module Gzr
29
29
  req = {}
30
30
  req[:fields] = fields if fields
31
31
  begin
32
- return @sdk.all_model_sets(req)
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
- return @sdk.model_set(set_id,req)&.to_attrs
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
- return @sdk.update_model_set(model_set_id, data)&.to_attrs
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
- return @sdk.create_model_set(data)&.to_attrs
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
- return @sdk.delete_model_set(model_set_id)
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
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
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 = nil
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
- data = @sdk.all_lookml_models(req)
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
- return @sdk.lookml_model(model_name)&.to_attrs
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
- return @sdk.create_lookml_model(body)&.to_attrs
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
- return @sdk.update_lookml_model(model_name,body)&.to_attrs
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
- return @sdk.all_permission_sets(req)
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) 2018 Mike DeAngelo Looker Data Sciences, Inc.
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
- data = @sdk.all_permissions()
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
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
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
- data = @sdk.all_scheduled_plans(req)
36
- rescue LookerSDK::ClientError => e
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
- data = @sdk.scheduled_plans_for_look(look_id,req)
52
- return nil if data.respond_to?(:message) && data.message == 'Not found'
53
- rescue LookerSDK::NotFound
54
- return nil
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
- data = @sdk.scheduled_plans_for_dashboard(dashboard_id,req)
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 nil
74
- rescue LookerSDK::ClientError => e
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
- data = @sdk.scheduled_plan(plan_id,req)
88
- rescue LookerSDK::ClientError => e
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
- data = @sdk.delete_scheduled_plan(plan_id)
99
- rescue LookerSDK::ClientError => e
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
- data = @sdk.create_scheduled_plan(plan)
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
- data = @sdk.update_scheduled_plan(plan_id,plan)
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
- data = @sdk.scheduled_plan_run_once(plan)
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.name == source_plan[:name] && user_id == p.user_id }
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.id} #{matches.first.name}"
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.id,plan)
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
@@ -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
- data = @sdk.all_projects({ fields: fields })
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
- return @sdk.project(project_id)&.to_attrs
41
+ @sdk.project(project_id)&.to_attrs
44
42
  rescue LookerSDK::NotFound => e
45
- return nil
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
- return @sdk.create_project(body)&.to_attrs
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
- return @sdk.update_project(id,body)&.to_attrs
71
+ @sdk.update_project(id,body)&.to_attrs
72
72
  rescue LookerSDK::NotFound => e
73
- return nil
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
- return @sdk.git_deploy_key(id)
85
+ @sdk.git_deploy_key(id)
84
86
  rescue LookerSDK::NotFound => e
85
- return nil
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
- return @sdk.create_git_deploy_key(id)
97
+ @sdk.create_git_deploy_key(id)
96
98
  rescue LookerSDK::NotFound => e
97
- return nil
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
- return @sdk.all_git_branches(proj_id)
109
+ @sdk.all_git_branches(proj_id).collect { |b| b.to_attrs }
108
110
  rescue LookerSDK::NotFound => e
109
- return nil
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
- return @sdk.git_branch(proj_id)
121
+ @sdk.git_branch(proj_id).to_attrs
120
122
  rescue LookerSDK::NotFound => e
121
- return nil
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
- return @sdk.deploy_to_production(proj_id)
133
+ @sdk.deploy_to_production(proj_id)
132
134
  rescue LookerSDK::NotFound => e
133
- return nil
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
- return @sdk.update_git_branch(proj_id, body)&.to_attrs
148
+ @sdk.update_git_branch(proj_id, body)&.to_attrs
145
149
  rescue LookerSDK::NotFound => e
146
- return nil
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
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
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
- data = @sdk.all_roles(req)
30
+ @sdk.all_roles(req).collect { |r| r.to_attrs }
32
31
  rescue LookerSDK::NotFound => e
33
- # do nothing
34
- rescue LookerSDK::ClientError => e
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
- data = @sdk.role(role_id)
43
+ @sdk.role(role_id).to_attrs
46
44
  rescue LookerSDK::NotFound => e
47
- # do nothing
48
- rescue LookerSDK::ClientError => e
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
- data = @sdk.delete_role(role_id)
71
+ @sdk.delete_role(role_id)
72
72
  rescue LookerSDK::NotFound => e
73
- # do nothing
74
- rescue LookerSDK::ClientError => e
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
- data = @sdk.role_groups(role_id, req)
88
+ @sdk.role_groups(role_id, req).collect { |g| g.to_attrs }
88
89
  rescue LookerSDK::NotFound => e
89
- # do nothing
90
- rescue LookerSDK::ClientError => e
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
- data = @sdk.role_users(role_id, req)
106
+ @sdk.role_users(role_id, req).collect { |u| u.to_attrs }
105
107
  rescue LookerSDK::NotFound => e
106
- # do nothing
107
- rescue LookerSDK::ClientError => e
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
- data = @sdk.set_role_groups(role_id, groups)
119
- rescue LookerSDK::ClientError => e
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
- data = @sdk.set_role_users(role_id, users)
131
- rescue LookerSDK::ClientError => e
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
- return @sdk.create_role(req)&.to_attrs
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
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
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
- return @sdk.update_session(body)&.to_attrs
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