label-studio-sdk 2.0.5__py3-none-any.whl → 2.0.6__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.

Files changed (72) hide show
  1. label_studio_sdk/__init__.py +52 -0
  2. label_studio_sdk/annotation_history/__init__.py +5 -0
  3. label_studio_sdk/annotation_history/client.py +415 -0
  4. label_studio_sdk/annotation_history/types/__init__.py +5 -0
  5. label_studio_sdk/annotation_history/types/annotation_history_delete_response.py +22 -0
  6. label_studio_sdk/annotation_reviews/__init__.py +2 -0
  7. label_studio_sdk/annotation_reviews/client.py +713 -0
  8. label_studio_sdk/base_client.py +16 -0
  9. label_studio_sdk/blueprints/__init__.py +2 -0
  10. label_studio_sdk/blueprints/client.py +272 -0
  11. label_studio_sdk/core/client_wrapper.py +2 -1
  12. label_studio_sdk/export_storage/__init__.py +2 -2
  13. label_studio_sdk/export_storage/azure_spi/__init__.py +2 -0
  14. label_studio_sdk/export_storage/azure_spi/client.py +1354 -0
  15. label_studio_sdk/export_storage/client.py +8 -0
  16. label_studio_sdk/export_storage/gcswif/__init__.py +2 -0
  17. label_studio_sdk/export_storage/gcswif/client.py +1376 -0
  18. label_studio_sdk/import_storage/__init__.py +2 -2
  19. label_studio_sdk/import_storage/azure_spi/__init__.py +2 -0
  20. label_studio_sdk/import_storage/azure_spi/client.py +1378 -0
  21. label_studio_sdk/import_storage/client.py +8 -0
  22. label_studio_sdk/import_storage/gcswif/__init__.py +2 -0
  23. label_studio_sdk/import_storage/gcswif/client.py +1400 -0
  24. label_studio_sdk/jwt_settings/client.py +10 -8
  25. label_studio_sdk/projects/client.py +8 -0
  26. label_studio_sdk/projects/members/__init__.py +2 -2
  27. label_studio_sdk/projects/members/bulk/client.py +46 -2
  28. label_studio_sdk/projects/members/client.py +4 -0
  29. label_studio_sdk/projects/members/paginated/__init__.py +2 -0
  30. label_studio_sdk/projects/members/paginated/client.py +248 -0
  31. label_studio_sdk/session_policy/__init__.py +2 -0
  32. label_studio_sdk/session_policy/client.py +247 -0
  33. label_studio_sdk/tasks/client.py +371 -0
  34. label_studio_sdk/types/__init__.py +42 -0
  35. label_studio_sdk/types/action_enum.py +19 -0
  36. label_studio_sdk/types/all_roles_project_list.py +1 -1
  37. label_studio_sdk/types/annotation.py +7 -0
  38. label_studio_sdk/types/annotation_history.py +81 -0
  39. label_studio_sdk/types/annotation_history_action.py +7 -0
  40. label_studio_sdk/types/annotation_request.py +7 -0
  41. label_studio_sdk/types/annotation_review.py +61 -0
  42. label_studio_sdk/types/annotation_review_request.py +41 -0
  43. label_studio_sdk/types/azure_service_principal_export_storage.py +114 -0
  44. label_studio_sdk/types/azure_service_principal_export_storage_request.py +107 -0
  45. label_studio_sdk/types/azure_service_principal_import_storage.py +115 -0
  46. label_studio_sdk/types/azure_service_principal_import_storage_request.py +108 -0
  47. label_studio_sdk/types/blueprint.py +41 -0
  48. label_studio_sdk/types/gcswif_export_storage.py +119 -0
  49. label_studio_sdk/types/gcswif_export_storage_request.py +112 -0
  50. label_studio_sdk/types/gcswif_import_storage.py +120 -0
  51. label_studio_sdk/types/gcswif_import_storage_request.py +113 -0
  52. label_studio_sdk/types/lse_project_update.py +1 -0
  53. label_studio_sdk/types/lse_task.py +1 -0
  54. label_studio_sdk/types/lse_task_serializer_for_reviewers.py +1 -0
  55. label_studio_sdk/types/lsejwt_settings.py +1 -5
  56. label_studio_sdk/types/paginated_annotation_history_list.py +23 -0
  57. label_studio_sdk/types/paginated_lse_user_list.py +23 -0
  58. label_studio_sdk/types/paginated_paginated_project_member_list.py +23 -0
  59. label_studio_sdk/types/paginated_project_member.py +50 -0
  60. label_studio_sdk/types/project_member_bulk_assign_roles_request.py +21 -0
  61. label_studio_sdk/types/review_settings.py +5 -0
  62. label_studio_sdk/types/review_settings_request.py +5 -0
  63. label_studio_sdk/types/session_timeout_policy.py +31 -0
  64. label_studio_sdk/types/task_event.py +61 -0
  65. label_studio_sdk/workspaces/members/__init__.py +2 -2
  66. label_studio_sdk/workspaces/members/client.py +4 -0
  67. label_studio_sdk/workspaces/members/paginated/__init__.py +2 -0
  68. label_studio_sdk/workspaces/members/paginated/client.py +212 -0
  69. {label_studio_sdk-2.0.5.dist-info → label_studio_sdk-2.0.6.dist-info}/METADATA +2 -2
  70. {label_studio_sdk-2.0.5.dist-info → label_studio_sdk-2.0.6.dist-info}/RECORD +72 -29
  71. {label_studio_sdk-2.0.5.dist-info → label_studio_sdk-2.0.6.dist-info}/LICENSE +0 -0
  72. {label_studio_sdk-2.0.5.dist-info → label_studio_sdk-2.0.6.dist-info}/WHEEL +0 -0
