kinetic_sdk 5.0.4 → 5.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d9b3c58d40bc983f719f0c89d6091d90bdaf91560d1bbdf519699e3f97e055a7
4
- data.tar.gz: 73cc0c037f8a2a8c1b4ae5dc4a2044d09d154db70a0969a89608e5dab2bec466
3
+ metadata.gz: d154c0b5265721082b7c8e54b2c21a9d0ed4f0e3600cb38c567f4784baa71050
4
+ data.tar.gz: c5f94353587b5b847308e380f0319817decdf11722915323a4e7ec2c71d5afdf
5
5
  SHA512:
6
- metadata.gz: 7e8e2e838080dea431dc1b101c49fd674e4d4499cb55858cac8b9198a04b9d773f8442b83f66afe7b539551681b9b82cb6fd1236b85ad09e96d8991d9aa2ca88
7
- data.tar.gz: 367dec28e45a1570e2e59d712754a4a2b86ec7a7e0c7cbc3ff89f1d89466938b2c9b7f95854d3edc31e64ae74e47c21f582482a3d01df900f8c8dc379c026c22
6
+ metadata.gz: 5a1a755cac85fe3d43cc086c575b236e05cd803763cab2c2461837b7f62b4f94d8d64d7eade8fdca2b905b7a11441bf0363bcd8c18eeb7464941ae605e6448ac
7
+ data.tar.gz: 382caaac8682ce681dcffbce0e2f811d6f1fffd03722c65cc8b134cfc829ac788eb78e1cc06402a675047103bc95194c9ac998ad58dd1cea74dd3778178544af
data/README.md CHANGED
@@ -75,20 +75,21 @@ the SDK with the following code.
75
75
  require File.join(File.expand_path(File.dirname(__FILE__)), 'vendor', 'kinetic-sdk-rb', 'kinetic-sdk')
76
76
  ```
77
77
 
78
- ### Kinetic Agent SDK example
78
+ ### Kinetic Core SDK example of a Space User
79
79
 
80
80
  ```ruby
