dkron-ruby 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/DEVELOP.md +596 -0
- data/Gemfile +7 -0
- data/Gemfile.lock +69 -0
- data/README.md +99 -0
- data/Rakefile +8 -0
- data/dkron-ruby.gemspec +45 -0
- data/docs/DefaultApi.md +131 -0
- data/docs/Execution.md +13 -0
- data/docs/ExecutionsApi.md +55 -0
- data/docs/Job.md +28 -0
- data/docs/JobsApi.md +295 -0
- data/docs/Member.md +18 -0
- data/docs/MembersApi.md +49 -0
- data/docs/Processors.md +7 -0
- data/docs/Status.md +10 -0
- data/git_push.sh +55 -0
- data/lib/dkron-ruby.rb +48 -0
- data/lib/dkron-ruby/api/default_api.rb +161 -0
- data/lib/dkron-ruby/api/executions_api.rb +75 -0
- data/lib/dkron-ruby/api/jobs_api.rb +335 -0
- data/lib/dkron-ruby/api/members_api.rb +69 -0
- data/lib/dkron-ruby/api_client.rb +390 -0
- data/lib/dkron-ruby/api_error.rb +38 -0
- data/lib/dkron-ruby/configuration.rb +202 -0
- data/lib/dkron-ruby/models/execution.rb +236 -0
- data/lib/dkron-ruby/models/job.rb +403 -0
- data/lib/dkron-ruby/models/member.rb +288 -0
- data/lib/dkron-ruby/models/processors.rb +176 -0
- data/lib/dkron-ruby/models/status.rb +206 -0
- data/lib/dkron-ruby/version.rb +15 -0
- data/spec/api/default_api_spec.rb +65 -0
- data/spec/api/executions_api_spec.rb +46 -0
- data/spec/api/jobs_api_spec.rb +102 -0
- data/spec/api/members_api_spec.rb +45 -0
- data/spec/api_client_spec.rb +243 -0
- data/spec/configuration_spec.rb +42 -0
- data/spec/models/execution_spec.rb +71 -0
- data/spec/models/job_spec.rb +161 -0
- data/spec/models/member_spec.rb +101 -0
- data/spec/models/processors_spec.rb +35 -0
- data/spec/models/status_spec.rb +53 -0
- data/spec/spec_helper.rb +111 -0
- metadata +283 -0
data/docs/JobsApi.md
ADDED
@@ -0,0 +1,295 @@
|
|
1
|
+
# Dkron::JobsApi
|
2
|
+
|
3
|
+
All URIs are relative to *http://localhost:8080/v1*
|
4
|
+
|
5
|
+
Method | HTTP request | Description
|
6
|
+
------------- | ------------- | -------------
|
7
|
+
[**create_or_update_job**](JobsApi.md#create_or_update_job) | **POST** /jobs |
|
8
|
+
[**delete_job**](JobsApi.md#delete_job) | **DELETE** /jobs/{job_name} |
|
9
|
+
[**get_jobs**](JobsApi.md#get_jobs) | **GET** /jobs |
|
10
|
+
[**run_job**](JobsApi.md#run_job) | **POST** /jobs/{job_name} |
|
11
|
+
[**show_job_by_name**](JobsApi.md#show_job_by_name) | **GET** /jobs/{job_name} |
|
12
|
+
[**toggle_job**](JobsApi.md#toggle_job) | **POST** /jobs/{job_name}/toggle |
|
13
|
+
|
14
|
+
|
15
|
+
# **create_or_update_job**
|
16
|
+
> Job create_or_update_job(body, opts)
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
Create or updates a new job.
|
21
|
+
|
22
|
+
### Example
|
23
|
+
```ruby
|
24
|
+
# load the gem
|
25
|
+
require 'dkron-ruby'
|
26
|
+
|
27
|
+
api_instance = Dkron::JobsApi.new
|
28
|
+
|
29
|
+
body = Dkron::Job.new # Job | Updated job object
|
30
|
+
|
31
|
+
opts = {
|
32
|
+
runoncreate: nil # Object | If present, regardless of any value, causes the job to be run immediately after being succesfully created or updated.
|
33
|
+
}
|
34
|
+
|
35
|
+
begin
|
36
|
+
result = api_instance.create_or_update_job(body, opts)
|
37
|
+
p result
|
38
|
+
rescue Dkron::ApiError => e
|
39
|
+
puts "Exception when calling JobsApi->create_or_update_job: #{e}"
|
40
|
+
end
|
41
|
+
```
|
42
|
+
|
43
|
+
### Parameters
|
44
|
+
|
45
|
+
Name | Type | Description | Notes
|
46
|
+
------------- | ------------- | ------------- | -------------
|
47
|
+
**body** | [**Job**](Job.md)| Updated job object |
|
48
|
+
**runoncreate** | [**Object**](.md)| If present, regardless of any value, causes the job to be run immediately after being succesfully created or updated. | [optional]
|
49
|
+
|
50
|
+
### Return type
|
51
|
+
|
52
|
+
[**Job**](Job.md)
|
53
|
+
|
54
|
+
### Authorization
|
55
|
+
|
56
|
+
No authorization required
|
57
|
+
|
58
|
+
### HTTP request headers
|
59
|
+
|
60
|
+
- **Content-Type**: application/json
|
61
|
+
- **Accept**: application/json
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
# **delete_job**
|
66
|
+
> Job delete_job(job_name)
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
Delete a job.
|
71
|
+
|
72
|
+
### Example
|
73
|
+
```ruby
|
74
|
+
# load the gem
|
75
|
+
require 'dkron-ruby'
|
76
|
+
|
77
|
+
api_instance = Dkron::JobsApi.new
|
78
|
+
|
79
|
+
job_name = 'job_name_example' # String | The job that needs to be deleted.
|
80
|
+
|
81
|
+
|
82
|
+
begin
|
83
|
+
result = api_instance.delete_job(job_name)
|
84
|
+
p result
|
85
|
+
rescue Dkron::ApiError => e
|
86
|
+
puts "Exception when calling JobsApi->delete_job: #{e}"
|
87
|
+
end
|
88
|
+
```
|
89
|
+
|
90
|
+
### Parameters
|
91
|
+
|
92
|
+
Name | Type | Description | Notes
|
93
|
+
------------- | ------------- | ------------- | -------------
|
94
|
+
**job_name** | **String**| The job that needs to be deleted. |
|
95
|
+
|
96
|
+
### Return type
|
97
|
+
|
98
|
+
[**Job**](Job.md)
|
99
|
+
|
100
|
+
### Authorization
|
101
|
+
|
102
|
+
No authorization required
|
103
|
+
|
104
|
+
### HTTP request headers
|
105
|
+
|
106
|
+
- **Content-Type**: application/json
|
107
|
+
- **Accept**: application/json
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
# **get_jobs**
|
112
|
+
> Array<Job> get_jobs(opts)
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
List jobs.
|
117
|
+
|
118
|
+
### Example
|
119
|
+
```ruby
|
120
|
+
# load the gem
|
121
|
+
require 'dkron-ruby'
|
122
|
+
|
123
|
+
api_instance = Dkron::JobsApi.new
|
124
|
+
|
125
|
+
opts = {
|
126
|
+
metadata: ['metadata_example'] # Array<String> | Filter jobs by metadata
|
127
|
+
}
|
128
|
+
|
129
|
+
begin
|
130
|
+
result = api_instance.get_jobs(opts)
|
131
|
+
p result
|
132
|
+
rescue Dkron::ApiError => e
|
133
|
+
puts "Exception when calling JobsApi->get_jobs: #{e}"
|
134
|
+
end
|
135
|
+
```
|
136
|
+
|
137
|
+
### Parameters
|
138
|
+
|
139
|
+
Name | Type | Description | Notes
|
140
|
+
------------- | ------------- | ------------- | -------------
|
141
|
+
**metadata** | [**Array<String>**](String.md)| Filter jobs by metadata | [optional]
|
142
|
+
|
143
|
+
### Return type
|
144
|
+
|
145
|
+
[**Array<Job>**](Job.md)
|
146
|
+
|
147
|
+
### Authorization
|
148
|
+
|
149
|
+
No authorization required
|
150
|
+
|
151
|
+
### HTTP request headers
|
152
|
+
|
153
|
+
- **Content-Type**: application/json
|
154
|
+
- **Accept**: application/json
|
155
|
+
|
156
|
+
|
157
|
+
|
158
|
+
# **run_job**
|
159
|
+
> Job run_job(job_name)
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
Executes a job.
|
164
|
+
|
165
|
+
### Example
|
166
|
+
```ruby
|
167
|
+
# load the gem
|
168
|
+
require 'dkron-ruby'
|
169
|
+
|
170
|
+
api_instance = Dkron::JobsApi.new
|
171
|
+
|
172
|
+
job_name = 'job_name_example' # String | The job that needs to be run.
|
173
|
+
|
174
|
+
|
175
|
+
begin
|
176
|
+
result = api_instance.run_job(job_name)
|
177
|
+
p result
|
178
|
+
rescue Dkron::ApiError => e
|
179
|
+
puts "Exception when calling JobsApi->run_job: #{e}"
|
180
|
+
end
|
181
|
+
```
|
182
|
+
|
183
|
+
### Parameters
|
184
|
+
|
185
|
+
Name | Type | Description | Notes
|
186
|
+
------------- | ------------- | ------------- | -------------
|
187
|
+
**job_name** | **String**| The job that needs to be run. |
|
188
|
+
|
189
|
+
### Return type
|
190
|
+
|
191
|
+
[**Job**](Job.md)
|
192
|
+
|
193
|
+
### Authorization
|
194
|
+
|
195
|
+
No authorization required
|
196
|
+
|
197
|
+
### HTTP request headers
|
198
|
+
|
199
|
+
- **Content-Type**: application/json
|
200
|
+
- **Accept**: application/json
|
201
|
+
|
202
|
+
|
203
|
+
|
204
|
+
# **show_job_by_name**
|
205
|
+
> Job show_job_by_name(job_name)
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
Show a job.
|
210
|
+
|
211
|
+
### Example
|
212
|
+
```ruby
|
213
|
+
# load the gem
|
214
|
+
require 'dkron-ruby'
|
215
|
+
|
216
|
+
api_instance = Dkron::JobsApi.new
|
217
|
+
|
218
|
+
job_name = 'job_name_example' # String | The job that needs to be fetched.
|
219
|
+
|
220
|
+
|
221
|
+
begin
|
222
|
+
result = api_instance.show_job_by_name(job_name)
|
223
|
+
p result
|
224
|
+
rescue Dkron::ApiError => e
|
225
|
+
puts "Exception when calling JobsApi->show_job_by_name: #{e}"
|
226
|
+
end
|
227
|
+
```
|
228
|
+
|
229
|
+
### Parameters
|
230
|
+
|
231
|
+
Name | Type | Description | Notes
|
232
|
+
------------- | ------------- | ------------- | -------------
|
233
|
+
**job_name** | **String**| The job that needs to be fetched. |
|
234
|
+
|
235
|
+
### Return type
|
236
|
+
|
237
|
+
[**Job**](Job.md)
|
238
|
+
|
239
|
+
### Authorization
|
240
|
+
|
241
|
+
No authorization required
|
242
|
+
|
243
|
+
### HTTP request headers
|
244
|
+
|
245
|
+
- **Content-Type**: application/json
|
246
|
+
- **Accept**: application/json
|
247
|
+
|
248
|
+
|
249
|
+
|
250
|
+
# **toggle_job**
|
251
|
+
> Job toggle_job(job_name)
|
252
|
+
|
253
|
+
|
254
|
+
|
255
|
+
Toggle a job.
|
256
|
+
|
257
|
+
### Example
|
258
|
+
```ruby
|
259
|
+
# load the gem
|
260
|
+
require 'dkron-ruby'
|
261
|
+
|
262
|
+
api_instance = Dkron::JobsApi.new
|
263
|
+
|
264
|
+
job_name = 'job_name_example' # String | The job that needs to be toggled.
|
265
|
+
|
266
|
+
|
267
|
+
begin
|
268
|
+
result = api_instance.toggle_job(job_name)
|
269
|
+
p result
|
270
|
+
rescue Dkron::ApiError => e
|
271
|
+
puts "Exception when calling JobsApi->toggle_job: #{e}"
|
272
|
+
end
|
273
|
+
```
|
274
|
+
|
275
|
+
### Parameters
|
276
|
+
|
277
|
+
Name | Type | Description | Notes
|
278
|
+
------------- | ------------- | ------------- | -------------
|
279
|
+
**job_name** | **String**| The job that needs to be toggled. |
|
280
|
+
|
281
|
+
### Return type
|
282
|
+
|
283
|
+
[**Job**](Job.md)
|
284
|
+
|
285
|
+
### Authorization
|
286
|
+
|
287
|
+
No authorization required
|
288
|
+
|
289
|
+
### HTTP request headers
|
290
|
+
|
291
|
+
- **Content-Type**: application/json
|
292
|
+
- **Accept**: application/json
|
293
|
+
|
294
|
+
|
295
|
+
|
data/docs/Member.md
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# Dkron::Member
|
2
|
+
|
3
|
+
## Properties
|
4
|
+
Name | Type | Description | Notes
|
5
|
+
------------ | ------------- | ------------- | -------------
|
6
|
+
**name** | **String** | Node name | [optional]
|
7
|
+
**addr** | **String** | IP Address | [optional]
|
8
|
+
**port** | **Integer** | Port number | [optional]
|
9
|
+
**tags** | **Hash<String, String>** | Tags asociated with this node | [optional]
|
10
|
+
**status** | **Integer** | The serf status of the node see: https://godoc.org/github.com/hashicorp/serf/serf#MemberStatus | [optional]
|
11
|
+
**protocol_min** | **Integer** | Serf protocol minimum version this node can understand or speak | [optional]
|
12
|
+
**protocol_max** | **Integer** | Serf protocol maximum version this node can understand or speak | [optional]
|
13
|
+
**protocol_cur** | **Integer** | Serf protocol current version this node can understand or speak | [optional]
|
14
|
+
**delegate_min** | **Integer** | Serf delegate protocol minimum version this node can understand or speak | [optional]
|
15
|
+
**delegate_max** | **Integer** | Serf delegate protocol maximum version this node can understand or speak | [optional]
|
16
|
+
**delegate_cur** | **Integer** | Serf delegate protocol current version this node can understand or speak | [optional]
|
17
|
+
|
18
|
+
|
data/docs/MembersApi.md
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
# Dkron::MembersApi
|
2
|
+
|
3
|
+
All URIs are relative to *http://localhost:8080/v1*
|
4
|
+
|
5
|
+
Method | HTTP request | Description
|
6
|
+
------------- | ------------- | -------------
|
7
|
+
[**get_member**](MembersApi.md#get_member) | **GET** /members |
|
8
|
+
|
9
|
+
|
10
|
+
# **get_member**
|
11
|
+
> Array<Member> get_member
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
List members.
|
16
|
+
|
17
|
+
### Example
|
18
|
+
```ruby
|
19
|
+
# load the gem
|
20
|
+
require 'dkron-ruby'
|
21
|
+
|
22
|
+
api_instance = Dkron::MembersApi.new
|
23
|
+
|
24
|
+
begin
|
25
|
+
result = api_instance.get_member
|
26
|
+
p result
|
27
|
+
rescue Dkron::ApiError => e
|
28
|
+
puts "Exception when calling MembersApi->get_member: #{e}"
|
29
|
+
end
|
30
|
+
```
|
31
|
+
|
32
|
+
### Parameters
|
33
|
+
This endpoint does not need any parameter.
|
34
|
+
|
35
|
+
### Return type
|
36
|
+
|
37
|
+
[**Array<Member>**](Member.md)
|
38
|
+
|
39
|
+
### Authorization
|
40
|
+
|
41
|
+
No authorization required
|
42
|
+
|
43
|
+
### HTTP request headers
|
44
|
+
|
45
|
+
- **Content-Type**: application/json
|
46
|
+
- **Accept**: application/json
|
47
|
+
|
48
|
+
|
49
|
+
|
data/docs/Processors.md
ADDED
data/docs/Status.md
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
# Dkron::Status
|
2
|
+
|
3
|
+
## Properties
|
4
|
+
Name | Type | Description | Notes
|
5
|
+
------------ | ------------- | ------------- | -------------
|
6
|
+
**agent** | **Object** | Node basic details | [optional]
|
7
|
+
**serf** | **Object** | Serf status | [optional]
|
8
|
+
**tags** | **Object** | Tags asociated with this node | [optional]
|
9
|
+
|
10
|
+
|
data/git_push.sh
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
#
|
3
|
+
# Generated by: https://github.com/swagger-api/swagger-codegen.git
|
4
|
+
#
|
5
|
+
# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
|
6
|
+
#
|
7
|
+
# Usage example: /bin/sh ./git_push.sh wing328 swagger-petstore-perl "minor update"
|
8
|
+
|
9
|
+
git_user_id=$1
|
10
|
+
git_repo_id=$2
|
11
|
+
release_note=$3
|
12
|
+
|
13
|
+
if [ "$git_user_id" = "" ]; then
|
14
|
+
git_user_id=""
|
15
|
+
echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
|
16
|
+
fi
|
17
|
+
|
18
|
+
if [ "$git_repo_id" = "" ]; then
|
19
|
+
git_repo_id=""
|
20
|
+
echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
|
21
|
+
fi
|
22
|
+
|
23
|
+
if [ "$release_note" = "" ]; then
|
24
|
+
release_note=""
|
25
|
+
echo "[INFO] No command line input provided. Set \$release_note to $release_note"
|
26
|
+
fi
|
27
|
+
|
28
|
+
# Initialize the local directory as a Git repository
|
29
|
+
git init
|
30
|
+
|
31
|
+
# Adds the files in the local repository and stages them for commit.
|
32
|
+
git add .
|
33
|
+
|
34
|
+
# Commits the tracked changes and prepares them to be pushed to a remote repository.
|
35
|
+
git commit -m "$release_note"
|
36
|
+
|
37
|
+
# Sets the new remote
|
38
|
+
git_remote=`git remote`
|
39
|
+
if [ "$git_remote" = "" ]; then # git remote not defined
|
40
|
+
|
41
|
+
if [ "$GIT_TOKEN" = "" ]; then
|
42
|
+
echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment."
|
43
|
+
git remote add origin https://github.com/${git_user_id}/${git_repo_id}.git
|
44
|
+
else
|
45
|
+
git remote add origin https://${git_user_id}:${GIT_TOKEN}@github.com/${git_user_id}/${git_repo_id}.git
|
46
|
+
fi
|
47
|
+
|
48
|
+
fi
|
49
|
+
|
50
|
+
git pull origin master
|
51
|
+
|
52
|
+
# Pushes (Forces) the changes in the local repository up to the remote repository
|
53
|
+
echo "Git pushing to https://github.com/${git_user_id}/${git_repo_id}.git"
|
54
|
+
git push origin master 2>&1 | grep -v 'To https'
|
55
|
+
|
data/lib/dkron-ruby.rb
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
=begin
|
2
|
+
#Dkron REST API
|
3
|
+
|
4
|
+
#You can communicate with Dkron using a RESTful JSON API over HTTP. Dkron nodes usually listen on port `8080` for API requests. All examples in this section assume that you've found a running leader at `localhost:8080`. Dkron implements a RESTful JSON API over HTTP to communicate with software clients. Dkron listens in port `8080` by default. All examples in this section assume that you're using the default port. Default API responses are unformatted JSON add the `pretty=true` param to format the response.
|
5
|
+
|
6
|
+
OpenAPI spec version: 2.2
|
7
|
+
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
Swagger Codegen version: 2.4.13
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
# Common files
|
14
|
+
require 'dkron-ruby/api_client'
|
15
|
+
require 'dkron-ruby/api_error'
|
16
|
+
require 'dkron-ruby/version'
|
17
|
+
require 'dkron-ruby/configuration'
|
18
|
+
|
19
|
+
# Models
|
20
|
+
require 'dkron-ruby/models/execution'
|
21
|
+
require 'dkron-ruby/models/job'
|
22
|
+
require 'dkron-ruby/models/member'
|
23
|
+
require 'dkron-ruby/models/processors'
|
24
|
+
require 'dkron-ruby/models/status'
|
25
|
+
|
26
|
+
# APIs
|
27
|
+
require 'dkron-ruby/api/default_api'
|
28
|
+
require 'dkron-ruby/api/executions_api'
|
29
|
+
require 'dkron-ruby/api/jobs_api'
|
30
|
+
require 'dkron-ruby/api/members_api'
|
31
|
+
|
32
|
+
module Dkron
|
33
|
+
class << self
|
34
|
+
# Customize default settings for the SDK using block.
|
35
|
+
# Dkron.configure do |config|
|
36
|
+
# config.username = "xxx"
|
37
|
+
# config.password = "xxx"
|
38
|
+
# end
|
39
|
+
# If no block given, return the default Configuration object.
|
40
|
+
def configure
|
41
|
+
if block_given?
|
42
|
+
yield(Configuration.default)
|
43
|
+
else
|
44
|
+
Configuration.default
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|