@@ -1,5 +1,6 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ from .action_enum import ActionEnum
3
4
  from .actions_enum import ActionsEnum
4
5
  from .activity_log import ActivityLog
5
6
  from .activity_log_response import ActivityLogResponse
@@ -8,9 +9,13 @@ from .all_roles_project_list_sampling import AllRolesProjectListSampling
8
9
  from .all_roles_project_list_skip_queue import AllRolesProjectListSkipQueue
9
10
  from .annotated_enum import AnnotatedEnum
10
11
  from .annotation import Annotation
12
+ from .annotation_history import AnnotationHistory
13
+ from .annotation_history_action import AnnotationHistoryAction
11
14
  from .annotation_last_action import AnnotationLastAction
12
15
  from .annotation_request import AnnotationRequest
13
16
  from .annotation_request_last_action import AnnotationRequestLastAction
17
+ from .annotation_review import AnnotationReview
18
+ from .annotation_review_request import AnnotationReviewRequest
14
19
  from .assignment_settings import AssignmentSettings
15
20
  from .assignment_settings_label_stream_task_distribution import AssignmentSettingsLabelStreamTaskDistribution
16
21
  from .assignment_settings_request import AssignmentSettingsRequest
@@ -21,12 +26,17 @@ from .associated_project import AssociatedProject
21
26
  from .auth_method_enum import AuthMethodEnum
22
27
  from .azure_blob_export_storage import AzureBlobExportStorage
23
28
  from .azure_blob_import_storage import AzureBlobImportStorage
29
+ from .azure_service_principal_export_storage import AzureServicePrincipalExportStorage
30
+ from .azure_service_principal_export_storage_request import AzureServicePrincipalExportStorageRequest
31
+ from .azure_service_principal_import_storage import AzureServicePrincipalImportStorage
32
+ from .azure_service_principal_import_storage_request import AzureServicePrincipalImportStorageRequest
24
33
  from .batch_failed_predictions import BatchFailedPredictions
25
34
  from .batch_predictions import BatchPredictions
26
35
  from .billing_checks import BillingChecks
27
36
  from .billing_flags import BillingFlags
28
37
  from .billing_info_response import BillingInfoResponse
29
38
  from .blank_enum import BlankEnum
39
+ from .blueprint import Blueprint
30
40
  from .blueprint_list import BlueprintList
31
41
  from .budget_reset_period_enum import BudgetResetPeriodEnum
32
42
  from .child_filter import ChildFilter
@@ -46,6 +56,10 @@ from .filter_group import FilterGroup
46
56
  from .finished_enum import FinishedEnum
47
57
  from .gcs_export_storage import GcsExportStorage
48
58
  from .gcs_import_storage import GcsImportStorage
