dkron-ruby 1.0.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Dkron REST API
3
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.
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
5
 
6
- OpenAPI spec version: 2.2
6
+ OpenAPI spec version: 1.0
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.13
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -36,7 +36,7 @@ describe 'JobsApi' do
36
36
  # Create or updates a new job.
37
37
  # @param body Updated job object
38
38
  # @param [Hash] opts the optional parameters
39
- # @option opts [Object] :runoncreate If present, regardless of any value, causes the job to be run immediately after being succesfully created or updated.
39
+ # @option opts [BOOLEAN] :runoncreate If present, regardless of any value, causes the job to be run immediately after being succesfully created or updated.
40
40
  # @return [Job]
41
41
  describe 'create_or_update_job test' do
42
42
  it 'should work' do
@@ -66,6 +66,17 @@ describe 'JobsApi' do
66
66
  end
67
67
  end
68
68
 
69
+ # unit tests for restore
70
+ # Restore jobs from json file.
71
+ # @param file Json file that needs to be restored.
72
+ # @param [Hash] opts the optional parameters
73
+ # @return [Array<Restore>]
74
+ describe 'restore test' do
75
+ it 'should work' do
76
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
77
+ end
78
+ end
79
+
69
80
  # unit tests for run_job
70
81
  # Executes a job.
71
82
  # @param job_name The job that needs to be run.
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Dkron REST API
3
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.
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
5
 
6
- OpenAPI spec version: 2.2
6
+ OpenAPI spec version: 1.0
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.13
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Dkron REST API
3
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.
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
5
 
6
- OpenAPI spec version: 2.2
6
+ OpenAPI spec version: 1.0
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.13
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Dkron REST API
3
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.
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
5
 
6
- OpenAPI spec version: 2.2
6
+ OpenAPI spec version: 1.0
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.13
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Dkron REST API
3
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.
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
5
 
6
- OpenAPI spec version: 2.2
6
+ OpenAPI spec version: 1.0
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.13
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Dkron REST API
3
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.
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
5
 
6
- OpenAPI spec version: 2.2
6
+ OpenAPI spec version: 1.0
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.13
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Dkron REST API
3
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.
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
5
 
6
- OpenAPI spec version: 2.2
6
+ OpenAPI spec version: 1.0
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.13
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Dkron REST API
3
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.
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
5
 
6
- OpenAPI spec version: 2.2
6
+ OpenAPI spec version: 1.0
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.13
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -0,0 +1,35 @@
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: 1.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.17
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for Dkron::Restore
18
+ # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
19
+ # Please update as you see appropriate
20
+ describe 'Restore' do
21
+ before do
22
+ # run before each test
23
+ @instance = Dkron::Restore.new
24
+ end
25
+
26
+ after do
27
+ # run after each test
28
+ end
29
+
30
+ describe 'test an instance of Restore' do
31
+ it 'should create an instance of Restore' do
32
+ expect(@instance).to be_instance_of(Dkron::Restore)
33
+ end
34
+ end
35
+ end
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Dkron REST API
3
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.
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
5
 
6
- OpenAPI spec version: 2.2
6
+ OpenAPI spec version: 1.0
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.13
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Dkron REST API
3
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.
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
5
 
