lockss-pyclient 0.1.0.dev2__py3-none-any.whl → 0.1.0.dev3__py3-none-any.whl

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.
Files changed (93) hide show
  1. lockss/pyclient/__init__.py +8 -29
  2. lockss/pyclient/__main__.py +37 -0
  3. lockss/pyclient/_internal_common.py +395 -0
  4. lockss/pyclient/_internal_config.py +207 -0
  5. lockss/pyclient/_internal_crawler.py +251 -0
  6. lockss/pyclient/_internal_md.py +111 -0
  7. lockss/pyclient/_internal_poller.py +174 -0
  8. lockss/pyclient/_internal_rs.py +232 -0
  9. lockss/pyclient/cli.py +839 -0
  10. lockss/pyclient/config/__init__.py +15 -0
  11. lockss/pyclient/config/api/aus_api.py +14 -6
  12. lockss/pyclient/config/api/config_api.py +12 -12
  13. lockss/pyclient/config/api/utils_api.py +2 -2
  14. lockss/pyclient/config/configuration.py +1 -1
  15. lockss/pyclient/config/models/__init__.py +15 -0
  16. lockss/pyclient/config/models/access_type.py +90 -0
  17. lockss/pyclient/config/models/au_agreements.py +136 -0
  18. lockss/pyclient/config/models/au_config_page_info.py +140 -0
  19. lockss/pyclient/config/models/au_state_bean.py +942 -0
  20. lockss/pyclient/config/models/au_status.py +837 -8
  21. lockss/pyclient/config/models/au_suspect_url_versions.py +136 -0
  22. lockss/pyclient/config/models/check_substance_result.py +6 -22
  23. lockss/pyclient/config/models/dated_peer_id_set_impl.py +162 -0
  24. lockss/pyclient/config/models/hash_result.py +136 -0
  25. lockss/pyclient/config/models/page_info.py +226 -0
  26. lockss/pyclient/config/models/peer_agreement.py +188 -0
  27. lockss/pyclient/config/models/peer_agreements.py +136 -0
  28. lockss/pyclient/config/models/platform_configuration_ws_result.py +421 -8
  29. lockss/pyclient/config/models/platform_configuration_ws_result_daemon_version.py +188 -0
  30. lockss/pyclient/config/models/platform_configuration_ws_result_java_version.py +188 -0
  31. lockss/pyclient/config/models/platform_configuration_ws_result_platform.py +162 -0
  32. lockss/pyclient/config/models/substance_checker_state.py +91 -0
  33. lockss/pyclient/config/models/suspect_url_version.py +214 -0
  34. lockss/pyclient/config/swagger.yaml +2031 -0
  35. lockss/pyclient/crawler/__init__.py +1 -0
  36. lockss/pyclient/crawler/api/crawls_api.py +2 -2
  37. lockss/pyclient/crawler/configuration.py +1 -1
  38. lockss/pyclient/crawler/models/__init__.py +1 -0
  39. lockss/pyclient/crawler/models/crawl_desc.py +4 -12
  40. lockss/pyclient/crawler/models/crawl_kind_enum.py +90 -0
  41. lockss/pyclient/crawler/models/page_info.py +22 -24
  42. lockss/pyclient/crawler/swagger.yaml +1197 -0
  43. lockss/pyclient/md/configuration.py +1 -1
  44. lockss/pyclient/md/models/page_info.py +22 -24
  45. lockss/pyclient/md/swagger.yaml +583 -0
  46. lockss/pyclient/output.py +131 -0
  47. lockss/pyclient/poller/__init__.py +11 -5
  48. lockss/pyclient/poller/api/export_api.py +5 -5
  49. lockss/pyclient/poller/api/hash_api.py +3 -3
  50. lockss/pyclient/poller/api/poll_detail_api.py +42 -42
  51. lockss/pyclient/poller/api/poller_polls_api.py +18 -18
  52. lockss/pyclient/poller/api/service_api.py +2 -2
  53. lockss/pyclient/poller/api/voter_polls_api.py +18 -18
  54. lockss/pyclient/poller/configuration.py +1 -1
  55. lockss/pyclient/poller/models/__init__.py +11 -5
  56. lockss/pyclient/poller/models/export_file_type_enum.py +93 -0
  57. lockss/pyclient/poller/models/export_filename_translation_enum.py +91 -0
  58. lockss/pyclient/poller/models/page_info.py +226 -0
  59. lockss/pyclient/poller/models/poll_desc.py +3 -11
  60. lockss/pyclient/poller/models/poll_variant_enum.py +92 -0
  61. lockss/pyclient/poller/models/poller_page_info.py +140 -0
  62. lockss/pyclient/poller/models/repair_page_info.py +140 -0
  63. lockss/pyclient/poller/models/repair_type_enum.py +91 -0
  64. lockss/pyclient/poller/models/tally_type_enum.py +93 -0
  65. lockss/pyclient/poller/models/url_page_info.py +140 -0
  66. lockss/pyclient/poller/models/voter_page_info.py +140 -0
  67. lockss/pyclient/poller/models/voter_urls_enum.py +92 -0
  68. lockss/pyclient/poller/swagger.yaml +1658 -0
  69. lockss/pyclient/rs/__init__.py +6 -0
  70. lockss/pyclient/rs/api/artifacts_api.py +20 -20
  71. lockss/pyclient/rs/api/aus_api.py +5 -5
  72. lockss/pyclient/rs/api/repo_api.py +4 -4
  73. lockss/pyclient/rs/api/status_api.py +1 -1
  74. lockss/pyclient/rs/api/wayback_api.py +12 -12
  75. lockss/pyclient/rs/configuration.py +8 -1
  76. lockss/pyclient/rs/models/__init__.py +6 -0
  77. lockss/pyclient/rs/models/artifact.py +111 -81
  78. lockss/pyclient/rs/models/au_size.py +6 -0
  79. lockss/pyclient/rs/models/auid_page_info.py +2 -2
  80. lockss/pyclient/rs/models/bulk_au_op_enum.py +90 -0
  81. lockss/pyclient/rs/models/include_content_enum.py +91 -0
  82. lockss/pyclient/rs/models/page_info.py +26 -29
  83. lockss/pyclient/rs/models/pywb_match_enum.py +93 -0
  84. lockss/pyclient/rs/models/pywb_output_enum.py +90 -0
  85. lockss/pyclient/rs/models/pywb_sort_enum.py +91 -0
  86. lockss/pyclient/rs/models/storage_info.py +131 -80
  87. lockss/pyclient/rs/models/versions_enum.py +90 -0
  88. lockss/pyclient/rs/swagger.yaml +1306 -0
  89. {lockss_pyclient-0.1.0.dev2.dist-info → lockss_pyclient-0.1.0.dev3.dist-info}/METADATA +10 -3
  90. {lockss_pyclient-0.1.0.dev2.dist-info → lockss_pyclient-0.1.0.dev3.dist-info}/RECORD +93 -45
  91. {lockss_pyclient-0.1.0.dev2.dist-info → lockss_pyclient-0.1.0.dev3.dist-info}/WHEEL +1 -1
  92. lockss_pyclient-0.1.0.dev3.dist-info/entry_points.txt +3 -0
  93. {lockss_pyclient-0.1.0.dev2.dist-info → lockss_pyclient-0.1.0.dev3.dist-info/licenses}/LICENSE +0 -0