81
- agent_sdk = KineticSdk::Agent.new({
82
- app_server_url: "http://localhost:8080/kinetic-agent",
83
- username: "configuration-user",
81
+ space_sdk = KineticSdk::Core.new({
82
+ app_server_url: "http://localhost:8080/kinetic",
83
+ space_slug: "foo",
84
+ username: "space-user-1",
84
85
  password: "password",
85
86
  options: {
86
87
  log_level: "info",
87
88
  max_redirects: 3
88
89
  }
89
90
  })
90
- response = agent_sdk.find_all_bridges()
91
- bridges = response.content['bridges']
91
+ response = space_sdk.find_kapps()
92
+ kapps = response.content['kapps']
92
93
 
93
94
  puts response.code # String value of HTTP response code ("200", "400", "500", etc...)
94
95
  puts response.status # Ruby Fixnum value of response.code (200, 400, 500, etc...)
@@ -96,11 +97,11 @@ puts response.content # Ruby Hash
96
97
  puts response.content_string # JSON formatted response body
97
98
  ```
98
99
 
99
- ### Kinetic BridgeHub SDK example
100
+ ### Kinetic Core SDK example of a System User
100
101
 
101
102
  ```ruby
102
- bridgehub_sdk = KineticSdk::Bridgehub.new({
103
- app_server_url: "http://localhost:8080/kinetic-bridgehub",
103
+ system_sdk = KineticSdk::Core.new({
104
+ app_server_url: "http://localhost:8080/kinetic",
104
105
  username: "configuration-user",
105
106
  password: "password",
106
107
  options: {
@@ -108,8 +109,7 @@ bridgehub_sdk = KineticSdk::Bridgehub.new({
108
109
  max_redirects: 3
109
110
  }
110
111
  })
111
- response = bridgehub_sdk.find_bridges()
112
- bridges = response.content['bridges']
112
+ response = system_sdk.add_space('My Company Space', 'my-company')
113
113
 
114
114
  puts response.code # String value of HTTP response code ("200", "400", "500", etc...)
115
115
  puts response.status # Ruby Fixnum value of response.code (200, 400, 500, etc...)
@@ -117,20 +117,23 @@ puts response.content # Ruby Hash
117
117
  puts response.content_string # JSON formatted response body
118
118
  ```
119
119
 
120
- ### Kinetic FileHub SDK example
120
+ ### Kinetic Core SDK example of a Subdomain
121
+
122
+ This example requires a proxy server configured to rewrite the space slug subdomain to the expected Core API route.
121
123
 
122
124
  ```ruby
123
- filehub_sdk = KineticSdk::Filehub.new({
124
- app_server_url: "http://localhost:8080/kinetic-filehub",
125
- username: "configuration-user",
125
+ space_sdk = KineticSdk::Core.new({
126
+ space_server_url: "https://foo.myapp.io",
127
+ space_slug: "foo",
128
+ username: "space-user-1",
126
129
  password: "password",
127
130
  options: {
128
131
  log_level: "info",
129
132
  max_redirects: 3
130
133
  }
131
134
  })
132
- response = filehub_sdk.find_filestores()
133
- filestores = response.content['filestores']
135
+ response = space_sdk.find_kapps()
136
+ kapps = response.content['kapps']
134
137
 
135
138
  puts response.code # String value of HTTP response code ("200", "400", "500", etc...)
136
139
  puts response.status # Ruby Fixnum value of response.code (200, 400, 500, etc...)
@@ -138,21 +141,20 @@ puts response.content # Ruby Hash
138
141
  puts response.content_string # JSON formatted response body
139
142
  ```
140
143
 
141
- ### Kinetic Core SDK example of a Space User
144
+ ### Kinetic Task SDK example
142
145
 
143
146
  ```ruby
144
- space_sdk = KineticSdk::Core.new({
145
- app_server_url: "http://localhost:8080/kinetic",
146
- space_slug: "foo",
147
- username: "space-user-1",
147
+ task_sdk = KineticSdk::Task.new({
148
+ app_server_url: "http://localhost:8080/kinetic-task",
149
+ username: "user-1",
148
150
  password: "password",
149
151
  options: {
152
+ export_directory: "/opt/exports/task-server-a",
150
153
  log_level: "info",
151
154
  max_redirects: 3
152
155
  }
153
156
  })
154
- response = space_sdk.find_kapps()
155
- kapps = response.content['kapps']
157
+ response = task_sdk.environment()
156
158
 
157
159
  puts response.code # String value of HTTP response code ("200", "400", "500", etc...)
158
160
  puts response.status # Ruby Fixnum value of response.code (200, 400, 500, etc...)
@@ -160,11 +162,11 @@ puts response.content # Ruby Hash
160
162
  puts response.content_string # JSON formatted response body
161
163
  ```
162
164
 
163
- ### Kinetic Core SDK example of a System User
165
+ ### Kinetic Agent SDK example
164
166
 
165
167
  ```ruby
166
- system_sdk = KineticSdk::Core.new({
167
- app_server_url: "http://localhost:8080/kinetic",
168
+ agent_sdk = KineticSdk::Agent.new({
169
+ app_server_url: "http://localhost:8080/kinetic-agent",
168
170
  username: "configuration-user",
169
171
  password: "password",
170
172
  options: {
@@ -172,7 +174,8 @@ system_sdk = KineticSdk::Core.new({
172
174
  max_redirects: 3
173
175
  }
174
176
  })
175
- response = system_sdk.add_space('My Company Space', 'my-company')
177
+ response = agent_sdk.find_all_bridges()
178
+ bridges = response.content['bridges']
176
179
 
177
180
  puts response.code # String value of HTTP response code ("200", "400", "500", etc...)
178
181
  puts response.status # Ruby Fixnum value of response.code (200, 400, 500, etc...)
@@ -180,23 +183,20 @@ puts response.content # Ruby Hash
180
183
  puts response.content_string # JSON formatted response body
181
184
  ```
182
185
 
183
- ### Kinetic Core SDK example of a Subdomain
184
-
185
- This example requires a proxy server configured to rewrite the space slug subdomain to the expected Core API route.
186
+ ### Kinetic BridgeHub SDK example
186
187
 
187
188
  ```ruby
188
- space_sdk = KineticSdk::Core.new({
189
- space_server_url: "https://foo.myapp.io",
190
- space_slug: "foo",
191
- username: "space-user-1",
189
+ bridgehub_sdk = KineticSdk::Bridgehub.new({
190
+ app_server_url: "http://localhost:8080/kinetic-bridgehub",
191
+ username: "configuration-user",
192
192
  password: "password",
193
193
  options: {
194
194
  log_level: "info",
195
195
  max_redirects: 3
196
196
  }
197
197
  })
198
- response = space_sdk.find_kapps()
199
- kapps = response.content['kapps']
198
+ response = bridgehub_sdk.find_bridges()
199
+ bridges = response.content['bridges']
200
200
 
201
201
  puts response.code # String value of HTTP response code ("200", "400", "500", etc...)
202
202
  puts response.status # Ruby Fixnum value of response.code (200, 400, 500, etc...)
@@ -204,20 +204,20 @@ puts response.content # Ruby Hash
204
204
  puts response.content_string # JSON formatted response body
205
205
  ```
206
206
 
207
- ### Kinetic Task SDK example
207
+ ### Kinetic FileHub SDK example
208
208
 
209
209
  ```ruby
210
- task_sdk = KineticSdk::Task.new({
211
- app_server_url: "http://localhost:8080/kinetic-task",
212
- username: "user-1",
210
+ filehub_sdk = KineticSdk::Filehub.new({
211
+ app_server_url: "http://localhost:8080/kinetic-filehub",
212
+ username: "configuration-user",
213
213
  password: "password",
214
214
  options: {
215
- export_directory: "/opt/exports/task-server-a",
216
215
  log_level: "info",
217
216
  max_redirects: 3
218
217
  }
219
218
  })
220
- response = task_sdk.environment()
219
+ response = filehub_sdk.find_filestores()
220
+ filestores = response.content['filestores']
221
221
 
222
222
  puts response.code # String value of HTTP response code ("200", "400", "500", etc...)
223
223
  puts response.status # Ruby Fixnum value of response.code (200, 400, 500, etc...)
data/kinetic_sdk.gemspec CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.add_development_dependency "kontena-websocket-client", "0.1.1"
27
27
 
28
28
  spec.add_development_dependency "bundler", "~> 1.16"
29
- spec.add_development_dependency "rake", "~> 12.3.0"
29
+ spec.add_development_dependency "rake", "~> 13.0.1"
30
30
  spec.add_development_dependency "yard", "~> 0.9.20"
31
31
 
32
32
  spec.metadata["yard.run"] = "yri"
@@ -1,6 +1,29 @@
1
1
  module KineticSdk
2
2
  class Core
3
3
 
4
+ # Retrieve a Category on a Kapp
5
+ #
6
+ # @param kapp_slug [String] slug of the Kapp the category belongs to
7
+ # @param category_slug [String] slug of the the category to find
8
+ # @param params [Hash] Query parameters that are added to the URL, such as +include+
9
+ # @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
10
+ # @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
11
+ def find_category_on_kapp(kapp_slug, category_slug, params={}, headers=default_headers)
12
+ @logger.info("Finding #{category_slug} Category on the #{kapp_slug} kapp.")
13
+ get("#{@api_url}/kapps/#{kapp_slug}/categories/#{category_slug}", params, headers)
14
+ end
15
+
16
+ # Find Categories on a Kapp
17
+ #
18
+ # @param kapp_slug [String] slug of the Kapp the category belongs to
19
+ # @param params [Hash] Query parameters that are added to the URL, such as +include+
20
+ # @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
21
+ # @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
22
+ def find_categories(kapp_slug, params={}, headers=default_headers)
23
+ @logger.info("Finding Categories on the #{kapp_slug} kapp.")
24
+ get("#{@api_url}/kapps/#{kapp_slug}/categories", params, headers)
25
+ end
26
+
4
27
  # Add a category on a Kapp
5
28
  #
6
29
  # @param kapp_slug [String] slug of the Kapp the category belongs to
@@ -29,6 +52,32 @@ module KineticSdk
29
52
  @logger.info("Adding Categorization for \"#{kapp_slug}\" kapp")
30
53
  post("#{@api_url}/kapps/#{kapp_slug}/categorizations", body, headers)
31
54
  end
55
+
56
+ # Update a category on a Kapp
57
+ #
58
+ # @param kapp_slug [String] slug of the Kapp the category belongs to
59
+ # @param category_slug [String] slug of the the category to find
60
+ # @param body [Hash] category properties
61
+ # - +name+ - A descriptive name for the category
62
+ # - +other details + -
63
+ # @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
64
+ # @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
65
+ def update_category_on_kapp(kapp_slug, category_slug, body, headers=default_headers)
66
+ raise StandardError.new "Category properties is not valid, must be a Hash." unless body.is_a? Hash
67
+ @logger.info("Updating Category \"#{body['name']}\" for \"#{kapp_slug}\" kapp")
68
+ put("#{@api_url}/kapps/#{kapp_slug}/categories/#{category_slug}", body, headers)
69
+ end
70
+
71
+ # Delete a Category
72
+ #
73
+ # @param kapp_slug [String] slug of the Kapp the category belongs to
74
+ # @param category_slug [String] slug of the the category to delete
75
+ # @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
76
+ # @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
77
+ def delete_category_on_kapp(kapp_slug, category_slug, headers=default_headers)
78
+ @logger.info("Deleting the #{category_slug} Category on the #{kapp_slug}\ kapp.")
79
+ delete("#{@api_url}/kapps/#{kapp_slug}/categories/#{category_slug}", headers)
80
+ end
32
81
 
33
82
  end
34
83
  end
@@ -81,6 +81,7 @@ module KineticSdk
81
81
  "space.teamAttributeDefinitions",
82
82
  "space.userAttributeDefinitions",
83
83
  "space.userProfileAttributeDefinitions",
84
+ "space.webApis.{slug}",
84
85
  "space.webhooks.{name}",
85
86
  )
86
87
  core_data = get("#{@api_url}/space", { 'export' => true}, headers).content
@@ -134,6 +135,7 @@ module KineticSdk
134
135
  if api_path == "/kapps"
135
136
  kapp_slug = resp.content["kapp"]["slug"]
136
137
  delete_security_policy_definitions(kapp_slug)
138
+ delete_form_types_on_kapp(kapp_slug)
137
139
  end
138
140
  end
139
141
  end
@@ -7,7 +7,7 @@ module KineticSdk
7
7
  #
8
8
  # @param team_name [String] the team name
9
9
  # @param attribute_name [String] the attribute name
10
- # @param attribute_value [String] the attribute value
10
+ # @param attribute_value [String|Array] the attribute value(s)
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_team_attribute(team_name, attribute_name, attribute_value, headers=default_headers)
@@ -21,14 +21,14 @@ module KineticSdk
21
21
  @logger.info("Attribute: #{attribute.inspect}")
22
22
  # if the attribute already exists, update it
23
23
  if attribute["name"] == attribute_name
24
- attribute["values"] = [ attribute_value ]
24
+ attribute["values"] = attribute_value.is_a?(Array) ? attribute_value : [ attribute_value ]
25
25
  exists = true
26
26
  end
27
27
  end
28
28
  # add the attribute if it didn't exist
29
29
  attributes.push({
30
30
  "name" => attribute_name,
31
- "values" => [ attribute_value ]
31
+ "values" => attribute_value.is_a?(Array) ? attribute_value : [ attribute_value ]
32
32
  }) unless exists
33
33
 
34
34
  # set the updated attributes list
@@ -108,6 +108,29 @@ module KineticSdk
108
108
  @logger.info("Finding the \"#{team_name}\" (#{team_slug}) Team.")
109
109
  get("#{@api_url}/teams/#{team_slug}", params, headers)
110
110
  end
111
-
111
+
112
+ # Update a Team
113
+ #
114
+ # @param team_slug [String] slug of the Team to update
115
+ # @param body [Hash] category properties
116
+ # - +name+ - Name of the team to be added
117
+ # - +description+ - Description of the Team to be added
118
+ # @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
119
+ # @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
120
+ def update_team(team_slug, body, headers=default_headers)
121
+ raise StandardError.new "Team properties is not valid, must be a Hash." unless body.is_a? Hash
122
+ @logger.info("Updating Team #{team_slug}")
123
+ put("#{@api_url}/teams/#{team_slug}", body, headers)
124
+ end
125
+
126
+ # Delete a Team
127
+ #
128
+ # @param team_slug [String] slug of the the team to delete
129
+ # @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
130
+ # @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
131
+ def delete_team(team_slug, headers=default_headers)
132
+ @logger.info("Deleting the #{team_slug} Team.")
133
+ delete("#{@api_url}/teams/#{team_slug}", headers)
134
+ end
112
135
  end
113
136
  end
@@ -187,6 +187,26 @@ module KineticSdk
187
187
  @logger.info("Updating the \"#{name}\" webhook on the Space")
188
188
  put("#{@api_url}/webhooks/#{encode(name)}", webhook_properties, headers)
189
189
  end
190
+
191
+ # Delete a webhook on a kapp
192
+ #
193
+ # @param kapp_slug [String] slug of the Kapp the webhook belongs to
194
+ # @param name [String] the webhook name
195
+ # @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
196
+ # @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
197
+ def delete_webhook_on_kapp(kapp_slug, name, headers=default_headers)
198
+ @logger.info("Deleting the #{name} webhook on the #{kapp_slug}\ kapp.")
199
+ delete(URI.encode("#{@api_url}/kapps/#{kapp_slug}/webhooks/#{encode(name)}"), headers)
200
+ end
201
+
202
+ # Delete a webhook on space
203
+ # @param name [String] the webhook name
204
+ # @param headers [Hash] hash of headers to send, default is basic authentication and accept JSON content type
205
+ # @return [KineticSdk::Utils::KineticHttpResponse] object, with +code+, +message+, +content_string+, and +content+ properties
206
+ def delete_webhook_on_space(name, headers=default_headers)
207
+ @logger.info("Deleting the #{name} webhook on the space.")
208
+ delete("#{@api_url}/webhooks/#{encode(name)}", headers)
209
+ end
190
210
 
191
211
  end
192
212
  end
@@ -3,5 +3,5 @@ module KineticSdk
3
3
  # Version of Kinetic SDK
4
4
  #
5
5
  # @return [String] Version of the SDK
6
- VERSION = "5.0.4"
6
+ VERSION = "5.0.5"
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kinetic_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.4
4
+ version: 5.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kinetic Data
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-12 00:00:00.000000000 Z
11
+ date: 2020-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: slugify
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 12.3.0
117
+ version: 13.0.1
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 12.3.0
124
+ version: 13.0.1
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: yard
127
127
  requirement: !ruby/object:Gem::Requirement