6
- OpenAPI spec version: 2.2
6
+ OpenAPI spec version: 1.0
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.13
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -0,0 +1,656 @@
1
+ {
2
+ "swagger": "2.0",
3
+ "basePath": "/v1",
4
+ "host": "localhost:8080",
5
+ "consumes": [
6
+ "application/json"
7
+ ],
8
+ "produces": [
9
+ "application/json"
10
+ ],
11
+ "schemes": [
12
+ "http"
13
+ ],
14
+ "info": {
15
+ "version": "3.0",
16
+ "title": "Dkron REST API",
17
+ "description": "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`.\nDkron 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.\nDefault API responses are unformatted JSON add the `pretty=true` param to format the response.\n"
18
+ },
19
+ "paths": {
20
+ "/": {
21
+ "get": {
22
+ "description": "Gets `Status` object.\n",
23
+ "operationId": "status",
24
+ "tags": [
25
+ "default"
26
+ ],
27
+ "responses": {
28
+ "200": {
29
+ "description": "Successful response",
30
+ "schema": {
31
+ "$ref": "#/definitions/status"
32
+ }
33
+ }
34
+ }
35
+ }
36
+ },
37
+ "/jobs": {
38
+ "get": {
39
+ "description": "List jobs.\n",
40
+ "parameters": [
41
+ {
42
+ "in": "query",
43
+ "name": "metadata",
44
+ "type": "array",
45
+ "collectionFormat": "multi",
46
+ "items": {
47
+ "type": "string"
48
+ },
49
+ "description": "Filter jobs by metadata"
50
+ }
51
+ ],
52
+ "operationId": "getJobs",
53
+ "tags": [
54
+ "jobs"
55
+ ],
56
+ "responses": {
57
+ "200": {
58
+ "description": "Successful response",
59
+ "schema": {
60
+ "type": "array",
61
+ "items": {
62
+ "$ref": "#/definitions/job"
63
+ }
64
+ }
65
+ }
66
+ }
67
+ },
68
+ "post": {
69
+ "description": "Create or updates a new job.\n",
70
+ "operationId": "createOrUpdateJob",
71
+ "tags": [
72
+ "jobs"
73
+ ],
74
+ "parameters": [
75
+ {
76
+ "in": "body",
77
+ "name": "body",
78
+ "description": "Updated job object",
79
+ "required": true,
80
+ "schema": {
81
+ "$ref": "#/definitions/job"
82
+ }
83
+ },
84
+ {
85
+ "in": "query",
86
+ "name": "runoncreate",
87
+ "description": "If present, regardless of any value, causes the job to be run immediately after being succesfully created or updated.",
88
+ "required": false,
89
+ "type": "boolean",
90
+ "allowEmptyValue": true
91
+ }
92
+ ],
93
+ "responses": {
94
+ "201": {
95
+ "description": "Successful response",
96
+ "schema": {
97
+ "$ref": "#/definitions/job"
98
+ }
99
+ }
100
+ }
101
+ }
102
+ },
103
+ "/jobs/{job_name}": {
104
+ "get": {
105
+ "description": "Show a job.\n",
106
+ "operationId": "showJobByName",
107
+ "tags": [
108
+ "jobs"
109
+ ],
110
+ "parameters": [
111
+ {
112
+ "in": "path",
113
+ "name": "job_name",
114
+ "description": "The job that needs to be fetched.",
115
+ "required": true,
116
+ "type": "string"
117
+ }
118
+ ],
119
+ "responses": {
120
+ "200": {
121
+ "description": "Successful response",
122
+ "schema": {
123
+ "$ref": "#/definitions/job"
124
+ }
125
+ }
126
+ }
127
+ },
128
+ "delete": {
129
+ "description": "Delete a job.\n",
130
+ "operationId": "deleteJob",
131
+ "tags": [
132
+ "jobs"
133
+ ],
134
+ "parameters": [
135
+ {
136
+ "in": "path",
137
+ "name": "job_name",
138
+ "description": "The job that needs to be deleted.",
139
+ "required": true,
140
+ "type": "string"
141
+ }
142
+ ],
143
+ "responses": {
144
+ "200": {
145
+ "description": "Successful response",
146
+ "schema": {
147
+ "$ref": "#/definitions/job"
148
+ }
149
+ }
150
+ }
151
+ },
152
+ "post": {
153
+ "description": "Executes a job.\n",
154
+ "operationId": "runJob",
155
+ "tags": [
156
+ "jobs"
157
+ ],
158
+ "parameters": [
159
+ {
160
+ "in": "path",
161
+ "name": "job_name",
162
+ "description": "The job that needs to be run.",
163
+ "required": true,
164
+ "type": "string"
165
+ }
166
+ ],
167
+ "responses": {
168
+ "202": {
169
+ "description": "Successful response",
170
+ "schema": {
171
+ "$ref": "#/definitions/job"
172
+ }
173
+ }
174
+ }
175
+ }
176
+ },
177
+ "/jobs/{job_name}/toggle": {
178
+ "post": {
179
+ "description": "Toggle a job.\n",
180
+ "operationId": "toggleJob",
181
+ "tags": [
182
+ "jobs"
183
+ ],
184
+ "parameters": [
185
+ {
186
+ "in": "path",
187
+ "name": "job_name",
188
+ "description": "The job that needs to be toggled.",
189
+ "required": true,
190
+ "type": "string"
191
+ }
192
+ ],
193
+ "responses": {
194
+ "200": {
195
+ "description": "Successful response",
196
+ "schema": {
197
+ "$ref": "#/definitions/job"
198
+ }
199
+ }
200
+ }
201
+ }
202
+ },
203
+ "/restore": {
204
+ "post": {
205
+ "description": "Restore jobs from json file.\n",
206
+ "operationId": "restore",
207
+ "tags": [
208
+ "jobs"
209
+ ],
210
+ "parameters": [
211
+ {
212
+ "in": "formData",
213
+ "name": "file",
214
+ "description": "Json file that needs to be restored.",
215
+ "required": true,
216
+ "type": "file"
217
+ }
218
+ ],
219
+ "responses": {
220
+ "200": {
221
+ "description": "Successful response",
222
+ "schema": {
223
+ "type": "array",
224
+ "items": {
225
+ "$ref": "#/definitions/restore"
226
+ }
227
+ }
228
+ }
229
+ }
230
+ }
231
+ },
232
+ "/members": {
233
+ "get": {
234
+ "description": "List members.\n",
235
+ "operationId": "getMember",
236
+ "tags": [
237
+ "members"
238
+ ],
239
+ "responses": {
240
+ "200": {
241
+ "description": "Successful response",
242
+ "schema": {
243
+ "type": "array",
244
+ "items": {
245
+ "$ref": "#/definitions/member"
246
+ }
247
+ }
248
+ }
249
+ }
250
+ }
251
+ },
252
+ "/leader": {
253
+ "get": {
254
+ "description": "List leader of cluster.\n",
255
+ "operationId": "getLeader",
256
+ "tags": [
257
+ "default"
258
+ ],
259
+ "responses": {
260
+ "200": {
261
+ "description": "Successful response",
262
+ "schema": {
263
+ "$ref": "#/definitions/member"
264
+ }
265
+ }
266
+ }
267
+ }
268
+ },
269
+ "/isleader": {
270
+ "get": {
271
+ "description": "Check if node is a leader or follower.\n",
272
+ "operationId": "getIsLeader",
273
+ "tags": [
274
+ "default"
275
+ ],
276
+ "responses": {
277
+ "200": {
278
+ "description": "Node is a leader"
279
+ },
280
+ "404": {
281
+ "description": "Node is a follower"
282
+ }
283
+ }
284
+ }
285
+ },
286
+ "/leave": {
287
+ "post": {
288
+ "description": "Force the node to leave the cluster.\n",
289
+ "operationId": "leave",
290
+ "tags": [
291
+ "default"
292
+ ],
293
+ "responses": {
294
+ "200": {
295
+ "description": "Successful response",
296
+ "schema": {
297
+ "type": "array",
298
+ "items": {
299
+ "$ref": "#/definitions/member"
300
+ }
301
+ }
302
+ }
303
+ }
304
+ }
305
+ },
306
+ "/jobs/{job_name}/executions": {
307
+ "get": {
308
+ "description": "List executions.\n",
309
+ "operationId": "listExecutionsByJob",
310
+ "tags": [
311
+ "executions"
312
+ ],
313
+ "parameters": [
314
+ {
315
+ "in": "path",
316
+ "name": "job_name",
317
+ "description": "The job that owns the executions to be fetched.",
318
+ "required": true,
319
+ "type": "string"
320
+ }
321
+ ],
322
+ "responses": {
323
+ "200": {
324
+ "description": "Successful response",
325
+ "schema": {
326
+ "type": "array",
327
+ "items": {
328
+ "$ref": "#/definitions/execution"
329
+ }
330
+ }
331
+ }
332
+ }
333
+ }
334
+ },
335
+ "/busy": {
336
+ "get": {
337
+ "description": "Returns the running executions.\n",
338
+ "operationId": "busy",
339
+ "tags": [
340
+ "default"
341
+ ],
342
+ "responses": {
343
+ "200": {
344
+ "description": "Successful response",
345
+ "schema": {
346
+ "type": "array",
347
+ "items": {
348
+ "$ref": "#/definitions/execution"
349
+ }
350
+ }
351
+ }
352
+ }
353
+ }
354
+ }
355
+ },
356
+ "definitions": {
357
+ "status": {
358
+ "type": "object",
359
+ "description": "Status represents details about the node.",
360
+ "readOnly": true,
361
+ "properties": {
362
+ "agent": {
363
+ "description": "Node basic details",
364
+ "readOnly": true,
365
+ "additionalProperties": {
366
+ "type": "object"
367
+ }
368
+ },
369
+ "serf": {
370
+ "description": "Serf status",
371
+ "readOnly": true,
372
+ "additionalProperties": {
373
+ "type": "object"
374
+ }
375
+ },
376
+ "tags": {
377
+ "description": "Tags asociated with this node",
378
+ "readOnly": true,
379
+ "additionalProperties": {
380
+ "type": "string"
381
+ }
382
+ }
383
+ }
384
+ },
385
+ "job": {
386
+ "type": "object",
387
+ "description": "A Job represents a scheduled task to execute.",
388
+ "required": [
389
+ "name",
390
+ "schedule"
391
+ ],
392
+ "properties": {
393
+ "name": {
394
+ "type": "string",
395
+ "description": "Name for the job. Use only lower case letters (unicode), digits, underscore and dash.",
396
+ "readOnly": false,
397
+ "example": "job1"
398
+ },
399
+ "displayname": {
400
+ "type": "string",
401
+ "description": "Nice name for the job. Optional.",
402
+ "readOnly": false
403
+ },
404
+ "schedule": {
405
+ "type": "string",
406
+ "description": "Cron expression for the job.",
407
+ "readOnly": false,
408
+ "example": "@every 10s"
409
+ },
410
+ "timezone": {
411
+ "type": "string",
412
+ "description": "Timezone where the job will be executed. By default and when field is set to empty string, the job will run in local time.",
413
+ "readOnly": false,
414
+ "example": "Europe/Berlin"
415
+ },
416
+ "owner": {
417
+ "type": "string",
418
+ "description": "Owner of the job",
419
+ "readOnly": false,
420
+ "example": "Platform Team"
421
+ },
422
+ "owner_email": {
423
+ "type": "string",
424
+ "description": "Email of the owner",
425
+ "readOnly": false,
426
+ "example": "platform@example.com"
427
+ },
428
+ "success_count": {
429
+ "type": "integer",
430
+ "description": "Number of successful executions",
431
+ "readOnly": true
432
+ },
433
+ "error_count": {
434
+ "type": "integer",
435
+ "description": "Number of failed executions",
436
+ "readOnly": true
437
+ },
438
+ "last_success": {
439
+ "type": "string",
440
+ "format": "date-time",
441
+ "description": "Last time this job executed successfully",
442
+ "readOnly": true
443
+ },
444
+ "last_error": {
445
+ "type": "string",
446
+ "format": "date-time",
447
+ "description": "Last time this job failed",
448
+ "readOnly": true
449
+ },
450
+ "disabled": {
451
+ "type": "boolean",
452
+ "description": "Disabled state of the job",
453
+ "readOnly": false
454
+ },
455
+ "tags": {
456
+ "type": "object",
457
+ "description": "Target nodes tags of this job",
458
+ "additionalProperties": {
459
+ "type": "string"
460
+ },
461
+ "readOnly": false,
462
+ "example": {
463
+ "server": "true"
464
+ }
465
+ },
466
+ "metadata": {
467
+ "type": "object",
468
+ "description": "Extra metadata tags for this job",
469
+ "additionalProperties": {
470
+ "type": "string"
471
+ },
472
+ "readOnly": false,
473
+ "example": {
474
+ "office": "Barcelona"
475
+ }
476
+ },
477
+ "retries": {
478
+ "type": "integer",
479
+ "description": "Number of times to retry a failed job execution",
480
+ "example": 2,
481
+ "readOnly": false
482
+ },
483
+ "parent_job": {
484
+ "type": "string",
485
+ "description": "The name/id of the job that will trigger the execution of this job",
486
+ "example": "parent_job",
487
+ "readOnly": false
488
+ },
489
+ "dependent_jobs": {
490
+ "type": "array",
491
+ "items": {
492
+ "type": "string"
493
+ },
494
+ "description": "Array containing the jobs that depends on this one",
495
+ "example": [
496
+ "dependent_job"
497
+ ],
498
+ "readOnly": true
499
+ },
500
+ "processors": {
501
+ "$ref": "#/definitions/processors"
502
+ },
503
+ "concurrency": {
504
+ "type": "string",
505
+ "description": "Concurrency policy for the job allow/forbid",
506
+ "example": "allow",
507
+ "readOnly": false
508
+ },
509
+ "executor": {
510
+ "type": "string",
511
+ "description": "Executor plugin used to run the job",
512
+ "readOnly": false,
513
+ "example": "shell"
514
+ },
515
+ "executor_config": {
516
+ "type": "object",
517
+ "description": "Executor plugin parameters",
518
+ "additionalProperties": {
519
+ "type": "string"
520
+ },
521
+ "example": {
522
+ "command": "echo 'Hello from Dkron'"
523
+ }
524
+ },
525
+ "status": {
526
+ "type": "string",
527
+ "readOnly": true,
528
+ "description": "Status of the job",
529
+ "example": "success"
530
+ }
531
+ }
532
+ },
533
+ "member": {
534
+ "type": "object",
535
+ "description": "A member represents a cluster member node.",
536
+ "properties": {
537
+ "Name": {
538
+ "type": "string",
539
+ "description": "Node name",
540
+ "example": "dkron1"
541
+ },
542
+ "Addr": {
543
+ "type": "string",
544
+ "description": "IP Address",
545
+ "example": "192.168.1.137"
546
+ },
547
+ "Port": {
548
+ "type": "integer",
549
+ "description": "Port number",
550
+ "example": 8946
551
+ },
552
+ "Tags": {
553
+ "type": "object",
554
+ "description": "Tags asociated with this node",
555
+ "additionalProperties": {
556
+ "type": "string"
557
+ },
558
+ "example": {
559
+ "rpc_addr": "192.168.1.137:6868",
560
+ "server": "true",
561
+ "version\"": "1.0.0"
562
+ }
563
+ },
564
+ "Status": {
565
+ "type": "integer",
566
+ "description": "The serf status of the node see: https://godoc.org/github.com/hashicorp/serf/serf#MemberStatus",
567
+ "example": 1
568
+ },
569
+ "ProtocolMin": {
570
+ "type": "integer",
571
+ "description": "Serf protocol minimum version this node can understand or speak",
572
+ "example": 5
573
+ },
574
+ "ProtocolMax": {
575
+ "type": "integer",
576
+ "description": "Serf protocol maximum version this node can understand or speak",
577
+ "example": 2
578
+ },
579
+ "ProtocolCur": {
580
+ "type": "integer",
581
+ "description": "Serf protocol current version this node can understand or speak",
582
+ "example": 2
583
+ },
584
+ "DelegateMin": {
585
+ "type": "integer",
586
+ "description": "Serf delegate protocol minimum version this node can understand or speak"
587
+ },
588
+ "DelegateMax": {
589
+ "type": "integer",
590
+ "description": "Serf delegate protocol maximum version this node can understand or speak",
591
+ "example": 5
592
+ },
593
+ "DelegateCur": {
594
+ "type": "integer",
595
+ "description": "Serf delegate protocol current version this node can understand or speak",
596
+ "example": 4
597
+ }
598
+ }
599
+ },
600
+ "execution": {
601
+ "type": "object",
602
+ "description": "An execution represents a timed job run.",
603
+ "properties": {
604
+ "job_name": {
605
+ "type": "string",
606
+ "description": "job name",
607
+ "example": "job_1"
608
+ },
609
+ "started_at": {
610
+ "type": "string",
611
+ "format": "date-time",
612
+ "description": "start time of the execution"
613
+ },
614
+ "finished_at": {
615
+ "type": "string",
616
+ "format": "date-time",
617
+ "description": "when the execution finished running"
618
+ },
619
+ "success": {
620
+ "type": "boolean",
621
+ "description": "the execution run successfuly"
622
+ },
623
+ "output": {
624
+ "type": "string",
625
+ "description": "partial output of the command execution",
626
+ "example": "Hello from Dkron"
627
+ },
628
+ "node_name": {
629
+ "type": "string",
630
+ "description": "name of the node that executed the command",
631
+ "example": "dkron1"
632
+ }
633
+ }
634
+ },
635
+ "processors": {
636
+ "type": "object",
637
+ "description": "Processor plugins used to process executions results of this job",
638
+ "additionalProperties": {
639
+ "type": "object",
640
+ "additionalProperties": {
641
+ "type": "string"
642
+ }
643
+ },
644
+ "example": {
645
+ "files": {
646
+ "forward": true
647
+ }
648
+ }
649
+ },
650
+ "restore": {
651
+ "type": "string",
652
+ "description": "Each job restore result.",
653
+ "example": "success create job_1"
654
+ }
655
+ }
656
+ }