@@ -0,0 +1,1658 @@
1
+ # Copyright (c) 2000-2026, Board of Trustees of Leland Stanford Jr. University
2
+ #
3
+ # Redistribution and use in source and binary forms, with or without
4
+ # modification, are permitted provided that the following conditions are met:
5
+ #
6
+ # 1. Redistributions of source code must retain the above copyright notice,
7
+ # this list of conditions and the following disclaimer.
8
+ #
9
+ # 2. Redistributions in binary form must reproduce the above copyright notice,
10
+ # this list of conditions and the following disclaimer in the documentation
11
+ # and/or other materials provided with the distribution.
12
+ #
13
+ # 3. Neither the name of the copyright holder nor the names of its contributors
14
+ # may be used to endorse or promote products derived from this software without
15
+ # specific prior written permission.
16
+ #
17
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18
+ # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
+ # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
+ # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
21
+ # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22
+ # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23
+ # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24
+ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25
+ # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26
+ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27
+ # POSSIBILITY OF SUCH DAMAGE.
28
+
29
+ openapi: 3.0.3
30
+ info:
31
+ title: LOCKSS Poller Service REST API
32
+ description: REST API of the LOCKSS Poller Service
33
+ version: 2.0.0
34
+ contact:
35
+ name: LOCKSS Support
36
+ url: https://www.lockss.org/
37
+ email: lockss-support@lockss.org
38
+ license:
39
+ name: BSD-3-Clause
40
+ url: https://opensource.org/licenses/BSD-3-Clause
41
+ servers:
42
+ - url: "{proto}://{hostname}:{port}/"
43
+ description: LOCKSS Poller Service
44
+ variables:
45
+ proto:
46
+ description: "The protocol (default: http)."
47
+ enum:
48
+ - http
49
+ - https
50
+ default: http
51
+ hostname:
52
+ description: The service host name (or IP address).
53
+ default: localhost
54
+ port:
55
+ description: "The service port (default: 24613)."
56
+ default: 24613
57
+ security:
58
+ - basicAuth: []
59
+ tags:
60
+ - name: export
61
+ description: Export operations
62
+ - name: hash
63
+ description: Hashing operations
64
+ - name: import
65
+ description: Import operations
66
+ - name: poll-detail
67
+ description: Poll detail operations
68
+ - name: poller-polls
69
+ description: Poll operations where this peer is the poller
70
+ - name: repo
71
+ description: Repository operations
72
+ - name: service
73
+ description: Service operations
74
+ - name: voter-polls
75
+ description: Poll operations where this peer is a voter
76
+ paths:
77
+ /polls:
78
+ post:
79
+ tags:
80
+ - service
81
+ summary: Send a request to call a poll to the poller
82
+ description: Use the information found in the descriptor object to initiate
83
+ a poll.
84
+ operationId: callPoll
85
+ # new roles: ROLE_AU_ADMIN
86
+ requestBody:
87
+ description: A poll descriptor object used to define the poll being requested.
88
+ content:
89
+ application/json:
90
+ schema:
91
+ $ref: '#/components/schemas/PollDesc'
92
+ required: true
93
+ responses:
94
+ 202:
95
+ description: The Poll request has been accepted and added to the queue.
96
+ content:
97
+ application/json:
98
+ schema:
99
+ type: string
100
+ description: Return a poll service id.
101
+ default:
102
+ description: The resulting error payload.
103
+ content:
104
+ application/json:
105
+ schema:
106
+ $ref: '#/components/schemas/errorResult'
107
+ x-codegen-request-body-name: body
108
+ /polls/{psId}:
109
+ get:
110
+ tags:
111
+ - service
112
+ summary: Get queued poll status
113
+ description: Get the status of a previously queued poll.
114
+ operationId: getPollStatus
115
+ # new roles: ROLE_AU_ADMIN
116
+ parameters:
117
+ - name: psId
118
+ in: path
119
+ description: The poll id.
120
+ required: true
121
+ schema:
122
+ type: string
123
+ responses:
124
+ 200:
125
+ description: Poll info returned.
126
+ content:
127
+ application/json:
128
+ schema:
129
+ $ref: '#/components/schemas/PollerSummary'
130
+ default:
131
+ description: The resulting error payload.
132
+ content:
133
+ application/json:
134
+ schema:
135
+ $ref: '#/components/schemas/errorResult'
136
+ delete:
137
+ tags:
138
+ - service
139
+ summary: Stop a poll and remove from queue.
140
+ description: Stop a running poll and delete any schecduled polls for poll with
141
+ the poll service id.
142
+ operationId: cancelPoll
143
+ # new roles: ROLE_AU_ADMIN
144
+ parameters:
145
+ - name: psId
146
+ in: path
147
+ description: The poll id.
148
+ required: true
149
+ schema:
150
+ type: string
151
+ responses:
152
+ 200:
153
+ description: Poll successfully stopped
154
+ content: {}
155
+ default:
156
+ description: The resulting error payload.
157
+ content:
158
+ application/json:
159
+ schema:
160
+ $ref: '#/components/schemas/errorResult'
161
+ /polls/{pollKey}/tallies:
162
+ get:
163
+ tags:
164
+ - poll-detail
165
+ summary: Page Tally
166
+ description: Return the vote tallies for a specific poll.
167
+ operationId: getTallyUrls
168
+ # new roles: ROLE_AU_ADMIN
169
+ parameters:
170
+ - name: pollKey
171
+ in: path
172
+ description: The pollKey as listed in the PollDetail object.
173
+ required: true
174
+ schema:
175
+ type: string
176
+ - name: tally
177
+ in: query
178
+ description: The kind of tally element to return.
179
+ required: true
180
+ schema:
181
+ $ref: '#/components/schemas/tallyTypeEnum'
182
+ - name: limit
183
+ in: query
184
+ description: The requested maximum number of URLs per response
185
+ schema:
186
+ type: integer
187
+ - name: continuationToken
188
+ in: query
189
+ description: The continuation token of the next page of URLs to be returned
190
+ schema:
191
+ type: string
192
+ responses:
193
+ 200:
194
+ description: A pageable list of urls for given tally type.
195
+ content:
196
+ application/json:
197
+ schema:
198
+ $ref: '#/components/schemas/UrlPageInfo'
199
+ default:
200
+ description: The resulting error payload.
201
+ content:
202
+ application/json:
203
+ schema:
204
+ $ref: '#/components/schemas/errorResult'
205
+ /polls/{pollKey}/repairs:
206
+ get:
207
+ tags:
208
+ - poll-detail
209
+ summary: Poll Repairs
210
+ description: Return the repair status for a specific poll.
211
+ operationId: getRepairQueueData
212
+ # new roles: ROLE_AU_ADMIN
213
+ parameters:
214
+ - name: pollKey
215
+ in: path
216
+ description: The pollKey as listed in the PollDetail object.
217
+ required: true
218
+ schema:
219
+ type: string
220
+ - name: repair
221
+ in: query
222
+ description: The repair queue elements to return.
223
+ required: true
224
+ schema:
225
+ $ref: '#/components/schemas/repairTypeEnum'
226
+ - name: limit
227
+ in: query
228
+ description: The requested maximum number of repair items per response
229
+ schema:
230
+ type: integer
231
+ - name: continuationToken
232
+ in: query
233
+ description: The continuation token of the next page of repair items to be returned
234
+ schema:
235
+ type: string
236
+ responses:
237
+ 200:
238
+ description: A pageable list of repair queue elements.
239
+ content:
240
+ application/json:
241
+ schema:
242
+ $ref: '#/components/schemas/RepairPageInfo'
243
+ default:
244
+ description: The resulting error payload.
245
+ content:
246
+ application/json:
247
+ schema:
248
+ $ref: '#/components/schemas/errorResult'
249
+ /polls/{pollKey}/peer/{peerId}:
250
+ get:
251
+ tags:
252
+ - poll-detail
253
+ summary: Poll Peer Data
254
+ description: Return the list of urls of vote type for a given peer in a specific
255
+ poll.
256
+ operationId: getPollPeerVoteUrls
257
+ # new roles: ROLE_AU_ADMIN
258
+ parameters:
259
+ - name: pollKey
260
+ in: path
261
+ description: The pollKey from the PollDetail.
262
+ required: true
263
+ schema:
264
+ type: string
265
+ - name: peerId
266
+ in: path
267
+ description: The peerId from the Poll Detail.PeerData.
268
+ required: true
269
+ schema:
270
+ type: string
271
+ - name: urls
272
+ in: query
273
+ description: The voter urls to return.
274
+ required: true
275
+ schema:
276
+ $ref: '#/components/schemas/voterUrlsEnum'
277
+ - name: limit
278
+ in: query
279
+ description: The requested maximum number of URLs per response
280
+ schema:
281
+ type: integer
282
+ - name: continuationToken
283
+ in: query
284
+ description: The continuation token of the next page of URLs to be returned
285
+ schema:
286
+ type: string
287
+ responses:
288
+ 200:
289
+ description: A pageable list of voter urls with a given status.
290
+ content:
291
+ application/json:
292
+ schema:
293
+ $ref: '#/components/schemas/UrlPageInfo'
294
+ default:
295
+ description: The resulting error payload.
296
+ content:
297
+ application/json:
298
+ schema:
299
+ $ref: '#/components/schemas/errorResult'
300
+ /polls/poller:
301
+ get:
302
+ tags:
303
+ - poller-polls
304
+ summary: Get the list of recent polls in which this peer is the poller.
305
+ description: Get the list of recent polls in which this peer is the poller
306
+ from the poll queue.
307
+ operationId: getPollsAsPoller
308
+ # new roles: ROLE_AU_ADMIN
309
+ parameters:
310
+ - name: limit
311
+ in: query
312
+ description: The requested maximum number of poll summaries per response
313
+ schema:
314
+ type: integer
315
+ - name: continuationToken
316
+ in: query
317
+ description: The continuation token of the next page of poll summaries to be returned
318
+ schema:
319
+ type: string
320
+ responses:
321
+ 200:
322
+ description: The requested poll summaries
323
+ content:
324
+ application/json:
325
+ schema:
326
+ $ref: '#/components/schemas/PollerPageInfo'
327
+ default:
328
+ description: The resulting error payload.
329
+ content:
330
+ application/json:
331
+ schema:
332
+ $ref: '#/components/schemas/errorResult'
333
+ /polls/poller/{pollKey}:
334
+ get:
335
+ tags:
336
+ - poller-polls
337
+ summary: PollerDetails
338
+ description: Return the detailed information about a poll in which this
339
+ peer is the poller.
340
+ operationId: getPollerPollDetails
341
+ # new roles: ROLE_AU_ADMIN
342
+ parameters:
343
+ - name: pollKey
344
+ in: path
345
+ description: The key assigned by the PollManager.
346
+ required: true
347
+ schema:
348
+ type: string
349
+ responses:
350
+ 200:
351
+ description: Detailed poll info returned.
352
+ content:
353
+ application/json:
354
+ schema:
355
+ $ref: '#/components/schemas/PollerDetail'
356
+ default:
357
+ description: The resulting error payload.
358
+ content:
359
+ application/json:
360
+ schema:
361
+ $ref: '#/components/schemas/errorResult'
362
+ /polls/voter:
363
+ get:
364
+ tags:
365
+ - voter-polls
366
+ summary: Get the list of recent polls in which this peer is a voter.
367
+ description: Get the list of recent polls in which this peer is a voter
368
+ from the poll queue.
369
+ operationId: getPollsAsVoter
370
+ # new roles: ROLE_AU_ADMIN
371
+ parameters:
372
+ - name: limit
373
+ in: query
374
+ description: The requested maximum number of poll summaries per response
375
+ schema:
376
+ type: integer
377
+ - name: continuationToken
378
+ in: query
379
+ description: The continuation token of the next page of poll summaries to be returned
380
+ schema:
381
+ type: string
382
+ responses:
383
+ 200:
384
+ description: The requested poll summaries
385
+ content:
386
+ application/json:
387
+ schema:
388
+ $ref: '#/components/schemas/VoterPageInfo'
389
+ default:
390
+ description: The resulting error payload.
391
+ content:
392
+ application/json:
393
+ schema:
394
+ $ref: '#/components/schemas/errorResult'
395
+ /polls/voter/{pollKey}:
396
+ get:
397
+ tags:
398
+ - voter-polls
399
+ summary: VoterDetails
400
+ description: Return the detailed information about a poll in which this
401
+ peer is a voter.
402
+ operationId: getVoterPollDetails
403
+ # new roles: ROLE_AU_ADMIN
404
+ parameters:
405
+ - name: pollKey
406
+ in: path
407
+ description: The key assigned by the PollManager.
408
+ required: true
409
+ schema:
410
+ type: string
411
+ responses:
412
+ 200:
413
+ description: Detailed poll info returned.
414
+ content:
415
+ application/json:
416
+ schema:
417
+ $ref: '#/components/schemas/VoterDetail'
418
+ default:
419
+ description: The resulting error payload.
420
+ content:
421
+ application/json:
422
+ schema:
423
+ $ref: '#/components/schemas/errorResult'
424
+ /aus/{auid}/export:
425
+ get:
426
+ tags:
427
+ - export
428
+ summary: Export artifacts in an Archival Unit
429
+ description: Export artifacts in an Archival Unit as a group of archives
430
+ operationId: getExportFiles
431
+ # new roles: ROLE_CONTENT_ACCESS, ROLE_AU_ADMIN
432
+ parameters:
433
+ - name: auid
434
+ in: path
435
+ description: Identifier of the Archival Unit containing the artifacts
436
+ required: true
437
+ schema:
438
+ type: string
439
+ - name: fileType
440
+ in: query
441
+ description: The type of archive to create
442
+ schema:
443
+ $ref: '#/components/schemas/exportFileTypeEnum'
444
+ - name: isCompress
445
+ in: query
446
+ description: Indication of whether contents should be compressed
447
+ schema:
448
+ type: boolean
449
+ default: true
450
+ - name: isExcludeDirNodes
451
+ in: query
452
+ description: Indication of whether directories should be excluded
453
+ schema:
454
+ type: boolean
455
+ default: true
456
+ - name: xlateFilenames
457
+ in: query
458
+ description: Type of filename translation to be done
459
+ schema:
460
+ $ref: '#/components/schemas/exportFilenameTranslationEnum'
461
+ - name: filePrefix
462
+ in: query
463
+ description: The prefix to be used to name the exported file
464
+ schema:
465
+ type: string
466
+ default: lockss_export
467
+ - name: maxSize
468
+ in: query
469
+ description: The maximum size of the exported file
470
+ schema:
471
+ type: integer
472
+ format: int64
473
+ default: -1
474
+ - name: maxVersions
475
+ in: query
476
+ description: The maximum number of versions of an artifact to be exported
477
+ schema:
478
+ type: integer
479
+ default: -1
480
+ responses:
481
+ 200:
482
+ description: The archives with the requested artifacts
483
+ content:
484
+ multipart/form-data:
485
+ schema:
486
+ type: string
487
+ format: binary
488
+ default:
489
+ description: The resulting error payload.
490
+ content:
491
+ application/json:
492
+ schema:
493
+ $ref: '#/components/schemas/errorResult'
494
+ /status:
495
+ get:
496
+ tags:
497
+ - service
498
+ summary: Get the status of the service
499
+ description: Get the status of the service
500
+ operationId: getStatus
501
+ # no credentials required
502
+ responses:
503
+ 200:
504
+ description: The status of the service
505
+ content:
506
+ application/json:
507
+ schema:
508
+ $ref: '#/components/schemas/apiStatus'
509
+ default:
510
+ description: The resulting error payload.
511
+ content:
512
+ application/json:
513
+ schema:
514
+ $ref: '#/components/schemas/errorResult'
515
+ /ws/polls:
516
+ get:
517
+ tags:
518
+ - service
519
+ summary: Query for poll properties
520
+ description: Query for polls that meet a set of specified conditions
521
+ operationId: getPolls
522
+ # new roles: ROLE_AU_ADMIN
523
+ parameters:
524
+ - name: pollQuery
525
+ in: query
526
+ description: The query that specifies the polls to be returned
527
+ required: true
528
+ schema:
529
+ type: string
530
+ responses:
531
+ 200:
532
+ description: Information about the requested polls
533
+ content:
534
+ application/json:
535
+ schema:
536
+ type: array
537
+ items:
538
+ $ref: '#/components/schemas/pollWsResult'
539
+ default:
540
+ description: The resulting error payload.
541
+ content:
542
+ application/json:
543
+ schema:
544
+ $ref: '#/components/schemas/errorResult'
545
+ /ws/peers:
546
+ get:
547
+ tags:
548
+ - service
549
+ summary: Query for peer properties
550
+ description: Query for peers that meet a set of specified conditions
551
+ operationId: getPeers
552
+ # new roles: ROLE_AU_ADMIN
553
+ parameters:
554
+ - name: peerQuery
555
+ in: query
556
+ description: The query that specifies the peers to be returned
557
+ required: true
558
+ schema:
559
+ type: string
560
+ responses:
561
+ 200:
562
+ description: Information about the requested peers
563
+ content:
564
+ application/json:
565
+ schema:
566
+ type: array
567
+ items:
568
+ $ref: '#/components/schemas/peerWsResult'
569
+ default:
570
+ description: The resulting error payload.
571
+ content:
572
+ application/json:
573
+ schema:
574
+ $ref: '#/components/schemas/errorResult'
575
+ /ws/votes:
576
+ get:
577
+ tags:
578
+ - service
579
+ summary: Query for vote properties
580
+ description: Query for votes that meet a set of specified conditions
581
+ operationId: getVotes
582
+ # new roles: ROLE_AU_ADMIN
583
+ parameters:
584
+ - name: voteQuery
585
+ in: query
586
+ description: The query that specifies the votes to be returned
587
+ required: true
588
+ schema:
589
+ type: string
590
+ responses:
591
+ 200:
592
+ description: Information about the requested votes
593
+ content:
594
+ application/json:
595
+ schema:
596
+ type: array
597
+ items:
598
+ $ref: '#/components/schemas/voteWsResult'
599
+ default:
600
+ description: The resulting error payload.
601
+ content:
602
+ application/json:
603
+ schema:
604
+ $ref: '#/components/schemas/errorResult'
605
+ /ws/aus/import:
606
+ put:
607
+ tags:
608
+ - import
609
+ summary: Import a file into an Archival Unit
610
+ description: Import a file as an artifact in an Archival Unit
611
+ operationId: putImportFile
612
+ # new roles: ROLE_AU_ADMIN
613
+ requestBody:
614
+ content:
615
+ multipart/form-data:
616
+ schema:
617
+ required:
618
+ - file
619
+ - targetBaseUrlPath
620
+ - targetUrl
621
+ properties:
622
+ targetBaseUrlPath:
623
+ type: string
624
+ description: The base URL path of the target AU
625
+ targetUrl:
626
+ type: string
627
+ description: The target AU URL
628
+ file:
629
+ type: string
630
+ description: The content of the file to be imported
631
+ format: binary
632
+ userProperties:
633
+ type: array
634
+ description: The user-specified properties
635
+ items:
636
+ type: string
637
+ required: true
638
+ responses:
639
+ 200:
640
+ description: OK
641
+ content: {}
642
+ default:
643
+ description: The resulting error payload.
644
+ content:
645
+ application/json:
646
+ schema:
647
+ $ref: '#/components/schemas/errorResult'
648
+ /ws/hashes:
649
+ get:
650
+ tags:
651
+ - hash
652
+ summary: Get the results of all the asynchronous hashing operations
653
+ description: Get the results of all the asynchronous hashing operations
654
+ operationId: getAllHashes
655
+ # new roles: ROLE_CONTENT_ACCESS, ROLE_AU_ADMIN
656
+ responses:
657
+ 200:
658
+ description: Information about all the asynchronous hashing operations
659
+ content:
660
+ multipart/form-data:
661
+ schema:
662
+ type: string
663
+ format: binary
664
+ default:
665
+ description: The resulting error payload.
666
+ content:
667
+ application/json:
668
+ schema:
669
+ $ref: '#/components/schemas/errorResult'
670
+ put:
671
+ tags:
672
+ - hash
673
+ summary: Perform a hashing operation
674
+ description: Perform the hashing of an AU or a URL
675
+ operationId: putHash
676
+ # new roles: ROLE_CONTENT_ACCESS, ROLE_AU_ADMIN
677
+ parameters:
678
+ - name: isAsynchronous
679
+ in: query
680
+ description: "Indication of whether the operation should be done \asynchronously"
681
+ schema:
682
+ type: boolean
683
+ default: true
684
+ requestBody:
685
+ description: The parameters needed to define a hash.
686
+ content:
687
+ '*/*':
688
+ schema:
689
+ $ref: '#/components/schemas/hasherWsParams'
690
+ required: true
691
+ responses:
692
+ 200:
693
+ description: Information about the performed hashing operation
694
+ content:
695
+ multipart/form-data:
696
+ schema:
697
+ type: string
698
+ format: binary
699
+ default:
700
+ description: The resulting error payload.
701
+ content:
702
+ application/json:
703
+ schema:
704
+ $ref: '#/components/schemas/errorResult'
705
+ x-codegen-request-body-name: hasherWsParams
706
+ /ws/hashes/requests/{requestId}:
707
+ get:
708
+ tags:
709
+ - hash
710
+ summary: Get the result of an asynchronous hashing operation
711
+ description: Get the result of an asynchronous hashing operation
712
+ operationId: getHash
713
+ # new roles: ROLE_CONTENT_ACCESS, ROLE_AU_ADMIN
714
+ parameters:
715
+ - name: requestId
716
+ in: path
717
+ description: Identifier of the asynchronous hashing operation
718
+ required: true
719
+ schema:
720
+ type: string
721
+ responses:
722
+ 200:
723
+ description: Information about the asynchronous hashing operation
724
+ content:
725
+ multipart/form-data:
726
+ schema:
727
+ type: string
728
+ format: binary
729
+ default:
730
+ description: The resulting error payload.
731
+ content:
732
+ application/json:
733
+ schema:
734
+ $ref: '#/components/schemas/errorResult'
735
+ delete:
736
+ tags:
737
+ - hash
738
+ summary: Remove an asynchronous hashing operation
739
+ description: Remove from the system an asynchronous hashing operation, terminating
740
+ it if it's still running
741
+ operationId: deleteHash
742
+ # new roles: ROLE_CONTENT_ACCESS, ROLE_AU_ADMIN
743
+ parameters:
744
+ - name: requestId
745
+ in: path
746
+ description: Identifier of the asynchronous hashing operation
747
+ required: true
748
+ schema:
749
+ type: string
750
+ responses:
751
+ 200:
752
+ description: Asynchronous hashing operation successfully removed
753
+ content:
754
+ application/json:
755
+ schema:
756
+ type: string
757
+ default:
758
+ description: The resulting error payload.
759
+ content:
760
+ application/json:
761
+ schema:
762
+ $ref: '#/components/schemas/errorResult'
763
+ /ws/aurepositories:
764
+ get:
765
+ tags:
766
+ - repo
767
+ summary: Query the properties of repositories
768
+ description: Query the system for selected repository properties
769
+ operationId: getRepositories
770
+ # new roles: ROLE_AU_ADMIN
771
+ parameters:
772
+ - name: repositoryQuery
773
+ in: query
774
+ description: The query that specifies the repository properties to be returned
775
+ required: true
776
+ schema:
777
+ type: string
778
+ responses:
779
+ 200:
780
+ description: Information about the requested TDB AUs
781
+ content:
782
+ application/json:
783
+ schema:
784
+ type: array
785
+ items:
786
+ $ref: '#/components/schemas/repositoryWsResult'
787
+ default:
788
+ description: The resulting error payload.
789
+ content:
790
+ application/json:
791
+ schema:
792
+ $ref: '#/components/schemas/errorResult'
793
+ /ws/repositoryspaces:
794
+ get:
795
+ tags:
796
+ - repo
797
+ summary: Query the properties of repository spaces
798
+ description: Query the system for selected repository space properties
799
+ operationId: getRepositorySpaces
800
+ # new roles: ROLE_AU_ADMIN
801
+ parameters:
802
+ - name: repositorySpaceQuery
803
+ in: query
804
+ description: The query that specifies the repository space properties to be
805
+ returned
806
+ required: true
807
+ schema:
808
+ type: string
809
+ responses:
810
+ 200:
811
+ description: Information about the requested TDB AUs
812
+ content:
813
+ application/json:
814
+ schema:
815
+ type: array
816
+ description: The list of requested properties.
817
+ items:
818
+ $ref: '#/components/schemas/repositorySpaceWsResult'
819
+ default:
820
+ description: The resulting error payload.
821
+ content:
822
+ application/json:
823
+ schema:
824
+ $ref: '#/components/schemas/errorResult'
825
+ components:
826
+ schemas:
827
+ apiStatus:
828
+ required:
829
+ - apiVersion
830
+ - ready
831
+ type: object
832
+ properties:
833
+ apiVersion:
834
+ type: string
835
+ description: The version of the API
836
+ componentName:
837
+ type: string
838
+ description: The name of the component
839
+ componentVersion:
840
+ type: string
841
+ description: The version of the component software
842
+ lockssVersion:
843
+ type: string
844
+ description: The version of the LOCKSS system
845
+ ready:
846
+ type: boolean
847
+ description: The indication of whether the service is available
848
+ serviceName:
849
+ type: string
850
+ description: The name of the service
851
+ readyTime:
852
+ type: integer
853
+ description: The time the service last became ready.
854
+ format: int64
855
+ reason:
856
+ type: string
857
+ description: The reason the service isn't ready.
858
+ startupStatus:
859
+ type: string
860
+ description: Enum indicating progress of plugin/AU processing at startup.
861
+ enum:
862
+ - NONE
863
+ - PLUGINS_CRAWLING
864
+ - PLUGINS_COLLECTED
865
+ - PLUGINS_LOADING
866
+ - PLUGINS_LOADED
867
+ - AUS_STARTING
868
+ - AUS_STARTED
869
+ description: The status information of the service
870
+ CachedUriSetSpec:
871
+ required:
872
+ - urlPrefix
873
+ type: object
874
+ properties:
875
+ urlPrefix:
876
+ type: string
877
+ description: The base which roots the lower and upper bound
878
+ lowerBound:
879
+ type: string
880
+ description: lower bound of the prefix range, inclusive.
881
+ upperBound:
882
+ type: string
883
+ description: upper bound of prefix range, inclusive.
884
+ description: A set of urls bounded by upper and lower restraints. If lower
885
+ = "." this is a singleContentNode. If lower is null then start at the root
886
+ url, if upper is null end with the last.
887
+ errorResult:
888
+ type: object
889
+ required:
890
+ - message
891
+ - code
892
+ properties:
893
+ message:
894
+ type: string
895
+ code:
896
+ type: integer
897
+ rootCause:
898
+ type: string
899
+ exportFileTypeEnum:
900
+ title: Export File Type
901
+ description: The type of archive to create
902
+ type: string
903
+ default: WARC_RESPONSE
904
+ enum:
905
+ - WARC_RESPONSE
906
+ - WARC_RESOURCE
907
+ - ARC_RESPONSE
908
+ - ARC_RESOURCE
909
+ - ZIP
910
+ exportFilenameTranslationEnum:
911
+ title: Export Filename Translation Type
912
+ description: Type of filename translation to be done
913
+ type: string
914
+ default: XLATE_NONE
915
+ enum:
916
+ - XLATE_NONE
917
+ - XLATE_WINDOWS
918
+ - XLATE_MAC
919
+ hasherWsParams:
920
+ required:
921
+ - algorithm
922
+ - auId
923
+ - challenge
924
+ - excludeSuspectVersions
925
+ - hashType
926
+ - includeWeight
927
+ - lower
928
+ - recordFilteredStream
929
+ - resultEncoding
930
+ - upper
931
+ - url
932
+ - verifier
933
+ type: object
934
+ properties:
935
+ auId:
936
+ type: string
937
+ description: The identifier of the Archival Unit content to be hashed
938
+ url:
939
+ type: string
940
+ description: The identifier of the URL content to be hashed
941
+ lower:
942
+ type: string
943
+ description: The lower boundary URL
944
+ upper:
945
+ type: string
946
+ description: The upper boundary URL
947
+ recordFilteredStream:
948
+ type: boolean
949
+ description: An indication of whether the filtered stream should be recorded
950
+ excludeSuspectVersions:
951
+ type: boolean
952
+ description: An indication of whether to exclude suspect versions
953
+ includeWeight:
954
+ type: boolean
955
+ description: An indication of whether to include hash weight
956
+ algorithm:
957
+ type: string
958
+ description: The name of the hashing algorithm to be used [SHA-1 (or SHA1),
959
+ MD5 or SHA-256]
960
+ hashType:
961
+ type: string
962
+ description: The type of hashing to be performed [V1Content, V1Name, V1File,
963
+ V3Tree or V3File]
964
+ resultEncoding:
965
+ type: string
966
+ description: The result encoding to be used [Base64 or Hex]
967
+ challenge:
968
+ type: string
969
+ description: The encoded challenge
970
+ verifier:
971
+ type: string
972
+ description: The encoded verifier
973
+ description: The parameters of a hash operation
974
+ LinkDesc:
975
+ required:
976
+ - link
977
+ type: object
978
+ properties:
979
+ link:
980
+ type: string
981
+ description: The actual link suitable for a standard GET request
982
+ example: http:www.example.com/v1/element
983
+ desc:
984
+ type: string
985
+ description: A description of this link
986
+ example: pollerOnly
987
+ description: A wrapper for a link and a string description.
988
+ PeerData:
989
+ required:
990
+ - peerId
991
+ - status
992
+ type: object
993
+ properties:
994
+ peerId:
995
+ type: string
996
+ description: the peer id for this participant
997
+ status:
998
+ type: string
999
+ description: the status of this peer
1000
+ agreement:
1001
+ type: number
1002
+ description: the percentage of vote agreement.
1003
+ format: float
1004
+ numAgree:
1005
+ type: integer
1006
+ description: The number of urls for which there was agreement.
1007
+ format: int64
1008
+ agreeLink:
1009
+ $ref: '#/components/schemas/LinkDesc'
1010
+ numDisagree:
1011
+ type: integer
1012
+ description: The number of urls for which there was disagreement.
1013
+ format: int64
1014
+ disagreeLink:
1015
+ $ref: '#/components/schemas/LinkDesc'
1016
+ numPollerOnly:
1017
+ type: integer
1018
+ description: The number of urls which were poller only.
1019
+ format: int64
1020
+ pollerOnlyLink:
1021
+ $ref: '#/components/schemas/LinkDesc'
1022
+ numVoterOnly:
1023
+ type: integer
1024
+ description: The number of urls for which were voter only.
1025
+ format: int64
1026
+ voterOnlyLink:
1027
+ $ref: '#/components/schemas/LinkDesc'
1028
+ bytesHashed:
1029
+ type: integer
1030
+ description: the number of bytes hashed.
1031
+ format: int64
1032
+ bytesRead:
1033
+ type: integer
1034
+ description: the number of bytes read.
1035
+ format: int64
1036
+ wtAgreement:
1037
+ type: number
1038
+ description: the weight of vote percentage agreement.
1039
+ format: float
1040
+ wtNumAgree:
1041
+ type: number
1042
+ description: the weight of number agree votes.
1043
+ format: float
1044
+ wtNumDisagree:
1045
+ type: number
1046
+ description: the weight of number of disagree votes.
1047
+ format: float
1048
+ wtNumPollerOnly:
1049
+ type: number
1050
+ description: the weight of number of poller only votes.
1051
+ format: float
1052
+ wtNumVoterOnly:
1053
+ type: number
1054
+ description: the weight of number of voter only votes.
1055
+ format: float
1056
+ state:
1057
+ type: string
1058
+ description: the state machine state.
1059
+ lastStateChange:
1060
+ type: integer
1061
+ description: the time of last state change.
1062
+ format: int64
1063
+ description: Detail for a single voter in a poll.
1064
+ peerWsResult:
1065
+ required:
1066
+ - peerId
1067
+ type: object
1068
+ properties:
1069
+ peerId:
1070
+ type: string
1071
+ description: The identifier of the Archival Unit
1072
+ description: The properties of a peer
1073
+ PollDesc:
1074
+ required:
1075
+ - auId
1076
+ type: object
1077
+ properties:
1078
+ auId:
1079
+ type: string
1080
+ description: The id which defines the poll
1081
+ cuSetSpec:
1082
+ $ref: '#/components/schemas/CachedUriSetSpec'
1083
+ pollType:
1084
+ minimum: 3
1085
+ type: integer
1086
+ description: The type of poll to run. Only V3 is supported.
1087
+ protocol:
1088
+ type: integer
1089
+ description: The version of polling protocol.
1090
+ pluginPollVersion:
1091
+ type: string
1092
+ description: The version of the polling features needed by the plugin.
1093
+ variant:
1094
+ $ref: '#/components/schemas/pollVariantEnum'
1095
+ modulus:
1096
+ type: integer
1097
+ description: Poll on every 'n'th url.
1098
+ description: The Poller Services poll spec used to define a poll.
1099
+ pollVariantEnum:
1100
+ title: V3 Poll Variant
1101
+ description: The V3 poll variant.
1102
+ type: string
1103
+ enum:
1104
+ - PoR
1105
+ - PoP
1106
+ - Local
1107
+ - NoPoll
1108
+ pollWsResult:
1109
+ required:
1110
+ - auId
1111
+ - auName
1112
+ type: object
1113
+ properties:
1114
+ auId:
1115
+ type: string
1116
+ description: The identifier of the Archival Unit
1117
+ auName:
1118
+ type: string
1119
+ description: The name of the Archival Unit
1120
+ description: The properties of a poll
1121
+ PollerDetail:
1122
+ required:
1123
+ - pollDesc
1124
+ - pollerId
1125
+ - status
1126
+ type: object
1127
+ properties:
1128
+ pollDesc:
1129
+ $ref: '#/components/schemas/PollDesc'
1130
+ pollerId:
1131
+ type: string
1132
+ description: The id of the poller who called the poll
1133
+ status:
1134
+ type: string
1135
+ description: The current status of the poll.
1136
+ pollKey:
1137
+ type: string
1138
+ description: Key generated by poll manager when poll is created.
1139
+ createTime:
1140
+ type: integer
1141
+ description: The timestamp at which the poll was created.
1142
+ format: int64
1143
+ duration:
1144
+ type: integer
1145
+ description: The estimated duration for the poll.
1146
+ format: int64
1147
+ deadline:
1148
+ type: integer
1149
+ description: The time by which the poll must have completed
1150
+ format: int64
1151
+ outerCircleTarget:
1152
+ type: integer
1153
+ description: The number of peers from the poller outer circle to taget.
1154
+ format: int32
1155
+ hashAlgorithm:
1156
+ type: string
1157
+ description: The algorithm used by the hasher for this poll.
1158
+ voteMargin:
1159
+ type: integer
1160
+ description: The required agreement need to decide landslide agreement or
1161
+ disagreement.
1162
+ format: int32
1163
+ voteDeadline:
1164
+ type: integer
1165
+ description: The time by which all voters must have voted.
1166
+ format: int64
1167
+ voteDuration:
1168
+ type: integer
1169
+ description: The estimated duration for voters.
1170
+ format: int64
1171
+ pollEnd:
1172
+ type: integer
1173
+ description: the time at which the poll ended or -1 if still running.
1174
+ format: int64
1175
+ quorum:
1176
+ type: integer
1177
+ description: The minimum required for a quroum
1178
+ format: int32
1179
+ errorDetails:
1180
+ type: string
1181
+ description: The error which caused the poll to fail.
1182
+ votedPeers:
1183
+ type: array
1184
+ description: The data from peers whom voted.
1185
+ items:
1186
+ $ref: '#/components/schemas/PeerData'
1187
+ noAuPeers:
1188
+ type: array
1189
+ description: The peers who do not have the au.
1190
+ items:
1191
+ type: string
1192
+ tally:
1193
+ $ref: '#/components/schemas/TallyData'
1194
+ repairQueue:
1195
+ $ref: '#/components/schemas/RepairQueue'
1196
+ description: The details of a poll being performed or queued by the Poller
1197
+ PollerSummary:
1198
+ required:
1199
+ - auId
1200
+ - deadline
1201
+ - pollKey
1202
+ - start
1203
+ - status
1204
+ - variant
1205
+ type: object
1206
+ properties:
1207
+ auId:
1208
+ type: string
1209
+ description: The id for the au being polled.
1210
+ variant:
1211
+ type: string
1212
+ description: The V3 Poll variant.
1213
+ status:
1214
+ type: string
1215
+ description: The current status of the poll.
1216
+ participants:
1217
+ type: integer
1218
+ description: The number of participants voting.
1219
+ format: int32
1220
+ numTalliedUrls:
1221
+ type: integer
1222
+ description: The number of tallied urls.
1223
+ format: int32
1224
+ numHashErrors:
1225
+ type: integer
1226
+ description: The number of hash errors.
1227
+ format: int32
1228
+ numCompletedRepairs:
1229
+ type: integer
1230
+ description: The number of completed repairs.
1231
+ format: int32
1232
+ numAgreeUrls:
1233
+ type: integer
1234
+ description: The number of urls with agreement.
1235
+ format: int32
1236
+ start:
1237
+ type: integer
1238
+ description: The timestamp for when the poll started.
1239
+ format: int64
1240
+ deadline:
1241
+ type: integer
1242
+ description: The deadline for voting in this poll.
1243
+ format: int64
1244
+ pollEnd:
1245
+ type: integer
1246
+ description: The time at which the poll ended.
1247
+ format: int64
1248
+ pollKey:
1249
+ type: string
1250
+ description: Key generated by poll manager when poll was created.
1251
+ detailLink:
1252
+ $ref: '#/components/schemas/LinkDesc'
1253
+ description: A summary of a poll in which we are the poller.
1254
+ RepairData:
1255
+ required:
1256
+ - repairFrom
1257
+ - repairUrl
1258
+ type: object
1259
+ properties:
1260
+ repairUrl:
1261
+ type: string
1262
+ description: The url to repair
1263
+ repairFrom:
1264
+ type: string
1265
+ description: The peer to repair from
1266
+ result:
1267
+ type: string
1268
+ description: The status of this repair
1269
+ enum:
1270
+ - NoQuorum
1271
+ - TooClose
1272
+ - Lost
1273
+ - LostPollerOnly
1274
+ - LostVoterOnly
1275
+ - Won
1276
+ description: structure used to define a repair source for url. if the source
1277
+ is null than repair from publisher
1278
+ RepairQueue:
1279
+ required:
1280
+ - numActive
1281
+ - numCompleted
1282
+ - numPending
1283
+ type: object
1284
+ properties:
1285
+ numPending:
1286
+ type: integer
1287
+ description: The number of pending repairs
1288
+ format: int32
1289
+ pendingLink:
1290
+ $ref: '#/components/schemas/LinkDesc'
1291
+ numActive:
1292
+ type: integer
1293
+ description: The number of active repairs
1294
+ format: int32
1295
+ activeLink:
1296
+ $ref: '#/components/schemas/LinkDesc'
1297
+ numCompleted:
1298
+ type: integer
1299
+ description: The number of completed repairs
1300
+ format: int32
1301
+ completedLink:
1302
+ $ref: '#/components/schemas/LinkDesc'
1303
+ description: Description of the RepairQueue.
1304
+ repairTypeEnum:
1305
+ title: Repair Type
1306
+ description: The repair queue elements to return
1307
+ type: string
1308
+ enum:
1309
+ - pending
1310
+ - active
1311
+ - completed
1312
+ repositorySpaceWsResult:
1313
+ required:
1314
+ - repositorySpaceId
1315
+ type: object
1316
+ properties:
1317
+ repositorySpaceId:
1318
+ type: string
1319
+ description: The Repository Space identifier
1320
+ description: Information about the requested repository spaces
1321
+ repositoryWsResult:
1322
+ required:
1323
+ - repositorySpaceId
1324
+ type: object
1325
+ properties:
1326
+ repositorySpaceId:
1327
+ type: string
1328
+ description: The Repository Space identifier
1329
+ description: Information about the requested repositories
1330
+ TallyData:
1331
+ required:
1332
+ - numAgree
1333
+ - numDisagree
1334
+ - numError
1335
+ - numNoQuorum
1336
+ - numTooClose
1337
+ type: object
1338
+ properties:
1339
+ numAgree:
1340
+ type: integer
1341
+ description: The number of urls with agreement.
1342
+ format: int32
1343
+ agreeLink:
1344
+ $ref: '#/components/schemas/LinkDesc'
1345
+ numDisagree:
1346
+ type: integer
1347
+ description: The number of urls with disagreement.
1348
+ format: int32
1349
+ disagreeLink:
1350
+ $ref: '#/components/schemas/LinkDesc'
1351
+ numTooClose:
1352
+ type: integer
1353
+ description: The number of urls too close.
1354
+ format: int32
1355
+ tooCloseLink:
1356
+ $ref: '#/components/schemas/LinkDesc'
1357
+ numNoQuorum:
1358
+ type: integer
1359
+ description: The number of urls without enough voters.
1360
+ format: int32
1361
+ noQuorumLink:
1362
+ $ref: '#/components/schemas/LinkDesc'
1363
+ numError:
1364
+ type: integer
1365
+ description: The number of urls wit errors.
1366
+ format: int32
1367
+ errorLink:
1368
+ $ref: '#/components/schemas/LinkDesc'
1369
+ wtAgreed:
1370
+ type: number
1371
+ description: The weighted sum agreed uris.
1372
+ format: float
1373
+ default: 0.0
1374
+ wtDisagreed:
1375
+ type: number
1376
+ description: The weighted sum of disagree uris.
1377
+ format: float
1378
+ default: 0.0
1379
+ wtTooClose:
1380
+ type: number
1381
+ description: The sum of the tooClose uris.
1382
+ format: float
1383
+ default: 0.0
1384
+ wtNoQuorum:
1385
+ type: number
1386
+ description: The weighted sum of NoQuorum uris.
1387
+ format: float
1388
+ default: 0.0
1389
+ description: The tally for the current poll.
1390
+ tallyTypeEnum:
1391
+ title: Tally Type
1392
+ description: The kind of tally element to return
1393
+ type: string
1394
+ enum:
1395
+ - agree
1396
+ - disagree
1397
+ - error
1398
+ - noQuorum
1399
+ - tooClose
1400
+ voteWsResult:
1401
+ required:
1402
+ - auId
1403
+ - auName
1404
+ type: object
1405
+ properties:
1406
+ auId:
1407
+ type: string
1408
+ description: The identifier of the Archival Unit
1409
+ auName:
1410
+ type: string
1411
+ description: The name of the Archival Unit
1412
+ description: The properties of a vote
1413
+ VoterDetail:
1414
+ required:
1415
+ - pollDesc
1416
+ - pollerId
1417
+ - status
1418
+ type: object
1419
+ properties:
1420
+ pollDesc:
1421
+ $ref: '#/components/schemas/PollDesc'
1422
+ pollerId:
1423
+ type: string
1424
+ description: The id of the voter in the poll
1425
+ callerId:
1426
+ type: string
1427
+ description: The id of the poller who called the poll
1428
+ status:
1429
+ type: string
1430
+ description: The current status of the poll.
1431
+ pollKey:
1432
+ type: string
1433
+ description: Key generated by poll manager when poll is created.
1434
+ createTime:
1435
+ type: integer
1436
+ description: The timestamp at which the poll was created.
1437
+ format: int64
1438
+ duration:
1439
+ type: integer
1440
+ description: The estimated duration for the poll.
1441
+ format: int64
1442
+ deadline:
1443
+ type: integer
1444
+ description: The time by which the poll must have completed
1445
+ format: int64
1446
+ hashAlgorithm:
1447
+ type: string
1448
+ description: The algorithm used by the hasher for this poll.
1449
+ agreement:
1450
+ type: number
1451
+ description: The percentage agreement.
1452
+ format: double
1453
+ wtAgreement:
1454
+ type: number
1455
+ description: The weighted percentage agreement.
1456
+ format: double
1457
+ symmetricAgreement:
1458
+ type: number
1459
+ description: The percentage of symmetric agreement.
1460
+ format: double
1461
+ wtSymmetricAgreement:
1462
+ type: number
1463
+ description: The weighted percentage of symmetric agreement.
1464
+ format: double
1465
+ pollerNonce:
1466
+ type: string
1467
+ description: the poller nonce
1468
+ voterNonce:
1469
+ type: string
1470
+ description: the voter nonce
1471
+ voter2Nonce:
1472
+ type: string
1473
+ description: the voter2 nonce
1474
+ voteDeadline:
1475
+ type: integer
1476
+ description: The time by which all voters must have voted.
1477
+ format: int64
1478
+ numAgree:
1479
+ type: integer
1480
+ description: The number of urls with agreement.
1481
+ format: int32
1482
+ numDisagree:
1483
+ type: integer
1484
+ description: The number of urls with disagreement.
1485
+ format: int32
1486
+ numPollerOnly:
1487
+ type: integer
1488
+ description: The number of urls found by only the poller.
1489
+ format: int32
1490
+ numVoterOnly:
1491
+ type: integer
1492
+ description: The number of urls found by only a voter.
1493
+ format: int32
1494
+ errorDetails:
1495
+ type: string
1496
+ description: The error which caused the poll to fail.
1497
+ description: The details of a poll being performed or queued as the Voter.
1498
+ PollerPageInfo:
1499
+ required:
1500
+ - polls
1501
+ - pageInfo
1502
+ type: object
1503
+ properties:
1504
+ polls:
1505
+ title: Polls
1506
+ description: The poll summaries included in the page
1507
+ type: array
1508
+ items:
1509
+ $ref: '#/components/schemas/PollerSummary'
1510
+ nullable: false
1511
+ pageInfo:
1512
+ title: Page Information
1513
+ description: Information about the page
1514
+ $ref: '#/components/schemas/PageInfo'
1515
+ nullable: false
1516
+ description: A page of poller poll summaries.
1517
+ VoterSummary:
1518
+ required:
1519
+ - auId
1520
+ - caller
1521
+ - deadline
1522
+ - pollKey
1523
+ - start
1524
+ - status
1525
+ type: object
1526
+ properties:
1527
+ auId:
1528
+ type: string
1529
+ description: The id for the au being polled.
1530
+ caller:
1531
+ type: string
1532
+ description: The id of who called the poll.
1533
+ start:
1534
+ type: integer
1535
+ description: The timestamp for when the poll started.
1536
+ format: int64
1537
+ status:
1538
+ type: string
1539
+ description: The current status of the poll.
1540
+ deadline:
1541
+ type: integer
1542
+ description: The deadline for voting in this poll.
1543
+ format: int64
1544
+ pollKey:
1545
+ type: string
1546
+ description: Key generated by poll manager when poll was created.
1547
+ detailLink:
1548
+ $ref: '#/components/schemas/LinkDesc'
1549
+ description: A summary of a poll in which we are acting just as a voter.
1550
+ voterUrlsEnum:
1551
+ title: Voter URLs Type
1552
+ description: The voter URLs to return
1553
+ type: string
1554
+ enum:
1555
+ - agreed
1556
+ - disagreed
1557
+ - pollerOnly
1558
+ - voterOnly
1559
+ VoterPageInfo:
1560
+ required:
1561
+ - polls
1562
+ - pageInfo
1563
+ type: object
1564
+ properties:
1565
+ polls:
1566
+ title: Polls
1567
+ description: The poll summaries included in the page
1568
+ type: array
1569
+ items:
1570
+ $ref: '#/components/schemas/VoterSummary'
1571
+ nullable: false
1572
+ pageInfo:
1573
+ title: Page Information
1574
+ description: Information about the page
1575
+ $ref: '#/components/schemas/PageInfo'
1576
+ nullable: false
1577
+ description: A page of voter poll summaries.
1578
+ UrlPageInfo:
1579
+ required:
1580
+ - urls
1581
+ - pageInfo
1582
+ type: object
1583
+ properties:
1584
+ urls:
1585
+ title: URLs
1586
+ description: The URLs included in the page
1587
+ type: array
1588
+ items:
1589
+ type: string
1590
+ nullable: false
1591
+ pageInfo:
1592
+ title: Page Information
1593
+ description: Information about the page
1594
+ $ref: '#/components/schemas/PageInfo'
1595
+ nullable: false
1596
+ description: A page of URLs from poll tally data.
1597
+ RepairPageInfo:
1598
+ required:
1599
+ - repairs
1600
+ - pageInfo
1601
+ type: object
1602
+ properties:
1603
+ repairs:
1604
+ title: Repairs
1605
+ description: The repair items included in the page
1606
+ type: array
1607
+ items:
1608
+ $ref: '#/components/schemas/RepairData'
1609
+ nullable: false
1610
+ pageInfo:
1611
+ title: Page Information
1612
+ description: Information about the page
1613
+ $ref: '#/components/schemas/PageInfo'
1614
+ nullable: false
1615
+ description: A page of repair queue elements.
1616
+ PageInfo:
1617
+ title: Page Information
1618
+ description: The information related to pagination of content
1619
+ type: object
1620
+ required:
1621
+ - totalCount
1622
+ - itemsInPage
1623
+ - continuationToken
1624
+ - curLink
1625
+ - nextLink
1626
+ properties:
1627
+ totalCount:
1628
+ title: Total Count
1629
+ description: The total number of items
1630
+ type: integer
1631
+ format: int32
1632
+ nullable: true
1633
+ itemsInPage:
1634
+ title: Items in Page
1635
+ description: The number of items in the page
1636
+ type: integer
1637
+ format: int32
1638
+ nullable: false
1639
+ continuationToken:
1640
+ title: Continuation Token
1641
+ description: The continuation token
1642
+ type: string
1643
+ nullable: true
1644
+ curLink:
1645
+ title: Current Request
1646
+ description: The link of the current request
1647
+ type: string
1648
+ nullable: false
1649
+ nextLink:
1650
+ title: Next Request
1651
+ description: The link of the next request
1652
+ type: string
1653
+ nullable: true
1654
+ securitySchemes:
1655
+ basicAuth:
1656
+ type: http
1657
+ description: HTTP Basic Authentication. Works over HTTP and HTTPS.
1658
+ scheme: basic