kinetic_sdk 0.1.1 → 1.0.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 +5 -5
- data/.yardoc-includes/yard-helpers.rb +14 -0
- data/.yardopts +7 -0
- data/CHANGELOG.md +41 -0
- data/GettingStarted.md +6 -12
- data/README.md +85 -37
- data/Rakefile +13 -0
- data/kinetic_sdk.gemspec +33 -0
- data/lib/kinetic_sdk/agent/agent-sdk.rb +90 -0
- data/lib/kinetic_sdk/agent/lib/bridges.rb +92 -0
- data/lib/kinetic_sdk/agent/lib/filestores.rb +91 -0
- data/lib/kinetic_sdk/agent/lib/handler.rb +91 -0
- data/lib/kinetic_sdk/bridgehub/bridgehub-sdk.rb +11 -3
- data/lib/kinetic_sdk/bridgehub/lib/access_keys.rb +5 -5
- data/lib/kinetic_sdk/bridgehub/lib/bridge.rb +5 -5
- data/lib/kinetic_sdk/{request_ce/request-ce-sdk.rb → core/core-sdk.rb} +30 -16
- data/lib/kinetic_sdk/core/lib/attribute_definitions.rb +500 -0
- data/lib/kinetic_sdk/core/lib/bridges.rb +141 -0
- data/lib/kinetic_sdk/{request_ce → core}/lib/categories.rb +3 -3
- data/lib/kinetic_sdk/{request_ce → core}/lib/datastore_form.rb +8 -8
- data/lib/kinetic_sdk/{request_ce → core}/lib/datastore_submissions.rb +20 -9
- data/lib/kinetic_sdk/{request_ce → core}/lib/form.rb +7 -7
- data/lib/kinetic_sdk/{request_ce → core}/lib/form_types.rb +4 -4
- data/lib/kinetic_sdk/{request_ce → core}/lib/jwt.rb +4 -4
- data/lib/kinetic_sdk/{request_ce → core}/lib/kapp.rb +7 -7
- data/lib/kinetic_sdk/{request_ce → core}/lib/meta.rb +3 -3
- data/lib/kinetic_sdk/{request_ce → core}/lib/oauth.rb +4 -4
- data/lib/kinetic_sdk/{request_ce → core}/lib/security_policy_definitions.rb +11 -11
- data/lib/kinetic_sdk/core/lib/space.rb +156 -0
- data/lib/kinetic_sdk/{request_ce → core}/lib/submissions.rb +11 -11
- data/lib/kinetic_sdk/{request_ce → core}/lib/system_api.rb +19 -7
- data/lib/kinetic_sdk/{request_ce → core}/lib/teams.rb +9 -9
- data/lib/kinetic_sdk/{request_ce → core}/lib/users.rb +15 -15
- data/lib/kinetic_sdk/{request_ce → core}/lib/webhook_jobs.rb +5 -5
- data/lib/kinetic_sdk/{request_ce → core}/lib/webhooks.rb +9 -9
- data/lib/kinetic_sdk/discussions/discussions-sdk.rb +12 -4
- data/lib/kinetic_sdk/discussions/lib/discussions.rb +8 -8
- data/lib/kinetic_sdk/discussions/lib/invitations.rb +9 -9
- data/lib/kinetic_sdk/discussions/lib/messages.rb +8 -8
- data/lib/kinetic_sdk/discussions/lib/meta.rb +1 -1
- data/lib/kinetic_sdk/discussions/lib/participants.rb +5 -5
- data/lib/kinetic_sdk/discussions/lib/related_items.rb +4 -4
- data/lib/kinetic_sdk/discussions/lib/websockets.rb +9 -9
- data/lib/kinetic_sdk/filehub/filehub-sdk.rb +11 -3
- data/lib/kinetic_sdk/filehub/lib/access_keys.rb +5 -5
- data/lib/kinetic_sdk/filehub/lib/filestores.rb +5 -5
- data/lib/kinetic_sdk/task/lib/access_keys.rb +35 -7
- data/lib/kinetic_sdk/task/lib/categories.rb +30 -17
- data/lib/kinetic_sdk/task/lib/config.rb +14 -14
- data/lib/kinetic_sdk/task/lib/engine.rb +1 -1
- data/lib/kinetic_sdk/task/lib/errors.rb +10 -10
- data/lib/kinetic_sdk/task/lib/export.rb +32 -0
- data/lib/kinetic_sdk/task/lib/groups.rb +23 -10
- data/lib/kinetic_sdk/task/lib/handlers.rb +27 -11
- data/lib/kinetic_sdk/task/lib/health.rb +11 -3
- data/lib/kinetic_sdk/task/lib/license.rb +4 -4
- data/lib/kinetic_sdk/task/lib/policy_rules.rb +25 -12
- data/lib/kinetic_sdk/task/lib/runs.rb +43 -0
- data/lib/kinetic_sdk/task/lib/setup.rb +2 -2
- data/lib/kinetic_sdk/task/lib/sources.rb +39 -8
- data/lib/kinetic_sdk/task/lib/tasks.rb +1 -1
- data/lib/kinetic_sdk/task/lib/trees.rb +84 -28
- data/lib/kinetic_sdk/task/lib/users.rb +6 -6
- data/lib/kinetic_sdk/task/task-sdk.rb +16 -4
- data/lib/kinetic_sdk/utils/kinetic-export-utils.rb +157 -0
- data/lib/kinetic_sdk/utils/kinetic-http.rb +388 -98
- data/lib/kinetic_sdk/utils/logger.rb +82 -46
- data/lib/kinetic_sdk/utils/prettier-xml-formatter.rb +60 -0
- data/lib/kinetic_sdk/version.rb +1 -1
- data/lib/kinetic_sdk.rb +5 -2
- metadata +41 -27
- data/lib/kinetic_sdk/request_ce/lib/attribute_definitions.rb +0 -153
- data/lib/kinetic_sdk/request_ce/lib/bridges.rb +0 -66
- data/lib/kinetic_sdk/request_ce/lib/space.rb +0 -89
@@ -7,7 +7,7 @@ module KineticSdk
|
|
7
7
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
8
8
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
9
9
|
def find_db(params={}, headers=header_basic_auth)
|
10
|
-
info("Finding the database configuration")
|
10
|
+
@logger.info("Finding the database configuration")
|
11
11
|
get("#{@api_url}/config/db", params, headers)
|
12
12
|
end
|
13
13
|
|
@@ -18,7 +18,7 @@ module KineticSdk
|
|
18
18
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
19
19
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
20
20
|
def find_session_configuration(params={}, headers=header_basic_auth)
|
21
|
-
info("Finding the session timeout")
|
21
|
+
@logger.info("Finding the session timeout")
|
22
22
|
get("#{@api_url}/config/session", params, headers)
|
23
23
|
end
|
24
24
|
|
@@ -35,14 +35,14 @@ module KineticSdk
|
|
35
35
|
# "authenticator" => "com.kineticdata.core.v1.authenticators.ProxyAuthenticator",
|
36
36
|
# "authenticationJsp" => "/WEB-INF/app/login.jsp",
|
37
37
|
# "properties" => {
|
38
|
-
# "
|
39
|
-
# "
|
40
|
-
# "
|
38
|
+
# "Authentication Strategy" => "Http Header",
|
39
|
+
# "Header Name" => "X-Login",
|
40
|
+
# "Guest Access Enabled" => "No"
|
41
41
|
# }
|
42
42
|
# })
|
43
43
|
#
|
44
44
|
def update_authentication(settings, headers=default_headers)
|
45
|
-
info("Updating the authentication properties")
|
45
|
+
@logger.info("Updating the authentication properties")
|
46
46
|
put("#{@api_url}/config/auth", settings, headers)
|
47
47
|
end
|
48
48
|
|
@@ -66,7 +66,7 @@ module KineticSdk
|
|
66
66
|
# })
|
67
67
|
#
|
68
68
|
def update_db(settings, headers=default_headers)
|
69
|
-
info("Updating the database properties")
|
69
|
+
@logger.info("Updating the database properties")
|
70
70
|
put("#{@api_url}/config/db", settings, headers)
|
71
71
|
end
|
72
72
|
|
@@ -86,12 +86,12 @@ module KineticSdk
|
|
86
86
|
# })
|
87
87
|
#
|
88
88
|
def update_engine(settings, headers=default_headers)
|
89
|
-
info("Updating the engine properties")
|
89
|
+
@logger.info("Updating the engine properties")
|
90
90
|
put("#{@api_url}/config/engine", settings, headers)
|
91
91
|
|
92
92
|
# start the task engine?
|
93
93
|
if !settings['Sleep Delay'].nil? && settings['Sleep Delay'].to_i > 0
|
94
|
-
info("Starting the engine")
|
94
|
+
@logger.info("Starting the engine")
|
95
95
|
start_engine
|
96
96
|
end
|
97
97
|
end
|
@@ -116,7 +116,7 @@ module KineticSdk
|
|
116
116
|
# })
|
117
117
|
#
|
118
118
|
def update_identity_store(settings, headers=default_headers)
|
119
|
-
info("Updating the identity store properties")
|
119
|
+
@logger.info("Updating the identity store properties")
|
120
120
|
put("#{@api_url}/config/identityStore", settings, headers)
|
121
121
|
end
|
122
122
|
|
@@ -144,7 +144,7 @@ module KineticSdk
|
|
144
144
|
# })
|
145
145
|
#
|
146
146
|
def update_properties(settings, headers=default_headers)
|
147
|
-
info("Updating the web server properties")
|
147
|
+
@logger.info("Updating the web server properties")
|
148
148
|
put("#{@api_url}/config/server", settings, headers)
|
149
149
|
|
150
150
|
# reset the configuration user
|
@@ -168,7 +168,7 @@ module KineticSdk
|
|
168
168
|
# })
|
169
169
|
#
|
170
170
|
def update_session_configuration(settings, headers=default_headers)
|
171
|
-
info("Updating the session configuration settings")
|
171
|
+
@logger.info("Updating the session configuration settings")
|
172
172
|
put("#{@api_url}/config/session", settings, headers)
|
173
173
|
end
|
174
174
|
|
@@ -178,7 +178,7 @@ module KineticSdk
|
|
178
178
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
179
179
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
180
180
|
def find_system_policy_rule(params={}, headers=header_basic_auth)
|
181
|
-
info("Finding the system policy rule")
|
181
|
+
@logger.info("Finding the system policy rule")
|
182
182
|
get("#{@api_url}/config/systemPolicyRule", params, headers)
|
183
183
|
end
|
184
184
|
|
@@ -193,7 +193,7 @@ module KineticSdk
|
|
193
193
|
# update_system_policy_rule("Allow All")
|
194
194
|
#
|
195
195
|
def update_system_policy_rule(policy_rule_name, headers=default_headers)
|
196
|
-
info("Updating the system policy rule")
|
196
|
+
@logger.info("Updating the system policy rule")
|
197
197
|
payload = { "name" => policy_rule_name }
|
198
198
|
put("#{@api_url}/config/systemPolicyRule", payload, headers)
|
199
199
|
end
|
@@ -33,7 +33,7 @@ module KineticSdk
|
|
33
33
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
34
34
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
35
35
|
def engine_status(headers=header_basic_auth)
|
36
|
-
response =
|
36
|
+
response = engine_@logger.info({}, headers)
|
37
37
|
data = response.content
|
38
38
|
data.nil? ? "Unknown" : data['status']
|
39
39
|
end
|
@@ -8,7 +8,7 @@ module KineticSdk
|
|
8
8
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
9
9
|
# @since Task v4.3.0
|
10
10
|
def delete_error(id, headers=header_basic_auth)
|
11
|
-
info("Deleting Error \"#{id}\"")
|
11
|
+
@logger.info("Deleting Error \"#{id}\"")
|
12
12
|
delete("#{@api_url}/errors/#{id}", headers)
|
13
13
|
end
|
14
14
|
|
@@ -26,7 +26,7 @@ module KineticSdk
|
|
26
26
|
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
27
27
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
28
28
|
def resolve_errors(ids, action, resolution, headers=default_headers)
|
29
|
-
info("Resolving errors #{ids}")
|
29
|
+
@logger.info("Resolving errors #{ids}")
|
30
30
|
body = { "ids" => ids, "action" => action, "resolution" => resolution }
|
31
31
|
post("#{@api_url}/errors/resolve", body, headers)
|
32
32
|
end
|
@@ -57,7 +57,7 @@ module KineticSdk
|
|
57
57
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
58
58
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
59
59
|
def find_errors(params={}, headers=header_basic_auth)
|
60
|
-
info("Finding errors")
|
60
|
+
@logger.info("Finding errors")
|
61
61
|
get("#{@api_url}/errors", params, headers)
|
62
62
|
end
|
63
63
|
|
@@ -68,7 +68,7 @@ module KineticSdk
|
|
68
68
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
69
69
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
70
70
|
def find_error(id, params={}, headers=header_basic_auth)
|
71
|
-
info("Finding error #{id}")
|
71
|
+
@logger.info("Finding error #{id}")
|
72
72
|
get("#{@api_url}/errors/#{id}", params, headers)
|
73
73
|
end
|
74
74
|
|
@@ -79,7 +79,7 @@ module KineticSdk
|
|
79
79
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
80
80
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
81
81
|
def find_active_errors_by_handler(handler_id, params={}, headers=header_basic_auth)
|
82
|
-
info("Finding active errors for handler #{handler_id}")
|
82
|
+
@logger.info("Finding active errors for handler #{handler_id}")
|
83
83
|
params['handlerId'] = handler_id
|
84
84
|
params['status'] = 'Active'
|
85
85
|
find_errors(params, headers)
|
@@ -92,7 +92,7 @@ module KineticSdk
|
|
92
92
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
93
93
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
94
94
|
def find_active_errors_by_source(source_name, params={}, headers=header_basic_auth)
|
95
|
-
info("Finding active errors for source \"#{source_name}\"")
|
95
|
+
@logger.info("Finding active errors for source \"#{source_name}\"")
|
96
96
|
params['source'] = source_name
|
97
97
|
params['status'] = 'Active'
|
98
98
|
find_errors(params, headers)
|
@@ -106,7 +106,7 @@ module KineticSdk
|
|
106
106
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
107
107
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
108
108
|
def find_active_errors_by_source_group(source_name, group, params={}, headers=header_basic_auth)
|
109
|
-
info("Finding active errors for source group \"#{source_name} :: #{group}\"")
|
109
|
+
@logger.info("Finding active errors for source group \"#{source_name} :: #{group}\"")
|
110
110
|
params['group'] = group
|
111
111
|
params['source'] = source_name
|
112
112
|
params['status'] = 'Active'
|
@@ -122,7 +122,7 @@ module KineticSdk
|
|
122
122
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
123
123
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
124
124
|
def find_active_errors_by_tree(source_name, group, tree_name, params={}, headers=header_basic_auth)
|
125
|
-
info("Finding active errors for tree \"#{source_name} :: #{group} :: #{tree_name}\"")
|
125
|
+
@logger.info("Finding active errors for tree \"#{source_name} :: #{group} :: #{tree_name}\"")
|
126
126
|
params['tree'] = tree_name
|
127
127
|
params['group'] = group
|
128
128
|
params['source'] = source_name
|
@@ -140,7 +140,7 @@ module KineticSdk
|
|
140
140
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
141
141
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
142
142
|
def find_active_errors_by_node(source_name, group, tree_name, node_id, params={}, headers=header_basic_auth)
|
143
|
-
info("Finding active errors for node \"#{source_name} :: #{group} :: #{tree_name} :: #{node_id}\"")
|
143
|
+
@logger.info("Finding active errors for node \"#{source_name} :: #{group} :: #{tree_name} :: #{node_id}\"")
|
144
144
|
params['nodeId'] = node_id
|
145
145
|
params['tree'] = tree_name
|
146
146
|
params['group'] = group
|
@@ -156,7 +156,7 @@ module KineticSdk
|
|
156
156
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
157
157
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
158
158
|
def find_errors_by_run(run_id, params={}, headers=header_basic_auth)
|
159
|
-
info("Finding active errors for run #{run_id}")
|
159
|
+
@logger.info("Finding active errors for run #{run_id}")
|
160
160
|
params['runId'] = run_id
|
161
161
|
find_errors(params, headers)
|
162
162
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module KineticSdk
|
2
|
+
class Task
|
3
|
+
|
4
|
+
# Export all structure definitions to :source-slug.json file in
|
5
|
+
# `export_directory/sources`.
|
6
|
+
#
|
7
|
+
# Exports the following items:
|
8
|
+
#
|
9
|
+
# * sources
|
10
|
+
# * trees
|
11
|
+
# * routines
|
12
|
+
# * handlers
|
13
|
+
# * groups
|
14
|
+
# * policy rules
|
15
|
+
# * categories
|
16
|
+
# * access keys
|
17
|
+
#
|
18
|
+
# @param headers [Hash] hash of headers to send, default is basic authentication
|
19
|
+
# @return nil
|
20
|
+
def export(headers=header_basic_auth)
|
21
|
+
export_sources(headers)
|
22
|
+
export_trees(nil,headers) # Includes routines when nil passed
|
23
|
+
export_handlers(headers)
|
24
|
+
export_groups(headers)
|
25
|
+
export_policy_rules(headers)
|
26
|
+
export_categories(headers)
|
27
|
+
export_access_keys(headers)
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
end
|
32
|
+
end
|
@@ -7,7 +7,7 @@ module KineticSdk
|
|
7
7
|
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
8
8
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
9
9
|
def add_group(name, headers=default_headers)
|
10
|
-
info("Adding group \"#{name}\"")
|
10
|
+
@logger.info("Adding group \"#{name}\"")
|
11
11
|
post("#{@api_url}/groups", { "name" => name }, headers)
|
12
12
|
end
|
13
13
|
|
@@ -17,7 +17,7 @@ module KineticSdk
|
|
17
17
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
18
18
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
19
19
|
def delete_group(name, headers=header_basic_auth)
|
20
|
-
info("Deleting Group \"#{name}\"")
|
20
|
+
@logger.info("Deleting Group \"#{name}\"")
|
21
21
|
delete("#{@api_url}/groups/#{encode(name)}", headers)
|
22
22
|
end
|
23
23
|
|
@@ -26,7 +26,7 @@ module KineticSdk
|
|
26
26
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
27
27
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
28
28
|
def delete_groups(headers=header_basic_auth)
|
29
|
-
info("Deleting all groups")
|
29
|
+
@logger.info("Deleting all groups")
|
30
30
|
(find_groups(headers).content['groups'] || []).each do |group|
|
31
31
|
delete("#{@api_url}/groups/#{encode(group['name'])}", headers)
|
32
32
|
end
|
@@ -43,20 +43,20 @@ module KineticSdk
|
|
43
43
|
response = find_group(group, {}, headers)
|
44
44
|
group = response.content
|
45
45
|
end
|
46
|
-
info("Exporting group \"#{group['name']}\" to #{@options[:export_directory]}.")
|
46
|
+
@logger.info("Exporting group \"#{group['name']}\" to #{@options[:export_directory]}.")
|
47
47
|
# Create the groups directory if it doesn't yet exist
|
48
48
|
group_dir = FileUtils::mkdir_p(File.join(@options[:export_directory], "groups"))
|
49
49
|
group_file = File.join(group_dir, "#{group['name'].slugify}.json")
|
50
50
|
# write the file
|
51
51
|
responseObj = get("#{@api_url}/groups/#{encode(group['name'])}", {}, headers)
|
52
52
|
File.write(group_file, JSON.pretty_generate(responseObj.content))
|
53
|
-
info("Exported group: #{group['name']} to #{group_file}")
|
53
|
+
@logger.info("Exported group: #{group['name']} to #{group_file}")
|
54
54
|
end
|
55
55
|
|
56
56
|
# Export Groups
|
57
57
|
#
|
58
58
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
59
|
-
# @return
|
59
|
+
# @return nil
|
60
60
|
def export_groups(headers=header_basic_auth)
|
61
61
|
raise StandardError.new "An export directory must be defined to export groups." if @options[:export_directory].nil?
|
62
62
|
(find_groups.content["groups"] || []).each do |group|
|
@@ -64,13 +64,26 @@ module KineticSdk
|
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
67
|
+
# Import Groups
|
68
|
+
#
|
69
|
+
# @param headers [Hash] hash of headers to send, default is basic authentication
|
70
|
+
# @return nil
|
71
|
+
def import_groups(headers=default_headers)
|
72
|
+
raise StandardError.new "An export directory must be defined to import groups from." if @options[:export_directory].nil?
|
73
|
+
@logger.info("Importing all Groups in Export Directory")
|
74
|
+
Dir["#{@options[:export_directory]}/groups/*.json"].sort.each do |file|
|
75
|
+
group = JSON.parse(File.read(file))
|
76
|
+
add_group(group["name"], headers)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
67
80
|
# Find all groups
|
68
81
|
#
|
69
82
|
# @param params [Hash] Query parameters that are added to the URL, such as +include+
|
70
83
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
71
84
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
72
85
|
def find_groups(params={}, headers=header_basic_auth)
|
73
|
-
info("Finding all groups")
|
86
|
+
@logger.info("Finding all groups")
|
74
87
|
get("#{@api_url}/groups", params, headers)
|
75
88
|
end
|
76
89
|
|
@@ -81,7 +94,7 @@ module KineticSdk
|
|
81
94
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
82
95
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
83
96
|
def find_group(name, params={}, headers=header_basic_auth)
|
84
|
-
info("Finding the #{name} group")
|
97
|
+
@logger.info("Finding the #{name} group")
|
85
98
|
get("#{@api_url}/groups/#{encode(name)}", params, headers)
|
86
99
|
end
|
87
100
|
|
@@ -93,7 +106,7 @@ module KineticSdk
|
|
93
106
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
94
107
|
def add_user_to_group(login_id, group_name, headers=default_headers)
|
95
108
|
body = { "loginId" => login_id }
|
96
|
-
info("Adding user \"#{login_id}\" to group \"#{group_name}\"")
|
109
|
+
@logger.info("Adding user \"#{login_id}\" to group \"#{group_name}\"")
|
97
110
|
post("#{@api_url}/groups/#{encode(group_name)}/users", body, headers)
|
98
111
|
end
|
99
112
|
|
@@ -104,7 +117,7 @@ module KineticSdk
|
|
104
117
|
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
105
118
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
106
119
|
def remove_user_from_group(login_id, group_name, headers=default_headers)
|
107
|
-
info("Removing user \"#{login_id}\" from group \"#{group_name}\"")
|
120
|
+
@logger.info("Removing user \"#{login_id}\" from group \"#{group_name}\"")
|
108
121
|
post("#{@api_url}/groups/#{encode(group_name)}/users/#{encode(login_id)}", headers)
|
109
122
|
end
|
110
123
|
|
@@ -7,7 +7,7 @@ module KineticSdk
|
|
7
7
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
8
8
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
9
9
|
def delete_handler(definition_id, headers=header_basic_auth)
|
10
|
-
info("Deleting Handler \"#{definition_id}\"")
|
10
|
+
@logger.info("Deleting Handler \"#{definition_id}\"")
|
11
11
|
delete("#{@api_url}/handlers/#{definition_id}", headers)
|
12
12
|
end
|
13
13
|
|
@@ -16,7 +16,7 @@ module KineticSdk
|
|
16
16
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
17
17
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
18
18
|
def delete_handlers(headers=header_basic_auth)
|
19
|
-
info("Deleting all handlers")
|
19
|
+
@logger.info("Deleting all handlers")
|
20
20
|
(find_handlers(headers).content['handlers'] || []).each do |handler|
|
21
21
|
delete("#{@api_url}/handlers/#{handler['definition_id']}", headers)
|
22
22
|
end
|
@@ -28,7 +28,7 @@ module KineticSdk
|
|
28
28
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
29
29
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
30
30
|
def find_handlers(params={}, headers=header_basic_auth)
|
31
|
-
info("Find all handlers")
|
31
|
+
@logger.info("Find all handlers")
|
32
32
|
get("#{@api_url}/handlers", params, headers)
|
33
33
|
end
|
34
34
|
|
@@ -39,7 +39,7 @@ module KineticSdk
|
|
39
39
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
40
40
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
41
41
|
def find_handler(definition_id, params={}, headers=header_basic_auth)
|
42
|
-
info("Finding handler \"#{definition_id}\"")
|
42
|
+
@logger.info("Finding handler \"#{definition_id}\"")
|
43
43
|
get("#{@api_url}/handlers/#{definition_id}", params, headers)
|
44
44
|
end
|
45
45
|
|
@@ -53,10 +53,26 @@ module KineticSdk
|
|
53
53
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
54
54
|
def import_handler(handler, force_overwrite=false, headers=header_basic_auth)
|
55
55
|
body = { "package" => handler }
|
56
|
-
info("Importing Handler #{File.basename(handler)}")
|
56
|
+
@logger.info("Importing Handler #{File.basename(handler)}")
|
57
57
|
post_multipart("#{@api_url}/handlers?force=#{force_overwrite}", body, headers)
|
58
58
|
end
|
59
59
|
|
60
|
+
# Import handlers from export directory
|
61
|
+
#
|
62
|
+
# If the handlers already exists on the server, this will fail unless forced to overwrite.
|
63
|
+
#
|
64
|
+
# @param force_overwrite [Boolean] whether to overwrite handlers if they exist, default is false
|
65
|
+
# @param headers [Hash] hash of headers to send, default is basic authentication
|
66
|
+
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
67
|
+
def import_handlers(force_overwrite=false, headers=header_basic_auth)
|
68
|
+
raise StandardError.new "An export directory must be defined to import handlers from." if @options[:export_directory].nil?
|
69
|
+
@logger.info("Importing all Handlers from Export Directory")
|
70
|
+
Dir["#{@options[:export_directory]}/handlers/*.zip"].sort.each do |file|
|
71
|
+
handler_file = File.new(file, "rb")
|
72
|
+
import_handler(handler_file, force_overwrite, headers)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
60
76
|
# Modifies the properties and info values for a handler
|
61
77
|
#
|
62
78
|
# @param definition_id [String] the definition id of the handler
|
@@ -64,7 +80,7 @@ module KineticSdk
|
|
64
80
|
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
65
81
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
66
82
|
def update_handler(definition_id, body, headers=default_headers)
|
67
|
-
info("Updating handler #{definition_id}")
|
83
|
+
@logger.info("Updating handler #{definition_id}")
|
68
84
|
put("#{@api_url}/handlers/#{definition_id}", body, headers)
|
69
85
|
end
|
70
86
|
|
@@ -72,10 +88,10 @@ module KineticSdk
|
|
72
88
|
#
|
73
89
|
# @param definition_id [String] the definition id of the handler
|
74
90
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
75
|
-
# @return
|
91
|
+
# @return nil
|
76
92
|
def export_handler(definition_id, headers=header_basic_auth)
|
77
93
|
raise StandardError.new "An export directory must be defined to export a handler." if @options[:export_directory].nil?
|
78
|
-
info("Exporting handler \"#{definition_id}\" to #{@options[:export_directory]}.")
|
94
|
+
@logger.info("Exporting handler \"#{definition_id}\" to #{@options[:export_directory]}.")
|
79
95
|
# Create the handler directory if it doesn't yet exist
|
80
96
|
handler_dir = FileUtils::mkdir_p(File.join(@options[:export_directory], "handlers"))
|
81
97
|
handler_file = File.join(handler_dir, "#{definition_id}.zip")
|
@@ -83,16 +99,16 @@ module KineticSdk
|
|
83
99
|
File.open(handler_file, "wb") do |file|
|
84
100
|
file.write get("#{@api_url}/handlers/#{definition_id}/zip", {}, headers).content_string
|
85
101
|
end
|
86
|
-
info("Exported handler: #{definition_id} to #{handler_file}")
|
102
|
+
@logger.info("Exported handler: #{definition_id} to #{handler_file}")
|
87
103
|
end
|
88
104
|
|
89
105
|
# Export all handlers
|
90
106
|
#
|
91
107
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
92
|
-
# @return
|
108
|
+
# @return nil
|
93
109
|
def export_handlers(headers=header_basic_auth)
|
94
110
|
raise StandardError.new "An export directory must be defined to export handlers." if @options[:export_directory].nil?
|
95
|
-
info("Exporting handlers to #{@options[:export_directory]}.")
|
111
|
+
@logger.info("Exporting handlers to #{@options[:export_directory]}.")
|
96
112
|
# Get the handler metadata to geta all handler_ids
|
97
113
|
response = find_handlers(headers)
|
98
114
|
# Parse the response and export each handler
|
@@ -5,7 +5,7 @@ module KineticSdk
|
|
5
5
|
#
|
6
6
|
# @param url [String] the url to query for a 200 response code
|
7
7
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
8
|
-
# @return [
|
8
|
+
# @return [Boolean] true if server responded with OK (status 200)
|
9
9
|
def is_alive?(url, headers=header_basic_auth)
|
10
10
|
response = get(url, {}, headers)
|
11
11
|
response.status == 200
|
@@ -15,14 +15,22 @@ module KineticSdk
|
|
15
15
|
#
|
16
16
|
# @param url [String] the url to query for a 200 response code
|
17
17
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
18
|
-
# @return
|
18
|
+
# @return nil
|
19
19
|
def wait_until_alive(url, headers=header_basic_auth)
|
20
20
|
url = url[1..-1] if url.start_with?("/")
|
21
21
|
while !is_alive?("#{@api_url}/#{url}", headers) do
|
22
|
-
info("Web server \"#{@api_url}/#{url}\" is not ready, waiting...")
|
22
|
+
@logger.info("Web server \"#{@api_url}/#{url}\" is not ready, waiting...")
|
23
23
|
sleep 3
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
+
# Get the server info
|
28
|
+
#
|
29
|
+
# @param headers [Hash] hash of headers to send, default is none
|
30
|
+
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
31
|
+
def server_info(headers={})
|
32
|
+
get(@api_url, {}, headers)
|
33
|
+
end
|
34
|
+
|
27
35
|
end
|
28
36
|
end
|
@@ -6,7 +6,7 @@ module KineticSdk
|
|
6
6
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
7
7
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
8
8
|
def delete_license(headers=header_basic_auth)
|
9
|
-
info("Deleting the license")
|
9
|
+
@logger.info("Deleting the license")
|
10
10
|
delete("#{@api_url}/config/license", {}, headers)
|
11
11
|
end
|
12
12
|
|
@@ -16,7 +16,7 @@ module KineticSdk
|
|
16
16
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
17
17
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
18
18
|
def find_license(params={}, headers=header_basic_auth)
|
19
|
-
info("Finding the license")
|
19
|
+
@logger.info("Finding the license")
|
20
20
|
get("#{@api_url}/config/license", params, headers)
|
21
21
|
end
|
22
22
|
|
@@ -27,7 +27,7 @@ module KineticSdk
|
|
27
27
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
28
28
|
def update_license(license_content, headers=default_headers)
|
29
29
|
body = { "licenseContent" => license_content }
|
30
|
-
info("Updating license")
|
30
|
+
@logger.info("Updating license")
|
31
31
|
post("#{@api_url}/config/license", body, headers)
|
32
32
|
end
|
33
33
|
|
@@ -43,7 +43,7 @@ module KineticSdk
|
|
43
43
|
if File.exists? license
|
44
44
|
update_license(File.read(license), headers)
|
45
45
|
else
|
46
|
-
info(" * License file \"#{license}\" does not exist.")
|
46
|
+
@logger.info(" * License file \"#{license}\" does not exist.")
|
47
47
|
end
|
48
48
|
end
|
49
49
|
end
|
@@ -6,7 +6,7 @@ module KineticSdk
|
|
6
6
|
# @param policy [Hash] hash of properties for the new policy rule
|
7
7
|
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
8
8
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
9
|
-
#
|
9
|
+
#
|
10
10
|
# Example
|
11
11
|
#
|
12
12
|
# add_policy_rule({
|
@@ -17,7 +17,7 @@ module KineticSdk
|
|
17
17
|
# })
|
18
18
|
#
|
19
19
|
def add_policy_rule(policy, headers=default_headers)
|
20
|
-
info("Adding policy rule \"#{policy['type']} - #{policy['name']}\"")
|
20
|
+
@logger.info("Adding policy rule \"#{policy['type']} - #{policy['name']}\"")
|
21
21
|
post("#{@api_url}/policyRules/#{encode(policy['type'])}", policy, headers)
|
22
22
|
end
|
23
23
|
|
@@ -37,7 +37,7 @@ module KineticSdk
|
|
37
37
|
# })
|
38
38
|
#
|
39
39
|
def delete_policy_rule(policy, headers=header_basic_auth)
|
40
|
-
info("Deleting policy rule \"#{policy['type']} - #{policy['name']}\"")
|
40
|
+
@logger.info("Deleting policy rule \"#{policy['type']} - #{policy['name']}\"")
|
41
41
|
delete("#{@api_url}/policyRules/#{encode(policy['type'])}/#{encode(policy['name'])}", headers)
|
42
42
|
end
|
43
43
|
|
@@ -46,7 +46,7 @@ module KineticSdk
|
|
46
46
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
47
47
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
48
48
|
def delete_policy_rules(headers=header_basic_auth)
|
49
|
-
info("Deleting all policy rules")
|
49
|
+
@logger.info("Deleting all policy rules")
|
50
50
|
(find_policy_rules(headers).content["policyRules"] || []).each do |policy_rule|
|
51
51
|
delete_policy_rule({
|
52
52
|
"type" => policy_rule['type'],
|
@@ -61,10 +61,10 @@ module KineticSdk
|
|
61
61
|
# - +type+ - Policy Rule type ( API Access | Console Access | Category Access | System Default )
|
62
62
|
# - +name+ - Policy Rule name to export
|
63
63
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
64
|
-
# @return
|
64
|
+
# @return nil
|
65
65
|
def export_policy_rule(policy_rule, headers=header_basic_auth)
|
66
66
|
raise StandardError.new "An export directory must be defined to export a policy rule." if @options[:export_directory].nil?
|
67
|
-
info("Exporting policy rule \"policy_rule['type']\" : \"#{policy_rule['name']}\" to #{@options[:export_directory]}.")
|
67
|
+
@logger.info("Exporting policy rule \"policy_rule['type']\" : \"#{policy_rule['name']}\" to #{@options[:export_directory]}.")
|
68
68
|
# Create the policy rules directory if it doesn't yet exist
|
69
69
|
dir = FileUtils::mkdir_p(File.join(@options[:export_directory], "policyRules"))
|
70
70
|
file = File.join(dir, "#{policy_rule['type'].slugify}-#{policy_rule['name'].slugify}.json")
|
@@ -76,7 +76,7 @@ module KineticSdk
|
|
76
76
|
headers
|
77
77
|
)
|
78
78
|
if response.status != 200
|
79
|
-
info("Failed to export policy rule: #{policy_rule['type']} - #{policy_rule['name']}: #{response.inspect}")
|
79
|
+
@logger.info("Failed to export policy rule: #{policy_rule['type']} - #{policy_rule['name']}: #{response.inspect}")
|
80
80
|
policy_rule = nil
|
81
81
|
else
|
82
82
|
policy_rule = response.content
|
@@ -86,14 +86,14 @@ module KineticSdk
|
|
86
86
|
unless policy_rule.nil?
|
87
87
|
# write the file
|
88
88
|
File.write(file, JSON.pretty_generate(policy_rule))
|
89
|
-
info("Exported policy rule: #{policy_rule['type']} - #{policy_rule['name']} to #{file}")
|
89
|
+
@logger.info("Exported policy rule: #{policy_rule['type']} - #{policy_rule['name']} to #{file}")
|
90
90
|
end
|
91
91
|
end
|
92
92
|
|
93
93
|
# Export Policy Rules
|
94
94
|
#
|
95
95
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
96
|
-
# @return
|
96
|
+
# @return nil
|
97
97
|
def export_policy_rules(headers=header_basic_auth)
|
98
98
|
raise StandardError.new "An export directory must be defined to export policy rules." if @options[:export_directory].nil?
|
99
99
|
response = find_policy_rules({"include" => "consolePolicyRules"}, headers)
|
@@ -102,13 +102,26 @@ module KineticSdk
|
|
102
102
|
end
|
103
103
|
end
|
104
104
|
|
105
|
+
# Import Policy Rules
|
106
|
+
#
|
107
|
+
# @param headers [Hash] hash of headers to send, default is basic authentication
|
108
|
+
# @return nil
|
109
|
+
def import_policy_rules(headers=default_headers)
|
110
|
+
raise StandardError.new "An export directory must be defined to import policy rules from." if @options[:export_directory].nil?
|
111
|
+
@logger.info("Importing all Policy Rules in Export Directory")
|
112
|
+
Dir["#{@options[:export_directory]}/policyRules/*.json"].sort.each do |file|
|
113
|
+
policy_rule = JSON.parse(File.read(file))
|
114
|
+
add_policy_rule(policy_rule, headers)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
105
118
|
# Find Policy Rules.
|
106
119
|
#
|
107
120
|
# @param params [Hash] Query parameters that are added to the URL, such as +include+
|
108
121
|
# @param headers [Hash] hash of headers to send, default is basic authentication
|
109
122
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
110
123
|
def find_policy_rules(params={}, headers=header_basic_auth)
|
111
|
-
info("Finding Policy Rules")
|
124
|
+
@logger.info("Finding Policy Rules")
|
112
125
|
policy_rules = []
|
113
126
|
response = nil
|
114
127
|
["API Access", "Category Access", "Console Access", "System Default"].each do |type|
|
@@ -136,7 +149,7 @@ module KineticSdk
|
|
136
149
|
# find_policy_rule({ "type" => "API Access", "name" => "Allow All"})
|
137
150
|
#
|
138
151
|
def find_policy_rule(policy_rule, params={}, headers=header_basic_auth)
|
139
|
-
info("Finding the \"#{policy_rule['type']} - #{policy_rule['name']}\" Policy Rule")
|
152
|
+
@logger.info("Finding the \"#{policy_rule['type']} - #{policy_rule['name']}\" Policy Rule")
|
140
153
|
get("#{@api_url}/policyRules/#{encode(policy_rule['type'])}/#{encode(policy_rule['name'])}", params, headers)
|
141
154
|
end
|
142
155
|
|
@@ -158,7 +171,7 @@ module KineticSdk
|
|
158
171
|
# )
|
159
172
|
#
|
160
173
|
def update_policy_rule(policy_rule, body={}, headers=default_headers)
|
161
|
-
info("Updating the \"#{policy_rule['type']} - #{policy_rule['name']}\" Policy Rule")
|
174
|
+
@logger.info("Updating the \"#{policy_rule['type']} - #{policy_rule['name']}\" Policy Rule")
|
162
175
|
put("#{@api_url}/policyRules/#{encode(policy_rule['type'])}/#{encode(policy_rule['name'])}", body, headers)
|
163
176
|
end
|
164
177
|
|