59
+ from .gcswif_export_storage import GcswifExportStorage
60
+ from .gcswif_export_storage_request import GcswifExportStorageRequest
61
+ from .gcswif_import_storage import GcswifImportStorage
62
+ from .gcswif_import_storage_request import GcswifImportStorageRequest
49
63
  from .hotkeys import Hotkeys
50
64
  from .import_api_request import ImportApiRequest
51
65
  from .inference_run_cost_estimate import InferenceRunCostEstimate
@@ -120,7 +134,11 @@ from .organization_invite import OrganizationInvite
120
134
  from .organization_member import OrganizationMember
121
135
  from .organization_membership import OrganizationMembership
122
136
  from .paginated_all_roles_project_list_list import PaginatedAllRolesProjectListList
137
+ from .paginated_annotation_history_list import PaginatedAnnotationHistoryList
123
138
  from .paginated_lse_organization_member_list_list import PaginatedLseOrganizationMemberListList
139
+ from .paginated_lse_user_list import PaginatedLseUserList
140
+ from .paginated_paginated_project_member_list import PaginatedPaginatedProjectMemberList
141
+ from .paginated_project_member import PaginatedProjectMember
124
142
  from .paginated_role_based_task_list import PaginatedRoleBasedTaskList
125
143
  from .pause import Pause
126
144
  from .pause_request import PauseRequest
@@ -133,6 +151,7 @@ from .project_group_role_enum import ProjectGroupRoleEnum
133
151
  from .project_import import ProjectImport
134
152
  from .project_label_config import ProjectLabelConfig
135
153
  from .project_label_config_request import ProjectLabelConfigRequest
154
+ from .project_member_bulk_assign_roles_request import ProjectMemberBulkAssignRolesRequest
136
155
  from .project_sampling import ProjectSampling
137
156
  from .project_skip_queue import ProjectSkipQueue
138
157
  from .project_subset_enum import ProjectSubsetEnum
@@ -166,6 +185,7 @@ from .serialization_option import SerializationOption
166
185
  from .serialization_option_request import SerializationOptionRequest
167
186
  from .serialization_options import SerializationOptions
168
187
  from .serialization_options_request import SerializationOptionsRequest
188
+ from .session_timeout_policy import SessionTimeoutPolicy
169
189
  from .skill_name_enum import SkillNameEnum
170
190
  from .skip_queue_enum import SkipQueueEnum
171
191
  from .skipped_enum import SkippedEnum
@@ -173,6 +193,7 @@ from .state_enum import StateEnum
173
193
  from .status7bf_enum import Status7BfEnum
174
194
  from .status_c5a_enum import StatusC5AEnum
175
195
  from .task_assignment import TaskAssignment
196
+ from .task_event import TaskEvent
176
197
  from .third_party_model_version import ThirdPartyModelVersion
177
198
  from .third_party_model_version_request import ThirdPartyModelVersionRequest
178
199
  from .token_refresh_response import TokenRefreshResponse
@@ -194,6 +215,7 @@ from .workspace_member_create import WorkspaceMemberCreate
194
215
  from .workspace_member_list import WorkspaceMemberList
195
216
 
