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,2031 @@
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 Configuration Service REST API
32
+ description: REST API of the LOCKSS Configuration 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 Configuration 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: 24612)."
56
+ default: 24612
57
+ security:
58
+ - basicAuth: []
59
+ tags:
60
+ - name: aus
61
+ description: Archival unit (AU) operations
62
+ - name: config
63
+ description: Configuration operations
64
+ - name: plugin
65
+ description: Plugin operations
66
+ - name: status
67
+ description: Status operations
68
+ - name: tdb
69
+ description: Title database (TDB) operations
70
+ - name: users
71
+ description: User operations
72
+ - name: utils
73
+ description: Miscellaneous operations
74
+ paths:
75
+ /config/file/{sectionName}:
76
+ get:
77
+ tags:
78
+ - config
79
+ summary: Get the named configuration file
80
+ description: Get the configuration file stored for a given name
81
+ operationId: getSectionConfig
82
+ # roles: ROLE_USER_ADMIN
83
+ parameters:
84
+ - name: sectionName
85
+ in: path
86
+ description: The name of the section for which the configuration file is
87
+ requested
88
+ required: true
89
+ schema:
90
+ type: string
91
+ - name: If-Match
92
+ in: header
93
+ description: The If-Match header
94
+ schema:
95
+ type: string
96
+ - name: If-Modified-Since
97
+ in: header
98
+ description: The If-Modified-Since header
99
+ schema:
100
+ type: string
101
+ - name: If-None-Match
102
+ in: header
103
+ description: The If-None-Match header
104
+ schema:
105
+ type: string
106
+ - name: If-Unmodified-Since
107
+ in: header
108
+ description: The If-Unmodified-Since header
109
+ schema:
110
+ type: string
111
+ responses:
112
+ "200":
113
+ description: A multipart object with one part named "configFile"
114
+ containing the configuration file corresponding to the section name.
115
+ content:
116
+ multipart/form-data:
117
+ schema:
118
+ type: string
119
+ format: binary
120
+ default:
121
+ description: The resulting error payload.
122
+ content: {}
123
+ put:
124
+ tags:
125
+ - config
126
+ summary: Store the named configuration file
127
+ description: Store the configuration file for a given name
128
+ operationId: putConfig
129
+ # roles: ROLE_USER_ADMIN, if section name is "proxyIpAccess" then also accept ROLE_CONTENT_ADMIN
130
+ parameters:
131
+ - name: sectionName
132
+ in: path
133
+ description: The name of the section for which the configuration file is
134
+ to be stored
135
+ required: true
136
+ schema:
137
+ type: string
138
+ - name: If-Match
139
+ in: header
140
+ description: The If-Match header
141
+ schema:
142
+ type: string
143
+ - name: If-Modified-Since
144
+ in: header
145
+ description: The If-Match header
146
+ schema:
147
+ type: string
148
+ - name: If-None-Match
149
+ in: header
150
+ description: The If-Match header
151
+ schema:
152
+ type: string
153
+ - name: If-Unmodified-Since
154
+ in: header
155
+ description: The If-Match header
156
+ schema:
157
+ type: string
158
+ requestBody:
159
+ content:
160
+ multipart/form-data:
161
+ schema:
162
+ required:
163
+ - configFile
164
+ type: object
165
+ properties:
166
+ configFile:
167
+ type: string
168
+ description: The configuration file to be stored
169
+ format: binary
170
+ required: true
171
+ responses:
172
+ "200":
173
+ description: OK
174
+ content: {}
175
+ default:
176
+ description: The resulting error payload.
177
+ content: {}
178
+ /config/url:
179
+ get:
180
+ tags:
181
+ - config
182
+ summary: Get the configuration file for a URL
183
+ description: Get the configuration file stored for a given URL
184
+ operationId: getUrlConfig
185
+ # roles: ROLE_USER_ADMIN
186
+ parameters:
187
+ - name: url
188
+ in: query
189
+ description: The URL for which the configuration is requested
190
+ required: true
191
+ schema:
192
+ type: string
193
+ - name: If-Match
194
+ in: header
195
+ description: The If-Match header
196
+ schema:
197
+ type: string
198
+ - name: If-Modified-Since
199
+ in: header
200
+ description: The If-Modified-Since header
201
+ schema:
202
+ type: string
203
+ - name: If-None-Match
204
+ in: header
205
+ description: The If-None-Match header
206
+ schema:
207
+ type: string
208
+ - name: If-Unmodified-Since
209
+ in: header
210
+ description: The If-Unmodified-Since header
211
+ schema:
212
+ type: string
213
+ responses:
214
+ "200":
215
+ description: A multipart object with one part named "configFile"
216
+ containing the configuration file for the URL.
217
+ content:
218
+ multipart/form-data:
219
+ schema:
220
+ type: string
221
+ format: binary
222
+ default:
223
+ description: The resulting error payload.
224
+ content: {}
225
+ /config/loadedurls:
226
+ get:
227
+ tags:
228
+ - config
229
+ summary: Get the URLs from which the configuration was loaded
230
+ description: Get the URLs from which the configuration was actually loaded,
231
+ reflecting any failover to local copies
232
+ operationId: getLoadedUrlList
233
+ # roles: ROLE_CAUTIOUS
234
+ responses:
235
+ "200":
236
+ description: The URLs from which the configuration was loaded
237
+ content:
238
+ application/json:
239
+ schema:
240
+ type: array
241
+ items:
242
+ type: string
243
+ default:
244
+ description: The resulting error payload.
245
+ content: {}
246
+ /config/lastupdatetime:
247
+ get:
248
+ tags:
249
+ - config
250
+ summary: Get the timestamp when the configuration was last updated
251
+ description: Get the timestamp when the configuration was last updated
252
+ operationId: getLastUpdateTime
253
+ # roles: ROLE_CAUTIOUS
254
+ responses:
255
+ "200":
256
+ description: The timestamp when the configuration was last updated
257
+ content:
258
+ application/json:
259
+ schema:
260
+ type: string
261
+ format: date-time
262
+ default:
263
+ description: The resulting error payload.
264
+ content: {}
265
+ /config/reload:
266
+ put:
267
+ tags:
268
+ - config
269
+ summary: Request a configuration reload
270
+ description: Request that the stored configuration is reloaded
271
+ operationId: putConfigReload
272
+ # roles: ROLE_USER_ADMIN
273
+ responses:
274
+ "200":
275
+ description: OK
276
+ content: {}
277
+ default:
278
+ description: The resulting error payload.
279
+ content: {}
280
+ /config/platform:
281
+ get:
282
+ tags:
283
+ - config
284
+ summary: Get the platform configuration
285
+ description: Get the platform configuration
286
+ operationId: getPlatformConfig
287
+ # roles: ROLE_CAUTIOUS
288
+ responses:
289
+ "200":
290
+ description: The platform configuration
291
+ content:
292
+ application/json:
293
+ schema:
294
+ $ref: '#/components/schemas/platformConfigurationWsResult'
295
+ default:
296
+ description: The resulting error payload.
297
+ content: {}
298
+ /auids:
299
+ post:
300
+ tags:
301
+ - aus
302
+ summary: Calculate an AUID for a hypothetical AU
303
+ description: Calculate an AUID for a hypothetical AU, given either a plugin
304
+ ID and an auConfig map (for traditional AUs), or a handle and an optional
305
+ plugin ID for NamedAUs
306
+ operationId: calculateAuid
307
+ # roles: ROLE_ANY
308
+ requestBody:
309
+ content:
310
+ application/x-www-form-urlencoded:
311
+ schema:
312
+ type: object
313
+ properties:
314
+ pluginId:
315
+ type: string
316
+ description: the plugin id
317
+ handle:
318
+ type: string
319
+ description: the handle of a NamedArchivalUnit
320
+ auConfig:
321
+ description: The configuration information for this au (as a json
322
+ map).
323
+ responses:
324
+ "200":
325
+ description: Map containing the resulting AUID
326
+ content:
327
+ application/json:
328
+ schema:
329
+ type: string
330
+ text/plain:
331
+ schema:
332
+ type: string
333
+ default:
334
+ description: The resulting error payload.
335
+ content: {}
336
+ /aus:
337
+ get:
338
+ tags:
339
+ - aus
340
+ summary: Get the configurations of all AUs
341
+ description: Get the configuration of all AUs
342
+ operationId: getAllAuConfig
343
+ # roles: ROLE_AU_ADMIN
344
+ parameters:
345
+ - name: limit
346
+ in: query
347
+ description: The requested maximum number of AU configurations per response
348
+ schema:
349
+ type: integer
350
+ - name: continuationToken
351
+ in: query
352
+ description: The continuation token of the next page of AU configurations to be returned
353
+ schema:
354
+ type: string
355
+ responses:
356
+ "200":
357
+ description: The requested AU configurations
358
+ content:
359
+ application/json:
360
+ schema:
361
+ $ref: '#/components/schemas/AuConfigPageInfo'
362
+ default:
363
+ description: The resulting error payload.
364
+ content: {}
365
+ /aus/{auid}:
366
+ get:
367
+ tags:
368
+ - aus
369
+ summary: Get the configuration of an AU
370
+ description: Get the configuration of an AU given the AU identifier
371
+ operationId: getAuConfig
372
+ # roles: ROLE_AU_ADMIN
373
+ parameters:
374
+ - name: auid
375
+ in: path
376
+ description: The identifier of the AU for which the configuration is requested
377
+ required: true
378
+ schema:
379
+ type: string
380
+ responses:
381
+ "200":
382
+ description: The configuration of the specified AU
383
+ content:
384
+ application/json:
385
+ schema:
386
+ $ref: '#/components/schemas/AuConfiguration'
387
+ default:
388
+ description: The resulting error payload.
389
+ content: {}
390
+ put:
391
+ tags:
392
+ - aus
393
+ summary: Store the configuration of an AU
394
+ description: Store the configuration of an AU given the AU identifier
395
+ operationId: putAuConfig
396
+ # roles: ROLE_AU_ADMIN
397
+ parameters:
398
+ - name: auid
399
+ in: path
400
+ description: The identifier of the AU for this configuration.
401
+ required: true
402
+ schema:
403
+ type: string
404
+ requestBody:
405
+ description: The Archival Unit configuration to be stored
406
+ content:
407
+ application/json:
408
+ schema:
409
+ $ref: '#/components/schemas/AuConfiguration'
410
+ required: true
411
+ responses:
412
+ "200":
413
+ description: OK
414
+ content: {}
415
+ default:
416
+ description: The resulting error payload.
417
+ content: {}
418
+ x-codegen-request-body-name: auConfiguration
419
+ delete:
420
+ tags:
421
+ - aus
422
+ summary: Delete the configuration of an AU
423
+ description: Delete the configuration of an AU given the AU identifier
424
+ operationId: deleteAuConfig
425
+ # roles: ROLE_AU_ADMIN
426
+ parameters:
427
+ - name: auid
428
+ in: path
429
+ description: The identifier of the AU for which the configuration is\ \ to
430
+ be deleted
431
+ required: true
432
+ schema:
433
+ type: string
434
+ responses:
435
+ "200":
436
+ description: The deleted configuration of the specified AU
437
+ content:
438
+ application/json:
439
+ schema:
440
+ $ref: '#/components/schemas/AuConfiguration'
441
+ default:
442
+ description: The resulting error payload.
443
+ content: {}
444
+ /ws/aus/add:
445
+ post:
446
+ tags:
447
+ - aus
448
+ summary: Add AUs
449
+ description: Add a group of AUs given their identifiers
450
+ operationId: postAus
451
+ # roles: ROLE_AU_ADMIN
452
+ requestBody:
453
+ description: The identifiers of the Archival Units to be added
454
+ content:
455
+ application/json:
456
+ schema:
457
+ type: array
458
+ items:
459
+ type: string
460
+ required: true
461
+ responses:
462
+ "200":
463
+ description: Information about the added AUs
464
+ content:
465
+ application/json:
466
+ schema:
467
+ type: array
468
+ items:
469
+ $ref: '#/components/schemas/contentConfigurationResult'
470
+ default:
471
+ description: The resulting error payload.
472
+ content: {}
473
+ x-codegen-request-body-name: auIds
474
+ /ws/aus/deactivate:
475
+ put:
476
+ tags:
477
+ - aus
478
+ summary: Deactivate AUs
479
+ description: Deactivate a group of AUs given their identifiers
480
+ operationId: putAusDeactivate
481
+ # roles: ROLE_AU_ADMIN
482
+ requestBody:
483
+ description: The identifiers of the Archival Units to be deactivated
484
+ content:
485
+ application/json:
486
+ schema:
487
+ type: array
488
+ items:
489
+ type: string
490
+ required: true
491
+ responses:
492
+ "200":
493
+ description: Information about the deactivated AUs
494
+ content:
495
+ application/json:
496
+ schema:
497
+ type: array
498
+ items:
499
+ $ref: '#/components/schemas/contentConfigurationResult'
500
+ default:
501
+ description: The resulting error payload.
502
+ content: {}
503
+ x-codegen-request-body-name: auIds
504
+ /ws/aus/reactivate:
505
+ put:
506
+ tags:
507
+ - aus
508
+ summary: Reactivate AUs
509
+ description: Reactivate a group of AUs given their identifiers
510
+ operationId: putAusReactivate
511
+ # roles: ROLE_AU_ADMIN
512
+ requestBody:
513
+ description: The identifiers of the Archival Units to be reactivated
514
+ content:
515
+ application/json:
516
+ schema:
517
+ type: array
518
+ items:
519
+ type: string
520
+ required: true
521
+ responses:
522
+ "200":
523
+ description: Information about the reactivated AUs
524
+ content:
525
+ application/json:
526
+ schema:
527
+ type: array
528
+ items:
529
+ $ref: '#/components/schemas/contentConfigurationResult'
530
+ default:
531
+ description: The resulting error payload.
532
+ content: {}
533
+ x-codegen-request-body-name: auIds
534
+ /ws/aus/delete:
535
+ delete:
536
+ tags:
537
+ - aus
538
+ summary: Delete AUs
539
+ description: Delete a group of AUs given their identifiers
540
+ operationId: deleteAusDelete
541
+ # roles: ROLE_AU_ADMIN
542
+ requestBody:
543
+ description: The identifiers of the Archival Units to be deleted
544
+ content:
545
+ application/json:
546
+ schema:
547
+ type: array
548
+ items:
549
+ type: string
550
+ required: true
551
+ responses:
552
+ "200":
553
+ description: Information about the deleted AUs
554
+ content:
555
+ application/json:
556
+ schema:
557
+ type: array
558
+ items:
559
+ $ref: '#/components/schemas/contentConfigurationResult'
560
+ default:
561
+ description: The resulting error payload.
562
+ content: {}
563
+ x-codegen-request-body-name: auIds
564
+ /aus/{auid}/mddisable:
565
+ put:
566
+ tags:
567
+ - aus
568
+ summary: Disable AU metadata extraction
569
+ description: Disable the metadata extraction for an AU given its identifier
570
+ operationId: putAusMdDisable
571
+ # roles: ROLE_AU_ADMIN
572
+ parameters:
573
+ - name: auid
574
+ in: path
575
+ description: The identifier of the Archival Units for which metadata extraction
576
+ is to be disabled
577
+ required: true
578
+ schema:
579
+ type: string
580
+ responses:
581
+ "200":
582
+ description: Information about the AU for which metadata extraction has
583
+ been disabled
584
+ content:
585
+ application/json:
586
+ schema:
587
+ $ref: '#/components/schemas/requestAuControlResult'
588
+ default:
589
+ description: The resulting error payload.
590
+ content: {}
591
+ /aus/{auid}/mdenable:
592
+ put:
593
+ tags:
594
+ - aus
595
+ summary: Enable AU metadata extraction
596
+ description: Enable the metadata extraction for an AU given its identifier
597
+ operationId: putAusMdEnable
598
+ # roles: ROLE_AU_ADMIN
599
+ parameters:
600
+ - name: auid
601
+ in: path
602
+ description: The identifier of the Archival Units for which metadata extraction
603
+ is to be enabled
604
+ required: true
605
+ schema:
606
+ type: string
607
+ responses:
608
+ "200":
609
+ description: Information about the AU for which metadata extraction has
610
+ been enabled
611
+ content:
612
+ application/json:
613
+ schema:
614
+ $ref: '#/components/schemas/requestAuControlResult'
615
+ default:
616
+ description: The resulting error payload.
617
+ content: {}
618
+ /austates/{auid}:
619
+ get:
620
+ tags:
621
+ - aus
622
+ summary: Get the state of an AU
623
+ description: Get the state of an AU given the AU identifier
624
+ operationId: getAuState
625
+ # roles: ROLE_CONTENT_ACCESS, ROLE_AU_ADMIN
626
+ parameters:
627
+ - name: auid
628
+ in: path
629
+ description: The identifier of the AU for which the state is requested
630
+ required: true
631
+ schema:
632
+ type: string
633
+ responses:
634
+ "200":
635
+ description: The state of the specified AU
636
+ content:
637
+ application/json:
638
+ schema:
639
+ # Actually AuStateBean serialized as a string (see below)
640
+ type: string
641
+ default:
642
+ description: The resulting error payload.
643
+ content: {}
644
+ patch:
645
+ tags:
646
+ - aus
647
+ summary: Update the state of an AU
648
+ description: Update the state of an AU given the AU identifier
649
+ operationId: patchAuState
650
+ # roles: ROLE_AU_ADMIN
651
+ parameters:
652
+ - name: auid
653
+ in: path
654
+ description: The identifier of the AU for which the state is to be updated
655
+ required: true
656
+ schema:
657
+ type: string
658
+ - name: X-Lockss-Request-Cookie
659
+ in: header
660
+ description: The LOCKSS-specific request cookie header
661
+ schema:
662
+ type: string
663
+ requestBody:
664
+ description: The parts of the Archival Unit state to be updated
665
+ content:
666
+ application/json:
667
+ schema:
668
+ type: string
669
+ required: true
670
+ responses:
671
+ "200":
672
+ description: OK
673
+ content: {}
674
+ default:
675
+ description: The resulting error payload.
676
+ content: {}
677
+ x-codegen-request-body-name: auState
678
+ /auagreements/{auid}:
679
+ get:
680
+ tags:
681
+ - aus
682
+ summary: Get the poll agreements of an AU
683
+ description: Get the poll agreements of an AU given the AU identifier
684
+ operationId: getAuAgreements
685
+ # roles: ROLE_CONTENT_ACCESS, ROLE_AU_ADMIN
686
+ parameters:
687
+ - name: auid
688
+ in: path
689
+ description: The identifier of the AU for which the poll agreements are
690
+ requested
691
+ required: true
692
+ schema:
693
+ # Actually AuAgreements serialized as a string, see below
694
+ type: string
695
+ responses:
696
+ "200":
697
+ description: The poll agreements of the specified AU
698
+ content:
699
+ application/json:
700
+ schema:
701
+ type: string
702
+ default:
703
+ description: The resulting error payload.
704
+ content: {}
705
+ patch:
706
+ tags:
707
+ - aus
708
+ summary: Update the poll agreements of an AU
709
+ description: Update the poll agreements of an AU given the AU identifier
710
+ operationId: patchAuAgreements
711
+ # roles: ROLE_AU_ADMIN
712
+ parameters:
713
+ - name: auid
714
+ in: path
715
+ description: The identifier of the AU for which the poll agreements are
716
+ to be updated
717
+ required: true
718
+ schema:
719
+ type: string
720
+ - name: X-Lockss-Request-Cookie
721
+ in: header
722
+ description: The LOCKSS-specific request cookie header
723
+ schema:
724
+ type: string
725
+ requestBody:
726
+ description: The parts of the Archival Unit poll agreements to be updated
727
+ content:
728
+ application/json:
729
+ schema:
730
+ # Actually AuAgreements serialized as a string, see below
731
+ type: string
732
+ required: true
733
+ responses:
734
+ "200":
735
+ description: OK
736
+ content: {}
737
+ default:
738
+ description: The resulting error payload.
739
+ content: {}
740
+ x-codegen-request-body-name: auAgreements
741
+ /aususpecturls/{auid}:
742
+ get:
743
+ tags:
744
+ - aus
745
+ summary: Get the suspect URL versions of an AU
746
+ description: Get the suspect URL versions of an AU given the AU identifier
747
+ operationId: getAuSuspectUrlVersions
748
+ # roles: ROLE_CONTENT_ACCESS, ROLE_AU_ADMIN
749
+ parameters:
750
+ - name: auid
751
+ in: path
752
+ description: The identifier of the AU for which the suspect URL versions
753
+ are requested
754
+ required: true
755
+ schema:
756
+ # Actually AuSuspectUrlVersions serialized as a string; see below
757
+ type: string
758
+ responses:
759
+ "200":
760
+ description: The suspect URL versions of the specified AU
761
+ content:
762
+ application/json:
763
+ schema:
764
+ type: string
765
+ default:
766
+ description: The resulting error payload.
767
+ content: {}
768
+ put:
769
+ tags:
770
+ - aus
771
+ summary: Update the suspect URL versions of an AU
772
+ description: Update the suspect URL versions of an AU given the AU identifier
773
+ operationId: putAuSuspectUrlVersions
774
+ # roles: ROLE_AU_ADMIN
775
+ parameters:
776
+ - name: auid
777
+ in: path
778
+ description: The identifier of the AU for which the suspect URL versions
779
+ are to be updated
780
+ required: true
781
+ schema:
782
+ type: string
783
+ - name: X-Lockss-Request-Cookie
784
+ in: header
785
+ description: The LOCKSS-specific request cookie header
786
+ schema:
787
+ type: string
788
+ requestBody:
789
+ description: The parts of the Archival Unit suspect URL versions to be
790
+ updated
791
+ content:
792
+ application/json:
793
+ schema:
794
+ # Actually AuSuspectUrlVersions serialized as a string; see below
795
+ type: string
796
+ required: true
797
+ responses:
798
+ "200":
799
+ description: OK
800
+ content: {}
801
+ default:
802
+ description: The resulting error payload.
803
+ content: {}
804
+ x-codegen-request-body-name: auSuspectUrlVersions
805
+ /noaupeers/{auid}:
806
+ get:
807
+ tags:
808
+ - aus
809
+ summary: Get the NoAuPeerSet object of an AU
810
+ description: Get the NoAuPeerSet object of an AU given the AU identifier
811
+ operationId: getNoAuPeers
812
+ # roles: ROLE_CONTENT_ACCESS, ROLE_AU_ADMIN
813
+ parameters:
814
+ - name: auid
815
+ in: path
816
+ description: The identifier of the AU for which the NoAuPeerSet object
817
+ is requested
818
+ required: true
819
+ schema:
820
+ type: string
821
+ responses:
822
+ "200":
823
+ description: The NoAuPeerSet object of the specified AU
824
+ content:
825
+ application/json:
826
+ schema:
827
+ # Actually DatedPeerIdSetImpl serialized as a string; see below
828
+ type: string
829
+ default:
830
+ description: The resulting error payload.
831
+ content: {}
832
+ put:
833
+ tags:
834
+ - aus
835
+ summary: Update the NoAuPeerSet object of an AU
836
+ description: Update the NoAuPeerSet object of an AU given the AU identifier
837
+ operationId: putNoAuPeers
838
+ # roles: ROLE_AU_ADMIN
839
+ parameters:
840
+ - name: auid
841
+ in: path
842
+ description: The identifier of the AU for which the NoAuPeerSet object
843
+ is to be updated
844
+ required: true
845
+ schema:
846
+ type: string
847
+ - name: X-Lockss-Request-Cookie
848
+ in: header
849
+ description: The LOCKSS-specific request cookie header
850
+ schema:
851
+ type: string
852
+ requestBody:
853
+ description: The parts of the Archival Unit NoAuPeerSet object to be updated
854
+ content:
855
+ application/json:
856
+ schema:
857
+ # Actually DatedPeerIdSetImpl serialized as a string; see below
858
+ type: string
859
+ required: true
860
+ responses:
861
+ "200":
862
+ description: OK
863
+ content: {}
864
+ default:
865
+ description: The resulting error payload.
866
+ content: {}
867
+ x-codegen-request-body-name: noAuPeerSet
868
+ /ws/tdbaus:
869
+ get:
870
+ tags:
871
+ - tdb
872
+ summary: Query the TDB for AUs
873
+ description: Query the TDB for AUs that meet a set of specified conditions
874
+ operationId: getTdbAus
875
+ # roles: ROLE_CONTENT_ACCESS, ROLE_AU_ADMIN
876
+ parameters:
877
+ - name: tdbAuQuery
878
+ in: query
879
+ description: The query that specifies the TDB AUs to be returned
880
+ required: true
881
+ schema:
882
+ type: string
883
+ responses:
884
+ "200":
885
+ description: Information about the requested TDB AUs
886
+ content:
887
+ application/json:
888
+ schema:
889
+ type: array
890
+ items:
891
+ $ref: '#/components/schemas/tdbAuWsResult'
892
+ default:
893
+ description: The resulting error payload.
894
+ content: {}
895
+ /ws/tdbtitles:
896
+ get:
897
+ tags:
898
+ - tdb
899
+ summary: Query the TDB for Titles
900
+ description: Query the TDB for Titles that meet a set of specified conditions
901
+ operationId: getTdbTitles
902
+ # roles: ROLE_CONTENT_ACCESS, ROLE_AU_ADMIN
903
+ parameters:
904
+ - name: tdbTitleQuery
905
+ in: query
906
+ description: The query that specifies the TDB Titles to be returned
907
+ required: true
908
+ schema:
909
+ type: string
910
+ responses:
911
+ "200":
912
+ description: Information about the requested TDB Titles
913
+ content:
914
+ application/json:
915
+ schema:
916
+ type: array
917
+ items:
918
+ $ref: '#/components/schemas/tdbTitleWsResult'
919
+ default:
920
+ description: The resulting error payload.
921
+ content: {}
922
+ /ws/tdbpublishers:
923
+ get:
924
+ tags:
925
+ - tdb
926
+ summary: Query the TDB for Publishers
927
+ description: Query the TDB for Publishers that meet a set of specifie conditions
928
+ operationId: getTdbPublishers
929
+ # roles: ROLE_CONTENT_ACCESS, ROLE_AU_ADMIN
930
+ parameters:
931
+ - name: tdbPublisherQuery
932
+ in: query
933
+ description: The query that specifies the TDB Publishers to be returned
934
+ required: true
935
+ schema:
936
+ type: string
937
+ responses:
938
+ "200":
939
+ description: Information about the requested TDB Publishers
940
+ content:
941
+ application/json:
942
+ schema:
943
+ type: array
944
+ items:
945
+ $ref: '#/components/schemas/tdbPublisherWsResult'
946
+ default:
947
+ description: The resulting error payload.
948
+ content: {}
949
+ /ws/plugins:
950
+ get:
951
+ tags:
952
+ - plugins
953
+ summary: Query for plugin properties
954
+ description: Query for plugins that meet a set of specified conditions
955
+ operationId: getPlugins
956
+ # roles: ROLE_CONTENT_ACCESS, ROLE_AU_ADMIN
957
+ parameters:
958
+ - name: pluginQuery
959
+ in: query
960
+ description: The query that specifies the plugins to be returned
961
+ required: true
962
+ schema:
963
+ type: string
964
+ responses:
965
+ "200":
966
+ description: Information about the requested plugins
967
+ content:
968
+ application/json:
969
+ schema:
970
+ type: array
971
+ items:
972
+ $ref: '#/components/schemas/pluginWsResult'
973
+ default:
974
+ description: The resulting error payload.
975
+ content: {}
976
+ /ws/auqueries:
977
+ get:
978
+ tags:
979
+ - aus
980
+ summary: Query for archival unit properties
981
+ description: Query for archival units that meet a set of specified conditions
982
+ operationId: getAuqueries
983
+ # roles: ROLE_CONTENT_ACCESS, ROLE_AU_ADMIN
984
+ parameters:
985
+ - name: auQuery
986
+ in: query
987
+ description: The query that specifies the archival units to be returned
988
+ required: true
989
+ schema:
990
+ type: string
991
+ responses:
992
+ "200":
993
+ description: Information about the requested archival units
994
+ content:
995
+ application/json:
996
+ schema:
997
+ type: array
998
+ items:
999
+ $ref: '#/components/schemas/auWsResult'
1000
+ default:
1001
+ description: The resulting error payload.
1002
+ content: {}
1003
+ /austatuses/{auid}:
1004
+ get:
1005
+ tags:
1006
+ - aus
1007
+ summary: Get the status of an AU
1008
+ description: Get the status of an AU given the AU identifier
1009
+ operationId: getAuStatus
1010
+ # roles: ROLE_CONTENT_ACCESS, ROLE_AU_ADMIN
1011
+ parameters:
1012
+ - name: auid
1013
+ in: path
1014
+ description: The identifier of the AU for which the status is requested
1015
+ required: true
1016
+ schema:
1017
+ type: string
1018
+ responses:
1019
+ "200":
1020
+ description: The status of the specified AU
1021
+ content:
1022
+ application/json:
1023
+ schema:
1024
+ $ref: '#/components/schemas/AuStatus'
1025
+ default:
1026
+ description: The resulting error payload.
1027
+ content: {}
1028
+ /ausubstances/{auid}:
1029
+ put:
1030
+ tags:
1031
+ - aus
1032
+ summary: Update the substance of an AU
1033
+ description: Update the substance of an AU given the AU identifier
1034
+ operationId: putAuSubstanceCheck
1035
+ # roles: ROLE_AU_ADMIN
1036
+ parameters:
1037
+ - name: auid
1038
+ in: path
1039
+ description: The identifier of the AU for which the substance check is
1040
+ requested
1041
+ required: true
1042
+ schema:
1043
+ type: string
1044
+ responses:
1045
+ "200":
1046
+ description: The substance check of the specified AU
1047
+ content:
1048
+ application/json:
1049
+ schema:
1050
+ $ref: '#/components/schemas/checkSubstanceResult'
1051
+ default:
1052
+ description: The resulting error payload.
1053
+ content: {}
1054
+ /status:
1055
+ get:
1056
+ tags:
1057
+ - status
1058
+ summary: Get the status of the service
1059
+ description: Get the status of the service
1060
+ operationId: getStatus
1061
+ # no credentials needed
1062
+ responses:
1063
+ "200":
1064
+ description: The status of the service
1065
+ content:
1066
+ application/json:
1067
+ schema:
1068
+ $ref: '#/components/schemas/apiStatus'
1069
+ default:
1070
+ description: The resulting error payload.
1071
+ content: {}
1072
+ /usernames:
1073
+ get:
1074
+ tags:
1075
+ - users
1076
+ summary: Get the usernames configured in the system
1077
+ description: Get the usernames configured in the system
1078
+ operationId: getUserAccountNames
1079
+ # roles: ROLE_USER_ADMIN
1080
+ responses:
1081
+ "200":
1082
+ description: A list of usernames configured in the system
1083
+ content:
1084
+ application/json:
1085
+ schema:
1086
+ type: array
1087
+ items:
1088
+ type: string
1089
+ "401":
1090
+ description: Unauthorized
1091
+ content: {}
1092
+ "500":
1093
+ description: Internal Server Error
1094
+ content: {}
1095
+ /users:
1096
+ post:
1097
+ tags:
1098
+ - users
1099
+ summary: Adds user accounts to the system
1100
+ description: Adds user accounts to the system
1101
+ operationId: addUserAccounts
1102
+ # roles: ROLE_USER_ADMIN
1103
+ requestBody:
1104
+ description: An array of user accounts to be stored
1105
+ content:
1106
+ application/json:
1107
+ schema:
1108
+ type: string
1109
+ required: true
1110
+ responses:
1111
+ "200":
1112
+ description: Successfully added user accounts
1113
+ content:
1114
+ application/json:
1115
+ schema:
1116
+ type: string
1117
+ "401":
1118
+ description: Unauthorized
1119
+ content: {}
1120
+ "500":
1121
+ description: Internal Server Error
1122
+ content: {}
1123
+ x-codegen-request-body-name: userAccounts
1124
+ /users/{username}:
1125
+ get:
1126
+ tags:
1127
+ - users
1128
+ summary: Get user account details
1129
+ description: Get user account details
1130
+ operationId: getUserAccount
1131
+ # roles: ROLE_USER_ADMIN
1132
+ parameters:
1133
+ - name: username
1134
+ in: path
1135
+ description: Username
1136
+ required: true
1137
+ schema:
1138
+ type: string
1139
+ responses:
1140
+ "200":
1141
+ description: A JSON serialization containing details of the user account
1142
+ content:
1143
+ application/json:
1144
+ schema:
1145
+ type: string
1146
+ "400":
1147
+ description: Bad Request
1148
+ content: {}
1149
+ "401":
1150
+ description: Unauthorized
1151
+ content: {}
1152
+ "404":
1153
+ description: Not Found
1154
+ content: {}
1155
+ "500":
1156
+ description: Internal Server Error
1157
+ content: {}
1158
+ delete:
1159
+ tags:
1160
+ - users
1161
+ summary: Remove a user account from the system
1162
+ description: Remove a user account from the system
1163
+ operationId: removeUserAccount
1164
+ # roles: ROLE_USER_ADMIN
1165
+ parameters:
1166
+ - name: username
1167
+ in: path
1168
+ description: Username
1169
+ required: true
1170
+ schema:
1171
+ type: string
1172
+ responses:
1173
+ "200":
1174
+ description: Removed user account
1175
+ content: {}
1176
+ "401":
1177
+ description: Unauthorized
1178
+ content: {}
1179
+ "404":
1180
+ description: Not Found
1181
+ content: {}
1182
+ "500":
1183
+ description: Internal Server Error
1184
+ content: {}
1185
+ patch:
1186
+ tags:
1187
+ - users
1188
+ summary: Update properties of an existing user account
1189
+ description: Update properties of an existing user account
1190
+ operationId: updateUserAccount
1191
+ # roles: ROLE_USER_ADMIN
1192
+ parameters:
1193
+ - name: username
1194
+ in: path
1195
+ description: Username
1196
+ required: true
1197
+ schema:
1198
+ type: string
1199
+ - name: X-Lockss-Request-Cookie
1200
+ in: header
1201
+ description: The LOCKSS-specific request cookie header
1202
+ schema:
1203
+ type: string
1204
+ requestBody:
1205
+ description: The user account details to be updated
1206
+ content:
1207
+ application/json:
1208
+ schema:
1209
+ type: string
1210
+ required: true
1211
+ responses:
1212
+ "200":
1213
+ description: Updated user account
1214
+ content:
1215
+ application/json:
1216
+ schema:
1217
+ type: string
1218
+ "400":
1219
+ description: Bad Request
1220
+ content: {}
1221
+ "401":
1222
+ description: Unauthorized
1223
+ content: {}
1224
+ "404":
1225
+ description: Not Found
1226
+ content: {}
1227
+ "500":
1228
+ description: Internal Server Error
1229
+ content: {}
1230
+ x-codegen-request-body-name: userAccount
1231
+ /utils/normalizeurl:
1232
+ get:
1233
+ tags:
1234
+ - utils
1235
+ summary: Normalize URL
1236
+ description: Performs a LOCKSS URL normalization
1237
+ operationId: normalizeUrl
1238
+ parameters:
1239
+ - name: url
1240
+ in: query
1241
+ description: URL to normalize
1242
+ required: true
1243
+ schema:
1244
+ type: string
1245
+ responses:
1246
+ "200":
1247
+ description: The LOCKSS normalized URL
1248
+ content:
1249
+ application/json:
1250
+ schema:
1251
+ type: array
1252
+ items:
1253
+ type: string
1254
+ "400":
1255
+ description: Bad Request
1256
+ content:
1257
+ text/plain:
1258
+ schema:
1259
+ type: string
1260
+ "500":
1261
+ description: Internal Server Error
1262
+ content: {}
1263
+ components:
1264
+ schemas:
1265
+ AccessType:
1266
+ # Modeled from org.lockss.state.AuState.AccessType in lockss-core
1267
+ # Used in AuStateBean
1268
+ type: string
1269
+ nullable: true
1270
+ enum:
1271
+ - OpenAccess
1272
+ - Subscription
1273
+ apiStatus:
1274
+ required:
1275
+ - apiVersion
1276
+ - ready
1277
+ type: object
1278
+ properties:
1279
+ apiVersion:
1280
+ type: string
1281
+ description: The version of the API
1282
+ componentName:
1283
+ type: string
1284
+ description: The name of the component
1285
+ componentVersion:
1286
+ type: string
1287
+ description: The version of the component software
1288
+ lockssVersion:
1289
+ type: string
1290
+ description: The version of the LOCKSS system
1291
+ ready:
1292
+ type: boolean
1293
+ description: The indication of whether the service is available
1294
+ serviceName:
1295
+ type: string
1296
+ description: The name of the service
1297
+ readyTime:
1298
+ type: integer
1299
+ description: The time the service last became ready.
1300
+ format: int64
1301
+ reason:
1302
+ type: string
1303
+ description: The reason the service isn't ready.
1304
+ startupStatus:
1305
+ type: string
1306
+ description: Enum indicating progress of plugin/AU processing at startup.
1307
+ enum:
1308
+ - NONE
1309
+ - PLUGINS_CRAWLING
1310
+ - PLUGINS_COLLECTED
1311
+ - PLUGINS_LOADING
1312
+ - PLUGINS_LOADED
1313
+ - AUS_STARTING
1314
+ - AUS_STARTED
1315
+ description: The status information of the service
1316
+ AuAgreements:
1317
+ # Modeled from org.lockss.protocol.AuAgreements in lockss-core
1318
+ # Returned by org.lockss.laaws.config.impl.AuagreementsApiServiceImpl.getAuAgreements(String) but *not* desclared by GET /auagreements/{auid}
1319
+ # Received by org.lockss.laaws.config.impl.AuagreementsApiServiceImpl.patchAuAgreements(String, String, String) but *not* declared by PATCH /auagreements/{auid}
1320
+ type: object
1321
+ properties:
1322
+ auid:
1323
+ type: string
1324
+ nullable: true
1325
+ rawMap:
1326
+ type: object
1327
+ nullable: true
1328
+ additionalProperties:
1329
+ $ref: '#/components/schemas/PeerAgreements'
1330
+ AuConfiguration:
1331
+ # Modeled from org.lockss.config.AuConfiguration in lockss-core
1332
+ # Returned by org.lockss.laaws.config.impl.AusApiServiceImpl.getAuConfig(String) and declared in GET /aus/{auid}
1333
+ # Returned by org.lockss.laaws.config.impl.AusApiServiceImpl.getAllAuConfig() (Collection) and declared in GET /aus (array)
1334
+ description: The encapsulation of an Archival Unit configuration
1335
+ required:
1336
+ - auConfig
1337
+ - auId
1338
+ type: object
1339
+ properties:
1340
+ auId:
1341
+ description: The identifier of the Archival Unit
1342
+ type: string
1343
+ auConfig:
1344
+ description: The map of Archival Unit configuration items
1345
+ type: object
1346
+ additionalProperties:
1347
+ type: string
1348
+ description: The value of the configuration for the key
1349
+ AuConfigPageInfo:
1350
+ type: object
1351
+ required:
1352
+ - auConfigs
1353
+ - pageInfo
1354
+ properties:
1355
+ auConfigs:
1356
+ title: AU Configurations
1357
+ description: The AU configurations included in the page
1358
+ type: array
1359
+ items:
1360
+ $ref: '#/components/schemas/AuConfiguration'
1361
+ nullable: false
1362
+ pageInfo:
1363
+ title: Page Information
1364
+ description: Information about the page
1365
+ $ref: '#/components/schemas/PageInfo'
1366
+ nullable: false
1367
+ AuStateBean:
1368
+ # Modeled from org.lockss.state.AuStateBean in lockss-core
1369
+ # Returned by org.lockss.laaws.config.impl.AustatesApiServiceImpl.getAuState(String) but *not* declared in GET /austates/{auid}
1370
+ type: object
1371
+ properties:
1372
+ auCreationTime:
1373
+ type: integer
1374
+ format: int64
1375
+ lastCrawlTime:
1376
+ type: integer
1377
+ format: int64
1378
+ lastCrawlAttempt:
1379
+ type: integer
1380
+ format: int64
1381
+ lastCrawlResultMsg:
1382
+ type: string
1383
+ nullable: true
1384
+ lastCrawlResult:
1385
+ type: integer
1386
+ format: int32
1387
+ lastDeepCrawlTime:
1388
+ type: integer
1389
+ format: int64
1390
+ lastDeepCrawlAttempt:
1391
+ type: integer
1392
+ format: int64
1393
+ lastDeepCrawlResultMsg:
1394
+ type: string
1395
+ nullable: true
1396
+ lastDeepCrawlResult:
1397
+ type: integer
1398
+ format: int32
1399
+ lastDeepCrawlDepth:
1400
+ type: integer
1401
+ format: int32
1402
+ lastTopLevelPollTime:
1403
+ type: integer
1404
+ format: int64
1405
+ lastPollStart:
1406
+ type: integer
1407
+ format: int64
1408
+ lastPollResult:
1409
+ type: integer
1410
+ format: int32
1411
+ pollDuration:
1412
+ type: integer
1413
+ format: int64
1414
+ averageHashDuration:
1415
+ type: integer
1416
+ format: int64
1417
+ clockssSubscriptionStatus:
1418
+ type: integer
1419
+ format: int32
1420
+ v3Agreement:
1421
+ type: number
1422
+ format: double
1423
+ highestV3Agreement:
1424
+ type: number
1425
+ format: double
1426
+ accessType:
1427
+ $ref: '#/components/schemas/AccessType'
1428
+ hasSubstance:
1429
+ $ref: '#/components/schemas/SubstanceCheckerState'
1430
+ substanceVersion:
1431
+ type: string
1432
+ nullable: true
1433
+ metadataVersion:
1434
+ type: string
1435
+ nullable: true
1436
+ lastMetadataIndex:
1437
+ type: integer
1438
+ format: int64
1439
+ lastContentChange:
1440
+ type: integer
1441
+ format: int64
1442
+ lastPoPPoll:
1443
+ type: integer
1444
+ format: int64
1445
+ lastPoPPollResult:
1446
+ type: integer
1447
+ format: int32
1448
+ lastLocalHashScan:
1449
+ type: integer
1450
+ format: int64
1451
+ numAgreePeersLastPoR:
1452
+ type: integer
1453
+ format: int32
1454
+ numWillingRepairers:
1455
+ type: integer
1456
+ format: int32
1457
+ numCurrentSuspectVersions:
1458
+ type: integer
1459
+ format: int32
1460
+ cdnStems:
1461
+ type: array
1462
+ nullable: true
1463
+ items:
1464
+ type: string
1465
+ isMetadataExtractionEnabled:
1466
+ type: boolean
1467
+ auId:
1468
+ type: string
1469
+ nullable: true
1470
+ AuStatus:
1471
+ # Modeled from org.lockss.ws.entities.AuStatus in lockss-util-entities
1472
+ # Returned by org.lockss.laaws.config.impl.AustatusesApiServiceImpl.getAuStatus(String) and declared in GET /austatuses/{auid}
1473
+ description: The status of an archival unit
1474
+ type: object
1475
+ properties:
1476
+ volume:
1477
+ type: string
1478
+ nullable: true
1479
+ journalTitle:
1480
+ type: string
1481
+ nullable: true
1482
+ pluginName:
1483
+ type: string
1484
+ nullable: true
1485
+ year:
1486
+ type: string
1487
+ nullable: true
1488
+ accessType:
1489
+ type: string
1490
+ nullable: true
1491
+ contentSize:
1492
+ type: integer
1493
+ format: int64
1494
+ nullable: true
1495
+ diskUsage:
1496
+ type: integer
1497
+ format: int64
1498
+ nullable: true
1499
+ repository:
1500
+ type: string
1501
+ nullable: true
1502
+ status:
1503
+ type: string
1504
+ nullable: true
1505
+ recentPollAgreement:
1506
+ type: number
1507
+ format: double
1508
+ nullable: true
1509
+ publishingPlatform:
1510
+ type: string
1511
+ nullable: true
1512
+ publisher:
1513
+ type: string
1514
+ nullable: true
1515
+ availableFromPublisher:
1516
+ type: boolean
1517
+ nullable: true
1518
+ substanceState:
1519
+ type: string
1520
+ nullable: true
1521
+ creationTime:
1522
+ type: integer
1523
+ format: int64
1524
+ nullable: true
1525
+ crawlProxy:
1526
+ type: string
1527
+ nullable: true
1528
+ crawlWindow:
1529
+ type: string
1530
+ nullable: true
1531
+ crawlPool:
1532
+ type: string
1533
+ nullable: true
1534
+ lastCompletedCrawl:
1535
+ type: integer
1536
+ format: int64
1537
+ nullable: true
1538
+ lastCrawl:
1539
+ type: integer
1540
+ format: int64
1541
+ nullable: true
1542
+ lastCrawlResult:
1543
+ type: string
1544
+ nullable: true
1545
+ lastCompletedDeepCrawl:
1546
+ type: integer
1547
+ format: int64
1548
+ nullable: true
1549
+ lastDeepCrawl:
1550
+ type: integer
1551
+ format: int64
1552
+ nullable: true
1553
+ lastDeepCrawlResult:
1554
+ type: string
1555
+ nullable: true
1556
+ lastCompletedDeepCrawlDepth:
1557
+ type: integer
1558
+ format: int32
1559
+ lastMetadataIndex:
1560
+ type: integer
1561
+ format: int64
1562
+ nullable: true
1563
+ lastCompletedPoll:
1564
+ type: integer
1565
+ format: int64
1566
+ nullable: true
1567
+ lastPoll:
1568
+ type: integer
1569
+ format: int64
1570
+ nullable: true
1571
+ lastPollResult:
1572
+ type: string
1573
+ nullable: true
1574
+ currentlyCrawling:
1575
+ type: boolean
1576
+ nullable: true
1577
+ currentlyPolling:
1578
+ type: boolean
1579
+ nullable: true
1580
+ subscriptionStatus:
1581
+ type: string
1582
+ nullable: true
1583
+ provider:
1584
+ type: string
1585
+ nullable: true
1586
+ AuSuspectUrlVersions:
1587
+ # Modeled from org.lockss.state.AuSuspectUrlVersions in lockss-core
1588
+ # Returned by org.lockss.laaws.config.impl.AususpecturlsApiServiceImpl.getAuSuspectUrlVersions(String) but *not* declared in GET /aususpecturls/{auid}
1589
+ # Received by org.lockss.laaws.config.impl.AususpecturlsApiServiceImpl.putAuSuspectUrlVersions(String, String, String) but *not* declared in PUT /aususpecturls/{auid}
1590
+ type: object
1591
+ properties:
1592
+ auid:
1593
+ type: string
1594
+ nullable: true
1595
+ suspectVersions:
1596
+ type: array
1597
+ nullable: true
1598
+ items:
1599
+ $ref: '#/components/schemas/SuspectUrlVersion'
1600
+ auWsResult:
1601
+ required:
1602
+ - auId
1603
+ type: object
1604
+ properties:
1605
+ auId:
1606
+ type: string
1607
+ description: The identifier of the archival unit
1608
+ description: The properties of an archival unit
1609
+ checkSubstanceResult:
1610
+ required:
1611
+ - errorMessage
1612
+ - id
1613
+ - newState
1614
+ - oldState
1615
+ type: object
1616
+ properties:
1617
+ id:
1618
+ type: string
1619
+ description: The identifier of the archival unit
1620
+ oldState:
1621
+ $ref: '#/components/schemas/SubstanceCheckerState'
1622
+ newState:
1623
+ $ref: '#/components/schemas/SubstanceCheckerState'
1624
+ errorMessage:
1625
+ type: string
1626
+ description: The error message as a result of the operation
1627
+ description: The status of an archival unit
1628
+ contentConfigurationResult:
1629
+ required:
1630
+ - auId
1631
+ - isSuccess
1632
+ - message
1633
+ - name
1634
+ type: object
1635
+ properties:
1636
+ auId:
1637
+ type: string
1638
+ description: The identifier of the Archival Unit
1639
+ name:
1640
+ type: string
1641
+ description: The name of the Archival Unit
1642
+ isSuccess:
1643
+ type: boolean
1644
+ description: An indication of whether the AU was successfully added or not
1645
+ message:
1646
+ type: string
1647
+ description: A descriptive message regarding the result of the operation
1648
+ description: The encapsulation of the result of adding an Archival Unit
1649
+ DatedPeerIdSetImpl:
1650
+ # Modeled from org.lockss.protocol.DatedPeerIdSetImpl in lockss-core
1651
+ # Returned by org.lockss.laaws.config.impl.NoaupeersApiServiceImpl.getNoAuPeers(String) but *not* declared in GET /noaupeers/{auid}
1652
+ # Received by org.lockss.laaws.config.impl.NoaupeersApiServiceImpl.putNoAuPeers(String, String, String) but *not* declared in PUT /noaupeers/{auid}
1653
+ type: object
1654
+ properties:
1655
+ auid:
1656
+ type: string
1657
+ nullable: true
1658
+ rawSet:
1659
+ type: array
1660
+ nullable: true
1661
+ items:
1662
+ type: string
1663
+ date:
1664
+ type: integer
1665
+ format: int64
1666
+ HashResult:
1667
+ # Modeled from org.lockss.hasher.HashResult in lockss-core
1668
+ # Used by SuspectUrlVersion
1669
+ type: object
1670
+ properties:
1671
+ bytes:
1672
+ type: string
1673
+ # 'format' should be 'byte' if base64-encoded
1674
+ format: binary
1675
+ nullable: true
1676
+ algorithm:
1677
+ type: string
1678
+ nullable: true
1679
+ PeerAgreement:
1680
+ # Modeled from org.lockss.protocol.PeerAgreement in lockss-core
1681
+ # Used in PeerAgreements
1682
+ type: object
1683
+ properties:
1684
+ percentAgreement:
1685
+ type: number
1686
+ format: float
1687
+ percentAgreementTime:
1688
+ type: integer
1689
+ format: int64
1690
+ highestPercentAgreement:
1691
+ type: number
1692
+ format: float
1693
+ highestPercentAgreementTime:
1694
+ type: integer
1695
+ format: int64
1696
+ PeerAgreements:
1697
+ # Modeled from org.lockss.protocol.PeerAgreements in lockss-core
1698
+ # Used in AuAgreements
1699
+ type: object
1700
+ properties:
1701
+ id:
1702
+ type: string
1703
+ nullable: true
1704
+ map:
1705
+ type: object
1706
+ nullable: true
1707
+ additionalProperties:
1708
+ $ref: '#/components/schemas/PeerAgreement'
1709
+ PageInfo:
1710
+ title: Page Information
1711
+ description: The information related to pagination of content
1712
+ type: object
1713
+ required:
1714
+ - totalCount
1715
+ - itemsInPage
1716
+ - continuationToken
1717
+ - curLink
1718
+ - nextLink
1719
+ properties:
1720
+ totalCount:
1721
+ title: Total Count
1722
+ description: The total number of items
1723
+ type: integer
1724
+ format: int32
1725
+ nullable: true
1726
+ itemsInPage:
1727
+ title: Items in Page
1728
+ description: The number of items in the page
1729
+ type: integer
1730
+ format: int32
1731
+ nullable: false
1732
+ continuationToken:
1733
+ title: Continuation Token
1734
+ description: The continuation token
1735
+ type: string
1736
+ nullable: true
1737
+ curLink:
1738
+ title: Current Request
1739
+ description: The link of the current request
1740
+ type: string
1741
+ nullable: false
1742
+ nextLink:
1743
+ title: Next Request
1744
+ description: The link of the next request
1745
+ type: string
1746
+ nullable: true
1747
+ platformConfigurationWsResult:
1748
+ description: The configuration of the platform
1749
+ type: object
1750
+ properties:
1751
+ hostName:
1752
+ type: string
1753
+ nullable: true
1754
+ ipAddress:
1755
+ type: string
1756
+ nullable: true
1757
+ groups:
1758
+ type: array
1759
+ nullable: true
1760
+ items:
1761
+ type: string
1762
+ project:
1763
+ type: string
1764
+ nullable: true
1765
+ v3Identity:
1766
+ type: string
1767
+ nullable: true
1768
+ mailRelay:
1769
+ type: string
1770
+ nullable: true
1771
+ adminEmail:
1772
+ type: string
1773
+ nullable: true
1774
+ disks:
1775
+ type: array
1776
+ nullable: true
1777
+ items:
1778
+ type: string
1779
+ currentTime:
1780
+ type: integer
1781
+ format: int64
1782
+ nullable: true
1783
+ uptime:
1784
+ type: integer
1785
+ format: int64
1786
+ nullable: true
1787
+ daemonVersion:
1788
+ type: object
1789
+ nullable: true
1790
+ properties:
1791
+ fullVersion:
1792
+ type: string
1793
+ nullable: true
1794
+ majorVersion:
1795
+ type: integer
1796
+ format: int32
1797
+ nullable: true
1798
+ minorVersion:
1799
+ type: integer
1800
+ format: int32
1801
+ nullable: true
1802
+ buildVersion:
1803
+ type: integer
1804
+ format: int32
1805
+ nullable: true
1806
+ javaVersion:
1807
+ type: object
1808
+ nullable: true
1809
+ properties:
1810
+ version:
1811
+ type: string
1812
+ nullable: true
1813
+ specificationVersion:
1814
+ type: string
1815
+ nullable: true
1816
+ runtimeVersion:
1817
+ type: string
1818
+ nullable: true
1819
+ runtimeName:
1820
+ type: string
1821
+ nullable: true
1822
+ platform:
1823
+ type: object
1824
+ properties:
1825
+ name:
1826
+ type: string
1827
+ nullable: true
1828
+ version:
1829
+ type: string
1830
+ nullable: true
1831
+ suffix:
1832
+ type: string
1833
+ nullable: true
1834
+ currentWorkingDirectory:
1835
+ type: string
1836
+ nullable: true
1837
+ properties:
1838
+ type: array
1839
+ nullable: true
1840
+ items:
1841
+ type: string
1842
+ buildHost:
1843
+ type: string
1844
+ nullable: true
1845
+ buildTimestamp:
1846
+ type: integer
1847
+ format: int64
1848
+ nullable: true
1849
+ pluginWsResult:
1850
+ required:
1851
+ - auCount
1852
+ - definition
1853
+ - name
1854
+ - pluginId
1855
+ - publishingPlatform
1856
+ - registry
1857
+ - type
1858
+ - url
1859
+ - version
1860
+ type: object
1861
+ properties:
1862
+ pluginId:
1863
+ type: string
1864
+ description: The identifier of the plugin
1865
+ name:
1866
+ type: string
1867
+ description: The name of the plugin
1868
+ version:
1869
+ type: string
1870
+ description: The version of the plugin
1871
+ type:
1872
+ type: string
1873
+ description: The type of the plugin
1874
+ definition:
1875
+ type: object
1876
+ additionalProperties:
1877
+ type: string
1878
+ description: The value of the property for the key
1879
+ description: The map of plugin definition properties
1880
+ registry:
1881
+ type: string
1882
+ description: The registry of the plugin
1883
+ url:
1884
+ type: string
1885
+ description: The URL of the plugin
1886
+ auCount:
1887
+ type: integer
1888
+ description: The count of Archival Units linked to the plugin
1889
+ publishingPlatform:
1890
+ type: string
1891
+ description: The publishing platform of the plugin
1892
+ description: The properties of a plugin
1893
+ requestAuControlResult:
1894
+ required:
1895
+ - errorMessage
1896
+ - id
1897
+ - success
1898
+ type: object
1899
+ properties:
1900
+ id:
1901
+ type: string
1902
+ description: The identifier of the archival unit
1903
+ success:
1904
+ type: boolean
1905
+ description: An indication of whether the result is successful
1906
+ errorMessage:
1907
+ type: string
1908
+ description: The error message as a result of the operation
1909
+ description: The result of an archival unit generic control request
1910
+ SubstanceCheckerState:
1911
+ # Modeled from org.lockss.state.SubstanceChecker.State in lockss-core
1912
+ # Used in AuStateBean and checkSubstanceResult
1913
+ type: string
1914
+ nullable: true
1915
+ enum:
1916
+ - Unknown
1917
+ - Yes
1918
+ - No
1919
+ SuspectUrlVersion:
1920
+ # Modeled from org.lockss.state.AuSuspectUrlVersions.SuspectUrlVersion in lockss-core
1921
+ # Used by AuSuspectUrlVersions
1922
+ type: object
1923
+ properties:
1924
+ url:
1925
+ type: string
1926
+ nullable: true
1927
+ version:
1928
+ type: integer
1929
+ format: int32
1930
+ created:
1931
+ type: integer
1932
+ format: int64
1933
+ computedHash:
1934
+ $ref: '#/components/schemas/HashResult'
1935
+ storedHash:
1936
+ $ref: '#/components/schemas/HashResult'
1937
+ tdbAuWsResult:
1938
+ type: object
1939
+ properties:
1940
+ auId:
1941
+ type: string
1942
+ description: The identifier of the Archival Unit
1943
+ name:
1944
+ type: string
1945
+ description: The name of the Archival Unit
1946
+ pluginName:
1947
+ type: string
1948
+ description: The name of the Archival Unit plugin
1949
+ tdbTitle:
1950
+ $ref: '#/components/schemas/tdbTitleWsResult'
1951
+ tdbPublisher:
1952
+ $ref: '#/components/schemas/tdbPublisherWsResult'
1953
+ down:
1954
+ type: boolean
1955
+ description: An indication of whether the AU is marked as down or not
1956
+ active:
1957
+ type: boolean
1958
+ description: An indication of whether the AU is active or not
1959
+ params:
1960
+ type: object
1961
+ additionalProperties:
1962
+ type: string
1963
+ description: The value of the parameter for the key
1964
+ description: The map of Archival Unit parameters
1965
+ attrs:
1966
+ type: object
1967
+ additionalProperties:
1968
+ type: string
1969
+ description: The value of the attribute for the key
1970
+ description: The map of Archival Unit attributes
1971
+ props:
1972
+ type: object
1973
+ additionalProperties:
1974
+ type: string
1975
+ description: The value of the property for the key
1976
+ description: The map of Archival Unit properties
1977
+ description: The properties of a TDB Archival Unit
1978
+ tdbPublisherWsResult:
1979
+ required:
1980
+ - name
1981
+ type: object
1982
+ properties:
1983
+ name:
1984
+ type: string
1985
+ description: The name of the TDB Publisher
1986
+ description: The properties of a TDB Publisher
1987
+ tdbTitleWsResult:
1988
+ type: object
1989
+ properties:
1990
+ name:
1991
+ type: string
1992
+ description: The name of the TDB Title
1993
+ tdbPublisher:
1994
+ $ref: '#/components/schemas/tdbPublisherWsResult'
1995
+ id:
1996
+ type: string
1997
+ description: The identifier of the TDB Title
1998
+ proprietaryid:
1999
+ type: string
2000
+ description: The proprietary identifier of the TDB Title
2001
+ proprietaryids:
2002
+ type: array
2003
+ description: The proprietary identifiers of the TDB Title
2004
+ items:
2005
+ type: string
2006
+ publicationtype:
2007
+ type: string
2008
+ description: The publication type of the TDB Title
2009
+ issn:
2010
+ type: string
2011
+ description: The ISSN of the TDB Title
2012
+ issnl:
2013
+ type: string
2014
+ description: The ISSNL of the TDB Title
2015
+ eissn:
2016
+ type: string
2017
+ description: The eISSN of the TDB Title
2018
+ printissn:
2019
+ type: string
2020
+ description: The print ISSN of the TDB Title
2021
+ issns:
2022
+ type: array
2023
+ description: The ISSNs of the TDB Title
2024
+ items:
2025
+ type: string
2026
+ description: The properties of a TDB Title
2027
+ securitySchemes:
2028
+ basicAuth:
2029
+ type: http
2030
+ description: HTTP Basic Authentication. Works over HTTP and HTTPS.
2031
+ scheme: basic