rucio 37.3.0__py3-none-any.whl → 37.5.0__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.
Potentially problematic release.
This version of rucio might be problematic. Click here for more details.
- rucio/cli/rule.py +1 -1
- rucio/client/accountclient.py +205 -60
- rucio/client/accountlimitclient.py +84 -25
- rucio/client/baseclient.py +85 -48
- rucio/client/client.py +49 -41
- rucio/client/configclient.py +36 -13
- rucio/client/credentialclient.py +16 -6
- rucio/client/didclient.py +321 -133
- rucio/client/diracclient.py +13 -6
- rucio/client/downloadclient.py +435 -165
- rucio/client/exportclient.py +8 -2
- rucio/client/fileclient.py +10 -3
- rucio/client/importclient.py +4 -1
- rucio/client/lifetimeclient.py +48 -31
- rucio/client/lockclient.py +22 -7
- rucio/client/metaconventionsclient.py +59 -21
- rucio/client/pingclient.py +3 -1
- rucio/client/replicaclient.py +213 -96
- rucio/client/requestclient.py +124 -16
- rucio/client/rseclient.py +385 -160
- rucio/client/ruleclient.py +147 -51
- rucio/client/scopeclient.py +35 -10
- rucio/client/subscriptionclient.py +60 -27
- rucio/client/touchclient.py +16 -7
- rucio/common/constants.py +14 -17
- rucio/common/utils.py +18 -2
- rucio/core/permission/generic.py +40 -1
- rucio/core/replica.py +6 -6
- rucio/core/request.py +2 -2
- rucio/core/rule.py +5 -3
- rucio/core/transfer.py +4 -5
- rucio/daemons/conveyor/throttler.py +2 -1
- rucio/daemons/judge/evaluator.py +1 -1
- rucio/db/sqla/constants.py +3 -3
- rucio/db/sqla/migrate_repo/versions/13d4f70c66a9_introduce_transfer_limits.py +1 -1
- rucio/db/sqla/models.py +1 -1
- rucio/gateway/replica.py +129 -41
- rucio/gateway/request.py +177 -103
- rucio/gateway/subscription.py +90 -108
- rucio/rse/rsemanager.py +2 -2
- rucio/vcsversion.py +3 -3
- rucio/web/rest/flaskapi/v1/accountlimits.py +22 -22
- rucio/web/rest/flaskapi/v1/accounts.py +157 -157
- rucio/web/rest/flaskapi/v1/archives.py +10 -10
- rucio/web/rest/flaskapi/v1/auth.py +106 -106
- rucio/web/rest/flaskapi/v1/config.py +37 -37
- rucio/web/rest/flaskapi/v1/credentials.py +25 -25
- rucio/web/rest/flaskapi/v1/dids.py +381 -381
- rucio/web/rest/flaskapi/v1/dirac.py +8 -8
- rucio/web/rest/flaskapi/v1/export.py +6 -6
- rucio/web/rest/flaskapi/v1/heartbeats.py +14 -14
- rucio/web/rest/flaskapi/v1/identities.py +25 -25
- rucio/web/rest/flaskapi/v1/import.py +19 -19
- rucio/web/rest/flaskapi/v1/lifetime_exceptions.py +54 -54
- rucio/web/rest/flaskapi/v1/locks.py +60 -60
- rucio/web/rest/flaskapi/v1/meta_conventions.py +29 -29
- rucio/web/rest/flaskapi/v1/nongrid_traces.py +4 -4
- rucio/web/rest/flaskapi/v1/ping.py +4 -4
- rucio/web/rest/flaskapi/v1/redirect.py +17 -17
- rucio/web/rest/flaskapi/v1/replicas.py +282 -282
- rucio/web/rest/flaskapi/v1/requests.py +424 -229
- rucio/web/rest/flaskapi/v1/rses.py +427 -427
- rucio/web/rest/flaskapi/v1/rules.py +129 -129
- rucio/web/rest/flaskapi/v1/scopes.py +21 -21
- rucio/web/rest/flaskapi/v1/subscriptions.py +122 -122
- rucio/web/rest/flaskapi/v1/traces.py +18 -18
- rucio/web/rest/flaskapi/v1/vos.py +32 -32
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/rucio.cfg.template +0 -1
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/rucio_multi_vo.cfg.template +0 -1
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/requirements.server.txt +1 -1
- {rucio-37.3.0.dist-info → rucio-37.5.0.dist-info}/METADATA +1 -1
- {rucio-37.3.0.dist-info → rucio-37.5.0.dist-info}/RECORD +128 -128
- {rucio-37.3.0.dist-info → rucio-37.5.0.dist-info}/WHEEL +1 -1
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/alembic.ini.template +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/alembic_offline.ini.template +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/globus-config.yml.template +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/ldap.cfg.template +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/mail_templates/rule_approval_request.tmpl +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/mail_templates/rule_approved_admin.tmpl +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/mail_templates/rule_approved_user.tmpl +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/mail_templates/rule_denied_admin.tmpl +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/mail_templates/rule_denied_user.tmpl +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/mail_templates/rule_ok_notification.tmpl +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/rse-accounts.cfg.template +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/etc/rucio.cfg.atlas.client.template +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/tools/bootstrap.py +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/tools/merge_rucio_configs.py +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/data/rucio/tools/reset_database.py +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-abacus-account +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-abacus-collection-replica +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-abacus-rse +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-admin +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-atropos +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-auditor +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-automatix +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-bb8 +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-cache-client +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-cache-consumer +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-finisher +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-poller +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-preparer +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-receiver +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-stager +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-submitter +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-conveyor-throttler +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-dark-reaper +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-dumper +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-follower +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-hermes +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-judge-cleaner +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-judge-evaluator +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-judge-injector +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-judge-repairer +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-kronos +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-minos +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-minos-temporary-expiration +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-necromancer +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-oauth-manager +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-reaper +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-replica-recoverer +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-rse-decommissioner +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-storage-consistency-actions +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-transmogrifier +0 -0
- {rucio-37.3.0.data → rucio-37.5.0.data}/scripts/rucio-undertaker +0 -0
- {rucio-37.3.0.dist-info → rucio-37.5.0.dist-info}/licenses/AUTHORS.rst +0 -0
- {rucio-37.3.0.dist-info → rucio-37.5.0.dist-info}/licenses/LICENSE +0 -0
- {rucio-37.3.0.dist-info → rucio-37.5.0.dist-info}/top_level.txt +0 -0
|
@@ -154,76 +154,76 @@ class Replicas(ErrorHandlingMethodView):
|
|
|
154
154
|
"""
|
|
155
155
|
---
|
|
156
156
|
summary: Get Replicas
|
|
157
|
-
description: List all replicas for data identifiers.
|
|
157
|
+
description: "List all replicas for data identifiers."
|
|
158
158
|
tags:
|
|
159
159
|
- Replicas
|
|
160
160
|
parameters:
|
|
161
161
|
- name: scope_name
|
|
162
162
|
in: path
|
|
163
|
-
description: The DID associated with the replicas.
|
|
163
|
+
description: "The DID associated with the replicas."
|
|
164
164
|
schema:
|
|
165
165
|
type: string
|
|
166
166
|
style: simple
|
|
167
167
|
- name: X-Forwarded-For
|
|
168
168
|
in: header
|
|
169
|
-
description: The client ip
|
|
169
|
+
description: "The client ip"
|
|
170
170
|
schema:
|
|
171
171
|
type: string
|
|
172
172
|
- name: schemes
|
|
173
173
|
in: query
|
|
174
|
-
description: The schemes of the replicas.
|
|
174
|
+
description: "The schemes of the replicas."
|
|
175
175
|
schema:
|
|
176
176
|
type: string
|
|
177
177
|
- name: select
|
|
178
178
|
in: query
|
|
179
|
-
description: The sorting algorithm.
|
|
179
|
+
description: "The sorting algorithm."
|
|
180
180
|
schema:
|
|
181
181
|
type: string
|
|
182
182
|
enum: ["geoip", "random"]
|
|
183
183
|
- name: limit
|
|
184
184
|
in: query
|
|
185
|
-
description: The maximum number of replicas returned.
|
|
185
|
+
description: "The maximum number of replicas returned."
|
|
186
186
|
schema:
|
|
187
187
|
type: integer
|
|
188
188
|
responses:
|
|
189
189
|
200:
|
|
190
|
-
description: OK
|
|
190
|
+
description: "OK"
|
|
191
191
|
content:
|
|
192
192
|
application/x-json-stream:
|
|
193
193
|
schema:
|
|
194
|
-
description: A list with all replicas.
|
|
194
|
+
description: "A list with all replicas."
|
|
195
195
|
type: array
|
|
196
196
|
items:
|
|
197
|
-
description: A replica. Possibly contains more information.
|
|
197
|
+
description: "A replica. Possibly contains more information."
|
|
198
198
|
type: object
|
|
199
199
|
properties:
|
|
200
200
|
scope:
|
|
201
|
-
description: The scope of the replica.
|
|
201
|
+
description: "The scope of the replica."
|
|
202
202
|
type: string
|
|
203
203
|
name:
|
|
204
|
-
description: The name of the replica.
|
|
204
|
+
description: "The name of the replica."
|
|
205
205
|
type: string
|
|
206
206
|
bytes:
|
|
207
|
-
description: The size of the replica in bytes.
|
|
207
|
+
description: "The size of the replica in bytes."
|
|
208
208
|
type: integer
|
|
209
209
|
md5:
|
|
210
|
-
description: The md5 checksum of the replica.
|
|
210
|
+
description: "The md5 checksum of the replica."
|
|
211
211
|
type: string
|
|
212
212
|
adler32:
|
|
213
|
-
description: The adler32 checksum of the replica.
|
|
213
|
+
description: "The adler32 checksum of the replica."
|
|
214
214
|
type: string
|
|
215
215
|
pfns:
|
|
216
|
-
description: The pfns associated with the replica.
|
|
216
|
+
description: "The pfns associated with the replica."
|
|
217
217
|
type: array
|
|
218
218
|
rses:
|
|
219
|
-
description: The rse associated with the replica.
|
|
219
|
+
description: "The rse associated with the replica."
|
|
220
220
|
type: string
|
|
221
221
|
401:
|
|
222
|
-
description: Invalid Auth Token
|
|
222
|
+
description: "Invalid Auth Token"
|
|
223
223
|
404:
|
|
224
|
-
description: Did not found
|
|
224
|
+
description: "Did not found"
|
|
225
225
|
406:
|
|
226
|
-
description: Not acceptable
|
|
226
|
+
description: "Not acceptable"
|
|
227
227
|
"""
|
|
228
228
|
try:
|
|
229
229
|
scope, name = parse_scope_name(scope_name, request.environ['vo'])
|
|
@@ -252,7 +252,7 @@ class Replicas(ErrorHandlingMethodView):
|
|
|
252
252
|
def _list_and_sort_replicas(vo):
|
|
253
253
|
# we need to call list_replicas before starting to reply
|
|
254
254
|
# otherwise the exceptions won't be propagated correctly
|
|
255
|
-
for rfile in list_replicas(dids=dids, schemes=schemes, vo=vo):
|
|
255
|
+
for rfile in list_replicas(dids=dids, schemes=schemes, vo=vo): # type: ignore (pending https://github.com/rucio/rucio/issues/7739)
|
|
256
256
|
replicas = []
|
|
257
257
|
dictreplica = {}
|
|
258
258
|
for rse in rfile['rses']:
|
|
@@ -277,7 +277,7 @@ class Replicas(ErrorHandlingMethodView):
|
|
|
277
277
|
"""
|
|
278
278
|
---
|
|
279
279
|
summary: Create File Replicas
|
|
280
|
-
description: Create file replicas at a given RSE.
|
|
280
|
+
description: "Create file replicas at a given RSE."
|
|
281
281
|
tags:
|
|
282
282
|
- Replicas
|
|
283
283
|
requestBody:
|
|
@@ -290,10 +290,10 @@ class Replicas(ErrorHandlingMethodView):
|
|
|
290
290
|
- files
|
|
291
291
|
properties:
|
|
292
292
|
rse:
|
|
293
|
-
description: The rse for the replication
|
|
293
|
+
description: "The rse for the replication"
|
|
294
294
|
type: string
|
|
295
295
|
files:
|
|
296
|
-
description: The files to replicate
|
|
296
|
+
description: "The files to replicate"
|
|
297
297
|
type: array
|
|
298
298
|
items:
|
|
299
299
|
type: object
|
|
@@ -303,53 +303,53 @@ class Replicas(ErrorHandlingMethodView):
|
|
|
303
303
|
- name
|
|
304
304
|
properties:
|
|
305
305
|
pfn:
|
|
306
|
-
description: The pfn of the replica.
|
|
306
|
+
description: "The pfn of the replica."
|
|
307
307
|
type: string
|
|
308
308
|
name:
|
|
309
|
-
description: The DID name.
|
|
309
|
+
description: "The DID name."
|
|
310
310
|
type: string
|
|
311
311
|
bytes:
|
|
312
|
-
description: The size of the replica in bytes.
|
|
312
|
+
description: "The size of the replica in bytes."
|
|
313
313
|
type: integer
|
|
314
314
|
state:
|
|
315
|
-
description: The state of the replica.
|
|
315
|
+
description: "The state of the replica."
|
|
316
316
|
type: string
|
|
317
317
|
path:
|
|
318
|
-
description: The path of the new replica.
|
|
318
|
+
description: "The path of the new replica."
|
|
319
319
|
type: string
|
|
320
320
|
md5:
|
|
321
|
-
description: The md5 checksum.
|
|
321
|
+
description: "The md5 checksum."
|
|
322
322
|
type: string
|
|
323
323
|
adler32:
|
|
324
|
-
description: The adler32 checksum.
|
|
324
|
+
description: "The adler32 checksum."
|
|
325
325
|
type: string
|
|
326
326
|
lcok_cnt:
|
|
327
|
-
description: The lock count.
|
|
327
|
+
description: "The lock count."
|
|
328
328
|
type: integer
|
|
329
329
|
tombstone:
|
|
330
|
-
description: The tombstone.
|
|
330
|
+
description: "The tombstone."
|
|
331
331
|
type: string
|
|
332
332
|
ignore_availability:
|
|
333
|
-
description: The ignore availability.
|
|
333
|
+
description: "The ignore availability."
|
|
334
334
|
type: boolean
|
|
335
335
|
responses:
|
|
336
336
|
201:
|
|
337
|
-
description: OK
|
|
337
|
+
description: "OK"
|
|
338
338
|
content:
|
|
339
339
|
application/json:
|
|
340
340
|
schema:
|
|
341
341
|
type: string
|
|
342
342
|
enum: ["Created"]
|
|
343
343
|
400:
|
|
344
|
-
description: Invalid Path
|
|
344
|
+
description: "Invalid Path"
|
|
345
345
|
401:
|
|
346
|
-
description: Invalid Auth Token
|
|
346
|
+
description: "Invalid Auth Token"
|
|
347
347
|
404:
|
|
348
|
-
description: Rse or scope not found
|
|
348
|
+
description: "Rse or scope not found"
|
|
349
349
|
409:
|
|
350
|
-
description: Replica or Did already exists
|
|
350
|
+
description: "Replica or Did already exists"
|
|
351
351
|
503:
|
|
352
|
-
description: Resource temporary unavailable
|
|
352
|
+
description: "Resource temporary unavailable"
|
|
353
353
|
"""
|
|
354
354
|
parameters = json_parameters(parse_response)
|
|
355
355
|
rse = param_get(parameters, 'rse')
|
|
@@ -380,7 +380,7 @@ class Replicas(ErrorHandlingMethodView):
|
|
|
380
380
|
"""
|
|
381
381
|
---
|
|
382
382
|
summary: Update File Replicas
|
|
383
|
-
description: Update file replicas state at a given RSE.
|
|
383
|
+
description: "Update file replicas state at a given RSE."
|
|
384
384
|
tags:
|
|
385
385
|
- Replicas
|
|
386
386
|
requestBody:
|
|
@@ -393,39 +393,39 @@ class Replicas(ErrorHandlingMethodView):
|
|
|
393
393
|
- files
|
|
394
394
|
properties:
|
|
395
395
|
rse:
|
|
396
|
-
description: The rse for the replication
|
|
396
|
+
description: "The rse for the replication"
|
|
397
397
|
type: string
|
|
398
398
|
files:
|
|
399
|
-
description: The files to replicate
|
|
399
|
+
description: "The files to replicate"
|
|
400
400
|
type: array
|
|
401
401
|
items:
|
|
402
402
|
type: object
|
|
403
403
|
properties:
|
|
404
404
|
name:
|
|
405
|
-
description: The pfn of the replica.
|
|
405
|
+
description: "The pfn of the replica."
|
|
406
406
|
type: string
|
|
407
407
|
state:
|
|
408
|
-
description: The pfn of the replica.
|
|
408
|
+
description: "The pfn of the replica."
|
|
409
409
|
type: string
|
|
410
410
|
path:
|
|
411
|
-
description: The pfn of the replica.
|
|
411
|
+
description: "The pfn of the replica."
|
|
412
412
|
type: string
|
|
413
413
|
error_message:
|
|
414
|
-
description: The error message if an error occurred.
|
|
414
|
+
description: "The error message if an error occurred."
|
|
415
415
|
type: string
|
|
416
416
|
broken_rule_id:
|
|
417
|
-
description: The id of the broken rule if one was found.
|
|
417
|
+
description: "The id of the broken rule if one was found."
|
|
418
418
|
type: string
|
|
419
419
|
broken_message:
|
|
420
|
-
description: The message of the broken rule.
|
|
420
|
+
description: "The message of the broken rule."
|
|
421
421
|
type: string
|
|
422
422
|
responses:
|
|
423
423
|
200:
|
|
424
|
-
description: OK
|
|
424
|
+
description: "OK"
|
|
425
425
|
400:
|
|
426
|
-
description: Cannot decode json parameter list
|
|
426
|
+
description: "Cannot decode json parameter list"
|
|
427
427
|
401:
|
|
428
|
-
description: Invalid Auth Token
|
|
428
|
+
description: "Invalid Auth Token"
|
|
429
429
|
"""
|
|
430
430
|
parameters = json_parameters(parse_response)
|
|
431
431
|
rse = param_get(parameters, 'rse')
|
|
@@ -442,7 +442,7 @@ class Replicas(ErrorHandlingMethodView):
|
|
|
442
442
|
"""
|
|
443
443
|
---
|
|
444
444
|
summary: Delete File Replicas
|
|
445
|
-
description: Delete file replicas at a given RSE.
|
|
445
|
+
description: "Delete file replicas at a given RSE."
|
|
446
446
|
tags:
|
|
447
447
|
- Replicas
|
|
448
448
|
requestBody:
|
|
@@ -455,10 +455,10 @@ class Replicas(ErrorHandlingMethodView):
|
|
|
455
455
|
- files
|
|
456
456
|
properties:
|
|
457
457
|
rse:
|
|
458
|
-
description: The rse name.
|
|
458
|
+
description: "The rse name."
|
|
459
459
|
type: string
|
|
460
460
|
files:
|
|
461
|
-
description: The files to delete.
|
|
461
|
+
description: "The files to delete."
|
|
462
462
|
type: array
|
|
463
463
|
items:
|
|
464
464
|
type: object
|
|
@@ -466,17 +466,17 @@ class Replicas(ErrorHandlingMethodView):
|
|
|
466
466
|
- name
|
|
467
467
|
properties:
|
|
468
468
|
name:
|
|
469
|
-
description: The name of the replica.
|
|
469
|
+
description: "The name of the replica."
|
|
470
470
|
type: string
|
|
471
471
|
responses:
|
|
472
472
|
200:
|
|
473
|
-
description: OK
|
|
473
|
+
description: "OK"
|
|
474
474
|
400:
|
|
475
|
-
description: Cannot decode json parameter list.
|
|
475
|
+
description: "Cannot decode json parameter list."
|
|
476
476
|
401:
|
|
477
|
-
description: Invalid Auth Token
|
|
477
|
+
description: "Invalid Auth Token"
|
|
478
478
|
404:
|
|
479
|
-
description: Rse or Replica not found
|
|
479
|
+
description: "Rse or Replica not found"
|
|
480
480
|
"""
|
|
481
481
|
parameters = json_parameters(parse_response)
|
|
482
482
|
rse = param_get(parameters, 'rse')
|
|
@@ -507,28 +507,28 @@ class ListReplicas(ErrorHandlingMethodView):
|
|
|
507
507
|
"""
|
|
508
508
|
---
|
|
509
509
|
summary: List Replicas
|
|
510
|
-
description: List all replicas for a DID.
|
|
510
|
+
description: "List all replicas for a DID."
|
|
511
511
|
tags:
|
|
512
512
|
- Replicas
|
|
513
513
|
parameters:
|
|
514
514
|
- name: X-Forwarded-For
|
|
515
515
|
in: header
|
|
516
|
-
description: The client ip address.
|
|
516
|
+
description: "The client ip address."
|
|
517
517
|
schema:
|
|
518
518
|
type: string
|
|
519
519
|
- name: limit
|
|
520
520
|
in: query
|
|
521
|
-
description: The maximum number pfns per replica to return.
|
|
521
|
+
description: "The maximum number pfns per replica to return."
|
|
522
522
|
schema:
|
|
523
523
|
type: integer
|
|
524
524
|
- name: select
|
|
525
525
|
in: query
|
|
526
|
-
description: Requested sorting of the result, e.g., 'geoip', 'random'.
|
|
526
|
+
description: "Requested sorting of the result, e.g., 'geoip', 'random'."
|
|
527
527
|
schema:
|
|
528
528
|
type: string
|
|
529
529
|
- name: sort
|
|
530
530
|
in: query
|
|
531
|
-
description: Requested sorting of the result, e.g., 'geoip', 'random'.
|
|
531
|
+
description: "Requested sorting of the result, e.g., 'geoip', 'random'."
|
|
532
532
|
schema:
|
|
533
533
|
type: string
|
|
534
534
|
requestBody:
|
|
@@ -538,62 +538,62 @@ class ListReplicas(ErrorHandlingMethodView):
|
|
|
538
538
|
type: object
|
|
539
539
|
properties:
|
|
540
540
|
client_location:
|
|
541
|
-
description: The
|
|
541
|
+
description: "The client's location."
|
|
542
542
|
type: string
|
|
543
543
|
dids:
|
|
544
|
-
description: List of Dids.
|
|
544
|
+
description: "List of Dids."
|
|
545
545
|
type: array
|
|
546
546
|
items:
|
|
547
547
|
type: object
|
|
548
548
|
properties:
|
|
549
549
|
scope:
|
|
550
|
-
description: The scope of the did.
|
|
550
|
+
description: "The scope of the did."
|
|
551
551
|
type: string
|
|
552
552
|
name:
|
|
553
|
-
description: The name of the did.
|
|
553
|
+
description: "The name of the did."
|
|
554
554
|
type: string
|
|
555
555
|
schemes:
|
|
556
|
-
description: A list of schemes to filter the replicas.
|
|
556
|
+
description: "A list of schemes to filter the replicas."
|
|
557
557
|
type: array
|
|
558
558
|
items:
|
|
559
559
|
type: string
|
|
560
560
|
sort:
|
|
561
|
-
description: Requested sorting of the result, e.g., 'geoip', 'random'.
|
|
561
|
+
description: "Requested sorting of the result, e.g., 'geoip', 'random'."
|
|
562
562
|
type: string
|
|
563
563
|
unavailable:
|
|
564
|
-
description: If unavailable rse should be considered.
|
|
564
|
+
description: "If unavailable rse should be considered."
|
|
565
565
|
type: boolean
|
|
566
566
|
deprecated: true
|
|
567
567
|
ignore_availability:
|
|
568
|
-
description: If the availability should be ignored.
|
|
568
|
+
description: "If the availability should be ignored."
|
|
569
569
|
type: boolean
|
|
570
570
|
rse_expression:
|
|
571
|
-
description: The RSE expression to restrict on a list of RSEs.
|
|
571
|
+
description: "The RSE expression to restrict on a list of RSEs."
|
|
572
572
|
type: string
|
|
573
573
|
all_states:
|
|
574
|
-
description: Return all replicas whatever state they are in. Adds an extra 'states' entry in the result dictionary.
|
|
574
|
+
description: "Return all replicas whatever state they are in. Adds an extra 'states' entry in the result dictionary."
|
|
575
575
|
type: boolean
|
|
576
576
|
domain:
|
|
577
|
-
description: The network domain for the call, either None, 'wan' or 'lan'. None is fallback to 'wan', 'all' is both ['lan','wan']
|
|
577
|
+
description: "The network domain for the call, either None, 'wan' or 'lan'. None is fallback to 'wan', 'all' is both ['lan','wan']"
|
|
578
578
|
type: string
|
|
579
579
|
signature_lifetime:
|
|
580
|
-
description: If supported, in seconds, restrict the lifetime of the signed PFN.
|
|
580
|
+
description: "If supported, in seconds, restrict the lifetime of the signed PFN."
|
|
581
581
|
type: integer
|
|
582
582
|
resolve_archives:
|
|
583
|
-
description:
|
|
583
|
+
description: "When set to True, find archives which contain the replicas."
|
|
584
584
|
type: boolean
|
|
585
585
|
resolve_parents:
|
|
586
|
-
description: When set to True, find all parent datasets which contain the replicas.
|
|
586
|
+
description: "When set to True, find all parent datasets which contain the replicas."
|
|
587
587
|
type: boolean
|
|
588
588
|
updated_after:
|
|
589
|
-
description: datetime object (UTC time), only return replicas updated after this time
|
|
589
|
+
description: "datetime object (UTC time), only return replicas updated after this time"
|
|
590
590
|
type: string
|
|
591
591
|
nrandom:
|
|
592
|
-
description: The maximum number of replicas to return.
|
|
592
|
+
description: "The maximum number of replicas to return."
|
|
593
593
|
type: integer
|
|
594
594
|
responses:
|
|
595
595
|
200:
|
|
596
|
-
description: OK
|
|
596
|
+
description: "OK"
|
|
597
597
|
content:
|
|
598
598
|
application/json:
|
|
599
599
|
schema:
|
|
@@ -602,59 +602,59 @@ class ListReplicas(ErrorHandlingMethodView):
|
|
|
602
602
|
type: object
|
|
603
603
|
properties:
|
|
604
604
|
scope:
|
|
605
|
-
description: The scope of the replica.
|
|
605
|
+
description: "The scope of the replica."
|
|
606
606
|
type: string
|
|
607
607
|
name:
|
|
608
|
-
description: The name of the replica.
|
|
608
|
+
description: "The name of the replica."
|
|
609
609
|
type: string
|
|
610
610
|
bytes:
|
|
611
|
-
description: The size of the replica in bytes.
|
|
611
|
+
description: "The size of the replica in bytes."
|
|
612
612
|
type: integer
|
|
613
613
|
md5:
|
|
614
|
-
description: The md5 checksum.
|
|
614
|
+
description: "The md5 checksum."
|
|
615
615
|
type: string
|
|
616
616
|
adler32:
|
|
617
|
-
description: The adler32 checksum.
|
|
617
|
+
description: "The adler32 checksum."
|
|
618
618
|
type: string
|
|
619
619
|
pfns:
|
|
620
|
-
description: The pfns.
|
|
620
|
+
description: "The pfns."
|
|
621
621
|
type: array
|
|
622
622
|
rses:
|
|
623
|
-
description: The RSESs.
|
|
623
|
+
description: "The RSESs."
|
|
624
624
|
type: array
|
|
625
625
|
application/metalink4+xml:
|
|
626
626
|
schema:
|
|
627
627
|
type: object
|
|
628
628
|
properties:
|
|
629
629
|
scope:
|
|
630
|
-
description: The scope of the replica.
|
|
630
|
+
description: "The scope of the replica."
|
|
631
631
|
type: string
|
|
632
632
|
name:
|
|
633
|
-
description: The name of the replica.
|
|
633
|
+
description: "The name of the replica."
|
|
634
634
|
type: string
|
|
635
635
|
bytes:
|
|
636
|
-
description: The size of the replica in bytes.
|
|
636
|
+
description: "The size of the replica in bytes."
|
|
637
637
|
type: integer
|
|
638
638
|
md5:
|
|
639
|
-
description: The md5 checksum.
|
|
639
|
+
description: "The md5 checksum."
|
|
640
640
|
type: string
|
|
641
641
|
adler32:
|
|
642
|
-
description: The adler32 checksum.
|
|
642
|
+
description: "The adler32 checksum."
|
|
643
643
|
type: string
|
|
644
644
|
pfns:
|
|
645
|
-
description: The pfns.
|
|
645
|
+
description: "The pfns."
|
|
646
646
|
type: array
|
|
647
647
|
rses:
|
|
648
|
-
description: The RSESs.
|
|
648
|
+
description: "The RSESs."
|
|
649
649
|
type: array
|
|
650
650
|
400:
|
|
651
|
-
description: Cannot decode json parameter list.
|
|
651
|
+
description: "Cannot decode json parameter list."
|
|
652
652
|
401:
|
|
653
|
-
description: Invalid Auth Token
|
|
653
|
+
description: "Invalid Auth Token"
|
|
654
654
|
404:
|
|
655
|
-
description: Did not found.
|
|
655
|
+
description: "Did not found."
|
|
656
656
|
406:
|
|
657
|
-
description: Not acceptable
|
|
657
|
+
description: "Not acceptable"
|
|
658
658
|
"""
|
|
659
659
|
content_type = request.accept_mimetypes.best_match(['application/x-json-stream', 'application/metalink4+xml'], 'application/x-json-stream')
|
|
660
660
|
metalink = (content_type == 'application/metalink4+xml')
|
|
@@ -765,7 +765,7 @@ class ReplicasDIDs(ErrorHandlingMethodView):
|
|
|
765
765
|
"""
|
|
766
766
|
---
|
|
767
767
|
summary: List Replicas Dids
|
|
768
|
-
description: List the DIDs associated to a list of replicas.
|
|
768
|
+
description: "List the DIDs associated to a list of replicas."
|
|
769
769
|
tags:
|
|
770
770
|
- Replicas
|
|
771
771
|
requestBody:
|
|
@@ -777,16 +777,16 @@ class ReplicasDIDs(ErrorHandlingMethodView):
|
|
|
777
777
|
- rse
|
|
778
778
|
properties:
|
|
779
779
|
pfns:
|
|
780
|
-
description: The list of pfns.
|
|
780
|
+
description: "The list of pfns."
|
|
781
781
|
type: array
|
|
782
782
|
items:
|
|
783
783
|
type: string
|
|
784
784
|
rse:
|
|
785
|
-
description: The RSE name.
|
|
785
|
+
description: "The RSE name."
|
|
786
786
|
type: string
|
|
787
787
|
responses:
|
|
788
788
|
200:
|
|
789
|
-
description: OK
|
|
789
|
+
description: "OK"
|
|
790
790
|
content:
|
|
791
791
|
application/x-json-stream:
|
|
792
792
|
schema:
|
|
@@ -795,23 +795,23 @@ class ReplicasDIDs(ErrorHandlingMethodView):
|
|
|
795
795
|
type: object
|
|
796
796
|
additionalProperties:
|
|
797
797
|
x-additionalPropertiesName: mapped PFNs to DIDs
|
|
798
|
-
description: A mapping from a pfn to a did.
|
|
798
|
+
description: "A mapping from a pfn to a did."
|
|
799
799
|
type: object
|
|
800
800
|
properties:
|
|
801
801
|
scope:
|
|
802
|
-
description: The scope of the DID.
|
|
802
|
+
description: "The scope of the DID."
|
|
803
803
|
type: string
|
|
804
804
|
name:
|
|
805
|
-
description: The name of the DID.
|
|
805
|
+
description: "The name of the DID."
|
|
806
806
|
type: string
|
|
807
807
|
400:
|
|
808
|
-
description: Cannot decode json parameter list.
|
|
808
|
+
description: "Cannot decode json parameter list."
|
|
809
809
|
401:
|
|
810
|
-
description: Invalid Auth Token
|
|
810
|
+
description: "Invalid Auth Token"
|
|
811
811
|
404:
|
|
812
|
-
description: Not found
|
|
812
|
+
description: "Not found"
|
|
813
813
|
406:
|
|
814
|
-
description: Not acceptable
|
|
814
|
+
description: "Not acceptable"
|
|
815
815
|
"""
|
|
816
816
|
parameters = json_parameters()
|
|
817
817
|
pfns = param_get(parameters, 'pfns', default=[])
|
|
@@ -834,7 +834,7 @@ class BadReplicas(ErrorHandlingMethodView):
|
|
|
834
834
|
"""
|
|
835
835
|
---
|
|
836
836
|
summary: Declare Bad Replicas
|
|
837
|
-
description: Declares a list of bad replicas.
|
|
837
|
+
description: "Declares a list of bad replicas."
|
|
838
838
|
tags:
|
|
839
839
|
- Replicas
|
|
840
840
|
requestBody:
|
|
@@ -844,36 +844,36 @@ class BadReplicas(ErrorHandlingMethodView):
|
|
|
844
844
|
type: object
|
|
845
845
|
properties:
|
|
846
846
|
replicas:
|
|
847
|
-
description: The list of pfns or list of dicts with
|
|
847
|
+
description: "The list of pfns or list of dicts with 'scope', 'name', 'rse_id'/'rse'"
|
|
848
848
|
type: array
|
|
849
849
|
items:
|
|
850
850
|
type: string
|
|
851
851
|
pfns:
|
|
852
852
|
deprecated: true
|
|
853
|
-
description: The list of pfns, for backward compatibility with older versions of the ReplicaClient
|
|
853
|
+
description: "The list of pfns, for backward compatibility with older versions of the ReplicaClient"
|
|
854
854
|
type: array
|
|
855
855
|
items:
|
|
856
856
|
type: string
|
|
857
857
|
reason:
|
|
858
|
-
description: The reason for the declaration.
|
|
858
|
+
description: "The reason for the declaration."
|
|
859
859
|
type: string
|
|
860
860
|
force:
|
|
861
|
-
description: If true, ignore existing replica status in the bad_replicas table.
|
|
861
|
+
description: "If true, ignore existing replica status in the bad_replicas table."
|
|
862
862
|
type: boolean
|
|
863
863
|
responses:
|
|
864
864
|
201:
|
|
865
|
-
description: OK
|
|
865
|
+
description: "OK"
|
|
866
866
|
content:
|
|
867
867
|
application/json:
|
|
868
868
|
schema:
|
|
869
|
-
description: Returns the not declared files.
|
|
869
|
+
description: "Returns the not declared files."
|
|
870
870
|
type: array
|
|
871
871
|
400:
|
|
872
|
-
description: Can not decode json parameter list.
|
|
872
|
+
description: "Can not decode json parameter list."
|
|
873
873
|
404:
|
|
874
|
-
description: Not found
|
|
874
|
+
description: "Not found"
|
|
875
875
|
406:
|
|
876
|
-
description: Not acceptable
|
|
876
|
+
description: "Not acceptable"
|
|
877
877
|
"""
|
|
878
878
|
parameters = json_parameters()
|
|
879
879
|
replicas = param_get(parameters, 'replicas', default=[]) or param_get(parameters, 'pfns', default=[])
|
|
@@ -897,7 +897,7 @@ class QuarantineReplicas(ErrorHandlingMethodView):
|
|
|
897
897
|
"""
|
|
898
898
|
---
|
|
899
899
|
summary: Quarantine replicas
|
|
900
|
-
description: Quarantine replicas.
|
|
900
|
+
description: "Quarantine replicas."
|
|
901
901
|
tags:
|
|
902
902
|
- Replicas
|
|
903
903
|
requestBody:
|
|
@@ -909,7 +909,7 @@ class QuarantineReplicas(ErrorHandlingMethodView):
|
|
|
909
909
|
- replicas
|
|
910
910
|
properties:
|
|
911
911
|
replicas:
|
|
912
|
-
description: replicas
|
|
912
|
+
description: "replicas"
|
|
913
913
|
type: array
|
|
914
914
|
items:
|
|
915
915
|
type: object
|
|
@@ -917,27 +917,27 @@ class QuarantineReplicas(ErrorHandlingMethodView):
|
|
|
917
917
|
- path
|
|
918
918
|
properties:
|
|
919
919
|
path:
|
|
920
|
-
description: path
|
|
920
|
+
description: "path"
|
|
921
921
|
type: string
|
|
922
922
|
scope:
|
|
923
|
-
description: scope
|
|
923
|
+
description: "scope"
|
|
924
924
|
type: string
|
|
925
925
|
name:
|
|
926
|
-
description: name
|
|
926
|
+
description: "name"
|
|
927
927
|
type: string
|
|
928
928
|
rse:
|
|
929
|
-
description: RSE name
|
|
929
|
+
description: "RSE name"
|
|
930
930
|
type: string
|
|
931
931
|
rse_id:
|
|
932
|
-
description: RSE id
|
|
932
|
+
description: "RSE id"
|
|
933
933
|
type: string
|
|
934
934
|
responses:
|
|
935
935
|
200:
|
|
936
|
-
description: OK
|
|
936
|
+
description: "OK"
|
|
937
937
|
403:
|
|
938
|
-
description: Forbidden.
|
|
938
|
+
description: "Forbidden."
|
|
939
939
|
404:
|
|
940
|
-
description: Not found
|
|
940
|
+
description: "Not found"
|
|
941
941
|
"""
|
|
942
942
|
|
|
943
943
|
parameters = json_parameters()
|
|
@@ -965,7 +965,7 @@ class SuspiciousReplicas(ErrorHandlingMethodView):
|
|
|
965
965
|
"""
|
|
966
966
|
---
|
|
967
967
|
summary: Declare Suspicious Replicas
|
|
968
|
-
description: Declare a list of suspicious replicas.
|
|
968
|
+
description: "Declare a list of suspicious replicas."
|
|
969
969
|
tags:
|
|
970
970
|
- Replicas
|
|
971
971
|
requestBody:
|
|
@@ -975,27 +975,27 @@ class SuspiciousReplicas(ErrorHandlingMethodView):
|
|
|
975
975
|
type: object
|
|
976
976
|
properties:
|
|
977
977
|
pfns:
|
|
978
|
-
description: The list of pfns.
|
|
978
|
+
description: "The list of pfns."
|
|
979
979
|
type: array
|
|
980
980
|
items:
|
|
981
981
|
type: string
|
|
982
982
|
reason:
|
|
983
|
-
description: The reason for the declaration.
|
|
983
|
+
description: "The reason for the declaration."
|
|
984
984
|
type: string
|
|
985
985
|
responses:
|
|
986
986
|
201:
|
|
987
|
-
description: OK
|
|
987
|
+
description: "OK"
|
|
988
988
|
content:
|
|
989
989
|
application/json:
|
|
990
990
|
schema:
|
|
991
|
-
description: Returns the not declared files.
|
|
991
|
+
description: "Returns the not declared files."
|
|
992
992
|
type: array
|
|
993
993
|
400:
|
|
994
|
-
description: Can not decode json parameter list.
|
|
994
|
+
description: "Can not decode json parameter list."
|
|
995
995
|
404:
|
|
996
|
-
description: Not found
|
|
996
|
+
description: "Not found"
|
|
997
997
|
406:
|
|
998
|
-
description: Not acceptable
|
|
998
|
+
description: "Not acceptable"
|
|
999
999
|
"""
|
|
1000
1000
|
parameters = json_parameters(parse_response)
|
|
1001
1001
|
pfns = param_get(parameters, 'pfns', default=[])
|
|
@@ -1012,28 +1012,28 @@ class SuspiciousReplicas(ErrorHandlingMethodView):
|
|
|
1012
1012
|
"""
|
|
1013
1013
|
---
|
|
1014
1014
|
summary: List Suspicious Replicas
|
|
1015
|
-
description: List the suspicious replicas on a list of RSEs.
|
|
1015
|
+
description: "List the suspicious replicas on a list of RSEs."
|
|
1016
1016
|
tags:
|
|
1017
1017
|
- Replicas
|
|
1018
1018
|
parameters:
|
|
1019
1019
|
- name: rse_expression
|
|
1020
1020
|
in: query
|
|
1021
|
-
description: The RSE expression to filter for.
|
|
1021
|
+
description: "The RSE expression to filter for."
|
|
1022
1022
|
schema:
|
|
1023
1023
|
type: string
|
|
1024
1024
|
- name: younger_than
|
|
1025
1025
|
in: query
|
|
1026
|
-
description: Date to filter for.
|
|
1026
|
+
description: "Date to filter for."
|
|
1027
1027
|
schema:
|
|
1028
1028
|
type: string
|
|
1029
1029
|
- name: nattempts
|
|
1030
1030
|
in: query
|
|
1031
|
-
description: The maximum number of attempts to make.
|
|
1031
|
+
description: "The maximum number of attempts to make."
|
|
1032
1032
|
schema:
|
|
1033
1033
|
type: integer
|
|
1034
1034
|
responses:
|
|
1035
1035
|
200:
|
|
1036
|
-
description: OK
|
|
1036
|
+
description: "OK"
|
|
1037
1037
|
content:
|
|
1038
1038
|
application/json:
|
|
1039
1039
|
schema:
|
|
@@ -1042,29 +1042,29 @@ class SuspiciousReplicas(ErrorHandlingMethodView):
|
|
|
1042
1042
|
type: object
|
|
1043
1043
|
properties:
|
|
1044
1044
|
scope:
|
|
1045
|
-
description: The scope of the Replica.
|
|
1045
|
+
description: "The scope of the Replica."
|
|
1046
1046
|
type: string
|
|
1047
1047
|
name:
|
|
1048
|
-
description: The name of the Replica.
|
|
1048
|
+
description: "The name of the Replica."
|
|
1049
1049
|
type: string
|
|
1050
1050
|
rse:
|
|
1051
|
-
description: The rse name.
|
|
1051
|
+
description: "The rse name."
|
|
1052
1052
|
type: string
|
|
1053
1053
|
rse_id:
|
|
1054
|
-
description: The id of the rse.
|
|
1054
|
+
description: "The id of the rse."
|
|
1055
1055
|
type: string
|
|
1056
1056
|
cnt:
|
|
1057
|
-
description: The number of replicas.
|
|
1057
|
+
description: "The number of replicas."
|
|
1058
1058
|
type: integer
|
|
1059
1059
|
created_at:
|
|
1060
|
-
description: The time when the replica was created.
|
|
1060
|
+
description: "The time when the replica was created."
|
|
1061
1061
|
type: string
|
|
1062
1062
|
401:
|
|
1063
|
-
description: Invalid Auth Token
|
|
1063
|
+
description: "Invalid Auth Token"
|
|
1064
1064
|
404:
|
|
1065
|
-
description: Not found
|
|
1065
|
+
description: "Not found"
|
|
1066
1066
|
406:
|
|
1067
|
-
description: Not acceptable
|
|
1067
|
+
description: "Not acceptable"
|
|
1068
1068
|
"""
|
|
1069
1069
|
rse_expression, younger_than, nattempts = None, None, None
|
|
1070
1070
|
if request.query_string:
|
|
@@ -1092,93 +1092,93 @@ class BadReplicasStates(ErrorHandlingMethodView):
|
|
|
1092
1092
|
"""
|
|
1093
1093
|
---
|
|
1094
1094
|
summary: List Bad Replicas By States
|
|
1095
|
-
description: List the bad or suspicious replicas by states.
|
|
1095
|
+
description: "List the bad or suspicious replicas by states."
|
|
1096
1096
|
tags:
|
|
1097
1097
|
- Replicas
|
|
1098
1098
|
parameters:
|
|
1099
1099
|
- name: state
|
|
1100
1100
|
in: query
|
|
1101
|
-
description: The state of the file.
|
|
1101
|
+
description: "The state of the file."
|
|
1102
1102
|
schema:
|
|
1103
1103
|
type: string
|
|
1104
1104
|
enum: [SUSPICIOUS, BAD]
|
|
1105
1105
|
- name: rse
|
|
1106
1106
|
in: query
|
|
1107
|
-
description: The rse name.
|
|
1107
|
+
description: "The rse name."
|
|
1108
1108
|
schema:
|
|
1109
1109
|
type: string
|
|
1110
1110
|
- name: younger_than
|
|
1111
1111
|
in: query
|
|
1112
|
-
description: Date to select bad replicas younger than this date.
|
|
1112
|
+
description: "Date to select bad replicas younger than this date."
|
|
1113
1113
|
schema:
|
|
1114
1114
|
type: string
|
|
1115
1115
|
format: date-time
|
|
1116
1116
|
- name: older_than
|
|
1117
1117
|
in: query
|
|
1118
|
-
description: Date to select bad replicas older than this date.
|
|
1118
|
+
description: "Date to select bad replicas older than this date."
|
|
1119
1119
|
schema:
|
|
1120
1120
|
type: string
|
|
1121
1121
|
format: date-time
|
|
1122
1122
|
- name: limit
|
|
1123
1123
|
in: query
|
|
1124
|
-
description: The maximum number of replicas returned.
|
|
1124
|
+
description: "The maximum number of replicas returned."
|
|
1125
1125
|
schema:
|
|
1126
1126
|
type: integer
|
|
1127
1127
|
- name: list_pfns
|
|
1128
1128
|
in: query
|
|
1129
|
-
description: Flag to include pfns.
|
|
1129
|
+
description: "Flag to include pfns."
|
|
1130
1130
|
schema:
|
|
1131
1131
|
type: boolean
|
|
1132
1132
|
responses:
|
|
1133
1133
|
200:
|
|
1134
|
-
description: OK
|
|
1134
|
+
description: "OK"
|
|
1135
1135
|
content:
|
|
1136
1136
|
application/x-json-stream:
|
|
1137
1137
|
schema:
|
|
1138
|
-
description: A list of all result replicas.
|
|
1138
|
+
description: "A list of all result replicas."
|
|
1139
1139
|
type: array
|
|
1140
1140
|
items:
|
|
1141
1141
|
oneOf:
|
|
1142
1142
|
- type: object
|
|
1143
1143
|
properties:
|
|
1144
1144
|
scope:
|
|
1145
|
-
description: The scope of the replica.
|
|
1145
|
+
description: "The scope of the replica."
|
|
1146
1146
|
type: string
|
|
1147
1147
|
name:
|
|
1148
|
-
description: The name of the replica.
|
|
1148
|
+
description: "The name of the replica."
|
|
1149
1149
|
type: string
|
|
1150
1150
|
type:
|
|
1151
|
-
description: The type of the replica.
|
|
1151
|
+
description: "The type of the replica."
|
|
1152
1152
|
type: string
|
|
1153
1153
|
- type: object
|
|
1154
1154
|
properties:
|
|
1155
1155
|
scope:
|
|
1156
|
-
description: The scope of the replica.
|
|
1156
|
+
description: "The scope of the replica."
|
|
1157
1157
|
type: string
|
|
1158
1158
|
name:
|
|
1159
|
-
description: The name of the replica.
|
|
1159
|
+
description: "The name of the replica."
|
|
1160
1160
|
type: string
|
|
1161
1161
|
rse:
|
|
1162
|
-
description: The name of the associated rse.
|
|
1162
|
+
description: "The name of the associated rse."
|
|
1163
1163
|
type: string
|
|
1164
1164
|
rse_id:
|
|
1165
|
-
description: The id of the associated rse.
|
|
1165
|
+
description: "The id of the associated rse."
|
|
1166
1166
|
type: string
|
|
1167
1167
|
state:
|
|
1168
|
-
description: The state of the replica.
|
|
1168
|
+
description: "The state of the replica."
|
|
1169
1169
|
type: string
|
|
1170
1170
|
created_at:
|
|
1171
|
-
description: The date-time the replica was created.
|
|
1171
|
+
description: "The date-time the replica was created."
|
|
1172
1172
|
type: string
|
|
1173
1173
|
format: date-time
|
|
1174
1174
|
updated_at:
|
|
1175
|
-
description: The date-time the replica was updated.
|
|
1175
|
+
description: "The date-time the replica was updated."
|
|
1176
1176
|
type: string
|
|
1177
1177
|
format: date-time
|
|
1178
1178
|
401:
|
|
1179
|
-
description: Invalid Auth Token
|
|
1179
|
+
description: "Invalid Auth Token"
|
|
1180
1180
|
406:
|
|
1181
|
-
description: Not acceptable
|
|
1181
|
+
description: "Not acceptable"
|
|
1182
1182
|
"""
|
|
1183
1183
|
list_pfns = False
|
|
1184
1184
|
state, rse, younger_than, older_than, limit = None, None, None, None, None
|
|
@@ -1219,55 +1219,55 @@ class BadReplicasSummary(ErrorHandlingMethodView):
|
|
|
1219
1219
|
"""
|
|
1220
1220
|
---
|
|
1221
1221
|
summary: Bad Replicas Summary
|
|
1222
|
-
description: Return a summary of the bad replicas by incident.
|
|
1222
|
+
description: "Return a summary of the bad replicas by incident."
|
|
1223
1223
|
tags:
|
|
1224
1224
|
- Replicas
|
|
1225
1225
|
parameters:
|
|
1226
1226
|
- name: rse_expression
|
|
1227
1227
|
in: query
|
|
1228
|
-
description: The RSE expression.
|
|
1228
|
+
description: "The RSE expression."
|
|
1229
1229
|
schema:
|
|
1230
1230
|
type: string
|
|
1231
1231
|
- name: from_date
|
|
1232
1232
|
in: query
|
|
1233
|
-
description: The start date.
|
|
1233
|
+
description: "The start date."
|
|
1234
1234
|
schema:
|
|
1235
1235
|
type: string
|
|
1236
1236
|
format: date-time
|
|
1237
1237
|
- name: to_date
|
|
1238
1238
|
in: query
|
|
1239
|
-
description: The end date.
|
|
1239
|
+
description: "The end date."
|
|
1240
1240
|
schema:
|
|
1241
1241
|
type: string
|
|
1242
1242
|
format: date-time
|
|
1243
1243
|
responses:
|
|
1244
1244
|
200:
|
|
1245
|
-
description: OK
|
|
1245
|
+
description: "OK"
|
|
1246
1246
|
content:
|
|
1247
1247
|
application/x-json-stream:
|
|
1248
1248
|
schema:
|
|
1249
|
-
description: A list of summaries.
|
|
1249
|
+
description: "A list of summaries."
|
|
1250
1250
|
type: array
|
|
1251
1251
|
items:
|
|
1252
1252
|
type: object
|
|
1253
1253
|
properties:
|
|
1254
1254
|
rse:
|
|
1255
|
-
description: The name of the associated RSE.
|
|
1255
|
+
description: "The name of the associated RSE."
|
|
1256
1256
|
type: string
|
|
1257
1257
|
rse_id:
|
|
1258
|
-
description: The id of the associated RSE.
|
|
1258
|
+
description: "The id of the associated RSE."
|
|
1259
1259
|
type: string
|
|
1260
1260
|
created_at:
|
|
1261
|
-
description: The creation date-time.
|
|
1261
|
+
description: "The creation date-time."
|
|
1262
1262
|
type: string
|
|
1263
1263
|
format: date-time
|
|
1264
1264
|
reason:
|
|
1265
|
-
description: The reason for the incident.
|
|
1265
|
+
description: "The reason for the incident."
|
|
1266
1266
|
type: string
|
|
1267
1267
|
401:
|
|
1268
|
-
description: Invalid Auth Token
|
|
1268
|
+
description: "Invalid Auth Token"
|
|
1269
1269
|
406:
|
|
1270
|
-
description: Not acceptable
|
|
1270
|
+
description: "Not acceptable"
|
|
1271
1271
|
"""
|
|
1272
1272
|
rse_expression, from_date, to_date = None, None, None
|
|
1273
1273
|
if request.query_string:
|
|
@@ -1298,77 +1298,77 @@ class DatasetReplicas(ErrorHandlingMethodView):
|
|
|
1298
1298
|
"""
|
|
1299
1299
|
---
|
|
1300
1300
|
summary: List Dataset Replicas
|
|
1301
|
-
description: List dataset replicas.
|
|
1301
|
+
description: "List dataset replicas."
|
|
1302
1302
|
tags:
|
|
1303
1303
|
- Replicas
|
|
1304
1304
|
parameters:
|
|
1305
1305
|
- name: scope_name
|
|
1306
1306
|
in: path
|
|
1307
|
-
description: data identifier (scope)/(name).
|
|
1307
|
+
description: "data identifier (scope)/(name)."
|
|
1308
1308
|
schema:
|
|
1309
1309
|
type: string
|
|
1310
1310
|
style: simple
|
|
1311
1311
|
- name: deep
|
|
1312
1312
|
in: query
|
|
1313
|
-
description: Flag to
|
|
1313
|
+
description: "Flag to enable lookup at the file level."
|
|
1314
1314
|
schema:
|
|
1315
1315
|
type: boolean
|
|
1316
1316
|
responses:
|
|
1317
1317
|
200:
|
|
1318
|
-
description: OK
|
|
1318
|
+
description: "OK"
|
|
1319
1319
|
content:
|
|
1320
1320
|
application/x-json-stream:
|
|
1321
1321
|
schema:
|
|
1322
|
-
description: A list of dataset replicas.
|
|
1322
|
+
description: "A list of dataset replicas."
|
|
1323
1323
|
type: array
|
|
1324
1324
|
items:
|
|
1325
1325
|
type: object
|
|
1326
1326
|
properties:
|
|
1327
1327
|
scope:
|
|
1328
|
-
description: The scope of the replica.
|
|
1328
|
+
description: "The scope of the replica."
|
|
1329
1329
|
type: string
|
|
1330
1330
|
name:
|
|
1331
|
-
description: The name of the replica.
|
|
1331
|
+
description: "The name of the replica."
|
|
1332
1332
|
type: string
|
|
1333
1333
|
rse:
|
|
1334
|
-
description: The name of the associated RSE.
|
|
1334
|
+
description: "The name of the associated RSE."
|
|
1335
1335
|
type: string
|
|
1336
1336
|
rse_id:
|
|
1337
|
-
description: The id of the associated RSE.
|
|
1337
|
+
description: "The id of the associated RSE."
|
|
1338
1338
|
type: string
|
|
1339
1339
|
bytes:
|
|
1340
|
-
description: The size of the replica.
|
|
1340
|
+
description: "The size of the replica."
|
|
1341
1341
|
type: integer
|
|
1342
1342
|
length:
|
|
1343
|
-
description: The length of the replica.
|
|
1343
|
+
description: "The length of the replica."
|
|
1344
1344
|
type: integer
|
|
1345
1345
|
available_bytes:
|
|
1346
|
-
description: The number of available bytes of the replica.
|
|
1346
|
+
description: "The number of available bytes of the replica."
|
|
1347
1347
|
type: integer
|
|
1348
1348
|
available_length:
|
|
1349
|
-
description: The available length of the replica.
|
|
1349
|
+
description: "The available length of the replica."
|
|
1350
1350
|
type: integer
|
|
1351
1351
|
state:
|
|
1352
|
-
description: The state of the replica.
|
|
1352
|
+
description: "The state of the replica."
|
|
1353
1353
|
type: string
|
|
1354
1354
|
created_at:
|
|
1355
|
-
description: The date-time the replica was created.
|
|
1355
|
+
description: "The date-time the replica was created."
|
|
1356
1356
|
type: string
|
|
1357
1357
|
format: date-time
|
|
1358
1358
|
updated_at:
|
|
1359
|
-
description: The date-time the replica was updated.
|
|
1359
|
+
description: "The date-time the replica was updated."
|
|
1360
1360
|
type: string
|
|
1361
1361
|
format: date-time
|
|
1362
1362
|
accessed_at:
|
|
1363
|
-
description: The date-time the replica was accessed.
|
|
1363
|
+
description: "The date-time the replica was accessed."
|
|
1364
1364
|
type: string
|
|
1365
1365
|
format: date-time
|
|
1366
1366
|
401:
|
|
1367
|
-
description: Invalid Auth Token
|
|
1367
|
+
description: "Invalid Auth Token"
|
|
1368
1368
|
404:
|
|
1369
|
-
description: Not found
|
|
1369
|
+
description: "Not found"
|
|
1370
1370
|
406:
|
|
1371
|
-
description: Not acceptable
|
|
1371
|
+
description: "Not acceptable"
|
|
1372
1372
|
"""
|
|
1373
1373
|
try:
|
|
1374
1374
|
scope, name = parse_scope_name(scope_name, request.environ['vo'])
|
|
@@ -1391,7 +1391,7 @@ class DatasetReplicasBulk(ErrorHandlingMethodView):
|
|
|
1391
1391
|
"""
|
|
1392
1392
|
---
|
|
1393
1393
|
summary: List Dataset Replicas for Multiple DIDs
|
|
1394
|
-
description: List dataset replicas for multiple dids.
|
|
1394
|
+
description: "List dataset replicas for multiple dids."
|
|
1395
1395
|
tags:
|
|
1396
1396
|
- Replicas
|
|
1397
1397
|
requestBody:
|
|
@@ -1403,76 +1403,76 @@ class DatasetReplicasBulk(ErrorHandlingMethodView):
|
|
|
1403
1403
|
- dids
|
|
1404
1404
|
properties:
|
|
1405
1405
|
dids:
|
|
1406
|
-
description: A list of dids.
|
|
1406
|
+
description: "A list of dids."
|
|
1407
1407
|
type: array
|
|
1408
1408
|
items:
|
|
1409
|
-
description: A did.
|
|
1409
|
+
description: "A did."
|
|
1410
1410
|
type: object
|
|
1411
1411
|
properties:
|
|
1412
1412
|
scope:
|
|
1413
|
-
description: The scope of the did.
|
|
1413
|
+
description: "The scope of the did."
|
|
1414
1414
|
type: string
|
|
1415
1415
|
name:
|
|
1416
|
-
description: The name of the did.
|
|
1416
|
+
description: "The name of the did."
|
|
1417
1417
|
type: string
|
|
1418
1418
|
responses:
|
|
1419
1419
|
200:
|
|
1420
|
-
description: OK
|
|
1420
|
+
description: "OK"
|
|
1421
1421
|
content:
|
|
1422
1422
|
application/x-json-stream:
|
|
1423
1423
|
schema:
|
|
1424
|
-
description: A list of dataset replicas.
|
|
1424
|
+
description: "A list of dataset replicas."
|
|
1425
1425
|
type: array
|
|
1426
1426
|
items:
|
|
1427
1427
|
type: object
|
|
1428
1428
|
properties:
|
|
1429
1429
|
scope:
|
|
1430
|
-
description: The scope of the replica.
|
|
1430
|
+
description: "The scope of the replica."
|
|
1431
1431
|
type: string
|
|
1432
1432
|
name:
|
|
1433
|
-
description: The name of the replica.
|
|
1433
|
+
description: "The name of the replica."
|
|
1434
1434
|
type: string
|
|
1435
1435
|
rse:
|
|
1436
|
-
description: The name of the associated RSE.
|
|
1436
|
+
description: "The name of the associated RSE."
|
|
1437
1437
|
type: string
|
|
1438
1438
|
rse_id:
|
|
1439
|
-
description: The id of the associated RSE.
|
|
1439
|
+
description: "The id of the associated RSE."
|
|
1440
1440
|
type: string
|
|
1441
1441
|
bytes:
|
|
1442
|
-
description: The size of the replica.
|
|
1442
|
+
description: "The size of the replica."
|
|
1443
1443
|
type: integer
|
|
1444
1444
|
length:
|
|
1445
|
-
description: The length of the replica.
|
|
1445
|
+
description: "The length of the replica."
|
|
1446
1446
|
type: integer
|
|
1447
1447
|
available_bytes:
|
|
1448
|
-
description: The number of available bytes of the replica.
|
|
1448
|
+
description: "The number of available bytes of the replica."
|
|
1449
1449
|
type: integer
|
|
1450
1450
|
available_length:
|
|
1451
|
-
description: The available length of the replica.
|
|
1451
|
+
description: "The available length of the replica."
|
|
1452
1452
|
type: integer
|
|
1453
1453
|
state:
|
|
1454
|
-
description: The state of the replica.
|
|
1454
|
+
description: "The state of the replica."
|
|
1455
1455
|
type: string
|
|
1456
1456
|
created_at:
|
|
1457
|
-
description: The date-time the replica was created.
|
|
1457
|
+
description: "The date-time the replica was created."
|
|
1458
1458
|
type: string
|
|
1459
1459
|
format: date-time
|
|
1460
1460
|
updated_at:
|
|
1461
|
-
description: The date-time the replica was updated.
|
|
1461
|
+
description: "The date-time the replica was updated."
|
|
1462
1462
|
type: string
|
|
1463
1463
|
format: date-time
|
|
1464
1464
|
accessed_at:
|
|
1465
|
-
description: The date-time the replica was accessed.
|
|
1465
|
+
description: "The date-time the replica was accessed."
|
|
1466
1466
|
type: string
|
|
1467
1467
|
format: date-time
|
|
1468
1468
|
400:
|
|
1469
|
-
description: Bad Request.
|
|
1469
|
+
description: "Bad Request."
|
|
1470
1470
|
401:
|
|
1471
|
-
description: Invalid Auth Token
|
|
1471
|
+
description: "Invalid Auth Token"
|
|
1472
1472
|
404:
|
|
1473
|
-
description: Not found
|
|
1473
|
+
description: "Not found"
|
|
1474
1474
|
406:
|
|
1475
|
-
description: Not acceptable
|
|
1475
|
+
description: "Not acceptable"
|
|
1476
1476
|
"""
|
|
1477
1477
|
parameters = json_parameters(parse_response)
|
|
1478
1478
|
dids = param_get(parameters, 'dids')
|
|
@@ -1503,22 +1503,22 @@ class DatasetReplicasVP(ErrorHandlingMethodView):
|
|
|
1503
1503
|
parameters:
|
|
1504
1504
|
- name: scope_name
|
|
1505
1505
|
in: path
|
|
1506
|
-
description: data identifier (scope)/(name).
|
|
1506
|
+
description: "data identifier (scope)/(name)."
|
|
1507
1507
|
schema:
|
|
1508
1508
|
type: string
|
|
1509
1509
|
style: simple
|
|
1510
1510
|
- name: deep
|
|
1511
1511
|
in: query
|
|
1512
|
-
description: Flag to ennable lookup at the file level.
|
|
1512
|
+
description: "Flag to ennable lookup at the file level."
|
|
1513
1513
|
schema:
|
|
1514
1514
|
type: boolean
|
|
1515
1515
|
responses:
|
|
1516
1516
|
200:
|
|
1517
|
-
description: OK. This needs documentation!
|
|
1517
|
+
description: "OK. This needs documentation!"
|
|
1518
1518
|
401:
|
|
1519
|
-
description: Invalid Auth Token
|
|
1519
|
+
description: "Invalid Auth Token"
|
|
1520
1520
|
406:
|
|
1521
|
-
description: Not acceptable
|
|
1521
|
+
description: "Not acceptable"
|
|
1522
1522
|
"""
|
|
1523
1523
|
try:
|
|
1524
1524
|
scope, name = parse_scope_name(scope_name, request.environ['vo'])
|
|
@@ -1541,70 +1541,70 @@ class ReplicasRSE(ErrorHandlingMethodView):
|
|
|
1541
1541
|
"""
|
|
1542
1542
|
---
|
|
1543
1543
|
summary: List Dataset Replicas per RSE
|
|
1544
|
-
description: List dataset replicas per RSE.
|
|
1544
|
+
description: "List dataset replicas per RSE."
|
|
1545
1545
|
tags:
|
|
1546
1546
|
- Replicas
|
|
1547
1547
|
parameters:
|
|
1548
1548
|
- name: rse
|
|
1549
1549
|
in: path
|
|
1550
|
-
description: The rse to filter for.
|
|
1550
|
+
description: "The rse to filter for."
|
|
1551
1551
|
schema:
|
|
1552
1552
|
type: string
|
|
1553
1553
|
style: simple
|
|
1554
1554
|
responses:
|
|
1555
1555
|
200:
|
|
1556
|
-
description: OK
|
|
1556
|
+
description: "OK"
|
|
1557
1557
|
content:
|
|
1558
1558
|
application/x-json-stream:
|
|
1559
1559
|
schema:
|
|
1560
|
-
description: A list of dataset replicas.
|
|
1560
|
+
description: "A list of dataset replicas."
|
|
1561
1561
|
type: array
|
|
1562
1562
|
items:
|
|
1563
1563
|
type: object
|
|
1564
1564
|
properties:
|
|
1565
1565
|
scope:
|
|
1566
|
-
description: The scope of the replica.
|
|
1566
|
+
description: "The scope of the replica."
|
|
1567
1567
|
type: string
|
|
1568
1568
|
name:
|
|
1569
|
-
description: The name of the replica.
|
|
1569
|
+
description: "The name of the replica."
|
|
1570
1570
|
type: string
|
|
1571
1571
|
rse:
|
|
1572
|
-
description: The name of the associated RSE.
|
|
1572
|
+
description: "The name of the associated RSE."
|
|
1573
1573
|
type: string
|
|
1574
1574
|
rse_id:
|
|
1575
|
-
description: The id of the associated RSE.
|
|
1575
|
+
description: "The id of the associated RSE."
|
|
1576
1576
|
type: string
|
|
1577
1577
|
bytes:
|
|
1578
|
-
description: The size of the replica.
|
|
1578
|
+
description: "The size of the replica."
|
|
1579
1579
|
type: integer
|
|
1580
1580
|
length:
|
|
1581
|
-
description: The length of the replica.
|
|
1581
|
+
description: "The length of the replica."
|
|
1582
1582
|
type: integer
|
|
1583
1583
|
available_bytes:
|
|
1584
|
-
description: The number of available bytes of the replica.
|
|
1584
|
+
description: "The number of available bytes of the replica."
|
|
1585
1585
|
type: integer
|
|
1586
1586
|
available_length:
|
|
1587
|
-
description: The available length of the replica.
|
|
1587
|
+
description: "The available length of the replica."
|
|
1588
1588
|
type: integer
|
|
1589
1589
|
state:
|
|
1590
|
-
description: The state of the replica.
|
|
1590
|
+
description: "The state of the replica."
|
|
1591
1591
|
type: string
|
|
1592
1592
|
created_at:
|
|
1593
|
-
description: The date-time the replica was created.
|
|
1593
|
+
description: "The date-time the replica was created."
|
|
1594
1594
|
type: string
|
|
1595
1595
|
format: date-time
|
|
1596
1596
|
updated_at:
|
|
1597
|
-
description: The date-time the replica was updated.
|
|
1597
|
+
description: "The date-time the replica was updated."
|
|
1598
1598
|
type: string
|
|
1599
1599
|
format: date-time
|
|
1600
1600
|
accessed_at:
|
|
1601
|
-
description: The date-time the replica was accessed.
|
|
1601
|
+
description: "The date-time the replica was accessed."
|
|
1602
1602
|
type: string
|
|
1603
1603
|
format: date-time
|
|
1604
1604
|
401:
|
|
1605
|
-
description: Invalid Auth Token
|
|
1605
|
+
description: "Invalid Auth Token"
|
|
1606
1606
|
406:
|
|
1607
|
-
description: Not acceptable
|
|
1607
|
+
description: "Not acceptable"
|
|
1608
1608
|
"""
|
|
1609
1609
|
|
|
1610
1610
|
def generate(vo):
|
|
@@ -1620,7 +1620,7 @@ class BadDIDs(ErrorHandlingMethodView):
|
|
|
1620
1620
|
"""
|
|
1621
1621
|
---
|
|
1622
1622
|
summary: Mark Bad by DID
|
|
1623
|
-
description: Declare a list of bad replicas by DID.
|
|
1623
|
+
description: "Declare a list of bad replicas by DID."
|
|
1624
1624
|
tags:
|
|
1625
1625
|
- Replicas
|
|
1626
1626
|
requestBody:
|
|
@@ -1630,43 +1630,43 @@ class BadDIDs(ErrorHandlingMethodView):
|
|
|
1630
1630
|
type: object
|
|
1631
1631
|
properties:
|
|
1632
1632
|
expires_at:
|
|
1633
|
-
description: The expires at value.
|
|
1633
|
+
description: "The expires at value."
|
|
1634
1634
|
type: string
|
|
1635
1635
|
format: date-time
|
|
1636
1636
|
dids:
|
|
1637
|
-
description: The list of dids associated with the bad replicas.
|
|
1637
|
+
description: "The list of dids associated with the bad replicas."
|
|
1638
1638
|
type: array
|
|
1639
1639
|
items:
|
|
1640
1640
|
type: object
|
|
1641
1641
|
properties:
|
|
1642
1642
|
scope:
|
|
1643
|
-
description: The scope of the did.
|
|
1643
|
+
description: "The scope of the did."
|
|
1644
1644
|
type: string
|
|
1645
1645
|
name:
|
|
1646
|
-
description: The name of the did.
|
|
1646
|
+
description: "The name of the did."
|
|
1647
1647
|
type: string
|
|
1648
1648
|
rse:
|
|
1649
|
-
description: The name of the rse.
|
|
1649
|
+
description: "The name of the rse."
|
|
1650
1650
|
type: string
|
|
1651
1651
|
reason:
|
|
1652
|
-
description: The reason for the change.
|
|
1652
|
+
description: "The reason for the change."
|
|
1653
1653
|
type: string
|
|
1654
1654
|
responses:
|
|
1655
1655
|
201:
|
|
1656
|
-
description: OK
|
|
1656
|
+
description: "OK"
|
|
1657
1657
|
content:
|
|
1658
1658
|
application/json:
|
|
1659
1659
|
schema:
|
|
1660
|
-
description: All files not declared as bad.
|
|
1660
|
+
description: "All files not declared as bad."
|
|
1661
1661
|
type: array
|
|
1662
1662
|
items:
|
|
1663
1663
|
type: string
|
|
1664
1664
|
400:
|
|
1665
|
-
description: Cannot decode json parameter list.
|
|
1665
|
+
description: "Cannot decode json parameter list."
|
|
1666
1666
|
401:
|
|
1667
|
-
description: Invalid Auth Token
|
|
1667
|
+
description: "Invalid Auth Token"
|
|
1668
1668
|
404:
|
|
1669
|
-
description: Not found
|
|
1669
|
+
description: "Not found"
|
|
1670
1670
|
"""
|
|
1671
1671
|
parameters = json_parameters(parse_response)
|
|
1672
1672
|
expires_at = param_get(parameters, 'expires_at', default=None)
|
|
@@ -1701,7 +1701,7 @@ class BadPFNs(ErrorHandlingMethodView):
|
|
|
1701
1701
|
"""
|
|
1702
1702
|
---
|
|
1703
1703
|
summary: Declare Bad PFNs
|
|
1704
|
-
description: Declare a list of bad PFNs.
|
|
1704
|
+
description: "Declare a list of bad PFNs."
|
|
1705
1705
|
tags:
|
|
1706
1706
|
- Replicas
|
|
1707
1707
|
requestBody:
|
|
@@ -1711,32 +1711,32 @@ class BadPFNs(ErrorHandlingMethodView):
|
|
|
1711
1711
|
type: object
|
|
1712
1712
|
properties:
|
|
1713
1713
|
expires_at:
|
|
1714
|
-
description: The expires at value. Only apply to TEMPORARY_UNAVAILABLE.
|
|
1714
|
+
description: "The expires at value. Only apply to TEMPORARY_UNAVAILABLE."
|
|
1715
1715
|
type: string
|
|
1716
1716
|
format: date-time
|
|
1717
1717
|
pfns:
|
|
1718
|
-
description: The list of pfns associated with the bad PFNs.
|
|
1718
|
+
description: "The list of pfns associated with the bad PFNs."
|
|
1719
1719
|
type: array
|
|
1720
1720
|
items:
|
|
1721
1721
|
type: string
|
|
1722
1722
|
state:
|
|
1723
|
-
description: The state to set the PFNs to.
|
|
1723
|
+
description: "The state to set the PFNs to."
|
|
1724
1724
|
type: string
|
|
1725
1725
|
enum: ["BAD", "SUSPICIOUS", "TEMPORARY_UNAVAILABLE"]
|
|
1726
1726
|
reason:
|
|
1727
|
-
description: The reason for the change.
|
|
1727
|
+
description: "The reason for the change."
|
|
1728
1728
|
type: string
|
|
1729
1729
|
responses:
|
|
1730
1730
|
201:
|
|
1731
|
-
description: Created
|
|
1731
|
+
description: "Created"
|
|
1732
1732
|
400:
|
|
1733
|
-
description: Cannot decode json parameter list.
|
|
1733
|
+
description: "Cannot decode json parameter list."
|
|
1734
1734
|
401:
|
|
1735
|
-
description: Invalid Auth Token
|
|
1735
|
+
description: "Invalid Auth Token"
|
|
1736
1736
|
404:
|
|
1737
|
-
description: Replica not found
|
|
1737
|
+
description: "Replica not found"
|
|
1738
1738
|
409:
|
|
1739
|
-
description: Duplicate
|
|
1739
|
+
description: "Duplicate"
|
|
1740
1740
|
"""
|
|
1741
1741
|
parameters = json_parameters(parse_response)
|
|
1742
1742
|
expires_at = param_get(parameters, 'expires_at', default=None)
|
|
@@ -1770,7 +1770,7 @@ class Tombstone(ErrorHandlingMethodView):
|
|
|
1770
1770
|
"""
|
|
1771
1771
|
---
|
|
1772
1772
|
summary: Set Tombstone
|
|
1773
|
-
description: Set a tombstone on a list of replicas.
|
|
1773
|
+
description: "Set a tombstone on a list of replicas."
|
|
1774
1774
|
tags:
|
|
1775
1775
|
- Replicas
|
|
1776
1776
|
requestBody:
|
|
@@ -1780,7 +1780,7 @@ class Tombstone(ErrorHandlingMethodView):
|
|
|
1780
1780
|
type: object
|
|
1781
1781
|
properties:
|
|
1782
1782
|
replicas:
|
|
1783
|
-
description: The replicas to set the tombstone to.
|
|
1783
|
+
description: "The replicas to set the tombstone to."
|
|
1784
1784
|
type: array
|
|
1785
1785
|
items:
|
|
1786
1786
|
type: object
|
|
@@ -1790,23 +1790,23 @@ class Tombstone(ErrorHandlingMethodView):
|
|
|
1790
1790
|
- name
|
|
1791
1791
|
properties:
|
|
1792
1792
|
rse:
|
|
1793
|
-
description: The rse associated with the tombstone.
|
|
1793
|
+
description: "The rse associated with the tombstone."
|
|
1794
1794
|
type: string
|
|
1795
1795
|
scope:
|
|
1796
|
-
description: The scope of the replica
|
|
1796
|
+
description: "The scope of the replica"
|
|
1797
1797
|
type: string
|
|
1798
1798
|
name:
|
|
1799
|
-
description: The name of the replica.
|
|
1799
|
+
description: "The name of the replica."
|
|
1800
1800
|
type: string
|
|
1801
1801
|
responses:
|
|
1802
1802
|
201:
|
|
1803
|
-
description: Created
|
|
1803
|
+
description: "Created"
|
|
1804
1804
|
401:
|
|
1805
|
-
description: Invalid Auth Token
|
|
1805
|
+
description: "Invalid Auth Token"
|
|
1806
1806
|
404:
|
|
1807
|
-
description: Not found
|
|
1807
|
+
description: "Not found"
|
|
1808
1808
|
423:
|
|
1809
|
-
description: Replica is locked.
|
|
1809
|
+
description: "Replica is locked."
|
|
1810
1810
|
"""
|
|
1811
1811
|
parameters = json_parameters(parse_response)
|
|
1812
1812
|
replicas = param_get(parameters, 'replicas', default=[])
|