gazer 0.2.60 → 0.3.0
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/.github/workflows/release.yml +1 -1
- data/.github/workflows/ruby-ci.yml +2 -2
- data/CHANGELOG.md +12 -0
- data/Gemfile.lock +1 -1
- data/lib/gzr/command.rb +15 -9
- data/lib/gzr/commands/attribute/create.rb +3 -3
- data/lib/gzr/commands/attribute/import.rb +2 -2
- data/lib/gzr/commands/attribute/rm.rb +2 -2
- data/lib/gzr/commands/attribute.rb +2 -2
- data/lib/gzr/commands/connection/ls.rb +1 -1
- data/lib/gzr/commands/dashboard/mv.rb +2 -2
- data/lib/gzr/commands/folder/create.rb +2 -2
- data/lib/gzr/commands/folder/tree.rb +3 -3
- data/lib/gzr/commands/look/import.rb +2 -2
- data/lib/gzr/commands/look/mv.rb +1 -1
- data/lib/gzr/commands/permissions/ls.rb +1 -1
- data/lib/gzr/commands/plan/disable.rb +2 -2
- data/lib/gzr/commands/plan/enable.rb +2 -2
- data/lib/gzr/commands/plan/failures.rb +1 -1
- data/lib/gzr/commands/plan/import.rb +3 -3
- data/lib/gzr/commands/plan/run.rb +2 -2
- data/lib/gzr/commands/query/runquery.rb +3 -3
- data/lib/gzr/commands/role/group_add.rb +1 -1
- data/lib/gzr/commands/role/group_rm.rb +1 -1
- data/lib/gzr/commands/role/user_add.rb +1 -1
- data/lib/gzr/commands/role/user_rm.rb +1 -1
- data/lib/gzr/modules/attribute.rb +8 -8
- data/lib/gzr/modules/connection.rb +2 -2
- data/lib/gzr/modules/dashboard.rb +20 -20
- data/lib/gzr/modules/filehelper.rb +1 -0
- data/lib/gzr/modules/folder.rb +8 -8
- data/lib/gzr/modules/group.rb +10 -10
- data/lib/gzr/modules/look.rb +7 -7
- data/lib/gzr/modules/model.rb +1 -1
- data/lib/gzr/modules/permissions.rb +1 -1
- data/lib/gzr/modules/plan.rb +17 -17
- data/lib/gzr/modules/role.rb +7 -7
- data/lib/gzr/modules/session.rb +5 -5
- data/lib/gzr/modules/user.rb +7 -7
- data/lib/gzr/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 371ab48fd0b84acabc2e3e69475c1091b55249385eb04f7829f0307ebc4f8b2e
|
4
|
+
data.tar.gz: 278b70d24348f197754f917fe9f386c77f46dd8491511379c670b24a0b72403b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 52ebaf3617cbf085a9faeb3813e27abfbb603b42343dd61f86bc27b5a742bf3bc101877593c7aee863c87411416d97545c345c20ee45f3bb03319b5161a8e9e7
|
7
|
+
data.tar.gz: 4cb981d34fa562368feb3895ba8de78458237fd5428dec73b8d2c259f44a1fc5e0c07abb8471e2db802c947833573a505e186eeee7fb7170b1ab7a23e8ecd174
|
@@ -88,7 +88,7 @@ jobs:
|
|
88
88
|
|
89
89
|
- name: Upload ts unit test results
|
90
90
|
if: ${{ always() }}
|
91
|
-
uses: actions/upload-artifact@
|
91
|
+
uses: actions/upload-artifact@v3
|
92
92
|
with:
|
93
93
|
name: ruby-ci-test-results-${{ matrix.looker }}
|
94
94
|
path: rspec.xml
|
@@ -100,7 +100,7 @@ jobs:
|
|
100
100
|
|
101
101
|
steps:
|
102
102
|
- name: Download Artifacts
|
103
|
-
uses: actions/download-artifact@
|
103
|
+
uses: actions/download-artifact@v3
|
104
104
|
with:
|
105
105
|
path: artifacts
|
106
106
|
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [0.3.0](https://github.com/looker-open-source/gzr/compare/v0.2.60...v0.3.0) (2023-04-13)
|
4
|
+
|
5
|
+
|
6
|
+
### Features
|
7
|
+
|
8
|
+
* Misc fixes ([#175](https://github.com/looker-open-source/gzr/issues/175)) ([20b334b](https://github.com/looker-open-source/gzr/commit/20b334b3e4d1a76ecef79d5c686f6cf428cdc47d))
|
9
|
+
|
10
|
+
|
11
|
+
### Miscellaneous Chores
|
12
|
+
|
13
|
+
* release 0.3.0 ([5ed2182](https://github.com/looker-open-source/gzr/commit/5ed2182b94c20126f59b0678671d7c9b81c1c794))
|
14
|
+
|
3
15
|
### [0.2.60](https://www.github.com/looker-open-source/gzr/compare/v0.2.59...v0.2.60) (2023-04-11)
|
4
16
|
|
5
17
|
|
data/Gemfile.lock
CHANGED
data/lib/gzr/command.rb
CHANGED
@@ -58,7 +58,7 @@ module Gzr
|
|
58
58
|
data = @sdk.query(query_id)
|
59
59
|
rescue LookerSDK::Error => e
|
60
60
|
say_error "Error querying query(#{query_id})"
|
61
|
-
say_error e
|
61
|
+
say_error e
|
62
62
|
raise
|
63
63
|
end
|
64
64
|
data
|
@@ -72,7 +72,7 @@ module Gzr
|
|
72
72
|
end
|
73
73
|
rescue LookerSDK::Error => e
|
74
74
|
say_error "Error creating query(#{JSON.pretty_generate(query)})"
|
75
|
-
say_error e
|
75
|
+
say_error e
|
76
76
|
raise
|
77
77
|
end
|
78
78
|
data
|
@@ -86,7 +86,7 @@ module Gzr
|
|
86
86
|
say_error "The api endpoint merge_query(#{merge_result_id}) is not implemented on this Looker instance"
|
87
87
|
rescue LookerSDK::Error => e
|
88
88
|
say_error "Error querying merge_query(#{merge_result_id})"
|
89
|
-
say_error e
|
89
|
+
say_error e
|
90
90
|
raise
|
91
91
|
end
|
92
92
|
data
|
@@ -100,7 +100,7 @@ module Gzr
|
|
100
100
|
raise
|
101
101
|
rescue LookerSDK::Error => e
|
102
102
|
say_error "Error creating merge_query(#{JSON.pretty_generate(merge_query)})"
|
103
|
-
say_error e
|
103
|
+
say_error e
|
104
104
|
raise
|
105
105
|
end
|
106
106
|
data
|
@@ -111,7 +111,7 @@ module Gzr
|
|
111
111
|
data = @sdk.run_inline_query("json",query)
|
112
112
|
rescue LookerSDK::Error => e
|
113
113
|
say_error "Error running inline_query(#{JSON.pretty_generate(query)})"
|
114
|
-
say_error e
|
114
|
+
say_error e
|
115
115
|
raise
|
116
116
|
end
|
117
117
|
data
|
@@ -127,7 +127,7 @@ module Gzr
|
|
127
127
|
say_warning "The current user can't query all color collections"
|
128
128
|
rescue LookerSDK::Error => e
|
129
129
|
say_error "Error querying all_color_collections()"
|
130
|
-
say_error e
|
130
|
+
say_error e
|
131
131
|
raise
|
132
132
|
end
|
133
133
|
data
|
@@ -145,7 +145,7 @@ module Gzr
|
|
145
145
|
say_warning "The current user can't query the default color collection"
|
146
146
|
rescue LookerSDK::Error => e
|
147
147
|
say_error "Error querying default_color_collection()"
|
148
|
-
say_error e
|
148
|
+
say_error e
|
149
149
|
raise
|
150
150
|
end
|
151
151
|
data
|
@@ -161,7 +161,7 @@ module Gzr
|
|
161
161
|
say_warning "The color_collection(#{collection_id}) is not found"
|
162
162
|
rescue LookerSDK::Error => e
|
163
163
|
say_error "Error querying color_collection(#{collection_id})"
|
164
|
-
say_error e
|
164
|
+
say_error e
|
165
165
|
raise
|
166
166
|
end
|
167
167
|
data
|
@@ -266,6 +266,7 @@ module Gzr
|
|
266
266
|
end
|
267
267
|
end
|
268
268
|
|
269
|
+
|
269
270
|
##
|
270
271
|
# This method accepts the name of an sdk operation, then finds the parameter for that
|
271
272
|
# operation in the data structures from the swagger.json file. The parameter is a
|
@@ -282,6 +283,11 @@ module Gzr
|
|
282
283
|
# end
|
283
284
|
|
284
285
|
def keys_to_keep(operation)
|
286
|
+
@keys_to_keep_cache ||= {}
|
287
|
+
@keys_to_keep_cache[operation] ||= keys_to_keep_internal(operation)
|
288
|
+
end
|
289
|
+
|
290
|
+
def keys_to_keep_internal(operation)
|
285
291
|
o = @sdk.operations[operation] || @sdk.operations[operation.to_sym]
|
286
292
|
begin
|
287
293
|
say_error "Operation #{operation} not found"
|
@@ -386,7 +392,7 @@ module Gzr
|
|
386
392
|
##
|
387
393
|
# This method will accept two arrays, a and b, and create a third array
|
388
394
|
# like [ [a[0],b[0]], [a[1],b[1]], [a[2],b[2]], ...].
|
389
|
-
# If either array is longer than the other, additional pairs
|
395
|
+
# If either array is longer than the other, additional pairs
|
390
396
|
# will be generated with the shorter array padded out with nil values.
|
391
397
|
#
|
392
398
|
# Any additional args will be added to each inner array.
|
@@ -44,11 +44,11 @@ module Gzr
|
|
44
44
|
source[:'value_is_hidden'] = true if @options[:'is-hidden']
|
45
45
|
source[:'user_can_view'] = true if @options[:'can-view']
|
46
46
|
source[:'user_can_edit'] = true if @options[:'can-edit']
|
47
|
-
source[:'
|
47
|
+
source[:'hidden_value_domain_allowlist'] = @options[:'domain-allowlist'] if @options[:'is-hidden'] && @options[:'domain-allowlist']
|
48
48
|
|
49
49
|
attr = upsert_user_attribute(source, @options[:force], output: $stdout)
|
50
|
-
output.puts "Imported attribute #{attr.name} #{attr.id}" unless @options[:plain]
|
51
|
-
output.puts attr.id if @options[:plain]
|
50
|
+
output.puts "Imported attribute #{attr.name} #{attr.id}" unless @options[:plain]
|
51
|
+
output.puts attr.id if @options[:plain]
|
52
52
|
end
|
53
53
|
end
|
54
54
|
end
|
@@ -42,8 +42,8 @@ module Gzr
|
|
42
42
|
with_session do
|
43
43
|
read_file(@file) do |source|
|
44
44
|
attr = upsert_user_attribute(source, @options[:force], output: $stdout)
|
45
|
-
output.puts "Imported attribute #{attr.name} #{attr.id}" unless @options[:plain]
|
46
|
-
output.puts attr.id if @options[:plain]
|
45
|
+
output.puts "Imported attribute #{attr.name} #{attr.id}" unless @options[:plain]
|
46
|
+
output.puts attr.id if @options[:plain]
|
47
47
|
end
|
48
48
|
end
|
49
49
|
end
|
@@ -52,8 +52,8 @@ module Gzr
|
|
52
52
|
|
53
53
|
delete_user_attribute(attr.id)
|
54
54
|
|
55
|
-
output.puts "Deleted attribute #{attr.name} #{attr.id}" unless @options[:plain]
|
56
|
-
output.puts attr.id if @options[:plain]
|
55
|
+
output.puts "Deleted attribute #{attr.name} #{attr.id}" unless @options[:plain]
|
56
|
+
output.puts attr.id if @options[:plain]
|
57
57
|
end
|
58
58
|
end
|
59
59
|
end
|
@@ -100,8 +100,8 @@ module Gzr
|
|
100
100
|
desc: 'can a non-admin user view the value'
|
101
101
|
method_option :'can-edit', type: :boolean, default: true,
|
102
102
|
desc: 'can a user change the value themself'
|
103
|
-
method_option :'domain-
|
104
|
-
desc: 'what domains can receive the value of a hidden attribute.'
|
103
|
+
method_option :'domain-allowlist', type: :string,
|
104
|
+
desc: 'what domains can receive the value of a hidden attribute.'
|
105
105
|
def create(attr_name, attr_label=nil)
|
106
106
|
if options[:help]
|
107
107
|
invoke :help, ['create']
|
@@ -61,7 +61,7 @@ module Gzr
|
|
61
61
|
if @options[:csv] then
|
62
62
|
output.puts render_csv(table)
|
63
63
|
else
|
64
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width:
|
64
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width: @options[:width] || TTY::Screen.width)
|
65
65
|
end
|
66
66
|
end if table
|
67
67
|
end
|
@@ -48,14 +48,14 @@ module Gzr
|
|
48
48
|
if matching_title.empty? || matching_title.first[:deleted]
|
49
49
|
matching_title = false
|
50
50
|
end
|
51
|
-
|
51
|
+
|
52
52
|
if matching_title
|
53
53
|
raise Gzr::CLI::Error, "Dashboard #{dash[:title]} already exists in folder #{@target_folder_id}\nUse --force if you want to overwrite it" unless @options[:force]
|
54
54
|
say_ok "Deleting existing dashboard #{matching_title.first[:id]} #{matching_title.first[:title]} in folder #{@target_folder_id}", output: output
|
55
55
|
update_dashboard(matching_title.first[:id],{:deleted=>true})
|
56
56
|
end
|
57
57
|
update_dashboard(dash[:id],{:folder_id=>@target_folder_id})
|
58
|
-
output.puts "Moved dashboard #{dash[:id]} to folder #{@target_folder_id}" unless @options[:plain]
|
58
|
+
output.puts "Moved dashboard #{dash[:id]} to folder #{@target_folder_id}" unless @options[:plain]
|
59
59
|
end
|
60
60
|
end
|
61
61
|
end
|
@@ -40,8 +40,8 @@ module Gzr
|
|
40
40
|
folder = nil
|
41
41
|
with_session do
|
42
42
|
folder = create_folder(@name, @parent_folder)
|
43
|
-
output.puts "Created folder #{folder.id}" unless @options[:plain]
|
44
|
-
output.puts folder.id if @options[:plain]
|
43
|
+
output.puts "Created folder #{folder.id}" unless @options[:plain]
|
44
|
+
output.puts folder.id if @options[:plain]
|
45
45
|
end
|
46
46
|
end
|
47
47
|
end
|
@@ -67,10 +67,10 @@ module Gzr
|
|
67
67
|
|
68
68
|
tree_data = Hash.new
|
69
69
|
|
70
|
-
folder_ids.each do |folder_id|
|
70
|
+
folder_ids.each do |folder_id|
|
71
71
|
s = query_folder(folder_id, "id,name,parent_id,looks(id,title),dashboards(id,title)")
|
72
72
|
folder_name = s.name
|
73
|
-
folder_name = "nil (#{s.id})" unless folder_name
|
73
|
+
folder_name = "nil (#{s.id})" unless folder_name
|
74
74
|
folder_name = "\"#{folder_name}\"" if ((folder_name != folder_name.strip) || (folder_name.length == 0))
|
75
75
|
folder_name += " (#{folder_id})" unless folder_ids.length == 1
|
76
76
|
tree_data[folder_name] =
|
@@ -88,7 +88,7 @@ module Gzr
|
|
88
88
|
tree_branch = Hash.new
|
89
89
|
data.each do |s|
|
90
90
|
folder_name = s.name
|
91
|
-
folder_name = "nil (#{s.id})" unless folder_name
|
91
|
+
folder_name = "nil (#{s.id})" unless folder_name
|
92
92
|
folder_name = "\"#{folder_name}\"" if ((folder_name != folder_name.strip) || (folder_name.length == 0))
|
93
93
|
tree_branch[folder_name] =
|
94
94
|
[ recurse_folders(s.id) ] +
|
@@ -62,8 +62,8 @@ module Gzr
|
|
62
62
|
|
63
63
|
look = upsert_look(@me.id,create_fetch_query(data[:query]).id,@dest_folder_id,data,output: output)
|
64
64
|
upsert_plans_for_look(look.id,@me.id,data[:scheduled_plans]) if data[:scheduled_plans]
|
65
|
-
output.puts "Imported look #{look.id}" unless @options[:plain]
|
66
|
-
output.puts look.id if @options[:plain]
|
65
|
+
output.puts "Imported look #{look.id}" unless @options[:plain]
|
66
|
+
output.puts look.id if @options[:plain]
|
67
67
|
end
|
68
68
|
end
|
69
69
|
end
|
data/lib/gzr/commands/look/mv.rb
CHANGED
@@ -55,7 +55,7 @@ module Gzr
|
|
55
55
|
update_look(matching_title.first[:id],{:deleted=>true})
|
56
56
|
end
|
57
57
|
update_look(look[:id],{:folder_id=>@target_folder_id})
|
58
|
-
output.puts "Moved look #{look[:id]} to folder #{@target_folder_id}" unless @options[:plain]
|
58
|
+
output.puts "Moved look #{look[:id]} to folder #{@target_folder_id}" unless @options[:plain]
|
59
59
|
end
|
60
60
|
end
|
61
61
|
end
|
@@ -63,7 +63,7 @@ module Gzr
|
|
63
63
|
if @options[:csv] then
|
64
64
|
output.puts render_csv(table)
|
65
65
|
else
|
66
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width:
|
66
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width: @options[:width] || TTY::Screen.width)
|
67
67
|
end
|
68
68
|
end if table
|
69
69
|
end
|
@@ -39,8 +39,8 @@ module Gzr
|
|
39
39
|
say_warning("options: #{@options.inspect}") if @options[:debug]
|
40
40
|
with_session do
|
41
41
|
plan = update_scheduled_plan(@plan_id, { :enabled=>false })
|
42
|
-
output.puts "Disabled plan #{plan.id}" unless @options[:plain]
|
43
|
-
output.puts plan.id if @options[:plain]
|
42
|
+
output.puts "Disabled plan #{plan.id}" unless @options[:plain]
|
43
|
+
output.puts plan.id if @options[:plain]
|
44
44
|
end
|
45
45
|
end
|
46
46
|
end
|
@@ -39,8 +39,8 @@ module Gzr
|
|
39
39
|
say_warning("options: #{@options.inspect}") if @options[:debug]
|
40
40
|
with_session do
|
41
41
|
plan = update_scheduled_plan(@plan_id, { :enabled=>true })
|
42
|
-
output.puts "Enabled plan #{plan.id}" unless @options[:plain]
|
43
|
-
output.puts plan.id if @options[:plain]
|
42
|
+
output.puts "Enabled plan #{plan.id}" unless @options[:plain]
|
43
|
+
output.puts plan.id if @options[:plain]
|
44
44
|
end
|
45
45
|
end
|
46
46
|
end
|
@@ -87,7 +87,7 @@ module Gzr
|
|
87
87
|
if @options[:csv] then
|
88
88
|
output.puts render_csv(table)
|
89
89
|
else
|
90
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width: @options[:width] || TTY::Screen.width
|
90
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width: @options[:width] || TTY::Screen.width)
|
91
91
|
end
|
92
92
|
end if table
|
93
93
|
end
|
@@ -46,7 +46,7 @@ module Gzr
|
|
46
46
|
with_session do
|
47
47
|
|
48
48
|
@me ||= query_me("id")
|
49
|
-
|
49
|
+
|
50
50
|
|
51
51
|
read_file(@plan_file) do |data|
|
52
52
|
plan = nil
|
@@ -58,8 +58,8 @@ module Gzr
|
|
58
58
|
else
|
59
59
|
raise Gzr::CLI::Error, "Invalid type '#{obj_type}', valid types are look and dashboard"
|
60
60
|
end
|
61
|
-
output.puts "Imported plan #{plan.id}" unless @options[:plain]
|
62
|
-
output.puts plan.id if @options[:plain]
|
61
|
+
output.puts "Imported plan #{plan.id}" unless @options[:plain]
|
62
|
+
output.puts plan.id if @options[:plain]
|
63
63
|
end
|
64
64
|
end
|
65
65
|
end
|
@@ -42,14 +42,14 @@ module Gzr
|
|
42
42
|
# The api call scheduled_plan_run_once is an odd duck. It accepts
|
43
43
|
# the output of any of the calls to retrieve a scheduled plan
|
44
44
|
# even though many of the attributes passed are marked read-only.
|
45
|
-
# Furthermore, if there is a "secret" - like the password for
|
45
|
+
# Furthermore, if there is a "secret" - like the password for
|
46
46
|
# sftp or s3 - it will match the plan body up with the plan
|
47
47
|
# as known in the server and if they are identical apart from
|
48
48
|
# the secret, the api will effectively include to secret in order
|
49
49
|
# execute the plan.
|
50
50
|
plan.delete(:id)
|
51
51
|
run_scheduled_plan(plan)
|
52
|
-
output.puts "Executed plan #{@plan_id}" unless @options[:plain]
|
52
|
+
output.puts "Executed plan #{@plan_id}" unless @options[:plain]
|
53
53
|
end
|
54
54
|
end
|
55
55
|
end
|
@@ -80,15 +80,15 @@ module Gzr
|
|
80
80
|
@sdk.run_query(query_id,@options[:format]) { |data,progress| (f || output).write(data) }
|
81
81
|
rescue LookerSDK::Error => e
|
82
82
|
say_error "Error in run_query(#{query_id},#{@options[:format]})})"
|
83
|
-
say_error e
|
83
|
+
say_error e
|
84
84
|
raise
|
85
85
|
end
|
86
86
|
else
|
87
87
|
begin
|
88
|
-
@sdk.run_inline_query(@options[:format],query_hash) { |data,progress| (f || output).write(data) }
|
88
|
+
@sdk.run_inline_query(@options[:format],query_hash) { |data,progress| (f || output).write(data) }
|
89
89
|
rescue LookerSDK::Error => e
|
90
90
|
say_error "Error in run_inline_query(#{@options[:format]},#{JSON.pretty_generate(query_hash)})"
|
91
|
-
say_error e
|
91
|
+
say_error e
|
92
92
|
raise
|
93
93
|
end
|
94
94
|
end
|
@@ -33,7 +33,7 @@ module Gzr
|
|
33
33
|
# do nothing
|
34
34
|
rescue LookerSDK::Error => e
|
35
35
|
say_error "Error querying user_attribute(#{attr_id},#{JSON.pretty_generate(req)})"
|
36
|
-
say_error e
|
36
|
+
say_error e
|
37
37
|
raise
|
38
38
|
end
|
39
39
|
data
|
@@ -48,7 +48,7 @@ module Gzr
|
|
48
48
|
data = @sdk.all_user_attributes(req)
|
49
49
|
rescue LookerSDK::Error => e
|
50
50
|
say_error "Error querying all_user_attributes(#{JSON.pretty_generate(req)})"
|
51
|
-
say_error e
|
51
|
+
say_error e
|
52
52
|
raise
|
53
53
|
end
|
54
54
|
data
|
@@ -72,7 +72,7 @@ module Gzr
|
|
72
72
|
data = @sdk.create_user_attribute(attr)
|
73
73
|
rescue LookerSDK::Error => e
|
74
74
|
say_error "Error creating user_attribute(#{JSON.pretty_generate(attr)})"
|
75
|
-
say_error e
|
75
|
+
say_error e
|
76
76
|
raise
|
77
77
|
end
|
78
78
|
data
|
@@ -84,7 +84,7 @@ module Gzr
|
|
84
84
|
data = @sdk.update_user_attribute(id,attr)
|
85
85
|
rescue LookerSDK::Error => e
|
86
86
|
say_error "Error updating user_attribute(#{id},#{JSON.pretty_generate(attr)})"
|
87
|
-
say_error e
|
87
|
+
say_error e
|
88
88
|
raise
|
89
89
|
end
|
90
90
|
data
|
@@ -96,7 +96,7 @@ module Gzr
|
|
96
96
|
data = @sdk.delete_user_attribute(id)
|
97
97
|
rescue LookerSDK::Error => e
|
98
98
|
say_error "Error deleting user_attribute(#{id})"
|
99
|
-
say_error e
|
99
|
+
say_error e
|
100
100
|
raise
|
101
101
|
end
|
102
102
|
data
|
@@ -111,7 +111,7 @@ module Gzr
|
|
111
111
|
return nil
|
112
112
|
rescue LookerSDK::Error => e
|
113
113
|
say_error "Error querying all_user_attribute_group_values(#{attr_id},#{JSON.pretty_generate(req)})"
|
114
|
-
say_error e
|
114
|
+
say_error e
|
115
115
|
raise
|
116
116
|
end
|
117
117
|
end
|
@@ -146,10 +146,10 @@ module Gzr
|
|
146
146
|
new_attr = source.select do |k,v|
|
147
147
|
(keys_to_keep('create_user_attribute') - [:hidden_value_domain_whitelist]).include? k
|
148
148
|
end
|
149
|
-
new_attr[:hidden_value_domain_whitelist] = source[:
|
149
|
+
new_attr[:hidden_value_domain_whitelist] = source[:hidden_value_domain_allowlist] if source[:value_is_hidden] && source[:hidden_value_domain_allowlist]
|
150
150
|
|
151
151
|
return create_attribute(new_attr)
|
152
152
|
end
|
153
153
|
end
|
154
154
|
end
|
155
|
-
end
|
155
|
+
end
|
@@ -30,7 +30,7 @@ module Gzr
|
|
30
30
|
data = @sdk.all_connections(fields ? {:fields=>fields} : nil )
|
31
31
|
rescue LookerSDK::Error => e
|
32
32
|
say_error "Error querying all_connections({:fields=>\"#{fields}\"})"
|
33
|
-
say_error e
|
33
|
+
say_error e
|
34
34
|
raise
|
35
35
|
end
|
36
36
|
data
|
@@ -42,7 +42,7 @@ module Gzr
|
|
42
42
|
data = @sdk.all_dialect_infos(fields ? {:fields=>fields} : nil )
|
43
43
|
rescue LookerSDK::Error => e
|
44
44
|
say_error "Error querying all_dialect_infos({:fields=>\"#{fields}\"})"
|
45
|
-
say_error e
|
45
|
+
say_error e
|
46
46
|
raise
|
47
47
|
end
|
48
48
|
data
|
@@ -31,7 +31,7 @@ module Gzr
|
|
31
31
|
data&.dashboard_layouts&.sort_by! { |v| (v.active ? 0 : 1) }
|
32
32
|
rescue LookerSDK::Error => e
|
33
33
|
say_error "Error querying dashboard(#{dashboard_id})"
|
34
|
-
say_error e
|
34
|
+
say_error e
|
35
35
|
raise
|
36
36
|
end
|
37
37
|
data
|
@@ -43,7 +43,7 @@ module Gzr
|
|
43
43
|
data = @sdk.delete_dashboard(dash)
|
44
44
|
rescue LookerSDK::Error => e
|
45
45
|
say_error "Error deleting dashboard(#{dash})"
|
46
|
-
say_error e
|
46
|
+
say_error e
|
47
47
|
raise
|
48
48
|
end
|
49
49
|
data
|
@@ -53,13 +53,13 @@ module Gzr
|
|
53
53
|
data = []
|
54
54
|
begin
|
55
55
|
req = { :slug => slug }
|
56
|
-
req[:folder_id] = folder_id if folder_id
|
56
|
+
req[:folder_id] = folder_id if folder_id
|
57
57
|
data = @sdk.search_dashboards(req)
|
58
58
|
req[:deleted] = true
|
59
59
|
data = @sdk.search_dashboards(req) if data.empty?
|
60
60
|
rescue LookerSDK::Error => e
|
61
61
|
say_error "Error search_dashboards_by_slug(#{JSON.pretty_generate(req)})"
|
62
|
-
say_error e
|
62
|
+
say_error e
|
63
63
|
raise
|
64
64
|
end
|
65
65
|
data
|
@@ -69,13 +69,13 @@ module Gzr
|
|
69
69
|
data = []
|
70
70
|
begin
|
71
71
|
req = { :title => title }
|
72
|
-
req[:folder_id] = folder_id if folder_id
|
72
|
+
req[:folder_id] = folder_id if folder_id
|
73
73
|
data = @sdk.search_dashboards(req)
|
74
74
|
req[:deleted] = true
|
75
75
|
data = @sdk.search_dashboards(req) if data.empty?
|
76
76
|
rescue LookerSDK::Error => e
|
77
77
|
say_error "Error search_dashboards_by_title(#{JSON.pretty_generate(req)})"
|
78
|
-
say_error e
|
78
|
+
say_error e
|
79
79
|
raise
|
80
80
|
end
|
81
81
|
data
|
@@ -89,7 +89,7 @@ module Gzr
|
|
89
89
|
data&.dashboard_layouts&.sort_by! { |v| (v.active ? 0 : 1) }
|
90
90
|
rescue LookerSDK::Error => e
|
91
91
|
say_error "Error creating dashboard(#{JSON.pretty_generate(dash)})"
|
92
|
-
say_error e
|
92
|
+
say_error e
|
93
93
|
raise
|
94
94
|
end
|
95
95
|
data
|
@@ -101,7 +101,7 @@ module Gzr
|
|
101
101
|
data&.dashboard_filters&.sort! { |a,b| a.row <=> b.row }
|
102
102
|
rescue LookerSDK::Error => e
|
103
103
|
say_error "Error updating dashboard(#{dash_id},#{JSON.pretty_generate(dash)})"
|
104
|
-
say_error e
|
104
|
+
say_error e
|
105
105
|
raise
|
106
106
|
end
|
107
107
|
data
|
@@ -112,7 +112,7 @@ module Gzr
|
|
112
112
|
data = @sdk.create_dashboard_element(dash_elem)
|
113
113
|
rescue LookerSDK::Error => e
|
114
114
|
say_error "Error creating dashboard_element(#{JSON.pretty_generate(dash_elem)})"
|
115
|
-
say_error e
|
115
|
+
say_error e
|
116
116
|
raise
|
117
117
|
end
|
118
118
|
data
|
@@ -123,7 +123,7 @@ module Gzr
|
|
123
123
|
data = @sdk.update_dashboard_element(id,dash_elem)
|
124
124
|
rescue LookerSDK::Error => e
|
125
125
|
say_error "Error updating dashboard_element(#{id},#{JSON.pretty_generate(dash_elem)})"
|
126
|
-
say_error e
|
126
|
+
say_error e
|
127
127
|
raise
|
128
128
|
end
|
129
129
|
data
|
@@ -134,7 +134,7 @@ module Gzr
|
|
134
134
|
data = @sdk.delete_dashboard_element(id)
|
135
135
|
rescue LookerSDK::Error => e
|
136
136
|
say_error "Error deleting dashboard_element(#{id})})"
|
137
|
-
say_error e
|
137
|
+
say_error e
|
138
138
|
raise
|
139
139
|
end
|
140
140
|
data
|
@@ -145,7 +145,7 @@ module Gzr
|
|
145
145
|
data = @sdk.dashboard_layout(id)
|
146
146
|
rescue LookerSDK::Error => e
|
147
147
|
say_error "Error getting dashboard_layout(#{id})"
|
148
|
-
say_error e
|
148
|
+
say_error e
|
149
149
|
raise
|
150
150
|
end
|
151
151
|
data
|
@@ -156,7 +156,7 @@ module Gzr
|
|
156
156
|
data = @sdk.create_dashboard_layout(dash_layout)
|
157
157
|
rescue LookerSDK::Error => e
|
158
158
|
say_error "Error creating dashboard_layout(#{JSON.pretty_generate(dash_layout)})"
|
159
|
-
say_error e
|
159
|
+
say_error e
|
160
160
|
raise
|
161
161
|
end
|
162
162
|
data
|
@@ -167,7 +167,7 @@ module Gzr
|
|
167
167
|
data = @sdk.update_dashboard_layout(id,dash_layout)
|
168
168
|
rescue LookerSDK::Error => e
|
169
169
|
say_error "Error updating dashboard_layout(#{id},#{JSON.pretty_generate(dash_layout)})"
|
170
|
-
say_error e
|
170
|
+
say_error e
|
171
171
|
raise
|
172
172
|
end
|
173
173
|
data
|
@@ -178,7 +178,7 @@ module Gzr
|
|
178
178
|
data = @sdk.delete_dashboard_layout(id)
|
179
179
|
rescue LookerSDK::Error => e
|
180
180
|
say_error "Error deleting dashboard_layout(#{id})"
|
181
|
-
say_error e
|
181
|
+
say_error e
|
182
182
|
raise
|
183
183
|
end
|
184
184
|
data
|
@@ -190,7 +190,7 @@ module Gzr
|
|
190
190
|
return nil if data.respond_to?(:message) && data.message == 'Not found'
|
191
191
|
rescue LookerSDK::Error => e
|
192
192
|
say_error "Error getting dashboard_layout_dashboard_layout_components(#{id})"
|
193
|
-
say_error e
|
193
|
+
say_error e
|
194
194
|
raise
|
195
195
|
end
|
196
196
|
data
|
@@ -201,7 +201,7 @@ module Gzr
|
|
201
201
|
data = @sdk.update_dashboard_layout_component(id,component)
|
202
202
|
rescue LookerSDK::Error => e
|
203
203
|
say_error "Error updating dashboard_layout_component(#{id},#{JSON.pretty_generate(component)})"
|
204
|
-
say_error e
|
204
|
+
say_error e
|
205
205
|
raise
|
206
206
|
end
|
207
207
|
data
|
@@ -212,7 +212,7 @@ module Gzr
|
|
212
212
|
data = @sdk.create_dashboard_filter(dash_filter)
|
213
213
|
rescue LookerSDK::Error => e
|
214
214
|
say_error "Error creating dashboard_filter(#{JSON.pretty_generate(dash_filter)})"
|
215
|
-
say_error e
|
215
|
+
say_error e
|
216
216
|
raise
|
217
217
|
end
|
218
218
|
data
|
@@ -223,7 +223,7 @@ module Gzr
|
|
223
223
|
data = @sdk.update_dashboard_filter(id,dash_filter)
|
224
224
|
rescue LookerSDK::Error => e
|
225
225
|
say_error "Error updating dashboard_filter(#{id},#{JSON.pretty_generate(dash_filter)})"
|
226
|
-
say_error e
|
226
|
+
say_error e
|
227
227
|
raise
|
228
228
|
end
|
229
229
|
data
|
@@ -234,7 +234,7 @@ module Gzr
|
|
234
234
|
data = @sdk.delete_dashboard_filter(id)
|
235
235
|
rescue LookerSDK::Error => e
|
236
236
|
say_error "Error deleting dashboard_filter(#{id})})"
|
237
|
-
say_error e
|
237
|
+
say_error e
|
238
238
|
raise
|
239
239
|
end
|
240
240
|
data
|
data/lib/gzr/modules/folder.rb
CHANGED
@@ -37,7 +37,7 @@ module Gzr
|
|
37
37
|
data = @sdk.create_folder(req)
|
38
38
|
rescue LookerSDK::Error => e
|
39
39
|
say_error "Error creating folder(#{JSON.pretty_generate(req)})"
|
40
|
-
say_error e
|
40
|
+
say_error e
|
41
41
|
raise
|
42
42
|
end
|
43
43
|
data
|
@@ -51,7 +51,7 @@ module Gzr
|
|
51
51
|
data = @sdk.search_folders(req)
|
52
52
|
rescue LookerSDK::Error => e
|
53
53
|
say_error "Error querying search_folders(#{JSON.pretty_generate(req)})"
|
54
|
-
say_error e
|
54
|
+
say_error e
|
55
55
|
raise
|
56
56
|
end
|
57
57
|
data
|
@@ -61,13 +61,13 @@ module Gzr
|
|
61
61
|
data = nil
|
62
62
|
begin
|
63
63
|
req = {}
|
64
|
-
req[:fields] = fields if fields
|
64
|
+
req[:fields] = fields if fields
|
65
65
|
data = @sdk.folder(id, req)
|
66
66
|
rescue LookerSDK::NotFound
|
67
67
|
return nil
|
68
68
|
rescue LookerSDK::Error => e
|
69
69
|
say_error "Error querying folder(#{id},#{JSON.pretty_generate(req)})"
|
70
|
-
say_error e
|
70
|
+
say_error e
|
71
71
|
raise
|
72
72
|
end
|
73
73
|
data
|
@@ -117,11 +117,11 @@ module Gzr
|
|
117
117
|
data = nil
|
118
118
|
begin
|
119
119
|
req = {}
|
120
|
-
req[:fields] = fields if fields
|
120
|
+
req[:fields] = fields if fields
|
121
121
|
data = @sdk.all_folders(req)
|
122
122
|
rescue LookerSDK::Error => e
|
123
123
|
say_error "Error querying all_folders(#{JSON.pretty_generate(req)})"
|
124
|
-
say_error e
|
124
|
+
say_error e
|
125
125
|
raise
|
126
126
|
end
|
127
127
|
data
|
@@ -137,7 +137,7 @@ module Gzr
|
|
137
137
|
return nil
|
138
138
|
rescue LookerSDK::Error => e
|
139
139
|
say_error "Error querying folder_children(#{folder_id}, #{JSON.pretty_generate(req)})"
|
140
|
-
say_error e
|
140
|
+
say_error e
|
141
141
|
raise
|
142
142
|
end
|
143
143
|
data
|
@@ -151,7 +151,7 @@ module Gzr
|
|
151
151
|
return nil
|
152
152
|
rescue LookerSDK::Error => e
|
153
153
|
say_error "Error deleting folder #{folder_id}"
|
154
|
-
say_error e
|
154
|
+
say_error e
|
155
155
|
raise
|
156
156
|
end
|
157
157
|
data
|
data/lib/gzr/modules/group.rb
CHANGED
@@ -38,7 +38,7 @@ module Gzr
|
|
38
38
|
scratch_data = @sdk.all_groups(req)
|
39
39
|
rescue LookerSDK::ClientError => e
|
40
40
|
say_error "Unable to get all_groups(#{JSON.pretty_generate(req)})"
|
41
|
-
say_error e
|
41
|
+
say_error e
|
42
42
|
raise
|
43
43
|
end
|
44
44
|
break if scratch_data.length == 0
|
@@ -47,7 +47,7 @@ module Gzr
|
|
47
47
|
end
|
48
48
|
data
|
49
49
|
end
|
50
|
-
|
50
|
+
|
51
51
|
def query_group_groups(group_id,fields=nil)
|
52
52
|
req = { }
|
53
53
|
req[:fields] = fields if fields
|
@@ -59,7 +59,7 @@ module Gzr
|
|
59
59
|
return []
|
60
60
|
rescue LookerSDK::ClientError => e
|
61
61
|
say_error "Unable to get all_group_groups(#{group_id},#{JSON.pretty_generate(req)})"
|
62
|
-
say_error e
|
62
|
+
say_error e
|
63
63
|
raise
|
64
64
|
end
|
65
65
|
data
|
@@ -80,7 +80,7 @@ module Gzr
|
|
80
80
|
scratch_data = @sdk.all_group_users(group_id,req)
|
81
81
|
rescue LookerSDK::ClientError => e
|
82
82
|
say_error "Unable to get all_group_users(#{group_id},#{JSON.pretty_generate(req)})"
|
83
|
-
say_error e
|
83
|
+
say_error e
|
84
84
|
raise
|
85
85
|
end
|
86
86
|
break if scratch_data.length == 0
|
@@ -89,7 +89,7 @@ module Gzr
|
|
89
89
|
end
|
90
90
|
data
|
91
91
|
end
|
92
|
-
|
92
|
+
|
93
93
|
def search_groups(name)
|
94
94
|
req = {:name => name }
|
95
95
|
begin
|
@@ -98,11 +98,11 @@ module Gzr
|
|
98
98
|
return nil
|
99
99
|
rescue LookerSDK::ClientError => e
|
100
100
|
say_error "Unable to search_groups(#{JSON.pretty_generate(req)})"
|
101
|
-
say_error e
|
101
|
+
say_error e
|
102
102
|
raise
|
103
103
|
end
|
104
104
|
end
|
105
|
-
|
105
|
+
|
106
106
|
def query_group(id, fields=nil)
|
107
107
|
req = Hash.new
|
108
108
|
req[:fields] = fields if fields
|
@@ -112,11 +112,11 @@ module Gzr
|
|
112
112
|
return nil
|
113
113
|
rescue LookerSDK::ClientError => e
|
114
114
|
say_error "Unable to find group(#{id},#{JSON.pretty_generate(req)})"
|
115
|
-
say_error e
|
115
|
+
say_error e
|
116
116
|
raise
|
117
117
|
end
|
118
118
|
end
|
119
|
-
|
119
|
+
|
120
120
|
def update_user_attribute_group_value(group_id, attr_id, value)
|
121
121
|
req = Hash.new
|
122
122
|
req[:value] = value
|
@@ -124,7 +124,7 @@ module Gzr
|
|
124
124
|
return @sdk.update_user_attribute_group_value(group_id,attr_id, req)
|
125
125
|
rescue LookerSDK::ClientError => e
|
126
126
|
say_error "Unable to update_user_attribute_group_value(#{group_id},#{attr_id},#{JSON.pretty_generate(req)})"
|
127
|
-
say_error e
|
127
|
+
say_error e
|
128
128
|
raise
|
129
129
|
end
|
130
130
|
end
|
data/lib/gzr/modules/look.rb
CHANGED
@@ -29,7 +29,7 @@ module Gzr
|
|
29
29
|
data = @sdk.look(look_id)
|
30
30
|
rescue LookerSDK::Error => e
|
31
31
|
say_error "Error querying look(#{look_id})"
|
32
|
-
say_error e
|
32
|
+
say_error e
|
33
33
|
raise
|
34
34
|
end
|
35
35
|
data
|
@@ -39,13 +39,13 @@ module Gzr
|
|
39
39
|
data = []
|
40
40
|
begin
|
41
41
|
req = { :slug => slug }
|
42
|
-
req[:folder_id] = folder_id if folder_id
|
42
|
+
req[:folder_id] = folder_id if folder_id
|
43
43
|
data = @sdk.search_looks(req)
|
44
44
|
req[:deleted] = true
|
45
45
|
data = @sdk.search_looks(req) if data.empty?
|
46
46
|
rescue LookerSDK::Error => e
|
47
47
|
say_error "Error search_looks_by_slug(#{JSON.pretty_generate(req)})"
|
48
|
-
say_error e
|
48
|
+
say_error e
|
49
49
|
raise
|
50
50
|
end
|
51
51
|
data
|
@@ -55,13 +55,13 @@ module Gzr
|
|
55
55
|
data = []
|
56
56
|
begin
|
57
57
|
req = { :title => title }
|
58
|
-
req[:folder_id] = folder_id if folder_id
|
58
|
+
req[:folder_id] = folder_id if folder_id
|
59
59
|
data = @sdk.search_looks(req)
|
60
60
|
req[:deleted] = true
|
61
61
|
data = @sdk.search_looks(req) if data.empty?
|
62
62
|
rescue LookerSDK::Error => e
|
63
63
|
say_error "Error search_looks_by_title(#{JSON.pretty_generate(req)})"
|
64
|
-
say_error e
|
64
|
+
say_error e
|
65
65
|
raise
|
66
66
|
end
|
67
67
|
data
|
@@ -84,7 +84,7 @@ module Gzr
|
|
84
84
|
data = @sdk.update_look(id,look)
|
85
85
|
rescue LookerSDK::Error => e
|
86
86
|
say_error "Error updating look(#{id},#{JSON.pretty_generate(look)})"
|
87
|
-
say_error e
|
87
|
+
say_error e
|
88
88
|
raise
|
89
89
|
end
|
90
90
|
data
|
@@ -96,7 +96,7 @@ module Gzr
|
|
96
96
|
data = @sdk.delete_look(look_id)
|
97
97
|
rescue LookerSDK::Error => e
|
98
98
|
say_error "Error deleting look(#{look_id})"
|
99
|
-
say_error e
|
99
|
+
say_error e
|
100
100
|
raise
|
101
101
|
end
|
102
102
|
data
|
data/lib/gzr/modules/model.rb
CHANGED
data/lib/gzr/modules/plan.rb
CHANGED
@@ -35,12 +35,12 @@ module Gzr
|
|
35
35
|
data = @sdk.all_scheduled_plans(req)
|
36
36
|
rescue LookerSDK::ClientError => e
|
37
37
|
say_error "Unable to get all_scheduled_plans(#{JSON.pretty_generate(req)})"
|
38
|
-
say_error e
|
38
|
+
say_error e
|
39
39
|
raise
|
40
40
|
end
|
41
41
|
data
|
42
42
|
end
|
43
|
-
|
43
|
+
|
44
44
|
def query_scheduled_plans_for_look(look_id,user_id,fields=nil)
|
45
45
|
req = {}
|
46
46
|
req[:all_users] = true if user_id == "all"
|
@@ -54,12 +54,12 @@ module Gzr
|
|
54
54
|
return nil
|
55
55
|
rescue LookerSDK::ClientError => e
|
56
56
|
say_error "Unable to get scheduled_plans_for_look(#{look_id},#{JSON.pretty_generate(req)})"
|
57
|
-
say_error e
|
57
|
+
say_error e
|
58
58
|
raise
|
59
59
|
end
|
60
60
|
data
|
61
61
|
end
|
62
|
-
|
62
|
+
|
63
63
|
def query_scheduled_plans_for_dashboard(dashboard_id,user_id,fields=nil)
|
64
64
|
req = {}
|
65
65
|
req[:all_users] = true if user_id == "all"
|
@@ -73,13 +73,13 @@ module Gzr
|
|
73
73
|
return nil
|
74
74
|
rescue LookerSDK::ClientError => e
|
75
75
|
say_error "Unable to get scheduled_plans_for_dashboard(#{dashboard_id},#{JSON.pretty_generate(req)})"
|
76
|
-
say_error e
|
76
|
+
say_error e
|
77
77
|
raise
|
78
78
|
end
|
79
79
|
data.map! {|plan| plan.to_attrs}
|
80
80
|
data
|
81
81
|
end
|
82
|
-
|
82
|
+
|
83
83
|
def query_scheduled_plan(plan_id,fields=nil)
|
84
84
|
req = {}
|
85
85
|
req[:fields] = fields if fields
|
@@ -87,18 +87,18 @@ module Gzr
|
|
87
87
|
data = @sdk.scheduled_plan(plan_id,req)
|
88
88
|
rescue LookerSDK::ClientError => e
|
89
89
|
say_error "Unable to get scheduled_plan(#{plan_id},#{JSON.pretty_generate(req)})"
|
90
|
-
say_error e
|
90
|
+
say_error e
|
91
91
|
raise
|
92
92
|
end
|
93
93
|
data
|
94
94
|
end
|
95
|
-
|
95
|
+
|
96
96
|
def delete_scheduled_plan(plan_id)
|
97
97
|
begin
|
98
98
|
data = @sdk.delete_scheduled_plan(plan_id)
|
99
99
|
rescue LookerSDK::ClientError => e
|
100
100
|
say_error "Unable to delete scheduled_plan(#{plan_id})"
|
101
|
-
say_error e
|
101
|
+
say_error e
|
102
102
|
raise
|
103
103
|
end
|
104
104
|
data
|
@@ -109,7 +109,7 @@ module Gzr
|
|
109
109
|
data = @sdk.create_scheduled_plan(plan)
|
110
110
|
rescue LookerSDK::Error => e
|
111
111
|
say_error "Error creating scheduled_plan(#{JSON.pretty_generate(plan)})"
|
112
|
-
say_error e
|
112
|
+
say_error e
|
113
113
|
raise
|
114
114
|
end
|
115
115
|
data
|
@@ -120,7 +120,7 @@ module Gzr
|
|
120
120
|
data = @sdk.update_scheduled_plan(plan_id,plan)
|
121
121
|
rescue LookerSDK::Error => e
|
122
122
|
say_error "Error updating scheduled_plan(#{plan_id},#{JSON.pretty_generate(plan)})"
|
123
|
-
say_error e
|
123
|
+
say_error e
|
124
124
|
raise
|
125
125
|
end
|
126
126
|
data
|
@@ -131,32 +131,32 @@ module Gzr
|
|
131
131
|
data = @sdk.scheduled_plan_run_once(plan)
|
132
132
|
rescue LookerSDK::Error => e
|
133
133
|
say_error "Error executing scheduled_plan_run_once(#{JSON.pretty_generate(plan)})"
|
134
|
-
say_error e
|
134
|
+
say_error e
|
135
135
|
raise
|
136
136
|
end
|
137
137
|
data
|
138
138
|
end
|
139
|
-
|
139
|
+
|
140
140
|
def upsert_plans_for_look(look_id,user_id,source_plans)
|
141
141
|
existing_plans = query_scheduled_plans_for_look(look_id,"all")
|
142
142
|
upsert_plans_for_obj(user_id,source_plans,existing_plans) { |p| p[:look_id] = look_id }
|
143
143
|
end
|
144
|
-
|
144
|
+
|
145
145
|
def upsert_plans_for_dashboard(dashboard_id,user_id,source_plans)
|
146
146
|
existing_plans = query_scheduled_plans_for_dashboard(dashboard_id,"all")
|
147
147
|
upsert_plans_for_obj(user_id,source_plans,existing_plans) { |p| p[:dashboard_id] = dashboard_id }
|
148
148
|
end
|
149
|
-
|
149
|
+
|
150
150
|
def upsert_plan_for_look(look_id,user_id,source_plan)
|
151
151
|
existing_plans = query_scheduled_plans_for_look(look_id,"all")
|
152
152
|
upsert_plan_for_obj(user_id,source_plan,existing_plans) { |p| p[:look_id] = look_id }
|
153
153
|
end
|
154
|
-
|
154
|
+
|
155
155
|
def upsert_plan_for_dashboard(dashboard_id,user_id,source_plan)
|
156
156
|
existing_plans = query_scheduled_plans_for_dashboard(dashboard_id,"all")
|
157
157
|
upsert_plan_for_obj(user_id,source_plan,existing_plans) { |p| p[:dashboard_id] = dashboard_id }
|
158
158
|
end
|
159
|
-
|
159
|
+
|
160
160
|
def upsert_plans_for_obj(user_id,source_plans,existing_plans, &block)
|
161
161
|
plans = nil
|
162
162
|
source_plans.collect do |source_plan|
|
data/lib/gzr/modules/role.rb
CHANGED
@@ -33,7 +33,7 @@ module Gzr
|
|
33
33
|
# do nothing
|
34
34
|
rescue LookerSDK::ClientError => e
|
35
35
|
say_error "Unable to get all_roles(#{JSON.pretty_generate(req)})"
|
36
|
-
say_error e
|
36
|
+
say_error e
|
37
37
|
say_error e.errors if e.errors
|
38
38
|
raise
|
39
39
|
end
|
@@ -47,7 +47,7 @@ module Gzr
|
|
47
47
|
# do nothing
|
48
48
|
rescue LookerSDK::ClientError => e
|
49
49
|
say_error "Unable to get role(#{role_id})"
|
50
|
-
say_error e
|
50
|
+
say_error e
|
51
51
|
say_error e.errors if e.errors
|
52
52
|
raise
|
53
53
|
end
|
@@ -61,7 +61,7 @@ module Gzr
|
|
61
61
|
# do nothing
|
62
62
|
rescue LookerSDK::ClientError => e
|
63
63
|
say_error "Unable to delete_role(#{role_id})"
|
64
|
-
say_error e
|
64
|
+
say_error e
|
65
65
|
say_error e.errors if e.errors
|
66
66
|
raise
|
67
67
|
end
|
@@ -77,7 +77,7 @@ module Gzr
|
|
77
77
|
# do nothing
|
78
78
|
rescue LookerSDK::ClientError => e
|
79
79
|
say_error "Unable to get role_groups(#{role_id},#{JSON.pretty_generate(req)})"
|
80
|
-
say_error e
|
80
|
+
say_error e
|
81
81
|
say_error e.errors if e.errors
|
82
82
|
raise
|
83
83
|
end
|
@@ -94,7 +94,7 @@ module Gzr
|
|
94
94
|
# do nothing
|
95
95
|
rescue LookerSDK::ClientError => e
|
96
96
|
say_error "Unable to get role_users(#{role_id},#{JSON.pretty_generate(req)})"
|
97
|
-
say_error e
|
97
|
+
say_error e
|
98
98
|
say_error e.errors if e.errors
|
99
99
|
raise
|
100
100
|
end
|
@@ -106,7 +106,7 @@ module Gzr
|
|
106
106
|
data = @sdk.set_role_groups(role_id, groups)
|
107
107
|
rescue LookerSDK::ClientError => e
|
108
108
|
say_error "Unable to call set_role_groups(#{role_id},#{JSON.pretty_generate(groups)})"
|
109
|
-
say_error e
|
109
|
+
say_error e
|
110
110
|
say_error e.errors if e.errors
|
111
111
|
raise
|
112
112
|
end
|
@@ -118,7 +118,7 @@ module Gzr
|
|
118
118
|
data = @sdk.set_role_users(role_id, users)
|
119
119
|
rescue LookerSDK::ClientError => e
|
120
120
|
say_error "Unable to call set_role_users(#{role_id},#{JSON.pretty_generate(users)})"
|
121
|
-
say_error e
|
121
|
+
say_error e
|
122
122
|
say_error e.errors if e.errors
|
123
123
|
raise
|
124
124
|
end
|
data/lib/gzr/modules/session.rb
CHANGED
@@ -189,7 +189,7 @@ module Gzr
|
|
189
189
|
raise
|
190
190
|
rescue LookerSDK::Error => e
|
191
191
|
say_error "Unable to connect"
|
192
|
-
say_error e
|
192
|
+
say_error e
|
193
193
|
say_error e.errors if e.respond_to?(:errors) && e.errors
|
194
194
|
raise
|
195
195
|
end
|
@@ -203,8 +203,8 @@ module Gzr
|
|
203
203
|
@sdk.access_token = @sdk.login_user(@options[:su]).access_token
|
204
204
|
say_warning "verify authentication: #{@sdk.authenticated?}" if @options[:debug]
|
205
205
|
rescue LookerSDK::Error => e
|
206
|
-
say_error "Unable to su to user #{@options[:su]}"
|
207
|
-
say_error e
|
206
|
+
say_error "Unable to su to user #{@options[:su]}"
|
207
|
+
say_error e
|
208
208
|
say_error e.errors if e.respond_to?(:errors) && e.errors
|
209
209
|
raise
|
210
210
|
end
|
@@ -219,7 +219,7 @@ module Gzr
|
|
219
219
|
@sdk.logout
|
220
220
|
rescue LookerSDK::Error => e
|
221
221
|
say_error "Unable to logout"
|
222
|
-
say_error e
|
222
|
+
say_error e
|
223
223
|
say_error e.errors if e.respond_to?(:errors) && e.errors
|
224
224
|
end if @sdk
|
225
225
|
loop do
|
@@ -231,7 +231,7 @@ module Gzr
|
|
231
231
|
@sdk.logout
|
232
232
|
rescue LookerSDK::Error => e
|
233
233
|
say_error "Unable to logout"
|
234
|
-
say_error e
|
234
|
+
say_error e
|
235
235
|
say_error e.errors if e.respond_to?(:errors) && e.errors
|
236
236
|
end
|
237
237
|
end
|
data/lib/gzr/modules/user.rb
CHANGED
@@ -30,7 +30,7 @@ module Gzr
|
|
30
30
|
data = @sdk.me(fields ? {:fields=>fields} : nil )
|
31
31
|
rescue LookerSDK::Error => e
|
32
32
|
say_error "Error querying me({:fields=>\"#{fields}\"})"
|
33
|
-
say_error e
|
33
|
+
say_error e
|
34
34
|
raise
|
35
35
|
end
|
36
36
|
data
|
@@ -42,7 +42,7 @@ module Gzr
|
|
42
42
|
data = @sdk.user(id, fields ? {:fields=>fields} : nil )
|
43
43
|
rescue LookerSDK::Error => e
|
44
44
|
say_error "Error querying user(#{id},{:fields=>\"#{fields}\"})"
|
45
|
-
say_error e
|
45
|
+
say_error e
|
46
46
|
raise
|
47
47
|
end
|
48
48
|
data
|
@@ -64,7 +64,7 @@ module Gzr
|
|
64
64
|
scratch_data = @sdk.search_users(req)
|
65
65
|
rescue LookerSDK::ClientError => e
|
66
66
|
say_error "Unable to get search_users(#{JSON.pretty_generate(req)})"
|
67
|
-
say_error e
|
67
|
+
say_error e
|
68
68
|
raise
|
69
69
|
end
|
70
70
|
break if scratch_data.length == 0
|
@@ -89,7 +89,7 @@ module Gzr
|
|
89
89
|
scratch_data = @sdk.all_users(req)
|
90
90
|
rescue LookerSDK::ClientError => e
|
91
91
|
say_error "Unable to get all_users(#{JSON.pretty_generate(req)})"
|
92
|
-
say_error e
|
92
|
+
say_error e
|
93
93
|
raise
|
94
94
|
end
|
95
95
|
break if scratch_data.length == 0
|
@@ -105,12 +105,12 @@ module Gzr
|
|
105
105
|
data = @sdk.update_user(id,req)
|
106
106
|
rescue LookerSDK::Error => e
|
107
107
|
say_error "Error updating user(#{id},#{JSON.pretty_generate(req)})"
|
108
|
-
say_error e
|
108
|
+
say_error e
|
109
109
|
raise
|
110
110
|
end
|
111
111
|
data
|
112
112
|
end
|
113
|
-
|
113
|
+
|
114
114
|
def delete_user(id)
|
115
115
|
data = nil
|
116
116
|
req = id
|
@@ -118,7 +118,7 @@ module Gzr
|
|
118
118
|
data = @sdk.delete_user(req)
|
119
119
|
rescue LookerSDK::Error => e
|
120
120
|
say_error "Error deleting user(#{id},#{JSON.pretty_generate(req)})"
|
121
|
-
say_error e
|
121
|
+
say_error e
|
122
122
|
raise
|
123
123
|
end
|
124
124
|
data
|
data/lib/gzr/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gazer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike DeAngelo
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-04-
|
11
|
+
date: 2023-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tty-reader
|