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
@@ -0,0 +1,91 @@
|
|
1
|
+
module KineticSdk
|
2
|
+
class Agent
|
3
|
+
|
4
|
+
# Add Filestore
|
5
|
+
#
|
6
|
+
# @param space [String] slug of the space
|
7
|
+
# @param body [Hash] properties associated to the Filestore
|
8
|
+
# - +adapterClass+
|
9
|
+
# - +name+
|
10
|
+
# - +slug+
|
11
|
+
# - +properties+
|
12
|
+
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
13
|
+
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
14
|
+
def add_filestore(space, body, headers=default_headers)
|
15
|
+
@logger.info("Adding the \"#{body['name']}\" filestore in the \"#{space}\" space.")
|
16
|
+
post("#{@api_url}/spaces/#{space}/filestores", body, headers)
|
17
|
+
end
|
18
|
+
|
19
|
+
# Delete a Filestore
|
20
|
+
#
|
21
|
+
# @param space [String] slug of the space
|
22
|
+
# @param slug [String] slug of the Filestore
|
23
|
+
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
24
|
+
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
25
|
+
def delete_filestore(space, slug, headers=default_headers)
|
26
|
+
@logger.info("Deleting the \"#{slug}\" filestore in the \"#{space}\" space.")
|
27
|
+
delete("#{@api_url}/spaces/#{space}/filestores/#{slug}", headers)
|
28
|
+
end
|
29
|
+
|
30
|
+
# Find a filestore
|
31
|
+
#
|
32
|
+
# @param space [String] slug of the space
|
33
|
+
# @param slug [String] slug of the filestore
|
34
|
+
# @param params [Hash] Query parameters that are added to the URL, such as +include+
|
35
|
+
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
36
|
+
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
37
|
+
def find_filestore(space, slug, params={}, headers=default_headers)
|
38
|
+
@logger.info("Finding the \"#{slug}\" filestore in the \"#{space}\" space.")
|
39
|
+
get("#{@api_url}/spaces/#{space}/filestores/#{slug}", params, headers)
|
40
|
+
end
|
41
|
+
|
42
|
+
# Update a filestore
|
43
|
+
#
|
44
|
+
# @param space [String] slug of the space
|
45
|
+
# @param slug [String] slug of the filestore
|
46
|
+
# @param body [Hash] properties of the filestore to update
|
47
|
+
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
48
|
+
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
49
|
+
def update_filestore(space, slug, body={}, headers=default_headers)
|
50
|
+
@logger.info("Updating the \"#{slug}\" filestore in the \"#{space}\" space.")
|
51
|
+
put("#{@api_url}/spaces/#{space}/filestores/#{slug}", body, headers)
|
52
|
+
end
|
53
|
+
|
54
|
+
# Find all filestores in a space
|
55
|
+
#
|
56
|
+
# @param space [String] slug of the space
|
57
|
+
# @param params [Hash] Query parameters that are added to the URL, such as +include+
|
58
|
+
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
59
|
+
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
60
|
+
def find_filestores(space, params={}, headers=default_headers)
|
61
|
+
@logger.info("Find all filestores in the \"#{space}\" space.")
|
62
|
+
get("#{@api_url}/spaces/#{space}/filestores", params, headers)
|
63
|
+
end
|
64
|
+
|
65
|
+
# Add Filestore to Space
|
66
|
+
#
|
67
|
+
# @param space [String] slug of the space
|
68
|
+
# @param body [Hash] properties associated to the Filestore
|
69
|
+
# - +space+
|
70
|
+
# - +adapterClass+
|
71
|
+
# - +slug+
|
72
|
+
# - +properties+
|
73
|
+
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
74
|
+
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
75
|
+
def add_space_filestore(body, headers=default_headers)
|
76
|
+
@logger.info("Adding the \"#{body['name']}\" filestore in the \"#{body['space']}\" space.")
|
77
|
+
post("#{@api_url}/filestores", body, headers)
|
78
|
+
end
|
79
|
+
|
80
|
+
# Find all filestores in the system
|
81
|
+
#
|
82
|
+
# @param params [Hash] Query parameters that are added to the URL, such as +include+
|
83
|
+
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
84
|
+
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
85
|
+
def find_all_filestores(params={}, headers=default_headers)
|
86
|
+
@logger.info("Find all filestores.")
|
87
|
+
get("#{@api_url}/filestores", params, headers)
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
91
|
+
end
|
@@ -0,0 +1,91 @@
|
|
1
|
+
module KineticSdk
|
2
|
+
class Agent
|
3
|
+
|
4
|
+
# Add Handler
|
5
|
+
#
|
6
|
+
# @param space [String] slug of the space
|
7
|
+
# @param body [Hash] properties associated to the Handler
|
8
|
+
# - +adapterClass+
|
9
|
+
# - +name+
|
10
|
+
# - +slug+
|
11
|
+
# - +properties+
|
12
|
+
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
13
|
+
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
14
|
+
def add_handler(space, body, headers=default_headers)
|
15
|
+
@logger.info("Adding the \"#{body['name']}\" handler in the \"#{space}\" space.")
|
16
|
+
post("#{@api_url}/spaces/#{space}/handlers", body, headers)
|
17
|
+
end
|
18
|
+
|
19
|
+
# Delete a Handler
|
20
|
+
#
|
21
|
+
# @param space [String] slug of the space
|
22
|
+
# @param slug [String] slug of the Handler
|
23
|
+
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
24
|
+
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
25
|
+
def delete_handler(space, slug, headers=default_headers)
|
26
|
+
@logger.info("Deleting the \"#{slug}\" handler in the \"#{space}\" space.")
|
27
|
+
delete("#{@api_url}/spaces/#{space}/handlers/#{slug}", headers)
|
28
|
+
end
|
29
|
+
|
30
|
+
# Find a handler
|
31
|
+
#
|
32
|
+
# @param space [String] slug of the space
|
33
|
+
# @param slug [String] slug of the handler
|
34
|
+
# @param params [Hash] Query parameters that are added to the URL, such as +include+
|
35
|
+
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
36
|
+
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
37
|
+
def find_handler(space, slug, params={}, headers=default_headers)
|
38
|
+
@logger.info("Finding the \"#{slug}\" handler in the \"#{space}\" space.")
|
39
|
+
get("#{@api_url}/spaces/#{space}/handlers/#{slug}", params, headers)
|
40
|
+
end
|
41
|
+
|
42
|
+
# Update a handler
|
43
|
+
#
|
44
|
+
# @param space [String] slug of the space
|
45
|
+
# @param slug [String] slug of the handler
|
46
|
+
# @param body [Hash] properties of the handler to update
|
47
|
+
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
48
|
+
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
49
|
+
def update_handler(space, slug, body={}, headers=default_headers)
|
50
|
+
@logger.info("Updating the \"#{slug}\" handler in the \"#{space}\" space.")
|
51
|
+
put("#{@api_url}/spaces/#{space}/handlers/#{slug}", body, headers)
|
52
|
+
end
|
53
|
+
|
54
|
+
# Find all handlers in a space
|
55
|
+
#
|
56
|
+
# @param space [String] slug of the space
|
57
|
+
# @param params [Hash] Query parameters that are added to the URL, such as +include+
|
58
|
+
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
59
|
+
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
60
|
+
def find_handlers(space, params={}, headers=default_headers)
|
61
|
+
@logger.info("Find all handlers in the \"#{space}\" space.")
|
62
|
+
get("#{@api_url}/spaces/#{space}/handlers", params, headers)
|
63
|
+
end
|
64
|
+
|
65
|
+
# Add Handler to Space
|
66
|
+
#
|
67
|
+
# @param space [String] slug of the space
|
68
|
+
# @param body [Hash] properties associated to the Handler
|
69
|
+
# - +space+
|
70
|
+
# - +definitionId+
|
71
|
+
# - +slug+
|
72
|
+
# - +properties+
|
73
|
+
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
74
|
+
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
75
|
+
def add_space_handler(body, headers=default_headers)
|
76
|
+
@logger.info("Adding the \"#{body['name']}\" handler in the \"#{body['space']}\" space.")
|
77
|
+
post("#{@api_url}/handlers", body, headers)
|
78
|
+
end
|
79
|
+
|
80
|
+
# Find all handlers in the system
|
81
|
+
#
|
82
|
+
# @param params [Hash] Query parameters that are added to the URL, such as +include+
|
83
|
+
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
84
|
+
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
85
|
+
def find_all_handlers(params={}, headers=default_headers)
|
86
|
+
@logger.info("Find all handlers.")
|
87
|
+
get("#{@api_url}/handlers", params, headers)
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
91
|
+
end
|
@@ -10,7 +10,7 @@ module KineticSdk
|
|
10
10
|
# Include the KineticHttpUtils module
|
11
11
|
include KineticSdk::Utils::KineticHttpUtils
|
12
12
|
|
13
|
-
attr_reader :api_url, :username, :options, :password, :server, :version
|
13
|
+
attr_reader :api_url, :username, :options, :password, :server, :version, :logger
|
14
14
|
|
15
15
|
# Initalize the BridgeHub SDK with the web server URL and configuration user
|
16
16
|
# credentials, along with any custom option values.
|
@@ -28,8 +28,11 @@ module KineticSdk
|
|
28
28
|
# @option opts [String] :password the password for the user
|
29
29
|
# @option opts [Hash<Symbol, Object>] :options ({}) optional settings
|
30
30
|
#
|
31
|
-
# * :
|
32
|
-
# * :
|
31
|
+
# * :gateway_retry_limit (FixNum) (_defaults to: 5_) max number of times to retry a bad gateway
|
32
|
+
# * :gateway_retry_delay (Float) (_defaults to: 1.0_) number of seconds to delay before retrying a bad gateway
|
33
|
+
# * :log_level (String) (_defaults to: off_) level of logging - off | error | warn | info | debug
|
34
|
+
# * :log_output (String) (_defaults to: STDOUT_) where to send output - STDOUT | STDERR
|
35
|
+
# * :max_redirects (Fixnum) (_defaults to: 5_) maximum number of redirects to follow
|
33
36
|
# * :ssl_ca_file (String) full path to PEM certificate used to verify the server
|
34
37
|
# * :ssl_verify_mode (String) (_defaults to: none_) - none | peer
|
35
38
|
#
|
@@ -69,6 +72,11 @@ module KineticSdk
|
|
69
72
|
|
70
73
|
# process any individual options
|
71
74
|
@options = options.delete(:options) || {}
|
75
|
+
# setup logging
|
76
|
+
log_level = @options[:log_level] || @options["log_level"]
|
77
|
+
log_output = @options[:log_output] || @options["log_output"]
|
78
|
+
@logger = KineticSdk::Utils::KLogger.new(log_level, log_output)
|
79
|
+
|
72
80
|
@username = options[:username]
|
73
81
|
@password = options[:password]
|
74
82
|
@server = options[:app_server_url].chomp('/')
|
@@ -11,7 +11,7 @@ module KineticSdk
|
|
11
11
|
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
12
12
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
13
13
|
def add_access_key(slug, payload, headers=default_headers)
|
14
|
-
info("Adding Access Key for Bridge \"#{slug}\"")
|
14
|
+
@logger.info("Adding Access Key for Bridge \"#{slug}\"")
|
15
15
|
post("#{@api_url}/bridges/#{slug}/access-keys", payload, headers)
|
16
16
|
end
|
17
17
|
|
@@ -22,7 +22,7 @@ module KineticSdk
|
|
22
22
|
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
23
23
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
24
24
|
def delete_access_key(slug, id, headers=default_headers)
|
25
|
-
info("Deleting Access Key #{id} for Bridge \"#{slug}\"")
|
25
|
+
@logger.info("Deleting Access Key #{id} for Bridge \"#{slug}\"")
|
26
26
|
delete("#{@api_url}/bridges/#{slug}/access-keys/#{id}", headers)
|
27
27
|
end
|
28
28
|
|
@@ -33,7 +33,7 @@ module KineticSdk
|
|
33
33
|
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
34
34
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
35
35
|
def find_access_keys(slug, params={}, headers=default_headers)
|
36
|
-
info("Finding Access Keys for Bridge \"#{slug}\"")
|
36
|
+
@logger.info("Finding Access Keys for Bridge \"#{slug}\"")
|
37
37
|
get("#{@api_url}/bridges/#{slug}/access-keys", params, headers)
|
38
38
|
end
|
39
39
|
|
@@ -45,7 +45,7 @@ module KineticSdk
|
|
45
45
|
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
46
46
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
47
47
|
def find_access_key(slug, id, params={}, headers=default_headers)
|
48
|
-
info("Finding Access Key \"#{id}\" for Bridge \"#{slug}\"")
|
48
|
+
@logger.info("Finding Access Key \"#{id}\" for Bridge \"#{slug}\"")
|
49
49
|
get("#{@api_url}/bridges/#{slug}/access-keys/#{id}", params, headers)
|
50
50
|
end
|
51
51
|
|
@@ -59,7 +59,7 @@ module KineticSdk
|
|
59
59
|
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
60
60
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
61
61
|
def update_access_key(slug, id, payload, headers=default_headers)
|
62
|
-
info("Updating Access Key \"#{id}\" for Bridge \"#{slug}\"")
|
62
|
+
@logger.info("Updating Access Key \"#{id}\" for Bridge \"#{slug}\"")
|
63
63
|
put("#{@api_url}/bridges/#{slug}/access-keys/#{id}", payload, headers)
|
64
64
|
end
|
65
65
|
|
@@ -13,7 +13,7 @@ module KineticSdk
|
|
13
13
|
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
14
14
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
15
15
|
def add_bridge(payload, headers=default_headers)
|
16
|
-
info("Adding Bridge \"#{payload['name']}\" with slug \"#{payload['slug']}\"")
|
16
|
+
@logger.info("Adding Bridge \"#{payload['name']}\" with slug \"#{payload['slug']}\"")
|
17
17
|
post("#{@api_url}/bridges", payload, headers)
|
18
18
|
end
|
19
19
|
|
@@ -23,7 +23,7 @@ module KineticSdk
|
|
23
23
|
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
24
24
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
25
25
|
def delete_bridge(slug, headers=default_headers)
|
26
|
-
info("Deleting Bridge \"#{slug}\"")
|
26
|
+
@logger.info("Deleting Bridge \"#{slug}\"")
|
27
27
|
delete("#{@api_url}/bridges/#{slug}", headers)
|
28
28
|
end
|
29
29
|
|
@@ -33,7 +33,7 @@ module KineticSdk
|
|
33
33
|
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
34
34
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
35
35
|
def find_bridges(params={}, headers=default_headers)
|
36
|
-
info("Finding Bridges")
|
36
|
+
@logger.info("Finding Bridges")
|
37
37
|
get("#{@api_url}/bridges", params, headers)
|
38
38
|
end
|
39
39
|
|
@@ -44,7 +44,7 @@ module KineticSdk
|
|
44
44
|
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
45
45
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
46
46
|
def find_bridge(slug, params={}, headers=default_headers)
|
47
|
-
info("Finding Bridge \"#{slug}\"")
|
47
|
+
@logger.info("Finding Bridge \"#{slug}\"")
|
48
48
|
get("#{@api_url}/bridges/#{slug}", params, headers)
|
49
49
|
end
|
50
50
|
|
@@ -61,7 +61,7 @@ module KineticSdk
|
|
61
61
|
# @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
|
62
62
|
# @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
|
63
63
|
def update_bridge(slug, payload, headers=default_headers)
|
64
|
-
info("Updating Bridge \"#{slug}\"")
|
64
|
+
@logger.info("Updating Bridge \"#{slug}\"")
|
65
65
|
put("#{@api_url}/bridges/#{slug}", payload, headers)
|
66
66
|
end
|
67
67
|
|
@@ -2,31 +2,35 @@ Dir[File.join(File.dirname(File.expand_path(__FILE__)), "lib", "**", "*.rb")].ea
|
|
2
2
|
|
3
3
|
module KineticSdk
|
4
4
|
|
5
|
-
#
|
6
|
-
#
|
5
|
+
# Core is a Ruby class that acts as a wrapper for the Core REST API without
|
6
|
+
# having to make explicit HTTP requests.
|
7
7
|
#
|
8
|
-
class
|
8
|
+
class Core
|
9
9
|
|
10
10
|
# Include the KineticHttpUtils module
|
11
11
|
include KineticSdk::Utils::KineticHttpUtils
|
12
12
|
|
13
|
-
|
13
|
+
# Include the KineticExportUtils module
|
14
|
+
include KineticSdk::Utils::KineticExportUtils
|
14
15
|
|
15
|
-
|
16
|
+
attr_reader :api_url, :username, :options, :password, :proxy_url,
|
17
|
+
:space_slug, :server, :version, :logger
|
18
|
+
|
19
|
+
# Initalize the Core SDK with the web server URL, the space user
|
16
20
|
# username and password, along with any custom option values.
|
17
21
|
#
|
18
|
-
# @param [Hash<Symbol, Object>] opts Kinetic
|
22
|
+
# @param [Hash<Symbol, Object>] opts Kinetic Core properties
|
19
23
|
# @option opts [String] :config_file optional - path to the YAML configuration file
|
20
24
|
#
|
21
|
-
# * Ex: /opt/config/
|
25
|
+
# * Ex: /opt/config/core-configuration1.yaml
|
22
26
|
#
|
23
|
-
# @option opts [String] :app_server_url the URL to the Kinetic
|
27
|
+
# @option opts [String] :app_server_url the URL to the Kinetic Core web application
|
24
28
|
#
|
25
29
|
# * Must not be used when `:space_server_url` is also used.
|
26
30
|
# * If space_slug is provided, it will be appended to the URL as a path parameter
|
27
31
|
# * Ex: <http://192.168.0.1:8080/kinetic>
|
28
32
|
#
|
29
|
-
# @option opts [String] :space_server_url the URL to the Kinetic
|
33
|
+
# @option opts [String] :space_server_url the URL to the Kinetic Core space
|
30
34
|
#
|
31
35
|
# * Must not be used when `app_server_url` is used
|
32
36
|
# * Typically used when using a proxy server that supports space slugs as subdomains
|
@@ -44,20 +48,23 @@ module KineticSdk
|
|
44
48
|
# @option opts [String] :password the password for the user
|
45
49
|
# @option opts [Hash<Symbol, Object>] :options ({}) optional settings
|
46
50
|
#
|
47
|
-
# * :
|
48
|
-
# * :
|
51
|
+
# * :gateway_retry_limit (FixNum) (_defaults to: 5_) max number of times to retry a bad gateway
|
52
|
+
# * :gateway_retry_delay (Float) (_defaults to: 1.0_) number of seconds to delay before retrying a bad gateway
|
53
|
+
# * :log_level (String) (_defaults to: off_) level of logging - off | error | warn | info | debug
|
54
|
+
# * :log_output (String) (_defaults to: STDOUT_) where to send output - STDOUT | STDERR
|
55
|
+
# * :max_redirects (Fixnum) (_defaults to: 5_) maximum number of redirects to follow
|
49
56
|
# * :ssl_ca_file (String) full path to PEM certificate used to verify the server
|
50
57
|
# * :ssl_verify_mode (String) (_defaults to: none_) - none | peer
|
51
58
|
#
|
52
59
|
# Example: using a configuration file
|
53
60
|
#
|
54
|
-
# KineticSdk::
|
61
|
+
# KineticSdk::Core.new({
|
55
62
|
# config_file: "/opt/config1.yaml"
|
56
63
|
# })
|
57
64
|
#
|
58
65
|
# Example: space user properties hash
|
59
66
|
#
|
60
|
-
# KineticSdk::
|
67
|
+
# KineticSdk::Core.new({
|
61
68
|
# app_server_url: "http://localhost:8080/kinetic",
|
62
69
|
# space_slug: "foo",
|
63
70
|
# username: "space-user-1",
|
@@ -71,7 +78,7 @@ module KineticSdk
|
|
71
78
|
#
|
72
79
|
# Example: system user properties hash
|
73
80
|
#
|
74
|
-
# KineticSdk::
|
81
|
+
# KineticSdk::Core.new({
|
75
82
|
# app_server_url: "http://localhost:8080/kinetic",
|
76
83
|
# username: "admin",
|
77
84
|
# password: "password",
|
@@ -88,7 +95,7 @@ module KineticSdk
|
|
88
95
|
# #
|
89
96
|
# # app_server_url: https://myapp.io
|
90
97
|
#
|
91
|
-
# KineticSdk::
|
98
|
+
# KineticSdk::Core.new({
|
92
99
|
# space_server_url: "https://myapp.io/foo",
|
93
100
|
# space_slug: "foo",
|
94
101
|
# username: "space-user-1",
|
@@ -106,7 +113,7 @@ module KineticSdk
|
|
106
113
|
# #
|
107
114
|
# # Ex: https://myapp.io/foo
|
108
115
|
#
|
109
|
-
# KineticSdk::
|
116
|
+
# KineticSdk::Core.new({
|
110
117
|
# space_server_url: "https://foo.myapp.io",
|
111
118
|
# space_slug: "foo",
|
112
119
|
# username: "space-user-1",
|
@@ -135,16 +142,23 @@ module KineticSdk
|
|
135
142
|
|
136
143
|
# process any individual options
|
137
144
|
@options = options.delete(:options) || {}
|
145
|
+
# setup logging
|
146
|
+
log_level = @options[:log_level] || @options["log_level"]
|
147
|
+
log_output = @options[:log_output] || @options["log_output"]
|
148
|
+
@logger = KineticSdk::Utils::KLogger.new(log_level, log_output)
|
149
|
+
|
138
150
|
@username = options[:username]
|
139
151
|
@password = options[:password]
|
140
152
|
@space_slug = options[:space_slug]
|
141
153
|
if options[:app_server_url]
|
142
154
|
@server = options[:app_server_url].chomp('/')
|
143
155
|
@api_url = @server + (@space_slug.nil? ? "/app/api/v1" : "/#{@space_slug}/app/api/v1")
|
156
|
+
@proxy_url = @space_slug.nil? ? nil : "#{@server}/#{@space_slug}/app/components"
|
144
157
|
else
|
145
158
|
raise StandardError.new "The :space_slug option is required when using the :space_server_url option" if @space_slug.nil?
|
146
159
|
@server = options[:space_server_url].chomp('/')
|
147
160
|
@api_url = "#{@server}/app/api/v1"
|
161
|
+
@proxy_url = "#{@server}/app/components"
|
148
162
|
end
|
149
163
|
@version = 1
|
150
164
|
end
|