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
|
@@ -41,39 +41,39 @@ class Attributes(ErrorHandlingMethodView):
|
|
|
41
41
|
"""
|
|
42
42
|
---
|
|
43
43
|
summary: List attributes
|
|
44
|
-
description: List all attributes for an account.
|
|
44
|
+
description: "List all attributes for an account."
|
|
45
45
|
tags:
|
|
46
46
|
- Account
|
|
47
47
|
parameters:
|
|
48
48
|
- name: account
|
|
49
49
|
in: path
|
|
50
|
-
description: The account identifier.
|
|
50
|
+
description: "The account identifier."
|
|
51
51
|
schema:
|
|
52
52
|
type: string
|
|
53
53
|
style: simple
|
|
54
54
|
responses:
|
|
55
55
|
200:
|
|
56
|
-
description: OK
|
|
56
|
+
description: "OK"
|
|
57
57
|
content:
|
|
58
58
|
application/json:
|
|
59
59
|
schema:
|
|
60
60
|
type: array
|
|
61
61
|
items:
|
|
62
62
|
type: object
|
|
63
|
-
description: An account attribute.
|
|
63
|
+
description: "An account attribute."
|
|
64
64
|
properties:
|
|
65
65
|
key:
|
|
66
|
-
description: The key of the account attribute.
|
|
66
|
+
description: "The key of the account attribute."
|
|
67
67
|
type: string
|
|
68
68
|
value:
|
|
69
|
-
description: The value of the account attribute.
|
|
69
|
+
description: "The value of the account attribute."
|
|
70
70
|
type: string
|
|
71
71
|
401:
|
|
72
|
-
description: Invalid Auth Token
|
|
72
|
+
description: "Invalid Auth Token"
|
|
73
73
|
404:
|
|
74
|
-
description: No account found for the given id.
|
|
74
|
+
description: "No account found for the given id."
|
|
75
75
|
406:
|
|
76
|
-
description: Not acceptable.
|
|
76
|
+
description: "Not acceptable."
|
|
77
77
|
"""
|
|
78
78
|
try:
|
|
79
79
|
attribs = list_account_attributes(account, vo=request.environ.get('vo'))
|
|
@@ -86,19 +86,19 @@ class Attributes(ErrorHandlingMethodView):
|
|
|
86
86
|
"""
|
|
87
87
|
---
|
|
88
88
|
summary: Create attribute
|
|
89
|
-
description: Create an attribute to an account.
|
|
89
|
+
description: "Create an attribute to an account."
|
|
90
90
|
tags:
|
|
91
91
|
- Account
|
|
92
92
|
parameters:
|
|
93
93
|
- name: account
|
|
94
94
|
in: path
|
|
95
|
-
description: The account identifier.
|
|
95
|
+
description: "The account identifier."
|
|
96
96
|
schema:
|
|
97
97
|
type: string
|
|
98
98
|
style: simple
|
|
99
99
|
- name: key
|
|
100
100
|
in: path
|
|
101
|
-
description: The key of the account attribute.
|
|
101
|
+
description: "The key of the account attribute."
|
|
102
102
|
schema:
|
|
103
103
|
type: string
|
|
104
104
|
style: simple
|
|
@@ -111,25 +111,25 @@ class Attributes(ErrorHandlingMethodView):
|
|
|
111
111
|
- value
|
|
112
112
|
properties:
|
|
113
113
|
key:
|
|
114
|
-
description: The key of the attribute. This would override the key defined in path.
|
|
114
|
+
description: "The key of the attribute. This would override the key defined in path."
|
|
115
115
|
type: string
|
|
116
116
|
value:
|
|
117
|
-
description: The value of the attribute.
|
|
117
|
+
description: "The value of the attribute."
|
|
118
118
|
type: string
|
|
119
119
|
responses:
|
|
120
120
|
201:
|
|
121
|
-
description: OK
|
|
121
|
+
description: "OK"
|
|
122
122
|
content:
|
|
123
123
|
application/json:
|
|
124
124
|
schema:
|
|
125
125
|
type: string
|
|
126
126
|
enum: ["Created"]
|
|
127
127
|
401:
|
|
128
|
-
description: Invalid Auth Token
|
|
128
|
+
description: "Invalid Auth Token"
|
|
129
129
|
404:
|
|
130
|
-
description: No account found for the given id.
|
|
130
|
+
description: "No account found for the given id."
|
|
131
131
|
409:
|
|
132
|
-
description: Attribute already exists
|
|
132
|
+
description: "Attribute already exists"
|
|
133
133
|
"""
|
|
134
134
|
parameters = json_parameters()
|
|
135
135
|
value = param_get(parameters, 'value')
|
|
@@ -148,29 +148,29 @@ class Attributes(ErrorHandlingMethodView):
|
|
|
148
148
|
"""
|
|
149
149
|
---
|
|
150
150
|
summary: Delete attribute
|
|
151
|
-
description: Delete an attribute of an account.
|
|
151
|
+
description: "Delete an attribute of an account."
|
|
152
152
|
tags:
|
|
153
153
|
- Account
|
|
154
154
|
parameters:
|
|
155
155
|
- name: account
|
|
156
156
|
in: path
|
|
157
|
-
description: The account identifier.
|
|
157
|
+
description: "The account identifier."
|
|
158
158
|
schema:
|
|
159
159
|
type: string
|
|
160
160
|
style: simple
|
|
161
161
|
- name: key
|
|
162
162
|
in: path
|
|
163
|
-
description: The key of the account attribute to remove.
|
|
163
|
+
description: "The key of the account attribute to remove."
|
|
164
164
|
schema:
|
|
165
165
|
type: string
|
|
166
166
|
style: simple
|
|
167
167
|
responses:
|
|
168
168
|
200:
|
|
169
|
-
description: OK
|
|
169
|
+
description: "OK"
|
|
170
170
|
401:
|
|
171
|
-
description: Invalid Auth Token
|
|
171
|
+
description: "Invalid Auth Token"
|
|
172
172
|
404:
|
|
173
|
-
description: No account found for the given id.
|
|
173
|
+
description: "No account found for the given id."
|
|
174
174
|
"""
|
|
175
175
|
try:
|
|
176
176
|
del_account_attribute(account=account, key=key, issuer=request.environ.get('issuer'), vo=request.environ.get('vo'))
|
|
@@ -188,33 +188,33 @@ class Scopes(ErrorHandlingMethodView):
|
|
|
188
188
|
"""
|
|
189
189
|
---
|
|
190
190
|
summary: List scopes
|
|
191
|
-
description: List all scopse for an account.
|
|
191
|
+
description: "List all scopse for an account."
|
|
192
192
|
tags:
|
|
193
193
|
- Account
|
|
194
194
|
parameters:
|
|
195
195
|
- name: account
|
|
196
196
|
in: path
|
|
197
|
-
description: The account identifier.
|
|
197
|
+
description: "The account identifier."
|
|
198
198
|
schema:
|
|
199
199
|
type: string
|
|
200
200
|
style: simple
|
|
201
201
|
responses:
|
|
202
202
|
200:
|
|
203
|
-
description: OK
|
|
203
|
+
description: "OK"
|
|
204
204
|
content:
|
|
205
205
|
application/x-json-stream:
|
|
206
206
|
schema:
|
|
207
|
-
description: All scopes for the account.
|
|
207
|
+
description: "All scopes for the account."
|
|
208
208
|
type: array
|
|
209
209
|
items:
|
|
210
|
-
description: A scope
|
|
210
|
+
description: "A scope"
|
|
211
211
|
type: string
|
|
212
212
|
401:
|
|
213
|
-
description: Invalid Auth Token
|
|
213
|
+
description: "Invalid Auth Token"
|
|
214
214
|
404:
|
|
215
|
-
description: No account or scope found for the given id.
|
|
215
|
+
description: "No account or scope found for the given id."
|
|
216
216
|
406:
|
|
217
|
-
description: Not acceptable
|
|
217
|
+
description: "Not acceptable"
|
|
218
218
|
"""
|
|
219
219
|
try:
|
|
220
220
|
scopes = get_scopes(account, vo=request.environ['vo'])
|
|
@@ -230,38 +230,38 @@ class Scopes(ErrorHandlingMethodView):
|
|
|
230
230
|
"""
|
|
231
231
|
---
|
|
232
232
|
summary: Create scope
|
|
233
|
-
description: Creates a scopse with the given name for an account.
|
|
233
|
+
description: "Creates a scopse with the given name for an account."
|
|
234
234
|
tags:
|
|
235
235
|
- Account
|
|
236
236
|
parameters:
|
|
237
237
|
- name: account
|
|
238
238
|
in: path
|
|
239
|
-
description: The account identifier.
|
|
239
|
+
description: "The account identifier."
|
|
240
240
|
schema:
|
|
241
241
|
type: string
|
|
242
242
|
style: simple
|
|
243
243
|
- name: scope
|
|
244
244
|
in: path
|
|
245
|
-
description: The scope name.
|
|
245
|
+
description: "The scope name."
|
|
246
246
|
schema:
|
|
247
247
|
type: string
|
|
248
248
|
style: simple
|
|
249
249
|
responses:
|
|
250
250
|
201:
|
|
251
|
-
description: OK
|
|
251
|
+
description: "OK"
|
|
252
252
|
content:
|
|
253
253
|
application/json:
|
|
254
254
|
schema:
|
|
255
255
|
type: string
|
|
256
256
|
enum: ["Created"]
|
|
257
257
|
400:
|
|
258
|
-
description: Not acceptable
|
|
258
|
+
description: "Not acceptable"
|
|
259
259
|
401:
|
|
260
|
-
description: Invalid Auth Token
|
|
260
|
+
description: "Invalid Auth Token"
|
|
261
261
|
404:
|
|
262
|
-
description: No account found.
|
|
262
|
+
description: "No account found."
|
|
263
263
|
409:
|
|
264
|
-
description: Scope already exists.
|
|
264
|
+
description: "Scope already exists."
|
|
265
265
|
"""
|
|
266
266
|
try:
|
|
267
267
|
add_scope(scope, account, issuer=request.environ['issuer'], vo=request.environ['vo'])
|
|
@@ -285,48 +285,48 @@ class AccountParameter(ErrorHandlingMethodView):
|
|
|
285
285
|
"""
|
|
286
286
|
---
|
|
287
287
|
summary: List account parameters
|
|
288
|
-
description: Lists all parameters for an account.
|
|
288
|
+
description: "Lists all parameters for an account."
|
|
289
289
|
tags:
|
|
290
290
|
- Account
|
|
291
291
|
parameters:
|
|
292
292
|
- name: account
|
|
293
293
|
in: path
|
|
294
|
-
description: The account identifier.
|
|
294
|
+
description: "The account identifier."
|
|
295
295
|
schema:
|
|
296
296
|
type: string
|
|
297
297
|
style: simple
|
|
298
298
|
responses:
|
|
299
299
|
201:
|
|
300
|
-
description: OK
|
|
300
|
+
description: "OK"
|
|
301
301
|
content:
|
|
302
302
|
application/json:
|
|
303
303
|
schema:
|
|
304
304
|
type: object
|
|
305
305
|
properties:
|
|
306
306
|
account:
|
|
307
|
-
description: The account identifier.
|
|
307
|
+
description: "The account identifier."
|
|
308
308
|
type: string
|
|
309
309
|
account_type:
|
|
310
|
-
description: The account type.
|
|
310
|
+
description: "The account type."
|
|
311
311
|
type: string
|
|
312
312
|
status:
|
|
313
|
-
description: The account status.
|
|
313
|
+
description: "The account status."
|
|
314
314
|
type: string
|
|
315
315
|
email:
|
|
316
|
-
description: The email for the account.
|
|
316
|
+
description: "The email for the account."
|
|
317
317
|
type: string
|
|
318
318
|
suspended_at:
|
|
319
|
-
description: Datetime if the account was suspended.
|
|
319
|
+
description: "Datetime if the account was suspended."
|
|
320
320
|
type: string
|
|
321
321
|
deleted_at:
|
|
322
|
-
description: Datetime if the account was deleted.
|
|
322
|
+
description: "Datetime if the account was deleted."
|
|
323
323
|
type: string
|
|
324
324
|
401:
|
|
325
|
-
description: Invalid Auth Token
|
|
325
|
+
description: "Invalid Auth Token"
|
|
326
326
|
404:
|
|
327
|
-
description: No account found.
|
|
327
|
+
description: "No account found."
|
|
328
328
|
406:
|
|
329
|
-
description: Not acceptable
|
|
329
|
+
description: "Not acceptable"
|
|
330
330
|
"""
|
|
331
331
|
if account == 'whoami':
|
|
332
332
|
# Redirect to the account uri
|
|
@@ -354,13 +354,13 @@ class AccountParameter(ErrorHandlingMethodView):
|
|
|
354
354
|
"""
|
|
355
355
|
---
|
|
356
356
|
summary: Update
|
|
357
|
-
description: Update a parameter for an account.
|
|
357
|
+
description: "Update a parameter for an account."
|
|
358
358
|
tags:
|
|
359
359
|
- Account
|
|
360
360
|
parameters:
|
|
361
361
|
- name: account
|
|
362
362
|
in: path
|
|
363
|
-
description: The account identifier.
|
|
363
|
+
description: "The account identifier."
|
|
364
364
|
schema:
|
|
365
365
|
type: string
|
|
366
366
|
style: simple
|
|
@@ -368,17 +368,17 @@ class AccountParameter(ErrorHandlingMethodView):
|
|
|
368
368
|
content:
|
|
369
369
|
'application/json':
|
|
370
370
|
schema:
|
|
371
|
-
description: Json object with key-value pairs corresponding to the new values of the parameters.
|
|
371
|
+
description: "Json object with key-value pairs corresponding to the new values of the parameters."
|
|
372
372
|
type: object
|
|
373
373
|
responses:
|
|
374
374
|
200:
|
|
375
|
-
description: OK
|
|
375
|
+
description: "OK"
|
|
376
376
|
401:
|
|
377
|
-
description: Invalid Auth Token
|
|
377
|
+
description: "Invalid Auth Token"
|
|
378
378
|
404:
|
|
379
|
-
description: No account found.
|
|
379
|
+
description: "No account found."
|
|
380
380
|
400:
|
|
381
|
-
description: Unknown status
|
|
381
|
+
description: "Unknown status"
|
|
382
382
|
"""
|
|
383
383
|
parameters = json_parameters()
|
|
384
384
|
for key, value in parameters.items():
|
|
@@ -397,13 +397,13 @@ class AccountParameter(ErrorHandlingMethodView):
|
|
|
397
397
|
"""
|
|
398
398
|
---
|
|
399
399
|
summary: Create
|
|
400
|
-
description: Create an account.
|
|
400
|
+
description: "Create an account."
|
|
401
401
|
tags:
|
|
402
402
|
- Account
|
|
403
403
|
parameters:
|
|
404
404
|
- name: account
|
|
405
405
|
in: path
|
|
406
|
-
description: The account identifier.
|
|
406
|
+
description: "The account identifier."
|
|
407
407
|
schema:
|
|
408
408
|
type: string
|
|
409
409
|
style: simple
|
|
@@ -417,26 +417,26 @@ class AccountParameter(ErrorHandlingMethodView):
|
|
|
417
417
|
- email
|
|
418
418
|
properties:
|
|
419
419
|
type:
|
|
420
|
-
description: The account type.
|
|
420
|
+
description: "The account type."
|
|
421
421
|
type: string
|
|
422
422
|
enum: ["USER", "GROUP", "SERVICE"]
|
|
423
423
|
email:
|
|
424
|
-
description: The email for the account.
|
|
424
|
+
description: "The email for the account."
|
|
425
425
|
type: string
|
|
426
426
|
responses:
|
|
427
427
|
201:
|
|
428
|
-
description: OK
|
|
428
|
+
description: "OK"
|
|
429
429
|
content:
|
|
430
430
|
application/json:
|
|
431
431
|
schema:
|
|
432
432
|
type: string
|
|
433
433
|
enum: ["Created"]
|
|
434
434
|
401:
|
|
435
|
-
description: Invalid Auth Token
|
|
435
|
+
description: "Invalid Auth Token"
|
|
436
436
|
409:
|
|
437
|
-
description: Account already exists
|
|
437
|
+
description: "Account already exists"
|
|
438
438
|
400:
|
|
439
|
-
description: Unknown status
|
|
439
|
+
description: "Unknown status"
|
|
440
440
|
"""
|
|
441
441
|
parameters = json_parameters()
|
|
442
442
|
type_param = param_get(parameters, 'type')
|
|
@@ -456,23 +456,23 @@ class AccountParameter(ErrorHandlingMethodView):
|
|
|
456
456
|
"""
|
|
457
457
|
---
|
|
458
458
|
summary: Delete
|
|
459
|
-
description: Delete an account.
|
|
459
|
+
description: "Delete an account."
|
|
460
460
|
tags:
|
|
461
461
|
- Account
|
|
462
462
|
parameters:
|
|
463
463
|
- name: account
|
|
464
464
|
in: path
|
|
465
|
-
description: The account identifier.
|
|
465
|
+
description: "The account identifier."
|
|
466
466
|
schema:
|
|
467
467
|
type: string
|
|
468
468
|
style: simple
|
|
469
469
|
responses:
|
|
470
470
|
201:
|
|
471
|
-
description: OK
|
|
471
|
+
description: "OK"
|
|
472
472
|
401:
|
|
473
|
-
description: Invalid Auth Token
|
|
473
|
+
description: "Invalid Auth Token"
|
|
474
474
|
404:
|
|
475
|
-
description: Account not found
|
|
475
|
+
description: "Account not found"
|
|
476
476
|
"""
|
|
477
477
|
try:
|
|
478
478
|
del_account(account, issuer=request.environ.get('issuer'), vo=request.environ.get('vo'))
|
|
@@ -490,12 +490,12 @@ class Account(ErrorHandlingMethodView):
|
|
|
490
490
|
"""
|
|
491
491
|
---
|
|
492
492
|
summary: List
|
|
493
|
-
description: List all accounts.
|
|
493
|
+
description: "List all accounts."
|
|
494
494
|
tags:
|
|
495
495
|
- Account
|
|
496
496
|
responses:
|
|
497
497
|
200:
|
|
498
|
-
description: OK
|
|
498
|
+
description: "OK"
|
|
499
499
|
content:
|
|
500
500
|
application/x-json-stream:
|
|
501
501
|
schema:
|
|
@@ -504,16 +504,16 @@ class Account(ErrorHandlingMethodView):
|
|
|
504
504
|
type: object
|
|
505
505
|
properties:
|
|
506
506
|
account:
|
|
507
|
-
description: The account identifier.
|
|
507
|
+
description: "The account identifier."
|
|
508
508
|
type: string
|
|
509
509
|
type:
|
|
510
|
-
description: The type.
|
|
510
|
+
description: "The type."
|
|
511
511
|
type: string
|
|
512
512
|
email:
|
|
513
|
-
description: The email.
|
|
513
|
+
description: "The email."
|
|
514
514
|
type: string
|
|
515
515
|
401:
|
|
516
|
-
description: Invalid Auth Token
|
|
516
|
+
description: "Invalid Auth Token"
|
|
517
517
|
"""
|
|
518
518
|
|
|
519
519
|
def generate(_filter: dict[str, Any], vo: str) -> "Iterator[str]":
|
|
@@ -529,36 +529,36 @@ class LocalAccountLimits(ErrorHandlingMethodView):
|
|
|
529
529
|
"""
|
|
530
530
|
---
|
|
531
531
|
summary: Get local limit
|
|
532
|
-
description: Get the current local limits for an account on a specific RSE.
|
|
532
|
+
description: "Get the current local limits for an account on a specific RSE."
|
|
533
533
|
tags:
|
|
534
534
|
- Account
|
|
535
535
|
parameters:
|
|
536
536
|
- name: account
|
|
537
537
|
in: path
|
|
538
|
-
description: The account identifier.
|
|
538
|
+
description: "The account identifier."
|
|
539
539
|
schema:
|
|
540
540
|
type: string
|
|
541
541
|
style: simple
|
|
542
542
|
- name: rse
|
|
543
543
|
in: path
|
|
544
|
-
description: The rse identifier.
|
|
544
|
+
description: "The rse identifier."
|
|
545
545
|
schema:
|
|
546
546
|
type: string
|
|
547
547
|
style: simple
|
|
548
548
|
responses:
|
|
549
549
|
200:
|
|
550
|
-
description: OK
|
|
550
|
+
description: "OK"
|
|
551
551
|
content:
|
|
552
552
|
application/json:
|
|
553
553
|
schema:
|
|
554
|
-
description: Json object with rse identifiers as keys and account limits in bytes as values.
|
|
554
|
+
description: "Json object with rse identifiers as keys and account limits in bytes as values."
|
|
555
555
|
type: object
|
|
556
556
|
401:
|
|
557
|
-
description: Invalid Auth Token
|
|
557
|
+
description: "Invalid Auth Token"
|
|
558
558
|
404:
|
|
559
|
-
description: RSE not found
|
|
559
|
+
description: "RSE not found"
|
|
560
560
|
406:
|
|
561
|
-
description: Not Acceptable
|
|
561
|
+
description: "Not Acceptable"
|
|
562
562
|
"""
|
|
563
563
|
try:
|
|
564
564
|
limits = get_local_account_limit(account=account, rse=rse, vo=request.environ.get('vo'))
|
|
@@ -574,36 +574,36 @@ class GlobalAccountLimits(ErrorHandlingMethodView):
|
|
|
574
574
|
"""
|
|
575
575
|
---
|
|
576
576
|
summary: Get global limit
|
|
577
|
-
description: Get the current global limits for an account on a specific RSE expression.
|
|
577
|
+
description: "Get the current global limits for an account on a specific RSE expression."
|
|
578
578
|
tags:
|
|
579
579
|
- Account
|
|
580
580
|
parameters:
|
|
581
581
|
- name: account
|
|
582
582
|
in: path
|
|
583
|
-
description: The account identifier.
|
|
583
|
+
description: "The account identifier."
|
|
584
584
|
schema:
|
|
585
585
|
type: string
|
|
586
586
|
style: simple
|
|
587
587
|
- name: rse_expression
|
|
588
588
|
in: path
|
|
589
|
-
description: The rse identifier.
|
|
589
|
+
description: "The rse identifier."
|
|
590
590
|
schema:
|
|
591
591
|
type: string
|
|
592
592
|
style: simple
|
|
593
593
|
responses:
|
|
594
594
|
200:
|
|
595
|
-
description: OK
|
|
595
|
+
description: "OK"
|
|
596
596
|
content:
|
|
597
597
|
application/json:
|
|
598
598
|
schema:
|
|
599
|
-
description: Json object with rse expression as keys and limits in bytes as values.
|
|
599
|
+
description: "Json object with rse expression as keys and limits in bytes as values."
|
|
600
600
|
type: object
|
|
601
601
|
401:
|
|
602
|
-
description: Invalid Auth Token
|
|
602
|
+
description: "Invalid Auth Token"
|
|
603
603
|
404:
|
|
604
|
-
description: RSE not found
|
|
604
|
+
description: "RSE not found"
|
|
605
605
|
406:
|
|
606
|
-
description: Not Acceptable
|
|
606
|
+
description: "Not Acceptable"
|
|
607
607
|
"""
|
|
608
608
|
try:
|
|
609
609
|
limits = get_global_account_limit(account=account, rse_expression=rse_expression, vo=request.environ.get('vo'))
|
|
@@ -618,13 +618,13 @@ class Identities(ErrorHandlingMethodView):
|
|
|
618
618
|
"""
|
|
619
619
|
---
|
|
620
620
|
summary: Create identity
|
|
621
|
-
description: Grant an account identity access to an account.
|
|
621
|
+
description: "Grant an account identity access to an account."
|
|
622
622
|
tags:
|
|
623
623
|
- Account
|
|
624
624
|
parameters:
|
|
625
625
|
- name: account
|
|
626
626
|
in: path
|
|
627
|
-
description: The account identifier.
|
|
627
|
+
description: "The account identifier."
|
|
628
628
|
schema:
|
|
629
629
|
type: string
|
|
630
630
|
style: simple
|
|
@@ -639,38 +639,38 @@ class Identities(ErrorHandlingMethodView):
|
|
|
639
639
|
- email
|
|
640
640
|
properties:
|
|
641
641
|
identity:
|
|
642
|
-
description: The identity.
|
|
642
|
+
description: "The identity."
|
|
643
643
|
type: string
|
|
644
644
|
authtype:
|
|
645
|
-
description: The authtype.
|
|
645
|
+
description: "The authtype."
|
|
646
646
|
type: string
|
|
647
647
|
email:
|
|
648
|
-
description: The email.
|
|
648
|
+
description: "The email."
|
|
649
649
|
type: string
|
|
650
650
|
password:
|
|
651
|
-
description: The password.
|
|
651
|
+
description: "The password."
|
|
652
652
|
type: string
|
|
653
653
|
default: none
|
|
654
654
|
default:
|
|
655
|
-
description: Should this be the default account?
|
|
655
|
+
description: "Should this be the default account?"
|
|
656
656
|
type: string
|
|
657
657
|
default: false
|
|
658
658
|
responses:
|
|
659
659
|
201:
|
|
660
|
-
description: OK
|
|
660
|
+
description: "OK"
|
|
661
661
|
content:
|
|
662
662
|
application/json:
|
|
663
663
|
schema:
|
|
664
664
|
type: string
|
|
665
665
|
enum: ["Created"]
|
|
666
666
|
401:
|
|
667
|
-
description: Invalid Auth Token
|
|
667
|
+
description: "Invalid Auth Token"
|
|
668
668
|
404:
|
|
669
|
-
description: Account not found
|
|
669
|
+
description: "Account not found"
|
|
670
670
|
409:
|
|
671
|
-
description: Already exists
|
|
671
|
+
description: "Already exists"
|
|
672
672
|
400:
|
|
673
|
-
description: Parameter missing
|
|
673
|
+
description: "Parameter missing"
|
|
674
674
|
"""
|
|
675
675
|
parameters = json_parameters()
|
|
676
676
|
identity = param_get(parameters, 'identity')
|
|
@@ -710,19 +710,19 @@ class Identities(ErrorHandlingMethodView):
|
|
|
710
710
|
"""
|
|
711
711
|
---
|
|
712
712
|
summary: List identities
|
|
713
|
-
description: Lists all identities for an account.
|
|
713
|
+
description: "Lists all identities for an account."
|
|
714
714
|
tags:
|
|
715
715
|
- Account
|
|
716
716
|
parameters:
|
|
717
717
|
- name: account
|
|
718
718
|
in: path
|
|
719
|
-
description: The account identifier.
|
|
719
|
+
description: "The account identifier."
|
|
720
720
|
schema:
|
|
721
721
|
type: string
|
|
722
722
|
style: simple
|
|
723
723
|
responses:
|
|
724
724
|
200:
|
|
725
|
-
description: OK
|
|
725
|
+
description: "OK"
|
|
726
726
|
content:
|
|
727
727
|
application/x-json-stream:
|
|
728
728
|
schema:
|
|
@@ -734,11 +734,11 @@ class Identities(ErrorHandlingMethodView):
|
|
|
734
734
|
items:
|
|
735
735
|
type: string
|
|
736
736
|
401:
|
|
737
|
-
description: Invalid Auth Token
|
|
737
|
+
description: "Invalid Auth Token"
|
|
738
738
|
404:
|
|
739
|
-
description: Account not found
|
|
739
|
+
description: "Account not found"
|
|
740
740
|
406:
|
|
741
|
-
description: Not acceptable
|
|
741
|
+
description: "Not acceptable"
|
|
742
742
|
"""
|
|
743
743
|
try:
|
|
744
744
|
def generate(vo: str) -> "Iterator[str]":
|
|
@@ -753,13 +753,13 @@ class Identities(ErrorHandlingMethodView):
|
|
|
753
753
|
"""
|
|
754
754
|
---
|
|
755
755
|
summary: Delete identity
|
|
756
|
-
description: Delete an account identity.
|
|
756
|
+
description: "Delete an account identity."
|
|
757
757
|
tags:
|
|
758
758
|
- Account
|
|
759
759
|
parameters:
|
|
760
760
|
- name: account
|
|
761
761
|
in: path
|
|
762
|
-
description: The account identifier.
|
|
762
|
+
description: "The account identifier."
|
|
763
763
|
schema:
|
|
764
764
|
type: string
|
|
765
765
|
style: simple
|
|
@@ -773,18 +773,18 @@ class Identities(ErrorHandlingMethodView):
|
|
|
773
773
|
- authtype
|
|
774
774
|
properties:
|
|
775
775
|
identity:
|
|
776
|
-
description: The identity.
|
|
776
|
+
description: "The identity."
|
|
777
777
|
type: string
|
|
778
778
|
authtype:
|
|
779
|
-
description: The authtype.
|
|
779
|
+
description: "The authtype."
|
|
780
780
|
type: string
|
|
781
781
|
responses:
|
|
782
782
|
200:
|
|
783
|
-
description: OK
|
|
783
|
+
description: "OK"
|
|
784
784
|
401:
|
|
785
|
-
description: Invalid Auth Token
|
|
785
|
+
description: "Invalid Auth Token"
|
|
786
786
|
404:
|
|
787
|
-
description: Account or identity not found
|
|
787
|
+
description: "Account or identity not found"
|
|
788
788
|
"""
|
|
789
789
|
parameters = json_parameters()
|
|
790
790
|
identity = param_get(parameters, 'identity')
|
|
@@ -813,19 +813,19 @@ class Rules(ErrorHandlingMethodView):
|
|
|
813
813
|
"""
|
|
814
814
|
---
|
|
815
815
|
summary: List rules
|
|
816
|
-
description: Lists all rules for an account.
|
|
816
|
+
description: "Lists all rules for an account."
|
|
817
817
|
tags:
|
|
818
818
|
- Account
|
|
819
819
|
parameters:
|
|
820
820
|
- name: account
|
|
821
821
|
in: path
|
|
822
|
-
description: The account identifier.
|
|
822
|
+
description: "The account identifier."
|
|
823
823
|
schema:
|
|
824
824
|
type: string
|
|
825
825
|
style: simple
|
|
826
826
|
responses:
|
|
827
827
|
200:
|
|
828
|
-
description: OK
|
|
828
|
+
description: "OK"
|
|
829
829
|
content:
|
|
830
830
|
application/x-json-stream:
|
|
831
831
|
schema:
|
|
@@ -833,11 +833,11 @@ class Rules(ErrorHandlingMethodView):
|
|
|
833
833
|
items:
|
|
834
834
|
type: string
|
|
835
835
|
401:
|
|
836
|
-
description: Invalid Auth Token
|
|
836
|
+
description: "Invalid Auth Token"
|
|
837
837
|
404:
|
|
838
|
-
description: Account or rule not found
|
|
838
|
+
description: "Account or rule not found"
|
|
839
839
|
406:
|
|
840
|
-
description: Not acceptable
|
|
840
|
+
description: "Not acceptable"
|
|
841
841
|
"""
|
|
842
842
|
filters = {'account': account}
|
|
843
843
|
filters.update(request.args)
|
|
@@ -858,25 +858,25 @@ class UsageHistory(ErrorHandlingMethodView):
|
|
|
858
858
|
"""
|
|
859
859
|
---
|
|
860
860
|
summary: Get account usage history
|
|
861
|
-
description: Returns the account usage history.
|
|
861
|
+
description: "Returns the account usage history."
|
|
862
862
|
tags:
|
|
863
863
|
- Account
|
|
864
864
|
parameters:
|
|
865
865
|
- name: account
|
|
866
866
|
in: path
|
|
867
|
-
description: The account identifier.
|
|
867
|
+
description: "The account identifier."
|
|
868
868
|
schema:
|
|
869
869
|
type: string
|
|
870
870
|
style: simple
|
|
871
871
|
- name: rse
|
|
872
872
|
in: path
|
|
873
|
-
description: The rse identifier.
|
|
873
|
+
description: "The rse identifier."
|
|
874
874
|
schema:
|
|
875
875
|
type: string
|
|
876
876
|
style: simple
|
|
877
877
|
responses:
|
|
878
878
|
200:
|
|
879
|
-
description: OK
|
|
879
|
+
description: "OK"
|
|
880
880
|
content:
|
|
881
881
|
application/json:
|
|
882
882
|
schema:
|
|
@@ -885,20 +885,20 @@ class UsageHistory(ErrorHandlingMethodView):
|
|
|
885
885
|
type: object
|
|
886
886
|
properties:
|
|
887
887
|
bytes:
|
|
888
|
-
description: The number of bytes used.
|
|
888
|
+
description: "The number of bytes used."
|
|
889
889
|
type: integer
|
|
890
890
|
files:
|
|
891
|
-
description: The files.
|
|
891
|
+
description: "The files."
|
|
892
892
|
type: string
|
|
893
893
|
updated_at:
|
|
894
|
-
description: When the data was provided.
|
|
894
|
+
description: "When the data was provided."
|
|
895
895
|
type: string
|
|
896
896
|
401:
|
|
897
|
-
description: Invalid Auth Token
|
|
897
|
+
description: "Invalid Auth Token"
|
|
898
898
|
404:
|
|
899
|
-
description: Account not found
|
|
899
|
+
description: "Account not found"
|
|
900
900
|
406:
|
|
901
|
-
description: Not acceptable
|
|
901
|
+
description: "Not acceptable"
|
|
902
902
|
"""
|
|
903
903
|
try:
|
|
904
904
|
usage = get_usage_history(account=account, rse=rse, issuer=request.environ.get('issuer'), vo=request.environ.get('vo'))
|
|
@@ -922,25 +922,25 @@ class LocalUsage(ErrorHandlingMethodView):
|
|
|
922
922
|
"""
|
|
923
923
|
---
|
|
924
924
|
summary: Get local account usage
|
|
925
|
-
description: Returns the local account usage.
|
|
925
|
+
description: "Returns the local account usage."
|
|
926
926
|
tags:
|
|
927
927
|
- Account
|
|
928
928
|
parameters:
|
|
929
929
|
- name: account
|
|
930
930
|
in: path
|
|
931
|
-
description: The account identifier.
|
|
931
|
+
description: "The account identifier."
|
|
932
932
|
schema:
|
|
933
933
|
type: string
|
|
934
934
|
style: simple
|
|
935
935
|
- name: rse
|
|
936
936
|
in: path
|
|
937
|
-
description: The rse identifier.
|
|
937
|
+
description: "The rse identifier."
|
|
938
938
|
schema:
|
|
939
939
|
type: string
|
|
940
940
|
style: simple
|
|
941
941
|
responses:
|
|
942
942
|
200:
|
|
943
|
-
description: OK
|
|
943
|
+
description: "OK"
|
|
944
944
|
content:
|
|
945
945
|
application/x-json-stream:
|
|
946
946
|
schema:
|
|
@@ -949,23 +949,23 @@ class LocalUsage(ErrorHandlingMethodView):
|
|
|
949
949
|
type: object
|
|
950
950
|
properties:
|
|
951
951
|
rse_id:
|
|
952
|
-
description: The rse id.
|
|
952
|
+
description: "The rse id."
|
|
953
953
|
type: string
|
|
954
954
|
bytes:
|
|
955
|
-
description: The number of bytes used.
|
|
955
|
+
description: "The number of bytes used."
|
|
956
956
|
type: integer
|
|
957
957
|
bytes_limit:
|
|
958
|
-
description: The maximum number of bytes.
|
|
958
|
+
description: "The maximum number of bytes."
|
|
959
959
|
type: integer
|
|
960
960
|
bytes_remaining:
|
|
961
|
-
description: The remaining number of bytes.
|
|
961
|
+
description: "The remaining number of bytes."
|
|
962
962
|
type: integer
|
|
963
963
|
401:
|
|
964
|
-
description: Invalid Auth Token
|
|
964
|
+
description: "Invalid Auth Token"
|
|
965
965
|
404:
|
|
966
|
-
description: Account or rse not found
|
|
966
|
+
description: "Account or rse not found"
|
|
967
967
|
406:
|
|
968
|
-
description: Not acceptable
|
|
968
|
+
description: "Not acceptable"
|
|
969
969
|
"""
|
|
970
970
|
try:
|
|
971
971
|
def generate(issuer: str, vo: str) -> "Iterator[str]":
|
|
@@ -986,25 +986,25 @@ class GlobalUsage(ErrorHandlingMethodView):
|
|
|
986
986
|
"""
|
|
987
987
|
---
|
|
988
988
|
summary: Get local account usage
|
|
989
|
-
description: Returns the local account usage.
|
|
989
|
+
description: "Returns the local account usage."
|
|
990
990
|
tags:
|
|
991
991
|
- Account
|
|
992
992
|
parameters:
|
|
993
993
|
- name: account
|
|
994
994
|
in: path
|
|
995
|
-
description: The account identifier.
|
|
995
|
+
description: "The account identifier."
|
|
996
996
|
schema:
|
|
997
997
|
type: string
|
|
998
998
|
style: simple
|
|
999
999
|
- name: rse_expression
|
|
1000
1000
|
in: path
|
|
1001
|
-
description: The rse expression.
|
|
1001
|
+
description: "The rse expression."
|
|
1002
1002
|
schema:
|
|
1003
1003
|
type: string
|
|
1004
1004
|
style: simple
|
|
1005
1005
|
responses:
|
|
1006
1006
|
200:
|
|
1007
|
-
description: OK
|
|
1007
|
+
description: "OK"
|
|
1008
1008
|
content:
|
|
1009
1009
|
application/x-json-stream:
|
|
1010
1010
|
schema:
|
|
@@ -1013,23 +1013,23 @@ class GlobalUsage(ErrorHandlingMethodView):
|
|
|
1013
1013
|
type: object
|
|
1014
1014
|
properties:
|
|
1015
1015
|
rse_expression:
|
|
1016
|
-
description: The rse expression.
|
|
1016
|
+
description: "The rse expression."
|
|
1017
1017
|
type: string
|
|
1018
1018
|
bytes:
|
|
1019
|
-
description: The number of bytes used.
|
|
1019
|
+
description: "The number of bytes used."
|
|
1020
1020
|
type: integer
|
|
1021
1021
|
bytes_limit:
|
|
1022
|
-
description: The maximum number of bytes.
|
|
1022
|
+
description: "The maximum number of bytes."
|
|
1023
1023
|
type: integer
|
|
1024
1024
|
bytes_remaining:
|
|
1025
|
-
description: The remaining number of bytes.
|
|
1025
|
+
description: "The remaining number of bytes."
|
|
1026
1026
|
type: integer
|
|
1027
1027
|
401:
|
|
1028
|
-
description: Invalid Auth Token
|
|
1028
|
+
description: "Invalid Auth Token"
|
|
1029
1029
|
404:
|
|
1030
|
-
description: Account or rse not found
|
|
1030
|
+
description: "Account or rse not found"
|
|
1031
1031
|
406:
|
|
1032
|
-
description: Not acceptable
|
|
1032
|
+
description: "Not acceptable"
|
|
1033
1033
|
"""
|
|
1034
1034
|
try:
|
|
1035
1035
|
def generate(vo: str, issuer: str) -> "Iterator[str]":
|