196
217
  __all__ = [
218
+ "ActionEnum",
197
219
  "ActionsEnum",
198
220
  "ActivityLog",
199
221
  "ActivityLogResponse",
@@ -202,9 +224,13 @@ __all__ = [
202
224
  "AllRolesProjectListSkipQueue",
203
225
  "AnnotatedEnum",
204
226
  "Annotation",
227
+ "AnnotationHistory",
228
+ "AnnotationHistoryAction",
205
229
  "AnnotationLastAction",
206
230
  "AnnotationRequest",
207
231
  "AnnotationRequestLastAction",
232
+ "AnnotationReview",
233
+ "AnnotationReviewRequest",
208
234
  "AssignmentSettings",
209
235
  "AssignmentSettingsLabelStreamTaskDistribution",
210
236
  "AssignmentSettingsRequest",
@@ -213,12 +239,17 @@ __all__ = [
213
239
  "AuthMethodEnum",
214
240
  "AzureBlobExportStorage",
215
241
  "AzureBlobImportStorage",
242
+ "AzureServicePrincipalExportStorage",
243
+ "AzureServicePrincipalExportStorageRequest",
244
+ "AzureServicePrincipalImportStorage",
245
+ "AzureServicePrincipalImportStorageRequest",
216
246
  "BatchFailedPredictions",
217
247
  "BatchPredictions",
218
248
  "BillingChecks",
219
249
  "BillingFlags",
220
250
  "BillingInfoResponse",
221
251
  "BlankEnum",
252
+ "Blueprint",
222
253
  "BlueprintList",
223
254
  "BudgetResetPeriodEnum",
224
255
  "ChildFilter",
@@ -238,6 +269,10 @@ __all__ = [
238
269
  "FinishedEnum",
239
270
  "GcsExportStorage",
240
271
  "GcsImportStorage",
272
+ "GcswifExportStorage",
273
+ "GcswifExportStorageRequest",
274
+ "GcswifImportStorage",
275
+ "GcswifImportStorageRequest",
241
276
  "Hotkeys",
242
277
  "ImportApiRequest",
243
278
  "InferenceRunCostEstimate",
@@ -312,7 +347,11 @@ __all__ = [
312
347
  "OrganizationMember",
313
348
  "OrganizationMembership",
314
349
  "PaginatedAllRolesProjectListList",
350
+ "PaginatedAnnotationHistoryList",
315
351
  "PaginatedLseOrganizationMemberListList",
352
+ "PaginatedLseUserList",
353
+ "PaginatedPaginatedProjectMemberList",
354
+ "PaginatedProjectMember",
316
355
  "PaginatedRoleBasedTaskList",
317
356
  "Pause",
318
357
  "PauseRequest",
@@ -325,6 +364,7 @@ __all__ = [
325
364
  "ProjectImport",
326
365
  "ProjectLabelConfig",
327
366
  "ProjectLabelConfigRequest",
367
+ "ProjectMemberBulkAssignRolesRequest",
328
368
  "ProjectSampling",
329
369
  "ProjectSkipQueue",
330
370
  "ProjectSubsetEnum",
@@ -358,6 +398,7 @@ __all__ = [
358
398
  "SerializationOptionRequest",
359
399
  "SerializationOptions",
360
400
  "SerializationOptionsRequest",
401
+ "SessionTimeoutPolicy",
361
402
  "SkillNameEnum",
362
403
  "SkipQueueEnum",
363
404
  "SkippedEnum",
@@ -365,6 +406,7 @@ __all__ = [
365
406
  "Status7BfEnum",
366
407
  "StatusC5AEnum",
367
408
  "TaskAssignment",
409
+ "TaskEvent",
368
410
  "ThirdPartyModelVersion",
369
411
  "ThirdPartyModelVersionRequest",
370
412
  "TokenRefreshResponse",
@@ -0,0 +1,19 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ ActionEnum = typing.Union[
6
+ typing.Literal[
7
+ "prediction",
8
+ "propagated_annotation",
9
+ "imported",
10
+ "submitted",
11
+ "updated",
12
+ "skipped",
13
+ "accepted",
14
+ "rejected",
15
+ "fixed_and_accepted",
16
+ "deleted_review",
17
+ ],
18
+ typing.Any,
19
+ ]
@@ -81,7 +81,6 @@ class AllRolesProjectList(UncheckedBaseModel):
81
81
  Honeypot annotation number in project
82
82
  """
83
83
 
84
- has_blueprints: str
85
84
  id: int
86
85
  is_draft: typing.Optional[bool] = pydantic.Field(default=None)
87
86
  """
@@ -164,6 +163,7 @@ class AllRolesProjectList(UncheckedBaseModel):
164
163
  Show a skip button in interface and allow annotators to skip the task
165
164
  """
166
165
 
166
+ show_unused_data_columns_to_annotators: typing.Optional[bool] = None
167
167
  skip_queue: typing.Optional[AllRolesProjectListSkipQueue] = None
168
168
  skipped_annotations_number: str
169
169
  start_training_on_annotation_update: bool = pydantic.Field()
@@ -9,6 +9,13 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
9
 
10
10
 
11
11
  class Annotation(UncheckedBaseModel):
12
+ """
13
+ A ModelSerializer that takes additional arguments for
14
+ "fields", "omit" and "expand" in order to
15
+ control which fields are displayed, and whether to replace simple
16
+ values with complex, nested serializations
17
+ """
18
+
12
19
  bulk_created: typing.Optional[bool] = pydantic.Field(default=None)
13
20
  """
14
21
  Annotation was created in bulk mode
@@ -0,0 +1,81 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ from .annotation_history_action import AnnotationHistoryAction
6
+ import pydantic
7
+ import datetime as dt
8
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
+
10
+
11
+ class AnnotationHistory(UncheckedBaseModel):
12
+ """
13
+ A ModelSerializer that takes additional arguments for
14
+ "fields", "omit" and "expand" in order to
15
+ control which fields are displayed, and whether to replace simple
16
+ values with complex, nested serializations
17
+ """
18
+
19
+ action: typing.Optional[AnnotationHistoryAction] = None
20
+ annotation_id: typing.Optional[int] = pydantic.Field(default=None)
21
+ """
22
+ Corresponding annotation for this historical annotation
23
+ """
24
+
25
+ comment: typing.Optional[str] = None
26
+ comment_id: typing.Optional[int] = pydantic.Field(default=None)
27
+ """
28
+ Comment id sent with result
29
+ """
30
+
31
+ created_at: dt.datetime
32
+ created_by: typing.Optional[int] = pydantic.Field(default=None)
33
+ """
34
+ Created by user id
35
+ """
36
+
37
+ draft_id: typing.Optional[int] = pydantic.Field(default=None)
38
+ """
39
+ Corresponding draft for this historical annotation
40
+ """
41
+
42
+ id: int
43
+ lead_time: typing.Optional[float] = pydantic.Field(default=None)
44
+ """
45
+ How much time it took to annotate the task
46
+ """
47
+
48
+ organization_id: typing.Optional[int] = pydantic.Field(default=None)
49
+ """
50
+ Organization for this annotation history
51
+ """
52
+
53
+ project_id: typing.Optional[int] = pydantic.Field(default=None)
54
+ """
55
+ Project for this annotation history
56
+ """
57
+
58
+ result: typing.Optional[typing.Optional[typing.Any]] = None
59
+ review_id: typing.Optional[int] = pydantic.Field(default=None)
60
+ """
61
+ AnnotationReview ID, using with review field
62
+ """
63
+
64
+ started_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
65
+ """
66
+ The time that a user started working on this revision of the annotation
67
+ """
68
+
69
+ task_id: typing.Optional[int] = pydantic.Field(default=None)
70
+ """
71
+ Task id
72
+ """
73
+
74
+ if IS_PYDANTIC_V2:
75
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
76
+ else:
77
+
78
+ class Config:
79
+ frozen = True
80
+ smart_union = True
81
+ extra = pydantic.Extra.allow
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from .action_enum import ActionEnum
5
+ from .null_enum import NullEnum
6
+
7
+ AnnotationHistoryAction = typing.Union[ActionEnum, NullEnum]
@@ -9,6 +9,13 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
9
 
10
10
 
11
11
  class AnnotationRequest(UncheckedBaseModel):
12
+ """
13
+ A ModelSerializer that takes additional arguments for
14
+ "fields", "omit" and "expand" in order to
15
+ control which fields are displayed, and whether to replace simple
16
+ values with complex, nested serializations
17
+ """
18
+
12
19
  bulk_created: typing.Optional[bool] = pydantic.Field(default=None)
13
20
  """
14
21
  Annotation was created in bulk mode
@@ -0,0 +1,61 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ import pydantic
6
+ import datetime as dt
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+
9
+
10
+ class AnnotationReview(UncheckedBaseModel):
11
+ """
12
+ A ModelSerializer that takes additional arguments for
13
+ "fields", "omit" and "expand" in order to
14
+ control which fields are displayed, and whether to replace simple
15
+ values with complex, nested serializations
16
+ """
17
+
18
+ accepted: typing.Optional[bool] = pydantic.Field(default=None)
19
+ """
20
+ Accepted or rejected (if false) flag
21
+ """
22
+
23
+ annotation: int = pydantic.Field()
24
+ """
25
+ Corresponding annotation
26
+ """
27
+
28
+ created_at: dt.datetime = pydantic.Field()
29
+ """
30
+ Creation time
31
+ """
32
+
33
+ created_by: int = pydantic.Field()
34
+ """
35
+ User who made this review
36
+ """
37
+
38
+ fixed_annotation_history: typing.Optional[int] = pydantic.Field(default=None)
39
+ """
40
+ Fixed annotation history item by the reviewer
41
+ """
42
+
43
+ id: int
44
+ last_annotation_history: typing.Optional[int] = None
45
+ previous_annotation_history: typing.Optional[int] = pydantic.Field(default=None)
46
+ """
47
+ Previous annotation history item by the annotator
48
+ """
49
+
50
+ remove_from_queue: typing.Optional[bool] = None
51
+ result: typing.Optional[typing.Optional[typing.Any]] = None
52
+ started_at: typing.Optional[dt.datetime] = None
53
+
54
+ if IS_PYDANTIC_V2:
55
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
56
+ else:
57
+
58
+ class Config:
59
+ frozen = True
60
+ smart_union = True
61
+ extra = pydantic.Extra.allow
@@ -0,0 +1,41 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ import pydantic
6
+ import datetime as dt
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+
9
+
10
+ class AnnotationReviewRequest(UncheckedBaseModel):
11
+ """
12
+ A ModelSerializer that takes additional arguments for
13
+ "fields", "omit" and "expand" in order to
14
+ control which fields are displayed, and whether to replace simple
15
+ values with complex, nested serializations
16
+ """
17
+
18
+ accepted: typing.Optional[bool] = pydantic.Field(default=None)
19
+ """
20
+ Accepted or rejected (if false) flag
21
+ """
22
+
23
+ annotation: int = pydantic.Field()
24
+ """
25
+ Corresponding annotation
26
+ """
27
+
28
+ comment: typing.Optional[str] = None
29
+ last_annotation_history: typing.Optional[int] = None
30
+ remove_from_queue: typing.Optional[bool] = None
31
+ result: typing.Optional[typing.Optional[typing.Any]] = None
32
+ started_at: typing.Optional[dt.datetime] = None
33
+
34
+ if IS_PYDANTIC_V2:
35
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
36
+ else:
37
+
38
+ class Config:
39
+ frozen = True
40
+ smart_union = True
41
+ extra = pydantic.Extra.allow
@@ -0,0 +1,114 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ import pydantic
6
+ import datetime as dt
7
+ from .status_c5a_enum import StatusC5AEnum
8
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
+
10
+
11
+ class AzureServicePrincipalExportStorage(UncheckedBaseModel):
12
+ account_name: typing.Optional[str] = pydantic.Field(default=None)
13
+ """
14
+ Azure Blob account name
15
+ """
16
+
17
+ can_delete_objects: typing.Optional[bool] = pydantic.Field(default=None)
18
+ """
19
+ Deletion from storage enabled
20
+ """
21
+
22
+ client_id: typing.Optional[str] = pydantic.Field(default=None)
23
+ """
24
+ Azure Blob Service Principal Client ID
25
+ """
26
+
27
+ client_secret: typing.Optional[str] = pydantic.Field(default=None)
28
+ """
29
+ Azure Blob Service Principal Client Secret
30
+ """
31
+
32
+ container: typing.Optional[str] = pydantic.Field(default=None)
33
+ """
34
+ Azure blob container
35
+ """
36
+
37
+ created_at: dt.datetime = pydantic.Field()
38
+ """
39
+ Creation time
40
+ """
41
+
42
+ description: typing.Optional[str] = pydantic.Field(default=None)
43
+ """
44
+ Cloud storage description
45
+ """
46
+
47
+ id: int
48
+ last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
49
+ """
50
+ Last sync finished time
51
+ """
52
+
53
+ last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
54
+ """
55
+ Count of tasks synced last time
56
+ """
57
+
58
+ last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
59
+ """
60
+ Last sync job ID
61
+ """
62
+
63
+ meta: typing.Optional[typing.Optional[typing.Any]] = None
64
+ prefix: typing.Optional[str] = pydantic.Field(default=None)
65
+ """
66
+ Azure blob prefix name
67
+ """
68
+
69
+ project: int = pydantic.Field()
70
+ """
71
+ A unique integer value identifying this project.
72
+ """
73
+
74
+ regex_filter: typing.Optional[str] = pydantic.Field(default=None)
75
+ """
76
+ Cloud storage regex for filtering objects
77
+ """
78
+
79
+ status: typing.Optional[StatusC5AEnum] = None
80
+ synchronizable: typing.Optional[bool] = None
81
+ tenant_id: typing.Optional[str] = pydantic.Field(default=None)
82
+ """
83
+ Azure Tenant ID
84
+ """
85
+
86
+ title: typing.Optional[str] = pydantic.Field(default=None)
87
+ """
88
+ Cloud storage title
89
+ """
90
+
91
+ traceback: typing.Optional[str] = pydantic.Field(default=None)
92
+ """
93
+ Traceback report for the last failed sync
94
+ """
95
+
96
+ type: str
97
+ use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
98
+ """
99
+ Interpret objects as BLOBs and generate URLs
100
+ """
101
+
102
+ user_delegation_key: typing.Optional[str] = pydantic.Field(default=None)
103
+ """
104
+ User Delegation Key (Backend)
105
+ """
106
+
107
+ if IS_PYDANTIC_V2:
108
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
109
+ else:
110
+
111
+ class Config:
112
+ frozen = True
113
+ smart_union = True
114
+ extra = pydantic.Extra.allow
@@ -0,0 +1,107 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ import pydantic
6
+ import datetime as dt
7
+ from .status_c5a_enum import StatusC5AEnum
8
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
+
10
+
11
+ class AzureServicePrincipalExportStorageRequest(UncheckedBaseModel):
12
+ account_name: typing.Optional[str] = pydantic.Field(default=None)
13
+ """
14
+ Azure Blob account name
15
+ """
16
+
17
+ can_delete_objects: typing.Optional[bool] = pydantic.Field(default=None)
18
+ """
19
+ Deletion from storage enabled
20
+ """
21
+
22
+ client_id: typing.Optional[str] = pydantic.Field(default=None)
23
+ """
24
+ Azure Blob Service Principal Client ID
25
+ """
26
+
27
+ client_secret: typing.Optional[str] = pydantic.Field(default=None)
28
+ """
29
+ Azure Blob Service Principal Client Secret
30
+ """
31
+
32
+ container: typing.Optional[str] = pydantic.Field(default=None)
33
+ """
34
+ Azure blob container
35
+ """
36
+
37
+ description: typing.Optional[str] = pydantic.Field(default=None)
38
+ """
39
+ Cloud storage description
40
+ """
41
+
42
+ last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
43
+ """
44
+ Last sync finished time
45
+ """
46
+
47
+ last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
48
+ """
49
+ Count of tasks synced last time
50
+ """
51
+
52
+ last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
53
+ """
54
+ Last sync job ID
55
+ """
56
+
57
+ meta: typing.Optional[typing.Optional[typing.Any]] = None
58
+ prefix: typing.Optional[str] = pydantic.Field(default=None)
59
+ """
60
+ Azure blob prefix name
61
+ """
62
+
63
+ project: int = pydantic.Field()
64
+ """
65
+ A unique integer value identifying this project.
66
+ """
67
+
68
+ regex_filter: typing.Optional[str] = pydantic.Field(default=None)
69
+ """
70
+ Cloud storage regex for filtering objects
71
+ """
72
+
73
+ status: typing.Optional[StatusC5AEnum] = None
74
+ synchronizable: typing.Optional[bool] = None
75
+ tenant_id: typing.Optional[str] = pydantic.Field(default=None)
76
+ """
77
+ Azure Tenant ID
78
+ """
79
+
80
+ title: typing.Optional[str] = pydantic.Field(default=None)
81
+ """
82
+ Cloud storage title
83
+ """
84
+
85
+ traceback: typing.Optional[str] = pydantic.Field(default=None)
86
+ """
87
+ Traceback report for the last failed sync
88
+ """
89
+
90
+ use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
91
+ """
92
+ Interpret objects as BLOBs and generate URLs
93
+ """
94
+
95
+ user_delegation_key: typing.Optional[str] = pydantic.Field(default=None)
96
+ """
97
+ User Delegation Key (Backend)
98
+ """
99
+
100
+ if IS_PYDANTIC_V2:
101
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
102
+ else:
103
+
104
+ class Config:
105
+ frozen = True
106
+ smart_union = True
107
+ extra = pydantic.Extra.allow