label-studio-sdk 2.0.1__py3-none-any.whl → 2.0.3__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 label-studio-sdk might be problematic. Click here for more details.
- label_studio_sdk/__init__.py +20 -0
- label_studio_sdk/actions/client.py +13 -13
- label_studio_sdk/actions/types/actions_list_response_item.py +3 -3
- label_studio_sdk/actions/types/actions_list_response_item_dialog.py +2 -2
- label_studio_sdk/annotations/client.py +441 -441
- label_studio_sdk/base_client.py +4 -0
- label_studio_sdk/comments/client.py +176 -176
- label_studio_sdk/export_storage/azure/client.py +274 -274
- label_studio_sdk/export_storage/gcs/client.py +263 -263
- label_studio_sdk/export_storage/local/client.py +206 -206
- label_studio_sdk/export_storage/redis/client.py +287 -287
- label_studio_sdk/export_storage/s3/client.py +347 -347
- label_studio_sdk/export_storage/s3s/client.py +678 -678
- label_studio_sdk/import_storage/azure/client.py +357 -357
- label_studio_sdk/import_storage/gcs/client.py +357 -357
- label_studio_sdk/import_storage/local/client.py +206 -206
- label_studio_sdk/import_storage/redis/client.py +309 -309
- label_studio_sdk/import_storage/s3/client.py +452 -452
- label_studio_sdk/import_storage/s3s/client.py +735 -735
- label_studio_sdk/jwt_settings/client.py +10 -10
- label_studio_sdk/ml/client.py +118 -118
- label_studio_sdk/ml/types/ml_list_model_versions_response.py +1 -1
- label_studio_sdk/model_providers/client.py +181 -181
- label_studio_sdk/organizations/members/client.py +8 -8
- label_studio_sdk/predictions/client.py +60 -60
- label_studio_sdk/projects/__init__.py +33 -1
- label_studio_sdk/projects/assignments/__init__.py +35 -0
- label_studio_sdk/projects/assignments/client.py +801 -0
- label_studio_sdk/projects/assignments/types/__init__.py +37 -0
- label_studio_sdk/projects/assignments/types/assignments_assign_request_type.py +5 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters.py +33 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_conjunction.py +5 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item.py +44 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_filter.py +31 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_operator.py +23 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_value.py +7 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items.py +9 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items_excluded.py +29 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items_included.py +29 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_type.py +5 -0
- label_studio_sdk/projects/assignments/types/assignments_bulk_assign_response.py +22 -0
- label_studio_sdk/projects/assignments/types/assignments_delete_request_type.py +5 -0
- label_studio_sdk/projects/assignments/types/assignments_update_request_type.py +5 -0
- label_studio_sdk/projects/client.py +445 -425
- label_studio_sdk/projects/exports/client.py +55 -55
- label_studio_sdk/projects/exports/types/exports_convert_response.py +1 -1
- label_studio_sdk/projects/members/__init__.py +2 -0
- label_studio_sdk/projects/members/client.py +137 -0
- label_studio_sdk/projects/stats/types/stats_iaa_response.py +5 -5
- label_studio_sdk/projects/types/projects_import_tasks_response.py +12 -12
- label_studio_sdk/prompts/client.py +211 -211
- label_studio_sdk/prompts/runs/client.py +33 -33
- label_studio_sdk/prompts/versions/client.py +72 -72
- label_studio_sdk/sso/__init__.py +5 -0
- label_studio_sdk/sso/client.py +22 -0
- label_studio_sdk/sso/saml/__init__.py +2 -0
- label_studio_sdk/sso/saml/client.py +278 -0
- label_studio_sdk/sso/scim/__init__.py +2 -0
- label_studio_sdk/sso/scim/client.py +278 -0
- label_studio_sdk/tasks/client.py +174 -174
- label_studio_sdk/types/__init__.py +18 -0
- label_studio_sdk/types/all_roles_project_list.py +94 -94
- label_studio_sdk/types/annotation.py +35 -35
- label_studio_sdk/types/annotation_request.py +27 -27
- label_studio_sdk/types/azure_blob_export_storage.py +29 -29
- label_studio_sdk/types/azure_blob_import_storage.py +33 -33
- label_studio_sdk/types/batch_failed_predictions.py +1 -1
- label_studio_sdk/types/billing_checks.py +14 -14
- label_studio_sdk/types/billing_flags.py +16 -16
- label_studio_sdk/types/blueprint_list.py +7 -8
- label_studio_sdk/types/child_filter.py +11 -10
- label_studio_sdk/types/comment.py +15 -15
- label_studio_sdk/types/comment_request.py +7 -8
- label_studio_sdk/types/comment_serializer_with_expanded_user.py +17 -18
- label_studio_sdk/types/converted_format.py +1 -1
- label_studio_sdk/types/converted_format_request.py +1 -1
- label_studio_sdk/types/export.py +8 -8
- label_studio_sdk/types/file_upload.py +3 -2
- label_studio_sdk/types/filter.py +10 -9
- label_studio_sdk/types/filter_group.py +4 -3
- label_studio_sdk/types/gcs_export_storage.py +23 -23
- label_studio_sdk/types/gcs_import_storage.py +27 -27
- label_studio_sdk/types/import_api_request.py +26 -26
- label_studio_sdk/types/inference_run_cost_estimate.py +10 -10
- label_studio_sdk/types/local_files_export_storage.py +23 -23
- label_studio_sdk/types/local_files_import_storage.py +26 -26
- label_studio_sdk/types/lse_annotation_filter_options.py +10 -10
- label_studio_sdk/types/lse_annotation_filter_options_request.py +10 -10
- label_studio_sdk/types/lse_export_create.py +12 -12
- label_studio_sdk/types/lse_fields.py +14 -14
- label_studio_sdk/types/lse_organization.py +17 -17
- label_studio_sdk/types/lse_organization_member_list.py +1 -1
- label_studio_sdk/types/lse_project_create.py +72 -72
- label_studio_sdk/types/lse_project_update.py +89 -89
- label_studio_sdk/types/lse_s3export_storage.py +46 -46
- label_studio_sdk/types/lse_s3export_storage_request.py +43 -43
- label_studio_sdk/types/lse_s3import_storage.py +53 -53
- label_studio_sdk/types/lse_s3import_storage_request.py +49 -49
- label_studio_sdk/types/lse_task.py +49 -49
- label_studio_sdk/types/lse_task_drafts_item.py +1 -1
- label_studio_sdk/types/lse_task_filter_options.py +14 -14
- label_studio_sdk/types/lse_task_filter_options_request.py +14 -14
- label_studio_sdk/types/lse_task_predictions_item.py +5 -5
- label_studio_sdk/types/lse_task_serializer_for_annotators.py +12 -12
- label_studio_sdk/types/lse_task_serializer_for_annotators_drafts_item.py +1 -1
- label_studio_sdk/types/lse_task_serializer_for_annotators_predictions_item.py +5 -5
- label_studio_sdk/types/lse_task_serializer_for_reviewers.py +49 -49
- label_studio_sdk/types/lse_task_serializer_for_reviewers_drafts_item.py +1 -1
- label_studio_sdk/types/lse_task_serializer_for_reviewers_predictions_item.py +5 -5
- label_studio_sdk/types/lse_user.py +13 -13
- label_studio_sdk/types/lse_user_api.py +11 -11
- label_studio_sdk/types/lse_user_organization_member_list.py +13 -13
- label_studio_sdk/types/lseapi_token_create.py +1 -1
- label_studio_sdk/types/lseapi_token_list.py +1 -1
- label_studio_sdk/types/lsejwt_settings.py +5 -5
- label_studio_sdk/types/ml_backend.py +27 -28
- label_studio_sdk/types/model_interface.py +12 -12
- label_studio_sdk/types/model_interface_request.py +7 -8
- label_studio_sdk/types/model_interface_serializer_get.py +13 -13
- label_studio_sdk/types/model_provider_connection.py +34 -34
- label_studio_sdk/types/model_provider_connection_request.py +15 -14
- label_studio_sdk/types/model_run.py +12 -12
- label_studio_sdk/types/organization_billing.py +1 -1
- label_studio_sdk/types/organization_id.py +2 -2
- label_studio_sdk/types/organization_invite.py +1 -1
- label_studio_sdk/types/organization_member.py +8 -9
- label_studio_sdk/types/organization_membership.py +2 -1
- label_studio_sdk/types/pause.py +23 -23
- label_studio_sdk/types/prediction.py +21 -21
- label_studio_sdk/types/prediction_request.py +16 -16
- label_studio_sdk/types/project.py +72 -72
- label_studio_sdk/types/project_group.py +22 -0
- label_studio_sdk/types/project_group_request.py +22 -0
- label_studio_sdk/types/project_group_role_enum.py +5 -0
- label_studio_sdk/types/project_import.py +21 -21
- label_studio_sdk/types/redis_export_storage.py +34 -34
- label_studio_sdk/types/redis_import_storage.py +37 -37
- label_studio_sdk/types/refined_prompt_response.py +11 -11
- label_studio_sdk/types/review_settings.py +29 -30
- label_studio_sdk/types/review_settings_request.py +29 -30
- label_studio_sdk/types/s3export_storage.py +45 -45
- label_studio_sdk/types/s3import_storage.py +44 -44
- label_studio_sdk/types/saml_settings.py +21 -0
- label_studio_sdk/types/saml_settings_update.py +22 -0
- label_studio_sdk/types/scim_settings.py +21 -0
- label_studio_sdk/types/scim_settings_update.py +22 -0
- label_studio_sdk/types/selected_items_request.py +1 -1
- label_studio_sdk/types/serialization_options.py +10 -10
- label_studio_sdk/types/serialization_options_request.py +10 -10
- label_studio_sdk/types/task_assignment.py +43 -0
- label_studio_sdk/types/third_party_model_version.py +11 -11
- label_studio_sdk/types/third_party_model_version_request.py +6 -7
- label_studio_sdk/types/type_enum.py +5 -0
- label_studio_sdk/types/user_simple.py +3 -3
- label_studio_sdk/types/user_simple_request.py +1 -1
- label_studio_sdk/types/version_response.py +19 -20
- label_studio_sdk/types/view.py +8 -8
- label_studio_sdk/types/webhook.py +16 -16
- label_studio_sdk/types/webhook_serializer_for_update.py +16 -16
- label_studio_sdk/types/workspace.py +10 -11
- label_studio_sdk/users/client.py +160 -160
- label_studio_sdk/views/client.py +164 -164
- label_studio_sdk/webhooks/client.py +183 -183
- label_studio_sdk/webhooks/types/webhooks_info_response.py +32 -32
- label_studio_sdk/webhooks/types/webhooks_info_response_annotation_created.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_annotation_updated.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_annotations_created.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_annotations_deleted.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_label_link_created.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_label_link_deleted.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_label_link_updated.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_project_created.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_project_deleted.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_project_updated.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_review_created.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_review_updated.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_reviews_deleted.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_tasks_created.py +1 -1
- label_studio_sdk/webhooks/types/webhooks_info_response_tasks_deleted.py +1 -1
- label_studio_sdk/workspaces/client.py +40 -40
- {label_studio_sdk-2.0.1.dist-info → label_studio_sdk-2.0.3.dist-info}/METADATA +1 -1
- {label_studio_sdk-2.0.1.dist-info → label_studio_sdk-2.0.3.dist-info}/RECORD +184 -150
- {label_studio_sdk-2.0.1.dist-info → label_studio_sdk-2.0.3.dist-info}/LICENSE +0 -0
- {label_studio_sdk-2.0.1.dist-info → label_studio_sdk-2.0.3.dist-info}/WHEEL +0 -0
|
@@ -81,30 +81,30 @@ class S3SClient:
|
|
|
81
81
|
def create(
|
|
82
82
|
self,
|
|
83
83
|
*,
|
|
84
|
-
role_arn: str,
|
|
85
84
|
project: int,
|
|
86
|
-
|
|
85
|
+
role_arn: str,
|
|
86
|
+
aws_access_key_id: typing.Optional[str] = OMIT,
|
|
87
|
+
aws_secret_access_key: typing.Optional[str] = OMIT,
|
|
88
|
+
aws_session_token: typing.Optional[str] = OMIT,
|
|
89
|
+
aws_sse_kms_key_id: typing.Optional[str] = OMIT,
|
|
90
|
+
bucket: typing.Optional[str] = OMIT,
|
|
91
|
+
can_delete_objects: typing.Optional[bool] = OMIT,
|
|
92
|
+
description: typing.Optional[str] = OMIT,
|
|
93
|
+
external_id: typing.Optional[str] = OMIT,
|
|
87
94
|
last_sync: typing.Optional[dt.datetime] = OMIT,
|
|
88
95
|
last_sync_count: typing.Optional[int] = OMIT,
|
|
89
96
|
last_sync_job: typing.Optional[str] = OMIT,
|
|
90
|
-
|
|
91
|
-
traceback: typing.Optional[str] = OMIT,
|
|
97
|
+
legacy_auth: typing.Optional[bool] = OMIT,
|
|
92
98
|
meta: typing.Optional[typing.Optional[typing.Any]] = OMIT,
|
|
93
|
-
title: typing.Optional[str] = OMIT,
|
|
94
|
-
description: typing.Optional[str] = OMIT,
|
|
95
|
-
can_delete_objects: typing.Optional[bool] = OMIT,
|
|
96
|
-
bucket: typing.Optional[str] = OMIT,
|
|
97
99
|
prefix: typing.Optional[str] = OMIT,
|
|
98
100
|
regex_filter: typing.Optional[str] = OMIT,
|
|
99
|
-
use_blob_urls: typing.Optional[bool] = OMIT,
|
|
100
|
-
aws_access_key_id: typing.Optional[str] = OMIT,
|
|
101
|
-
aws_secret_access_key: typing.Optional[str] = OMIT,
|
|
102
|
-
aws_session_token: typing.Optional[str] = OMIT,
|
|
103
|
-
aws_sse_kms_key_id: typing.Optional[str] = OMIT,
|
|
104
101
|
region_name: typing.Optional[str] = OMIT,
|
|
105
102
|
s3endpoint: typing.Optional[str] = OMIT,
|
|
106
|
-
|
|
107
|
-
|
|
103
|
+
status: typing.Optional[StatusC5AEnum] = OMIT,
|
|
104
|
+
synchronizable: typing.Optional[bool] = OMIT,
|
|
105
|
+
title: typing.Optional[str] = OMIT,
|
|
106
|
+
traceback: typing.Optional[str] = OMIT,
|
|
107
|
+
use_blob_urls: typing.Optional[bool] = OMIT,
|
|
108
108
|
request_options: typing.Optional[RequestOptions] = None,
|
|
109
109
|
) -> LseS3ExportStorage:
|
|
110
110
|
"""
|
|
@@ -112,13 +112,35 @@ class S3SClient:
|
|
|
112
112
|
|
|
113
113
|
Parameters
|
|
114
114
|
----------
|
|
115
|
+
project : int
|
|
116
|
+
A unique integer value identifying this project.
|
|
117
|
+
|
|
115
118
|
role_arn : str
|
|
116
119
|
AWS RoleArn
|
|
117
120
|
|
|
118
|
-
|
|
119
|
-
|
|
121
|
+
aws_access_key_id : typing.Optional[str]
|
|
122
|
+
AWS_ACCESS_KEY_ID
|
|
120
123
|
|
|
121
|
-
|
|
124
|
+
aws_secret_access_key : typing.Optional[str]
|
|
125
|
+
AWS_SECRET_ACCESS_KEY
|
|
126
|
+
|
|
127
|
+
aws_session_token : typing.Optional[str]
|
|
128
|
+
AWS_SESSION_TOKEN
|
|
129
|
+
|
|
130
|
+
aws_sse_kms_key_id : typing.Optional[str]
|
|
131
|
+
AWS SSE KMS Key ID
|
|
132
|
+
|
|
133
|
+
bucket : typing.Optional[str]
|
|
134
|
+
S3 bucket name
|
|
135
|
+
|
|
136
|
+
can_delete_objects : typing.Optional[bool]
|
|
137
|
+
Deletion from storage enabled
|
|
138
|
+
|
|
139
|
+
description : typing.Optional[str]
|
|
140
|
+
Cloud storage description
|
|
141
|
+
|
|
142
|
+
external_id : typing.Optional[str]
|
|
143
|
+
AWS ExternalId
|
|
122
144
|
|
|
123
145
|
last_sync : typing.Optional[dt.datetime]
|
|
124
146
|
Last sync finished time
|
|
@@ -129,56 +151,34 @@ class S3SClient:
|
|
|
129
151
|
last_sync_job : typing.Optional[str]
|
|
130
152
|
Last sync job ID
|
|
131
153
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
traceback : typing.Optional[str]
|
|
135
|
-
Traceback report for the last failed sync
|
|
154
|
+
legacy_auth : typing.Optional[bool]
|
|
136
155
|
|
|
137
156
|
meta : typing.Optional[typing.Optional[typing.Any]]
|
|
138
157
|
|
|
139
|
-
title : typing.Optional[str]
|
|
140
|
-
Cloud storage title
|
|
141
|
-
|
|
142
|
-
description : typing.Optional[str]
|
|
143
|
-
Cloud storage description
|
|
144
|
-
|
|
145
|
-
can_delete_objects : typing.Optional[bool]
|
|
146
|
-
Deletion from storage enabled
|
|
147
|
-
|
|
148
|
-
bucket : typing.Optional[str]
|
|
149
|
-
S3 bucket name
|
|
150
|
-
|
|
151
158
|
prefix : typing.Optional[str]
|
|
152
159
|
S3 bucket prefix
|
|
153
160
|
|
|
154
161
|
regex_filter : typing.Optional[str]
|
|
155
162
|
Cloud storage regex for filtering objects
|
|
156
163
|
|
|
157
|
-
use_blob_urls : typing.Optional[bool]
|
|
158
|
-
Interpret objects as BLOBs and generate URLs
|
|
159
|
-
|
|
160
|
-
aws_access_key_id : typing.Optional[str]
|
|
161
|
-
AWS_ACCESS_KEY_ID
|
|
162
|
-
|
|
163
|
-
aws_secret_access_key : typing.Optional[str]
|
|
164
|
-
AWS_SECRET_ACCESS_KEY
|
|
165
|
-
|
|
166
|
-
aws_session_token : typing.Optional[str]
|
|
167
|
-
AWS_SESSION_TOKEN
|
|
168
|
-
|
|
169
|
-
aws_sse_kms_key_id : typing.Optional[str]
|
|
170
|
-
AWS SSE KMS Key ID
|
|
171
|
-
|
|
172
164
|
region_name : typing.Optional[str]
|
|
173
165
|
AWS Region
|
|
174
166
|
|
|
175
167
|
s3endpoint : typing.Optional[str]
|
|
176
168
|
S3 Endpoint
|
|
177
169
|
|
|
178
|
-
|
|
179
|
-
AWS ExternalId
|
|
170
|
+
status : typing.Optional[StatusC5AEnum]
|
|
180
171
|
|
|
181
|
-
|
|
172
|
+
synchronizable : typing.Optional[bool]
|
|
173
|
+
|
|
174
|
+
title : typing.Optional[str]
|
|
175
|
+
Cloud storage title
|
|
176
|
+
|
|
177
|
+
traceback : typing.Optional[str]
|
|
178
|
+
Traceback report for the last failed sync
|
|
179
|
+
|
|
180
|
+
use_blob_urls : typing.Optional[bool]
|
|
181
|
+
Interpret objects as BLOBs and generate URLs
|
|
182
182
|
|
|
183
183
|
request_options : typing.Optional[RequestOptions]
|
|
184
184
|
Request-specific configuration.
|
|
@@ -196,38 +196,38 @@ class S3SClient:
|
|
|
196
196
|
api_key="YOUR_API_KEY",
|
|
197
197
|
)
|
|
198
198
|
client.export_storage.s3s.create(
|
|
199
|
-
role_arn="role_arn",
|
|
200
199
|
project=1,
|
|
200
|
+
role_arn="role_arn",
|
|
201
201
|
)
|
|
202
202
|
"""
|
|
203
203
|
_response = self._client_wrapper.httpx_client.request(
|
|
204
204
|
"api/storages/export/s3s",
|
|
205
205
|
method="POST",
|
|
206
206
|
json={
|
|
207
|
-
"
|
|
207
|
+
"aws_access_key_id": aws_access_key_id,
|
|
208
|
+
"aws_secret_access_key": aws_secret_access_key,
|
|
209
|
+
"aws_session_token": aws_session_token,
|
|
210
|
+
"aws_sse_kms_key_id": aws_sse_kms_key_id,
|
|
211
|
+
"bucket": bucket,
|
|
212
|
+
"can_delete_objects": can_delete_objects,
|
|
213
|
+
"description": description,
|
|
214
|
+
"external_id": external_id,
|
|
208
215
|
"last_sync": last_sync,
|
|
209
216
|
"last_sync_count": last_sync_count,
|
|
210
217
|
"last_sync_job": last_sync_job,
|
|
211
|
-
"
|
|
212
|
-
"traceback": traceback,
|
|
218
|
+
"legacy_auth": legacy_auth,
|
|
213
219
|
"meta": meta,
|
|
214
|
-
"title": title,
|
|
215
|
-
"description": description,
|
|
216
|
-
"can_delete_objects": can_delete_objects,
|
|
217
|
-
"bucket": bucket,
|
|
218
220
|
"prefix": prefix,
|
|
221
|
+
"project": project,
|
|
219
222
|
"regex_filter": regex_filter,
|
|
220
|
-
"use_blob_urls": use_blob_urls,
|
|
221
|
-
"aws_access_key_id": aws_access_key_id,
|
|
222
|
-
"aws_secret_access_key": aws_secret_access_key,
|
|
223
|
-
"aws_session_token": aws_session_token,
|
|
224
|
-
"aws_sse_kms_key_id": aws_sse_kms_key_id,
|
|
225
223
|
"region_name": region_name,
|
|
226
|
-
"s3_endpoint": s3endpoint,
|
|
227
|
-
"external_id": external_id,
|
|
228
224
|
"role_arn": role_arn,
|
|
229
|
-
"
|
|
230
|
-
"
|
|
225
|
+
"s3_endpoint": s3endpoint,
|
|
226
|
+
"status": status,
|
|
227
|
+
"synchronizable": synchronizable,
|
|
228
|
+
"title": title,
|
|
229
|
+
"traceback": traceback,
|
|
230
|
+
"use_blob_urls": use_blob_urls,
|
|
231
231
|
},
|
|
232
232
|
request_options=request_options,
|
|
233
233
|
omit=OMIT,
|
|
@@ -246,21 +246,114 @@ class S3SClient:
|
|
|
246
246
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
247
247
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
248
248
|
|
|
249
|
-
def
|
|
249
|
+
def validate(
|
|
250
|
+
self,
|
|
251
|
+
*,
|
|
252
|
+
project: int,
|
|
253
|
+
role_arn: str,
|
|
254
|
+
aws_access_key_id: typing.Optional[str] = OMIT,
|
|
255
|
+
aws_secret_access_key: typing.Optional[str] = OMIT,
|
|
256
|
+
aws_session_token: typing.Optional[str] = OMIT,
|
|
257
|
+
aws_sse_kms_key_id: typing.Optional[str] = OMIT,
|
|
258
|
+
bucket: typing.Optional[str] = OMIT,
|
|
259
|
+
can_delete_objects: typing.Optional[bool] = OMIT,
|
|
260
|
+
description: typing.Optional[str] = OMIT,
|
|
261
|
+
external_id: typing.Optional[str] = OMIT,
|
|
262
|
+
last_sync: typing.Optional[dt.datetime] = OMIT,
|
|
263
|
+
last_sync_count: typing.Optional[int] = OMIT,
|
|
264
|
+
last_sync_job: typing.Optional[str] = OMIT,
|
|
265
|
+
legacy_auth: typing.Optional[bool] = OMIT,
|
|
266
|
+
meta: typing.Optional[typing.Optional[typing.Any]] = OMIT,
|
|
267
|
+
prefix: typing.Optional[str] = OMIT,
|
|
268
|
+
regex_filter: typing.Optional[str] = OMIT,
|
|
269
|
+
region_name: typing.Optional[str] = OMIT,
|
|
270
|
+
s3endpoint: typing.Optional[str] = OMIT,
|
|
271
|
+
status: typing.Optional[StatusC5AEnum] = OMIT,
|
|
272
|
+
synchronizable: typing.Optional[bool] = OMIT,
|
|
273
|
+
title: typing.Optional[str] = OMIT,
|
|
274
|
+
traceback: typing.Optional[str] = OMIT,
|
|
275
|
+
use_blob_urls: typing.Optional[bool] = OMIT,
|
|
276
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
277
|
+
) -> None:
|
|
250
278
|
"""
|
|
251
|
-
|
|
279
|
+
Validate a specific S3 export storage connection that was set up with IAM role access.
|
|
252
280
|
|
|
253
281
|
Parameters
|
|
254
282
|
----------
|
|
255
|
-
|
|
283
|
+
project : int
|
|
284
|
+
A unique integer value identifying this project.
|
|
285
|
+
|
|
286
|
+
role_arn : str
|
|
287
|
+
AWS RoleArn
|
|
288
|
+
|
|
289
|
+
aws_access_key_id : typing.Optional[str]
|
|
290
|
+
AWS_ACCESS_KEY_ID
|
|
291
|
+
|
|
292
|
+
aws_secret_access_key : typing.Optional[str]
|
|
293
|
+
AWS_SECRET_ACCESS_KEY
|
|
294
|
+
|
|
295
|
+
aws_session_token : typing.Optional[str]
|
|
296
|
+
AWS_SESSION_TOKEN
|
|
297
|
+
|
|
298
|
+
aws_sse_kms_key_id : typing.Optional[str]
|
|
299
|
+
AWS SSE KMS Key ID
|
|
300
|
+
|
|
301
|
+
bucket : typing.Optional[str]
|
|
302
|
+
S3 bucket name
|
|
303
|
+
|
|
304
|
+
can_delete_objects : typing.Optional[bool]
|
|
305
|
+
Deletion from storage enabled
|
|
306
|
+
|
|
307
|
+
description : typing.Optional[str]
|
|
308
|
+
Cloud storage description
|
|
309
|
+
|
|
310
|
+
external_id : typing.Optional[str]
|
|
311
|
+
AWS ExternalId
|
|
312
|
+
|
|
313
|
+
last_sync : typing.Optional[dt.datetime]
|
|
314
|
+
Last sync finished time
|
|
315
|
+
|
|
316
|
+
last_sync_count : typing.Optional[int]
|
|
317
|
+
Count of tasks synced last time
|
|
318
|
+
|
|
319
|
+
last_sync_job : typing.Optional[str]
|
|
320
|
+
Last sync job ID
|
|
321
|
+
|
|
322
|
+
legacy_auth : typing.Optional[bool]
|
|
323
|
+
|
|
324
|
+
meta : typing.Optional[typing.Optional[typing.Any]]
|
|
325
|
+
|
|
326
|
+
prefix : typing.Optional[str]
|
|
327
|
+
S3 bucket prefix
|
|
328
|
+
|
|
329
|
+
regex_filter : typing.Optional[str]
|
|
330
|
+
Cloud storage regex for filtering objects
|
|
331
|
+
|
|
332
|
+
region_name : typing.Optional[str]
|
|
333
|
+
AWS Region
|
|
334
|
+
|
|
335
|
+
s3endpoint : typing.Optional[str]
|
|
336
|
+
S3 Endpoint
|
|
337
|
+
|
|
338
|
+
status : typing.Optional[StatusC5AEnum]
|
|
339
|
+
|
|
340
|
+
synchronizable : typing.Optional[bool]
|
|
341
|
+
|
|
342
|
+
title : typing.Optional[str]
|
|
343
|
+
Cloud storage title
|
|
344
|
+
|
|
345
|
+
traceback : typing.Optional[str]
|
|
346
|
+
Traceback report for the last failed sync
|
|
347
|
+
|
|
348
|
+
use_blob_urls : typing.Optional[bool]
|
|
349
|
+
Interpret objects as BLOBs and generate URLs
|
|
256
350
|
|
|
257
351
|
request_options : typing.Optional[RequestOptions]
|
|
258
352
|
Request-specific configuration.
|
|
259
353
|
|
|
260
354
|
Returns
|
|
261
355
|
-------
|
|
262
|
-
|
|
263
|
-
|
|
356
|
+
None
|
|
264
357
|
|
|
265
358
|
Examples
|
|
266
359
|
--------
|
|
@@ -269,21 +362,89 @@ class S3SClient:
|
|
|
269
362
|
client = LabelStudio(
|
|
270
363
|
api_key="YOUR_API_KEY",
|
|
271
364
|
)
|
|
272
|
-
client.export_storage.s3s.
|
|
273
|
-
|
|
365
|
+
client.export_storage.s3s.validate(
|
|
366
|
+
project=1,
|
|
367
|
+
role_arn="role_arn",
|
|
274
368
|
)
|
|
275
369
|
"""
|
|
276
370
|
_response = self._client_wrapper.httpx_client.request(
|
|
277
|
-
|
|
278
|
-
method="
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
371
|
+
"api/storages/export/s3s/validate",
|
|
372
|
+
method="POST",
|
|
373
|
+
json={
|
|
374
|
+
"aws_access_key_id": aws_access_key_id,
|
|
375
|
+
"aws_secret_access_key": aws_secret_access_key,
|
|
376
|
+
"aws_session_token": aws_session_token,
|
|
377
|
+
"aws_sse_kms_key_id": aws_sse_kms_key_id,
|
|
378
|
+
"bucket": bucket,
|
|
379
|
+
"can_delete_objects": can_delete_objects,
|
|
380
|
+
"description": description,
|
|
381
|
+
"external_id": external_id,
|
|
382
|
+
"last_sync": last_sync,
|
|
383
|
+
"last_sync_count": last_sync_count,
|
|
384
|
+
"last_sync_job": last_sync_job,
|
|
385
|
+
"legacy_auth": legacy_auth,
|
|
386
|
+
"meta": meta,
|
|
387
|
+
"prefix": prefix,
|
|
388
|
+
"project": project,
|
|
389
|
+
"regex_filter": regex_filter,
|
|
390
|
+
"region_name": region_name,
|
|
391
|
+
"role_arn": role_arn,
|
|
392
|
+
"s3_endpoint": s3endpoint,
|
|
393
|
+
"status": status,
|
|
394
|
+
"synchronizable": synchronizable,
|
|
395
|
+
"title": title,
|
|
396
|
+
"traceback": traceback,
|
|
397
|
+
"use_blob_urls": use_blob_urls,
|
|
398
|
+
},
|
|
399
|
+
request_options=request_options,
|
|
400
|
+
omit=OMIT,
|
|
401
|
+
)
|
|
402
|
+
try:
|
|
403
|
+
if 200 <= _response.status_code < 300:
|
|
404
|
+
return
|
|
405
|
+
_response_json = _response.json()
|
|
406
|
+
except JSONDecodeError:
|
|
407
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
408
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
409
|
+
|
|
410
|
+
def get(self, id: int, *, request_options: typing.Optional[RequestOptions] = None) -> LseS3ExportStorage:
|
|
411
|
+
"""
|
|
412
|
+
Get a specific S3 export storage connection that was set up with IAM role access.
|
|
413
|
+
|
|
414
|
+
Parameters
|
|
415
|
+
----------
|
|
416
|
+
id : int
|
|
417
|
+
|
|
418
|
+
request_options : typing.Optional[RequestOptions]
|
|
419
|
+
Request-specific configuration.
|
|
420
|
+
|
|
421
|
+
Returns
|
|
422
|
+
-------
|
|
423
|
+
LseS3ExportStorage
|
|
424
|
+
|
|
425
|
+
|
|
426
|
+
Examples
|
|
427
|
+
--------
|
|
428
|
+
from label_studio_sdk import LabelStudio
|
|
429
|
+
|
|
430
|
+
client = LabelStudio(
|
|
431
|
+
api_key="YOUR_API_KEY",
|
|
432
|
+
)
|
|
433
|
+
client.export_storage.s3s.get(
|
|
434
|
+
id=1,
|
|
435
|
+
)
|
|
436
|
+
"""
|
|
437
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
438
|
+
f"api/storages/export/s3s/{jsonable_encoder(id)}",
|
|
439
|
+
method="GET",
|
|
440
|
+
request_options=request_options,
|
|
441
|
+
)
|
|
442
|
+
try:
|
|
443
|
+
if 200 <= _response.status_code < 300:
|
|
444
|
+
return typing.cast(
|
|
445
|
+
LseS3ExportStorage,
|
|
446
|
+
construct_type(
|
|
447
|
+
type_=LseS3ExportStorage, # type: ignore
|
|
287
448
|
object_=_response.json(),
|
|
288
449
|
),
|
|
289
450
|
)
|
|
@@ -335,30 +496,30 @@ class S3SClient:
|
|
|
335
496
|
self,
|
|
336
497
|
id: int,
|
|
337
498
|
*,
|
|
338
|
-
|
|
499
|
+
aws_access_key_id: typing.Optional[str] = OMIT,
|
|
500
|
+
aws_secret_access_key: typing.Optional[str] = OMIT,
|
|
501
|
+
aws_session_token: typing.Optional[str] = OMIT,
|
|
502
|
+
aws_sse_kms_key_id: typing.Optional[str] = OMIT,
|
|
503
|
+
bucket: typing.Optional[str] = OMIT,
|
|
504
|
+
can_delete_objects: typing.Optional[bool] = OMIT,
|
|
505
|
+
description: typing.Optional[str] = OMIT,
|
|
506
|
+
external_id: typing.Optional[str] = OMIT,
|
|
339
507
|
last_sync: typing.Optional[dt.datetime] = OMIT,
|
|
340
508
|
last_sync_count: typing.Optional[int] = OMIT,
|
|
341
509
|
last_sync_job: typing.Optional[str] = OMIT,
|
|
342
|
-
|
|
343
|
-
traceback: typing.Optional[str] = OMIT,
|
|
510
|
+
legacy_auth: typing.Optional[bool] = OMIT,
|
|
344
511
|
meta: typing.Optional[typing.Optional[typing.Any]] = OMIT,
|
|
345
|
-
title: typing.Optional[str] = OMIT,
|
|
346
|
-
description: typing.Optional[str] = OMIT,
|
|
347
|
-
can_delete_objects: typing.Optional[bool] = OMIT,
|
|
348
|
-
bucket: typing.Optional[str] = OMIT,
|
|
349
512
|
prefix: typing.Optional[str] = OMIT,
|
|
513
|
+
project: typing.Optional[int] = OMIT,
|
|
350
514
|
regex_filter: typing.Optional[str] = OMIT,
|
|
351
|
-
use_blob_urls: typing.Optional[bool] = OMIT,
|
|
352
|
-
aws_access_key_id: typing.Optional[str] = OMIT,
|
|
353
|
-
aws_secret_access_key: typing.Optional[str] = OMIT,
|
|
354
|
-
aws_session_token: typing.Optional[str] = OMIT,
|
|
355
|
-
aws_sse_kms_key_id: typing.Optional[str] = OMIT,
|
|
356
515
|
region_name: typing.Optional[str] = OMIT,
|
|
357
|
-
s3endpoint: typing.Optional[str] = OMIT,
|
|
358
|
-
external_id: typing.Optional[str] = OMIT,
|
|
359
516
|
role_arn: typing.Optional[str] = OMIT,
|
|
360
|
-
|
|
361
|
-
|
|
517
|
+
s3endpoint: typing.Optional[str] = OMIT,
|
|
518
|
+
status: typing.Optional[StatusC5AEnum] = OMIT,
|
|
519
|
+
synchronizable: typing.Optional[bool] = OMIT,
|
|
520
|
+
title: typing.Optional[str] = OMIT,
|
|
521
|
+
traceback: typing.Optional[str] = OMIT,
|
|
522
|
+
use_blob_urls: typing.Optional[bool] = OMIT,
|
|
362
523
|
request_options: typing.Optional[RequestOptions] = None,
|
|
363
524
|
) -> LseS3ExportStorage:
|
|
364
525
|
"""
|
|
@@ -368,7 +529,29 @@ class S3SClient:
|
|
|
368
529
|
----------
|
|
369
530
|
id : int
|
|
370
531
|
|
|
371
|
-
|
|
532
|
+
aws_access_key_id : typing.Optional[str]
|
|
533
|
+
AWS_ACCESS_KEY_ID
|
|
534
|
+
|
|
535
|
+
aws_secret_access_key : typing.Optional[str]
|
|
536
|
+
AWS_SECRET_ACCESS_KEY
|
|
537
|
+
|
|
538
|
+
aws_session_token : typing.Optional[str]
|
|
539
|
+
AWS_SESSION_TOKEN
|
|
540
|
+
|
|
541
|
+
aws_sse_kms_key_id : typing.Optional[str]
|
|
542
|
+
AWS SSE KMS Key ID
|
|
543
|
+
|
|
544
|
+
bucket : typing.Optional[str]
|
|
545
|
+
S3 bucket name
|
|
546
|
+
|
|
547
|
+
can_delete_objects : typing.Optional[bool]
|
|
548
|
+
Deletion from storage enabled
|
|
549
|
+
|
|
550
|
+
description : typing.Optional[str]
|
|
551
|
+
Cloud storage description
|
|
552
|
+
|
|
553
|
+
external_id : typing.Optional[str]
|
|
554
|
+
AWS ExternalId
|
|
372
555
|
|
|
373
556
|
last_sync : typing.Optional[dt.datetime]
|
|
374
557
|
Last sync finished time
|
|
@@ -379,62 +562,40 @@ class S3SClient:
|
|
|
379
562
|
last_sync_job : typing.Optional[str]
|
|
380
563
|
Last sync job ID
|
|
381
564
|
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
traceback : typing.Optional[str]
|
|
385
|
-
Traceback report for the last failed sync
|
|
565
|
+
legacy_auth : typing.Optional[bool]
|
|
386
566
|
|
|
387
567
|
meta : typing.Optional[typing.Optional[typing.Any]]
|
|
388
568
|
|
|
389
|
-
title : typing.Optional[str]
|
|
390
|
-
Cloud storage title
|
|
391
|
-
|
|
392
|
-
description : typing.Optional[str]
|
|
393
|
-
Cloud storage description
|
|
394
|
-
|
|
395
|
-
can_delete_objects : typing.Optional[bool]
|
|
396
|
-
Deletion from storage enabled
|
|
397
|
-
|
|
398
|
-
bucket : typing.Optional[str]
|
|
399
|
-
S3 bucket name
|
|
400
|
-
|
|
401
569
|
prefix : typing.Optional[str]
|
|
402
570
|
S3 bucket prefix
|
|
403
571
|
|
|
572
|
+
project : typing.Optional[int]
|
|
573
|
+
A unique integer value identifying this project.
|
|
574
|
+
|
|
404
575
|
regex_filter : typing.Optional[str]
|
|
405
576
|
Cloud storage regex for filtering objects
|
|
406
577
|
|
|
407
|
-
use_blob_urls : typing.Optional[bool]
|
|
408
|
-
Interpret objects as BLOBs and generate URLs
|
|
409
|
-
|
|
410
|
-
aws_access_key_id : typing.Optional[str]
|
|
411
|
-
AWS_ACCESS_KEY_ID
|
|
412
|
-
|
|
413
|
-
aws_secret_access_key : typing.Optional[str]
|
|
414
|
-
AWS_SECRET_ACCESS_KEY
|
|
415
|
-
|
|
416
|
-
aws_session_token : typing.Optional[str]
|
|
417
|
-
AWS_SESSION_TOKEN
|
|
418
|
-
|
|
419
|
-
aws_sse_kms_key_id : typing.Optional[str]
|
|
420
|
-
AWS SSE KMS Key ID
|
|
421
|
-
|
|
422
578
|
region_name : typing.Optional[str]
|
|
423
579
|
AWS Region
|
|
424
580
|
|
|
581
|
+
role_arn : typing.Optional[str]
|
|
582
|
+
AWS RoleArn
|
|
583
|
+
|
|
425
584
|
s3endpoint : typing.Optional[str]
|
|
426
585
|
S3 Endpoint
|
|
427
586
|
|
|
428
|
-
|
|
429
|
-
AWS ExternalId
|
|
587
|
+
status : typing.Optional[StatusC5AEnum]
|
|
430
588
|
|
|
431
|
-
|
|
432
|
-
AWS RoleArn
|
|
589
|
+
synchronizable : typing.Optional[bool]
|
|
433
590
|
|
|
434
|
-
|
|
591
|
+
title : typing.Optional[str]
|
|
592
|
+
Cloud storage title
|
|
435
593
|
|
|
436
|
-
|
|
437
|
-
|
|
594
|
+
traceback : typing.Optional[str]
|
|
595
|
+
Traceback report for the last failed sync
|
|
596
|
+
|
|
597
|
+
use_blob_urls : typing.Optional[bool]
|
|
598
|
+
Interpret objects as BLOBs and generate URLs
|
|
438
599
|
|
|
439
600
|
request_options : typing.Optional[RequestOptions]
|
|
440
601
|
Request-specific configuration.
|
|
@@ -459,30 +620,30 @@ class S3SClient:
|
|
|
459
620
|
f"api/storages/export/s3s/{jsonable_encoder(id)}",
|
|
460
621
|
method="PATCH",
|
|
461
622
|
json={
|
|
462
|
-
"
|
|
623
|
+
"aws_access_key_id": aws_access_key_id,
|
|
624
|
+
"aws_secret_access_key": aws_secret_access_key,
|
|
625
|
+
"aws_session_token": aws_session_token,
|
|
626
|
+
"aws_sse_kms_key_id": aws_sse_kms_key_id,
|
|
627
|
+
"bucket": bucket,
|
|
628
|
+
"can_delete_objects": can_delete_objects,
|
|
629
|
+
"description": description,
|
|
630
|
+
"external_id": external_id,
|
|
463
631
|
"last_sync": last_sync,
|
|
464
632
|
"last_sync_count": last_sync_count,
|
|
465
633
|
"last_sync_job": last_sync_job,
|
|
466
|
-
"
|
|
467
|
-
"traceback": traceback,
|
|
634
|
+
"legacy_auth": legacy_auth,
|
|
468
635
|
"meta": meta,
|
|
469
|
-
"title": title,
|
|
470
|
-
"description": description,
|
|
471
|
-
"can_delete_objects": can_delete_objects,
|
|
472
|
-
"bucket": bucket,
|
|
473
636
|
"prefix": prefix,
|
|
637
|
+
"project": project,
|
|
474
638
|
"regex_filter": regex_filter,
|
|
475
|
-
"use_blob_urls": use_blob_urls,
|
|
476
|
-
"aws_access_key_id": aws_access_key_id,
|
|
477
|
-
"aws_secret_access_key": aws_secret_access_key,
|
|
478
|
-
"aws_session_token": aws_session_token,
|
|
479
|
-
"aws_sse_kms_key_id": aws_sse_kms_key_id,
|
|
480
639
|
"region_name": region_name,
|
|
481
|
-
"s3_endpoint": s3endpoint,
|
|
482
|
-
"external_id": external_id,
|
|
483
640
|
"role_arn": role_arn,
|
|
484
|
-
"
|
|
485
|
-
"
|
|
641
|
+
"s3_endpoint": s3endpoint,
|
|
642
|
+
"status": status,
|
|
643
|
+
"synchronizable": synchronizable,
|
|
644
|
+
"title": title,
|
|
645
|
+
"traceback": traceback,
|
|
646
|
+
"use_blob_urls": use_blob_urls,
|
|
486
647
|
},
|
|
487
648
|
headers={
|
|
488
649
|
"content-type": "application/json",
|
|
@@ -550,181 +711,20 @@ class S3SClient:
|
|
|
550
711
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
551
712
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
552
713
|
|
|
553
|
-
|
|
714
|
+
|
|
715
|
+
class AsyncS3SClient:
|
|
716
|
+
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
717
|
+
self._client_wrapper = client_wrapper
|
|
718
|
+
|
|
719
|
+
async def list(
|
|
554
720
|
self,
|
|
555
721
|
*,
|
|
556
|
-
|
|
557
|
-
project: int,
|
|
558
|
-
synchronizable: typing.Optional[bool] = OMIT,
|
|
559
|
-
last_sync: typing.Optional[dt.datetime] = OMIT,
|
|
560
|
-
last_sync_count: typing.Optional[int] = OMIT,
|
|
561
|
-
last_sync_job: typing.Optional[str] = OMIT,
|
|
562
|
-
status: typing.Optional[StatusC5AEnum] = OMIT,
|
|
563
|
-
traceback: typing.Optional[str] = OMIT,
|
|
564
|
-
meta: typing.Optional[typing.Optional[typing.Any]] = OMIT,
|
|
565
|
-
title: typing.Optional[str] = OMIT,
|
|
566
|
-
description: typing.Optional[str] = OMIT,
|
|
567
|
-
can_delete_objects: typing.Optional[bool] = OMIT,
|
|
568
|
-
bucket: typing.Optional[str] = OMIT,
|
|
569
|
-
prefix: typing.Optional[str] = OMIT,
|
|
570
|
-
regex_filter: typing.Optional[str] = OMIT,
|
|
571
|
-
use_blob_urls: typing.Optional[bool] = OMIT,
|
|
572
|
-
aws_access_key_id: typing.Optional[str] = OMIT,
|
|
573
|
-
aws_secret_access_key: typing.Optional[str] = OMIT,
|
|
574
|
-
aws_session_token: typing.Optional[str] = OMIT,
|
|
575
|
-
aws_sse_kms_key_id: typing.Optional[str] = OMIT,
|
|
576
|
-
region_name: typing.Optional[str] = OMIT,
|
|
577
|
-
s3endpoint: typing.Optional[str] = OMIT,
|
|
578
|
-
external_id: typing.Optional[str] = OMIT,
|
|
579
|
-
legacy_auth: typing.Optional[bool] = OMIT,
|
|
722
|
+
ordering: typing.Optional[str] = None,
|
|
723
|
+
project: typing.Optional[int] = None,
|
|
580
724
|
request_options: typing.Optional[RequestOptions] = None,
|
|
581
|
-
) ->
|
|
725
|
+
) -> typing.List[LseS3ExportStorage]:
|
|
582
726
|
"""
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
Parameters
|
|
586
|
-
----------
|
|
587
|
-
role_arn : str
|
|
588
|
-
AWS RoleArn
|
|
589
|
-
|
|
590
|
-
project : int
|
|
591
|
-
A unique integer value identifying this project.
|
|
592
|
-
|
|
593
|
-
synchronizable : typing.Optional[bool]
|
|
594
|
-
|
|
595
|
-
last_sync : typing.Optional[dt.datetime]
|
|
596
|
-
Last sync finished time
|
|
597
|
-
|
|
598
|
-
last_sync_count : typing.Optional[int]
|
|
599
|
-
Count of tasks synced last time
|
|
600
|
-
|
|
601
|
-
last_sync_job : typing.Optional[str]
|
|
602
|
-
Last sync job ID
|
|
603
|
-
|
|
604
|
-
status : typing.Optional[StatusC5AEnum]
|
|
605
|
-
|
|
606
|
-
traceback : typing.Optional[str]
|
|
607
|
-
Traceback report for the last failed sync
|
|
608
|
-
|
|
609
|
-
meta : typing.Optional[typing.Optional[typing.Any]]
|
|
610
|
-
|
|
611
|
-
title : typing.Optional[str]
|
|
612
|
-
Cloud storage title
|
|
613
|
-
|
|
614
|
-
description : typing.Optional[str]
|
|
615
|
-
Cloud storage description
|
|
616
|
-
|
|
617
|
-
can_delete_objects : typing.Optional[bool]
|
|
618
|
-
Deletion from storage enabled
|
|
619
|
-
|
|
620
|
-
bucket : typing.Optional[str]
|
|
621
|
-
S3 bucket name
|
|
622
|
-
|
|
623
|
-
prefix : typing.Optional[str]
|
|
624
|
-
S3 bucket prefix
|
|
625
|
-
|
|
626
|
-
regex_filter : typing.Optional[str]
|
|
627
|
-
Cloud storage regex for filtering objects
|
|
628
|
-
|
|
629
|
-
use_blob_urls : typing.Optional[bool]
|
|
630
|
-
Interpret objects as BLOBs and generate URLs
|
|
631
|
-
|
|
632
|
-
aws_access_key_id : typing.Optional[str]
|
|
633
|
-
AWS_ACCESS_KEY_ID
|
|
634
|
-
|
|
635
|
-
aws_secret_access_key : typing.Optional[str]
|
|
636
|
-
AWS_SECRET_ACCESS_KEY
|
|
637
|
-
|
|
638
|
-
aws_session_token : typing.Optional[str]
|
|
639
|
-
AWS_SESSION_TOKEN
|
|
640
|
-
|
|
641
|
-
aws_sse_kms_key_id : typing.Optional[str]
|
|
642
|
-
AWS SSE KMS Key ID
|
|
643
|
-
|
|
644
|
-
region_name : typing.Optional[str]
|
|
645
|
-
AWS Region
|
|
646
|
-
|
|
647
|
-
s3endpoint : typing.Optional[str]
|
|
648
|
-
S3 Endpoint
|
|
649
|
-
|
|
650
|
-
external_id : typing.Optional[str]
|
|
651
|
-
AWS ExternalId
|
|
652
|
-
|
|
653
|
-
legacy_auth : typing.Optional[bool]
|
|
654
|
-
|
|
655
|
-
request_options : typing.Optional[RequestOptions]
|
|
656
|
-
Request-specific configuration.
|
|
657
|
-
|
|
658
|
-
Returns
|
|
659
|
-
-------
|
|
660
|
-
None
|
|
661
|
-
|
|
662
|
-
Examples
|
|
663
|
-
--------
|
|
664
|
-
from label_studio_sdk import LabelStudio
|
|
665
|
-
|
|
666
|
-
client = LabelStudio(
|
|
667
|
-
api_key="YOUR_API_KEY",
|
|
668
|
-
)
|
|
669
|
-
client.export_storage.s3s.validate(
|
|
670
|
-
role_arn="role_arn",
|
|
671
|
-
project=1,
|
|
672
|
-
)
|
|
673
|
-
"""
|
|
674
|
-
_response = self._client_wrapper.httpx_client.request(
|
|
675
|
-
"api/storages/export/s3s/validate",
|
|
676
|
-
method="POST",
|
|
677
|
-
json={
|
|
678
|
-
"synchronizable": synchronizable,
|
|
679
|
-
"last_sync": last_sync,
|
|
680
|
-
"last_sync_count": last_sync_count,
|
|
681
|
-
"last_sync_job": last_sync_job,
|
|
682
|
-
"status": status,
|
|
683
|
-
"traceback": traceback,
|
|
684
|
-
"meta": meta,
|
|
685
|
-
"title": title,
|
|
686
|
-
"description": description,
|
|
687
|
-
"can_delete_objects": can_delete_objects,
|
|
688
|
-
"bucket": bucket,
|
|
689
|
-
"prefix": prefix,
|
|
690
|
-
"regex_filter": regex_filter,
|
|
691
|
-
"use_blob_urls": use_blob_urls,
|
|
692
|
-
"aws_access_key_id": aws_access_key_id,
|
|
693
|
-
"aws_secret_access_key": aws_secret_access_key,
|
|
694
|
-
"aws_session_token": aws_session_token,
|
|
695
|
-
"aws_sse_kms_key_id": aws_sse_kms_key_id,
|
|
696
|
-
"region_name": region_name,
|
|
697
|
-
"s3_endpoint": s3endpoint,
|
|
698
|
-
"external_id": external_id,
|
|
699
|
-
"role_arn": role_arn,
|
|
700
|
-
"legacy_auth": legacy_auth,
|
|
701
|
-
"project": project,
|
|
702
|
-
},
|
|
703
|
-
request_options=request_options,
|
|
704
|
-
omit=OMIT,
|
|
705
|
-
)
|
|
706
|
-
try:
|
|
707
|
-
if 200 <= _response.status_code < 300:
|
|
708
|
-
return
|
|
709
|
-
_response_json = _response.json()
|
|
710
|
-
except JSONDecodeError:
|
|
711
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
712
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
class AsyncS3SClient:
|
|
716
|
-
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
717
|
-
self._client_wrapper = client_wrapper
|
|
718
|
-
|
|
719
|
-
async def list(
|
|
720
|
-
self,
|
|
721
|
-
*,
|
|
722
|
-
ordering: typing.Optional[str] = None,
|
|
723
|
-
project: typing.Optional[int] = None,
|
|
724
|
-
request_options: typing.Optional[RequestOptions] = None,
|
|
725
|
-
) -> typing.List[LseS3ExportStorage]:
|
|
726
|
-
"""
|
|
727
|
-
Get a list of all S3 export storage connections that were set up with IAM role access.
|
|
727
|
+
Get a list of all S3 export storage connections that were set up with IAM role access.
|
|
728
728
|
|
|
729
729
|
Parameters
|
|
730
730
|
----------
|
|
@@ -785,30 +785,30 @@ class AsyncS3SClient:
|
|
|
785
785
|
async def create(
|
|
786
786
|
self,
|
|
787
787
|
*,
|
|
788
|
-
role_arn: str,
|
|
789
788
|
project: int,
|
|
790
|
-
|
|
789
|
+
role_arn: str,
|
|
790
|
+
aws_access_key_id: typing.Optional[str] = OMIT,
|
|
791
|
+
aws_secret_access_key: typing.Optional[str] = OMIT,
|
|
792
|
+
aws_session_token: typing.Optional[str] = OMIT,
|
|
793
|
+
aws_sse_kms_key_id: typing.Optional[str] = OMIT,
|
|
794
|
+
bucket: typing.Optional[str] = OMIT,
|
|
795
|
+
can_delete_objects: typing.Optional[bool] = OMIT,
|
|
796
|
+
description: typing.Optional[str] = OMIT,
|
|
797
|
+
external_id: typing.Optional[str] = OMIT,
|
|
791
798
|
last_sync: typing.Optional[dt.datetime] = OMIT,
|
|
792
799
|
last_sync_count: typing.Optional[int] = OMIT,
|
|
793
800
|
last_sync_job: typing.Optional[str] = OMIT,
|
|
794
|
-
|
|
795
|
-
traceback: typing.Optional[str] = OMIT,
|
|
801
|
+
legacy_auth: typing.Optional[bool] = OMIT,
|
|
796
802
|
meta: typing.Optional[typing.Optional[typing.Any]] = OMIT,
|
|
797
|
-
title: typing.Optional[str] = OMIT,
|
|
798
|
-
description: typing.Optional[str] = OMIT,
|
|
799
|
-
can_delete_objects: typing.Optional[bool] = OMIT,
|
|
800
|
-
bucket: typing.Optional[str] = OMIT,
|
|
801
803
|
prefix: typing.Optional[str] = OMIT,
|
|
802
804
|
regex_filter: typing.Optional[str] = OMIT,
|
|
803
|
-
use_blob_urls: typing.Optional[bool] = OMIT,
|
|
804
|
-
aws_access_key_id: typing.Optional[str] = OMIT,
|
|
805
|
-
aws_secret_access_key: typing.Optional[str] = OMIT,
|
|
806
|
-
aws_session_token: typing.Optional[str] = OMIT,
|
|
807
|
-
aws_sse_kms_key_id: typing.Optional[str] = OMIT,
|
|
808
805
|
region_name: typing.Optional[str] = OMIT,
|
|
809
806
|
s3endpoint: typing.Optional[str] = OMIT,
|
|
810
|
-
|
|
811
|
-
|
|
807
|
+
status: typing.Optional[StatusC5AEnum] = OMIT,
|
|
808
|
+
synchronizable: typing.Optional[bool] = OMIT,
|
|
809
|
+
title: typing.Optional[str] = OMIT,
|
|
810
|
+
traceback: typing.Optional[str] = OMIT,
|
|
811
|
+
use_blob_urls: typing.Optional[bool] = OMIT,
|
|
812
812
|
request_options: typing.Optional[RequestOptions] = None,
|
|
813
813
|
) -> LseS3ExportStorage:
|
|
814
814
|
"""
|
|
@@ -816,13 +816,35 @@ class AsyncS3SClient:
|
|
|
816
816
|
|
|
817
817
|
Parameters
|
|
818
818
|
----------
|
|
819
|
+
project : int
|
|
820
|
+
A unique integer value identifying this project.
|
|
821
|
+
|
|
819
822
|
role_arn : str
|
|
820
823
|
AWS RoleArn
|
|
821
824
|
|
|
822
|
-
|
|
823
|
-
|
|
825
|
+
aws_access_key_id : typing.Optional[str]
|
|
826
|
+
AWS_ACCESS_KEY_ID
|
|
824
827
|
|
|
825
|
-
|
|
828
|
+
aws_secret_access_key : typing.Optional[str]
|
|
829
|
+
AWS_SECRET_ACCESS_KEY
|
|
830
|
+
|
|
831
|
+
aws_session_token : typing.Optional[str]
|
|
832
|
+
AWS_SESSION_TOKEN
|
|
833
|
+
|
|
834
|
+
aws_sse_kms_key_id : typing.Optional[str]
|
|
835
|
+
AWS SSE KMS Key ID
|
|
836
|
+
|
|
837
|
+
bucket : typing.Optional[str]
|
|
838
|
+
S3 bucket name
|
|
839
|
+
|
|
840
|
+
can_delete_objects : typing.Optional[bool]
|
|
841
|
+
Deletion from storage enabled
|
|
842
|
+
|
|
843
|
+
description : typing.Optional[str]
|
|
844
|
+
Cloud storage description
|
|
845
|
+
|
|
846
|
+
external_id : typing.Optional[str]
|
|
847
|
+
AWS ExternalId
|
|
826
848
|
|
|
827
849
|
last_sync : typing.Optional[dt.datetime]
|
|
828
850
|
Last sync finished time
|
|
@@ -833,56 +855,34 @@ class AsyncS3SClient:
|
|
|
833
855
|
last_sync_job : typing.Optional[str]
|
|
834
856
|
Last sync job ID
|
|
835
857
|
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
traceback : typing.Optional[str]
|
|
839
|
-
Traceback report for the last failed sync
|
|
858
|
+
legacy_auth : typing.Optional[bool]
|
|
840
859
|
|
|
841
860
|
meta : typing.Optional[typing.Optional[typing.Any]]
|
|
842
861
|
|
|
843
|
-
title : typing.Optional[str]
|
|
844
|
-
Cloud storage title
|
|
845
|
-
|
|
846
|
-
description : typing.Optional[str]
|
|
847
|
-
Cloud storage description
|
|
848
|
-
|
|
849
|
-
can_delete_objects : typing.Optional[bool]
|
|
850
|
-
Deletion from storage enabled
|
|
851
|
-
|
|
852
|
-
bucket : typing.Optional[str]
|
|
853
|
-
S3 bucket name
|
|
854
|
-
|
|
855
862
|
prefix : typing.Optional[str]
|
|
856
863
|
S3 bucket prefix
|
|
857
864
|
|
|
858
865
|
regex_filter : typing.Optional[str]
|
|
859
866
|
Cloud storage regex for filtering objects
|
|
860
867
|
|
|
861
|
-
use_blob_urls : typing.Optional[bool]
|
|
862
|
-
Interpret objects as BLOBs and generate URLs
|
|
863
|
-
|
|
864
|
-
aws_access_key_id : typing.Optional[str]
|
|
865
|
-
AWS_ACCESS_KEY_ID
|
|
866
|
-
|
|
867
|
-
aws_secret_access_key : typing.Optional[str]
|
|
868
|
-
AWS_SECRET_ACCESS_KEY
|
|
869
|
-
|
|
870
|
-
aws_session_token : typing.Optional[str]
|
|
871
|
-
AWS_SESSION_TOKEN
|
|
872
|
-
|
|
873
|
-
aws_sse_kms_key_id : typing.Optional[str]
|
|
874
|
-
AWS SSE KMS Key ID
|
|
875
|
-
|
|
876
868
|
region_name : typing.Optional[str]
|
|
877
869
|
AWS Region
|
|
878
870
|
|
|
879
871
|
s3endpoint : typing.Optional[str]
|
|
880
872
|
S3 Endpoint
|
|
881
873
|
|
|
882
|
-
|
|
883
|
-
AWS ExternalId
|
|
874
|
+
status : typing.Optional[StatusC5AEnum]
|
|
884
875
|
|
|
885
|
-
|
|
876
|
+
synchronizable : typing.Optional[bool]
|
|
877
|
+
|
|
878
|
+
title : typing.Optional[str]
|
|
879
|
+
Cloud storage title
|
|
880
|
+
|
|
881
|
+
traceback : typing.Optional[str]
|
|
882
|
+
Traceback report for the last failed sync
|
|
883
|
+
|
|
884
|
+
use_blob_urls : typing.Optional[bool]
|
|
885
|
+
Interpret objects as BLOBs and generate URLs
|
|
886
886
|
|
|
887
887
|
request_options : typing.Optional[RequestOptions]
|
|
888
888
|
Request-specific configuration.
|
|
@@ -905,8 +905,8 @@ class AsyncS3SClient:
|
|
|
905
905
|
|
|
906
906
|
async def main() -> None:
|
|
907
907
|
await client.export_storage.s3s.create(
|
|
908
|
-
role_arn="role_arn",
|
|
909
908
|
project=1,
|
|
909
|
+
role_arn="role_arn",
|
|
910
910
|
)
|
|
911
911
|
|
|
912
912
|
|
|
@@ -916,30 +916,30 @@ class AsyncS3SClient:
|
|
|
916
916
|
"api/storages/export/s3s",
|
|
917
917
|
method="POST",
|
|
918
918
|
json={
|
|
919
|
-
"synchronizable": synchronizable,
|
|
920
|
-
"last_sync": last_sync,
|
|
921
|
-
"last_sync_count": last_sync_count,
|
|
922
|
-
"last_sync_job": last_sync_job,
|
|
923
|
-
"status": status,
|
|
924
|
-
"traceback": traceback,
|
|
925
|
-
"meta": meta,
|
|
926
|
-
"title": title,
|
|
927
|
-
"description": description,
|
|
928
|
-
"can_delete_objects": can_delete_objects,
|
|
929
|
-
"bucket": bucket,
|
|
930
|
-
"prefix": prefix,
|
|
931
|
-
"regex_filter": regex_filter,
|
|
932
|
-
"use_blob_urls": use_blob_urls,
|
|
933
919
|
"aws_access_key_id": aws_access_key_id,
|
|
934
920
|
"aws_secret_access_key": aws_secret_access_key,
|
|
935
921
|
"aws_session_token": aws_session_token,
|
|
936
922
|
"aws_sse_kms_key_id": aws_sse_kms_key_id,
|
|
937
|
-
"
|
|
938
|
-
"
|
|
923
|
+
"bucket": bucket,
|
|
924
|
+
"can_delete_objects": can_delete_objects,
|
|
925
|
+
"description": description,
|
|
939
926
|
"external_id": external_id,
|
|
940
|
-
"
|
|
927
|
+
"last_sync": last_sync,
|
|
928
|
+
"last_sync_count": last_sync_count,
|
|
929
|
+
"last_sync_job": last_sync_job,
|
|
941
930
|
"legacy_auth": legacy_auth,
|
|
931
|
+
"meta": meta,
|
|
932
|
+
"prefix": prefix,
|
|
942
933
|
"project": project,
|
|
934
|
+
"regex_filter": regex_filter,
|
|
935
|
+
"region_name": region_name,
|
|
936
|
+
"role_arn": role_arn,
|
|
937
|
+
"s3_endpoint": s3endpoint,
|
|
938
|
+
"status": status,
|
|
939
|
+
"synchronizable": synchronizable,
|
|
940
|
+
"title": title,
|
|
941
|
+
"traceback": traceback,
|
|
942
|
+
"use_blob_urls": use_blob_urls,
|
|
943
943
|
},
|
|
944
944
|
request_options=request_options,
|
|
945
945
|
omit=OMIT,
|
|
@@ -958,67 +958,107 @@ class AsyncS3SClient:
|
|
|
958
958
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
959
959
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
960
960
|
|
|
961
|
-
async def
|
|
961
|
+
async def validate(
|
|
962
|
+
self,
|
|
963
|
+
*,
|
|
964
|
+
project: int,
|
|
965
|
+
role_arn: str,
|
|
966
|
+
aws_access_key_id: typing.Optional[str] = OMIT,
|
|
967
|
+
aws_secret_access_key: typing.Optional[str] = OMIT,
|
|
968
|
+
aws_session_token: typing.Optional[str] = OMIT,
|
|
969
|
+
aws_sse_kms_key_id: typing.Optional[str] = OMIT,
|
|
970
|
+
bucket: typing.Optional[str] = OMIT,
|
|
971
|
+
can_delete_objects: typing.Optional[bool] = OMIT,
|
|
972
|
+
description: typing.Optional[str] = OMIT,
|
|
973
|
+
external_id: typing.Optional[str] = OMIT,
|
|
974
|
+
last_sync: typing.Optional[dt.datetime] = OMIT,
|
|
975
|
+
last_sync_count: typing.Optional[int] = OMIT,
|
|
976
|
+
last_sync_job: typing.Optional[str] = OMIT,
|
|
977
|
+
legacy_auth: typing.Optional[bool] = OMIT,
|
|
978
|
+
meta: typing.Optional[typing.Optional[typing.Any]] = OMIT,
|
|
979
|
+
prefix: typing.Optional[str] = OMIT,
|
|
980
|
+
regex_filter: typing.Optional[str] = OMIT,
|
|
981
|
+
region_name: typing.Optional[str] = OMIT,
|
|
982
|
+
s3endpoint: typing.Optional[str] = OMIT,
|
|
983
|
+
status: typing.Optional[StatusC5AEnum] = OMIT,
|
|
984
|
+
synchronizable: typing.Optional[bool] = OMIT,
|
|
985
|
+
title: typing.Optional[str] = OMIT,
|
|
986
|
+
traceback: typing.Optional[str] = OMIT,
|
|
987
|
+
use_blob_urls: typing.Optional[bool] = OMIT,
|
|
988
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
989
|
+
) -> None:
|
|
962
990
|
"""
|
|
963
|
-
|
|
991
|
+
Validate a specific S3 export storage connection that was set up with IAM role access.
|
|
964
992
|
|
|
965
993
|
Parameters
|
|
966
994
|
----------
|
|
967
|
-
|
|
995
|
+
project : int
|
|
996
|
+
A unique integer value identifying this project.
|
|
968
997
|
|
|
969
|
-
|
|
970
|
-
|
|
998
|
+
role_arn : str
|
|
999
|
+
AWS RoleArn
|
|
971
1000
|
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
LseS3ExportStorage
|
|
1001
|
+
aws_access_key_id : typing.Optional[str]
|
|
1002
|
+
AWS_ACCESS_KEY_ID
|
|
975
1003
|
|
|
1004
|
+
aws_secret_access_key : typing.Optional[str]
|
|
1005
|
+
AWS_SECRET_ACCESS_KEY
|
|
976
1006
|
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
import asyncio
|
|
1007
|
+
aws_session_token : typing.Optional[str]
|
|
1008
|
+
AWS_SESSION_TOKEN
|
|
980
1009
|
|
|
981
|
-
|
|
1010
|
+
aws_sse_kms_key_id : typing.Optional[str]
|
|
1011
|
+
AWS SSE KMS Key ID
|
|
982
1012
|
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
)
|
|
1013
|
+
bucket : typing.Optional[str]
|
|
1014
|
+
S3 bucket name
|
|
986
1015
|
|
|
1016
|
+
can_delete_objects : typing.Optional[bool]
|
|
1017
|
+
Deletion from storage enabled
|
|
987
1018
|
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
id=1,
|
|
991
|
-
)
|
|
1019
|
+
description : typing.Optional[str]
|
|
1020
|
+
Cloud storage description
|
|
992
1021
|
|
|
1022
|
+
external_id : typing.Optional[str]
|
|
1023
|
+
AWS ExternalId
|
|
993
1024
|
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
_response = await self._client_wrapper.httpx_client.request(
|
|
997
|
-
f"api/storages/export/s3s/{jsonable_encoder(id)}",
|
|
998
|
-
method="GET",
|
|
999
|
-
request_options=request_options,
|
|
1000
|
-
)
|
|
1001
|
-
try:
|
|
1002
|
-
if 200 <= _response.status_code < 300:
|
|
1003
|
-
return typing.cast(
|
|
1004
|
-
LseS3ExportStorage,
|
|
1005
|
-
construct_type(
|
|
1006
|
-
type_=LseS3ExportStorage, # type: ignore
|
|
1007
|
-
object_=_response.json(),
|
|
1008
|
-
),
|
|
1009
|
-
)
|
|
1010
|
-
_response_json = _response.json()
|
|
1011
|
-
except JSONDecodeError:
|
|
1012
|
-
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1013
|
-
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1025
|
+
last_sync : typing.Optional[dt.datetime]
|
|
1026
|
+
Last sync finished time
|
|
1014
1027
|
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
Delete a specific S3 export storage connection that was set up with IAM role access.
|
|
1028
|
+
last_sync_count : typing.Optional[int]
|
|
1029
|
+
Count of tasks synced last time
|
|
1018
1030
|
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1031
|
+
last_sync_job : typing.Optional[str]
|
|
1032
|
+
Last sync job ID
|
|
1033
|
+
|
|
1034
|
+
legacy_auth : typing.Optional[bool]
|
|
1035
|
+
|
|
1036
|
+
meta : typing.Optional[typing.Optional[typing.Any]]
|
|
1037
|
+
|
|
1038
|
+
prefix : typing.Optional[str]
|
|
1039
|
+
S3 bucket prefix
|
|
1040
|
+
|
|
1041
|
+
regex_filter : typing.Optional[str]
|
|
1042
|
+
Cloud storage regex for filtering objects
|
|
1043
|
+
|
|
1044
|
+
region_name : typing.Optional[str]
|
|
1045
|
+
AWS Region
|
|
1046
|
+
|
|
1047
|
+
s3endpoint : typing.Optional[str]
|
|
1048
|
+
S3 Endpoint
|
|
1049
|
+
|
|
1050
|
+
status : typing.Optional[StatusC5AEnum]
|
|
1051
|
+
|
|
1052
|
+
synchronizable : typing.Optional[bool]
|
|
1053
|
+
|
|
1054
|
+
title : typing.Optional[str]
|
|
1055
|
+
Cloud storage title
|
|
1056
|
+
|
|
1057
|
+
traceback : typing.Optional[str]
|
|
1058
|
+
Traceback report for the last failed sync
|
|
1059
|
+
|
|
1060
|
+
use_blob_urls : typing.Optional[bool]
|
|
1061
|
+
Interpret objects as BLOBs and generate URLs
|
|
1022
1062
|
|
|
1023
1063
|
request_options : typing.Optional[RequestOptions]
|
|
1024
1064
|
Request-specific configuration.
|
|
@@ -1039,17 +1079,45 @@ class AsyncS3SClient:
|
|
|
1039
1079
|
|
|
1040
1080
|
|
|
1041
1081
|
async def main() -> None:
|
|
1042
|
-
await client.export_storage.s3s.
|
|
1043
|
-
|
|
1082
|
+
await client.export_storage.s3s.validate(
|
|
1083
|
+
project=1,
|
|
1084
|
+
role_arn="role_arn",
|
|
1044
1085
|
)
|
|
1045
1086
|
|
|
1046
1087
|
|
|
1047
1088
|
asyncio.run(main())
|
|
1048
1089
|
"""
|
|
1049
1090
|
_response = await self._client_wrapper.httpx_client.request(
|
|
1050
|
-
|
|
1051
|
-
method="
|
|
1091
|
+
"api/storages/export/s3s/validate",
|
|
1092
|
+
method="POST",
|
|
1093
|
+
json={
|
|
1094
|
+
"aws_access_key_id": aws_access_key_id,
|
|
1095
|
+
"aws_secret_access_key": aws_secret_access_key,
|
|
1096
|
+
"aws_session_token": aws_session_token,
|
|
1097
|
+
"aws_sse_kms_key_id": aws_sse_kms_key_id,
|
|
1098
|
+
"bucket": bucket,
|
|
1099
|
+
"can_delete_objects": can_delete_objects,
|
|
1100
|
+
"description": description,
|
|
1101
|
+
"external_id": external_id,
|
|
1102
|
+
"last_sync": last_sync,
|
|
1103
|
+
"last_sync_count": last_sync_count,
|
|
1104
|
+
"last_sync_job": last_sync_job,
|
|
1105
|
+
"legacy_auth": legacy_auth,
|
|
1106
|
+
"meta": meta,
|
|
1107
|
+
"prefix": prefix,
|
|
1108
|
+
"project": project,
|
|
1109
|
+
"regex_filter": regex_filter,
|
|
1110
|
+
"region_name": region_name,
|
|
1111
|
+
"role_arn": role_arn,
|
|
1112
|
+
"s3_endpoint": s3endpoint,
|
|
1113
|
+
"status": status,
|
|
1114
|
+
"synchronizable": synchronizable,
|
|
1115
|
+
"title": title,
|
|
1116
|
+
"traceback": traceback,
|
|
1117
|
+
"use_blob_urls": use_blob_urls,
|
|
1118
|
+
},
|
|
1052
1119
|
request_options=request_options,
|
|
1120
|
+
omit=OMIT,
|
|
1053
1121
|
)
|
|
1054
1122
|
try:
|
|
1055
1123
|
if 200 <= _response.status_code < 300:
|
|
@@ -1059,111 +1127,14 @@ class AsyncS3SClient:
|
|
|
1059
1127
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1060
1128
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1061
1129
|
|
|
1062
|
-
async def
|
|
1063
|
-
self,
|
|
1064
|
-
id: int,
|
|
1065
|
-
*,
|
|
1066
|
-
synchronizable: typing.Optional[bool] = OMIT,
|
|
1067
|
-
last_sync: typing.Optional[dt.datetime] = OMIT,
|
|
1068
|
-
last_sync_count: typing.Optional[int] = OMIT,
|
|
1069
|
-
last_sync_job: typing.Optional[str] = OMIT,
|
|
1070
|
-
status: typing.Optional[StatusC5AEnum] = OMIT,
|
|
1071
|
-
traceback: typing.Optional[str] = OMIT,
|
|
1072
|
-
meta: typing.Optional[typing.Optional[typing.Any]] = OMIT,
|
|
1073
|
-
title: typing.Optional[str] = OMIT,
|
|
1074
|
-
description: typing.Optional[str] = OMIT,
|
|
1075
|
-
can_delete_objects: typing.Optional[bool] = OMIT,
|
|
1076
|
-
bucket: typing.Optional[str] = OMIT,
|
|
1077
|
-
prefix: typing.Optional[str] = OMIT,
|
|
1078
|
-
regex_filter: typing.Optional[str] = OMIT,
|
|
1079
|
-
use_blob_urls: typing.Optional[bool] = OMIT,
|
|
1080
|
-
aws_access_key_id: typing.Optional[str] = OMIT,
|
|
1081
|
-
aws_secret_access_key: typing.Optional[str] = OMIT,
|
|
1082
|
-
aws_session_token: typing.Optional[str] = OMIT,
|
|
1083
|
-
aws_sse_kms_key_id: typing.Optional[str] = OMIT,
|
|
1084
|
-
region_name: typing.Optional[str] = OMIT,
|
|
1085
|
-
s3endpoint: typing.Optional[str] = OMIT,
|
|
1086
|
-
external_id: typing.Optional[str] = OMIT,
|
|
1087
|
-
role_arn: typing.Optional[str] = OMIT,
|
|
1088
|
-
legacy_auth: typing.Optional[bool] = OMIT,
|
|
1089
|
-
project: typing.Optional[int] = OMIT,
|
|
1090
|
-
request_options: typing.Optional[RequestOptions] = None,
|
|
1091
|
-
) -> LseS3ExportStorage:
|
|
1130
|
+
async def get(self, id: int, *, request_options: typing.Optional[RequestOptions] = None) -> LseS3ExportStorage:
|
|
1092
1131
|
"""
|
|
1093
|
-
|
|
1132
|
+
Get a specific S3 export storage connection that was set up with IAM role access.
|
|
1094
1133
|
|
|
1095
1134
|
Parameters
|
|
1096
1135
|
----------
|
|
1097
1136
|
id : int
|
|
1098
1137
|
|
|
1099
|
-
synchronizable : typing.Optional[bool]
|
|
1100
|
-
|
|
1101
|
-
last_sync : typing.Optional[dt.datetime]
|
|
1102
|
-
Last sync finished time
|
|
1103
|
-
|
|
1104
|
-
last_sync_count : typing.Optional[int]
|
|
1105
|
-
Count of tasks synced last time
|
|
1106
|
-
|
|
1107
|
-
last_sync_job : typing.Optional[str]
|
|
1108
|
-
Last sync job ID
|
|
1109
|
-
|
|
1110
|
-
status : typing.Optional[StatusC5AEnum]
|
|
1111
|
-
|
|
1112
|
-
traceback : typing.Optional[str]
|
|
1113
|
-
Traceback report for the last failed sync
|
|
1114
|
-
|
|
1115
|
-
meta : typing.Optional[typing.Optional[typing.Any]]
|
|
1116
|
-
|
|
1117
|
-
title : typing.Optional[str]
|
|
1118
|
-
Cloud storage title
|
|
1119
|
-
|
|
1120
|
-
description : typing.Optional[str]
|
|
1121
|
-
Cloud storage description
|
|
1122
|
-
|
|
1123
|
-
can_delete_objects : typing.Optional[bool]
|
|
1124
|
-
Deletion from storage enabled
|
|
1125
|
-
|
|
1126
|
-
bucket : typing.Optional[str]
|
|
1127
|
-
S3 bucket name
|
|
1128
|
-
|
|
1129
|
-
prefix : typing.Optional[str]
|
|
1130
|
-
S3 bucket prefix
|
|
1131
|
-
|
|
1132
|
-
regex_filter : typing.Optional[str]
|
|
1133
|
-
Cloud storage regex for filtering objects
|
|
1134
|
-
|
|
1135
|
-
use_blob_urls : typing.Optional[bool]
|
|
1136
|
-
Interpret objects as BLOBs and generate URLs
|
|
1137
|
-
|
|
1138
|
-
aws_access_key_id : typing.Optional[str]
|
|
1139
|
-
AWS_ACCESS_KEY_ID
|
|
1140
|
-
|
|
1141
|
-
aws_secret_access_key : typing.Optional[str]
|
|
1142
|
-
AWS_SECRET_ACCESS_KEY
|
|
1143
|
-
|
|
1144
|
-
aws_session_token : typing.Optional[str]
|
|
1145
|
-
AWS_SESSION_TOKEN
|
|
1146
|
-
|
|
1147
|
-
aws_sse_kms_key_id : typing.Optional[str]
|
|
1148
|
-
AWS SSE KMS Key ID
|
|
1149
|
-
|
|
1150
|
-
region_name : typing.Optional[str]
|
|
1151
|
-
AWS Region
|
|
1152
|
-
|
|
1153
|
-
s3endpoint : typing.Optional[str]
|
|
1154
|
-
S3 Endpoint
|
|
1155
|
-
|
|
1156
|
-
external_id : typing.Optional[str]
|
|
1157
|
-
AWS ExternalId
|
|
1158
|
-
|
|
1159
|
-
role_arn : typing.Optional[str]
|
|
1160
|
-
AWS RoleArn
|
|
1161
|
-
|
|
1162
|
-
legacy_auth : typing.Optional[bool]
|
|
1163
|
-
|
|
1164
|
-
project : typing.Optional[int]
|
|
1165
|
-
A unique integer value identifying this project.
|
|
1166
|
-
|
|
1167
1138
|
request_options : typing.Optional[RequestOptions]
|
|
1168
1139
|
Request-specific configuration.
|
|
1169
1140
|
|
|
@@ -1184,47 +1155,17 @@ class AsyncS3SClient:
|
|
|
1184
1155
|
|
|
1185
1156
|
|
|
1186
1157
|
async def main() -> None:
|
|
1187
|
-
await client.export_storage.s3s.
|
|
1158
|
+
await client.export_storage.s3s.get(
|
|
1188
1159
|
id=1,
|
|
1189
1160
|
)
|
|
1190
1161
|
|
|
1191
|
-
|
|
1192
|
-
asyncio.run(main())
|
|
1193
|
-
"""
|
|
1194
|
-
_response = await self._client_wrapper.httpx_client.request(
|
|
1195
|
-
f"api/storages/export/s3s/{jsonable_encoder(id)}",
|
|
1196
|
-
method="
|
|
1197
|
-
json={
|
|
1198
|
-
"synchronizable": synchronizable,
|
|
1199
|
-
"last_sync": last_sync,
|
|
1200
|
-
"last_sync_count": last_sync_count,
|
|
1201
|
-
"last_sync_job": last_sync_job,
|
|
1202
|
-
"status": status,
|
|
1203
|
-
"traceback": traceback,
|
|
1204
|
-
"meta": meta,
|
|
1205
|
-
"title": title,
|
|
1206
|
-
"description": description,
|
|
1207
|
-
"can_delete_objects": can_delete_objects,
|
|
1208
|
-
"bucket": bucket,
|
|
1209
|
-
"prefix": prefix,
|
|
1210
|
-
"regex_filter": regex_filter,
|
|
1211
|
-
"use_blob_urls": use_blob_urls,
|
|
1212
|
-
"aws_access_key_id": aws_access_key_id,
|
|
1213
|
-
"aws_secret_access_key": aws_secret_access_key,
|
|
1214
|
-
"aws_session_token": aws_session_token,
|
|
1215
|
-
"aws_sse_kms_key_id": aws_sse_kms_key_id,
|
|
1216
|
-
"region_name": region_name,
|
|
1217
|
-
"s3_endpoint": s3endpoint,
|
|
1218
|
-
"external_id": external_id,
|
|
1219
|
-
"role_arn": role_arn,
|
|
1220
|
-
"legacy_auth": legacy_auth,
|
|
1221
|
-
"project": project,
|
|
1222
|
-
},
|
|
1223
|
-
headers={
|
|
1224
|
-
"content-type": "application/json",
|
|
1225
|
-
},
|
|
1162
|
+
|
|
1163
|
+
asyncio.run(main())
|
|
1164
|
+
"""
|
|
1165
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
1166
|
+
f"api/storages/export/s3s/{jsonable_encoder(id)}",
|
|
1167
|
+
method="GET",
|
|
1226
1168
|
request_options=request_options,
|
|
1227
|
-
omit=OMIT,
|
|
1228
1169
|
)
|
|
1229
1170
|
try:
|
|
1230
1171
|
if 200 <= _response.status_code < 300:
|
|
@@ -1240,9 +1181,9 @@ class AsyncS3SClient:
|
|
|
1240
1181
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1241
1182
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1242
1183
|
|
|
1243
|
-
async def
|
|
1184
|
+
async def delete(self, id: int, *, request_options: typing.Optional[RequestOptions] = None) -> None:
|
|
1244
1185
|
"""
|
|
1245
|
-
|
|
1186
|
+
Delete a specific S3 export storage connection that was set up with IAM role access.
|
|
1246
1187
|
|
|
1247
1188
|
Parameters
|
|
1248
1189
|
----------
|
|
@@ -1253,8 +1194,7 @@ class AsyncS3SClient:
|
|
|
1253
1194
|
|
|
1254
1195
|
Returns
|
|
1255
1196
|
-------
|
|
1256
|
-
|
|
1257
|
-
|
|
1197
|
+
None
|
|
1258
1198
|
|
|
1259
1199
|
Examples
|
|
1260
1200
|
--------
|
|
@@ -1268,7 +1208,7 @@ class AsyncS3SClient:
|
|
|
1268
1208
|
|
|
1269
1209
|
|
|
1270
1210
|
async def main() -> None:
|
|
1271
|
-
await client.export_storage.s3s.
|
|
1211
|
+
await client.export_storage.s3s.delete(
|
|
1272
1212
|
id=1,
|
|
1273
1213
|
)
|
|
1274
1214
|
|
|
@@ -1276,65 +1216,78 @@ class AsyncS3SClient:
|
|
|
1276
1216
|
asyncio.run(main())
|
|
1277
1217
|
"""
|
|
1278
1218
|
_response = await self._client_wrapper.httpx_client.request(
|
|
1279
|
-
f"api/storages/export/s3s/{jsonable_encoder(id)}
|
|
1280
|
-
method="
|
|
1219
|
+
f"api/storages/export/s3s/{jsonable_encoder(id)}",
|
|
1220
|
+
method="DELETE",
|
|
1281
1221
|
request_options=request_options,
|
|
1282
1222
|
)
|
|
1283
1223
|
try:
|
|
1284
1224
|
if 200 <= _response.status_code < 300:
|
|
1285
|
-
return
|
|
1286
|
-
LseS3ExportStorage,
|
|
1287
|
-
construct_type(
|
|
1288
|
-
type_=LseS3ExportStorage, # type: ignore
|
|
1289
|
-
object_=_response.json(),
|
|
1290
|
-
),
|
|
1291
|
-
)
|
|
1225
|
+
return
|
|
1292
1226
|
_response_json = _response.json()
|
|
1293
1227
|
except JSONDecodeError:
|
|
1294
1228
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1295
1229
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1296
1230
|
|
|
1297
|
-
async def
|
|
1231
|
+
async def update(
|
|
1298
1232
|
self,
|
|
1233
|
+
id: int,
|
|
1299
1234
|
*,
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1235
|
+
aws_access_key_id: typing.Optional[str] = OMIT,
|
|
1236
|
+
aws_secret_access_key: typing.Optional[str] = OMIT,
|
|
1237
|
+
aws_session_token: typing.Optional[str] = OMIT,
|
|
1238
|
+
aws_sse_kms_key_id: typing.Optional[str] = OMIT,
|
|
1239
|
+
bucket: typing.Optional[str] = OMIT,
|
|
1240
|
+
can_delete_objects: typing.Optional[bool] = OMIT,
|
|
1241
|
+
description: typing.Optional[str] = OMIT,
|
|
1242
|
+
external_id: typing.Optional[str] = OMIT,
|
|
1303
1243
|
last_sync: typing.Optional[dt.datetime] = OMIT,
|
|
1304
1244
|
last_sync_count: typing.Optional[int] = OMIT,
|
|
1305
1245
|
last_sync_job: typing.Optional[str] = OMIT,
|
|
1306
|
-
|
|
1307
|
-
traceback: typing.Optional[str] = OMIT,
|
|
1246
|
+
legacy_auth: typing.Optional[bool] = OMIT,
|
|
1308
1247
|
meta: typing.Optional[typing.Optional[typing.Any]] = OMIT,
|
|
1309
|
-
title: typing.Optional[str] = OMIT,
|
|
1310
|
-
description: typing.Optional[str] = OMIT,
|
|
1311
|
-
can_delete_objects: typing.Optional[bool] = OMIT,
|
|
1312
|
-
bucket: typing.Optional[str] = OMIT,
|
|
1313
1248
|
prefix: typing.Optional[str] = OMIT,
|
|
1249
|
+
project: typing.Optional[int] = OMIT,
|
|
1314
1250
|
regex_filter: typing.Optional[str] = OMIT,
|
|
1315
|
-
use_blob_urls: typing.Optional[bool] = OMIT,
|
|
1316
|
-
aws_access_key_id: typing.Optional[str] = OMIT,
|
|
1317
|
-
aws_secret_access_key: typing.Optional[str] = OMIT,
|
|
1318
|
-
aws_session_token: typing.Optional[str] = OMIT,
|
|
1319
|
-
aws_sse_kms_key_id: typing.Optional[str] = OMIT,
|
|
1320
1251
|
region_name: typing.Optional[str] = OMIT,
|
|
1252
|
+
role_arn: typing.Optional[str] = OMIT,
|
|
1321
1253
|
s3endpoint: typing.Optional[str] = OMIT,
|
|
1322
|
-
|
|
1323
|
-
|
|
1254
|
+
status: typing.Optional[StatusC5AEnum] = OMIT,
|
|
1255
|
+
synchronizable: typing.Optional[bool] = OMIT,
|
|
1256
|
+
title: typing.Optional[str] = OMIT,
|
|
1257
|
+
traceback: typing.Optional[str] = OMIT,
|
|
1258
|
+
use_blob_urls: typing.Optional[bool] = OMIT,
|
|
1324
1259
|
request_options: typing.Optional[RequestOptions] = None,
|
|
1325
|
-
) ->
|
|
1260
|
+
) -> LseS3ExportStorage:
|
|
1326
1261
|
"""
|
|
1327
|
-
|
|
1262
|
+
Update a specific S3 export storage connection that was set up with IAM role access.
|
|
1328
1263
|
|
|
1329
1264
|
Parameters
|
|
1330
1265
|
----------
|
|
1331
|
-
|
|
1332
|
-
AWS RoleArn
|
|
1266
|
+
id : int
|
|
1333
1267
|
|
|
1334
|
-
|
|
1335
|
-
|
|
1268
|
+
aws_access_key_id : typing.Optional[str]
|
|
1269
|
+
AWS_ACCESS_KEY_ID
|
|
1336
1270
|
|
|
1337
|
-
|
|
1271
|
+
aws_secret_access_key : typing.Optional[str]
|
|
1272
|
+
AWS_SECRET_ACCESS_KEY
|
|
1273
|
+
|
|
1274
|
+
aws_session_token : typing.Optional[str]
|
|
1275
|
+
AWS_SESSION_TOKEN
|
|
1276
|
+
|
|
1277
|
+
aws_sse_kms_key_id : typing.Optional[str]
|
|
1278
|
+
AWS SSE KMS Key ID
|
|
1279
|
+
|
|
1280
|
+
bucket : typing.Optional[str]
|
|
1281
|
+
S3 bucket name
|
|
1282
|
+
|
|
1283
|
+
can_delete_objects : typing.Optional[bool]
|
|
1284
|
+
Deletion from storage enabled
|
|
1285
|
+
|
|
1286
|
+
description : typing.Optional[str]
|
|
1287
|
+
Cloud storage description
|
|
1288
|
+
|
|
1289
|
+
external_id : typing.Optional[str]
|
|
1290
|
+
AWS ExternalId
|
|
1338
1291
|
|
|
1339
1292
|
last_sync : typing.Optional[dt.datetime]
|
|
1340
1293
|
Last sync finished time
|
|
@@ -1345,63 +1298,48 @@ class AsyncS3SClient:
|
|
|
1345
1298
|
last_sync_job : typing.Optional[str]
|
|
1346
1299
|
Last sync job ID
|
|
1347
1300
|
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
traceback : typing.Optional[str]
|
|
1351
|
-
Traceback report for the last failed sync
|
|
1301
|
+
legacy_auth : typing.Optional[bool]
|
|
1352
1302
|
|
|
1353
1303
|
meta : typing.Optional[typing.Optional[typing.Any]]
|
|
1354
1304
|
|
|
1355
|
-
title : typing.Optional[str]
|
|
1356
|
-
Cloud storage title
|
|
1357
|
-
|
|
1358
|
-
description : typing.Optional[str]
|
|
1359
|
-
Cloud storage description
|
|
1360
|
-
|
|
1361
|
-
can_delete_objects : typing.Optional[bool]
|
|
1362
|
-
Deletion from storage enabled
|
|
1363
|
-
|
|
1364
|
-
bucket : typing.Optional[str]
|
|
1365
|
-
S3 bucket name
|
|
1366
|
-
|
|
1367
1305
|
prefix : typing.Optional[str]
|
|
1368
1306
|
S3 bucket prefix
|
|
1369
1307
|
|
|
1308
|
+
project : typing.Optional[int]
|
|
1309
|
+
A unique integer value identifying this project.
|
|
1310
|
+
|
|
1370
1311
|
regex_filter : typing.Optional[str]
|
|
1371
1312
|
Cloud storage regex for filtering objects
|
|
1372
1313
|
|
|
1373
|
-
use_blob_urls : typing.Optional[bool]
|
|
1374
|
-
Interpret objects as BLOBs and generate URLs
|
|
1375
|
-
|
|
1376
|
-
aws_access_key_id : typing.Optional[str]
|
|
1377
|
-
AWS_ACCESS_KEY_ID
|
|
1378
|
-
|
|
1379
|
-
aws_secret_access_key : typing.Optional[str]
|
|
1380
|
-
AWS_SECRET_ACCESS_KEY
|
|
1381
|
-
|
|
1382
|
-
aws_session_token : typing.Optional[str]
|
|
1383
|
-
AWS_SESSION_TOKEN
|
|
1384
|
-
|
|
1385
|
-
aws_sse_kms_key_id : typing.Optional[str]
|
|
1386
|
-
AWS SSE KMS Key ID
|
|
1387
|
-
|
|
1388
1314
|
region_name : typing.Optional[str]
|
|
1389
1315
|
AWS Region
|
|
1390
1316
|
|
|
1317
|
+
role_arn : typing.Optional[str]
|
|
1318
|
+
AWS RoleArn
|
|
1319
|
+
|
|
1391
1320
|
s3endpoint : typing.Optional[str]
|
|
1392
1321
|
S3 Endpoint
|
|
1393
1322
|
|
|
1394
|
-
|
|
1395
|
-
AWS ExternalId
|
|
1323
|
+
status : typing.Optional[StatusC5AEnum]
|
|
1396
1324
|
|
|
1397
|
-
|
|
1325
|
+
synchronizable : typing.Optional[bool]
|
|
1326
|
+
|
|
1327
|
+
title : typing.Optional[str]
|
|
1328
|
+
Cloud storage title
|
|
1329
|
+
|
|
1330
|
+
traceback : typing.Optional[str]
|
|
1331
|
+
Traceback report for the last failed sync
|
|
1332
|
+
|
|
1333
|
+
use_blob_urls : typing.Optional[bool]
|
|
1334
|
+
Interpret objects as BLOBs and generate URLs
|
|
1398
1335
|
|
|
1399
1336
|
request_options : typing.Optional[RequestOptions]
|
|
1400
1337
|
Request-specific configuration.
|
|
1401
1338
|
|
|
1402
1339
|
Returns
|
|
1403
1340
|
-------
|
|
1404
|
-
|
|
1341
|
+
LseS3ExportStorage
|
|
1342
|
+
|
|
1405
1343
|
|
|
1406
1344
|
Examples
|
|
1407
1345
|
--------
|
|
@@ -1415,49 +1353,111 @@ class AsyncS3SClient:
|
|
|
1415
1353
|
|
|
1416
1354
|
|
|
1417
1355
|
async def main() -> None:
|
|
1418
|
-
await client.export_storage.s3s.
|
|
1419
|
-
|
|
1420
|
-
project=1,
|
|
1356
|
+
await client.export_storage.s3s.update(
|
|
1357
|
+
id=1,
|
|
1421
1358
|
)
|
|
1422
1359
|
|
|
1423
1360
|
|
|
1424
1361
|
asyncio.run(main())
|
|
1425
1362
|
"""
|
|
1426
1363
|
_response = await self._client_wrapper.httpx_client.request(
|
|
1427
|
-
"api/storages/export/s3s/
|
|
1428
|
-
method="
|
|
1364
|
+
f"api/storages/export/s3s/{jsonable_encoder(id)}",
|
|
1365
|
+
method="PATCH",
|
|
1429
1366
|
json={
|
|
1430
|
-
"
|
|
1367
|
+
"aws_access_key_id": aws_access_key_id,
|
|
1368
|
+
"aws_secret_access_key": aws_secret_access_key,
|
|
1369
|
+
"aws_session_token": aws_session_token,
|
|
1370
|
+
"aws_sse_kms_key_id": aws_sse_kms_key_id,
|
|
1371
|
+
"bucket": bucket,
|
|
1372
|
+
"can_delete_objects": can_delete_objects,
|
|
1373
|
+
"description": description,
|
|
1374
|
+
"external_id": external_id,
|
|
1431
1375
|
"last_sync": last_sync,
|
|
1432
1376
|
"last_sync_count": last_sync_count,
|
|
1433
1377
|
"last_sync_job": last_sync_job,
|
|
1434
|
-
"
|
|
1435
|
-
"traceback": traceback,
|
|
1378
|
+
"legacy_auth": legacy_auth,
|
|
1436
1379
|
"meta": meta,
|
|
1437
|
-
"title": title,
|
|
1438
|
-
"description": description,
|
|
1439
|
-
"can_delete_objects": can_delete_objects,
|
|
1440
|
-
"bucket": bucket,
|
|
1441
1380
|
"prefix": prefix,
|
|
1381
|
+
"project": project,
|
|
1442
1382
|
"regex_filter": regex_filter,
|
|
1443
|
-
"use_blob_urls": use_blob_urls,
|
|
1444
|
-
"aws_access_key_id": aws_access_key_id,
|
|
1445
|
-
"aws_secret_access_key": aws_secret_access_key,
|
|
1446
|
-
"aws_session_token": aws_session_token,
|
|
1447
|
-
"aws_sse_kms_key_id": aws_sse_kms_key_id,
|
|
1448
1383
|
"region_name": region_name,
|
|
1449
|
-
"s3_endpoint": s3endpoint,
|
|
1450
|
-
"external_id": external_id,
|
|
1451
1384
|
"role_arn": role_arn,
|
|
1452
|
-
"
|
|
1453
|
-
"
|
|
1385
|
+
"s3_endpoint": s3endpoint,
|
|
1386
|
+
"status": status,
|
|
1387
|
+
"synchronizable": synchronizable,
|
|
1388
|
+
"title": title,
|
|
1389
|
+
"traceback": traceback,
|
|
1390
|
+
"use_blob_urls": use_blob_urls,
|
|
1391
|
+
},
|
|
1392
|
+
headers={
|
|
1393
|
+
"content-type": "application/json",
|
|
1454
1394
|
},
|
|
1455
1395
|
request_options=request_options,
|
|
1456
1396
|
omit=OMIT,
|
|
1457
1397
|
)
|
|
1458
1398
|
try:
|
|
1459
1399
|
if 200 <= _response.status_code < 300:
|
|
1460
|
-
return
|
|
1400
|
+
return typing.cast(
|
|
1401
|
+
LseS3ExportStorage,
|
|
1402
|
+
construct_type(
|
|
1403
|
+
type_=LseS3ExportStorage, # type: ignore
|
|
1404
|
+
object_=_response.json(),
|
|
1405
|
+
),
|
|
1406
|
+
)
|
|
1407
|
+
_response_json = _response.json()
|
|
1408
|
+
except JSONDecodeError:
|
|
1409
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
1410
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
|
1411
|
+
|
|
1412
|
+
async def sync(self, id: int, *, request_options: typing.Optional[RequestOptions] = None) -> LseS3ExportStorage:
|
|
1413
|
+
"""
|
|
1414
|
+
Sync tasks from an S3 export storage.
|
|
1415
|
+
|
|
1416
|
+
Parameters
|
|
1417
|
+
----------
|
|
1418
|
+
id : int
|
|
1419
|
+
|
|
1420
|
+
request_options : typing.Optional[RequestOptions]
|
|
1421
|
+
Request-specific configuration.
|
|
1422
|
+
|
|
1423
|
+
Returns
|
|
1424
|
+
-------
|
|
1425
|
+
LseS3ExportStorage
|
|
1426
|
+
|
|
1427
|
+
|
|
1428
|
+
Examples
|
|
1429
|
+
--------
|
|
1430
|
+
import asyncio
|
|
1431
|
+
|
|
1432
|
+
from label_studio_sdk import AsyncLabelStudio
|
|
1433
|
+
|
|
1434
|
+
client = AsyncLabelStudio(
|
|
1435
|
+
api_key="YOUR_API_KEY",
|
|
1436
|
+
)
|
|
1437
|
+
|
|
1438
|
+
|
|
1439
|
+
async def main() -> None:
|
|
1440
|
+
await client.export_storage.s3s.sync(
|
|
1441
|
+
id=1,
|
|
1442
|
+
)
|
|
1443
|
+
|
|
1444
|
+
|
|
1445
|
+
asyncio.run(main())
|
|
1446
|
+
"""
|
|
1447
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
1448
|
+
f"api/storages/export/s3s/{jsonable_encoder(id)}/sync",
|
|
1449
|
+
method="POST",
|
|
1450
|
+
request_options=request_options,
|
|
1451
|
+
)
|
|
1452
|
+
try:
|
|
1453
|
+
if 200 <= _response.status_code < 300:
|
|
1454
|
+
return typing.cast(
|
|
1455
|
+
LseS3ExportStorage,
|
|
1456
|
+
construct_type(
|
|
1457
|
+
type_=LseS3ExportStorage, # type: ignore
|
|
1458
|
+
object_=_response.json(),
|
|
1459
|
+
),
|
|
1460
|
+
)
|
|
1461
1461
|
_response_json = _response.json()
|
|
1462
1462
|
except JSONDecodeError:
|
|
1463
1463
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|