together 2.0.0a17__py3-none-any.whl → 2.0.0a19__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.
- together/_base_client.py +5 -2
- together/_client.py +1 -77
- together/_compat.py +3 -3
- together/_utils/_json.py +35 -0
- together/_version.py +1 -1
- together/lib/cli/api/beta/__init__.py +2 -0
- together/lib/cli/api/beta/jig/__init__.py +52 -0
- together/lib/cli/api/beta/jig/_config.py +170 -0
- together/lib/cli/api/beta/jig/jig.py +664 -0
- together/lib/cli/api/beta/jig/secrets.py +138 -0
- together/lib/cli/api/beta/jig/volumes.py +509 -0
- together/lib/cli/api/endpoints/create.py +7 -3
- together/lib/cli/api/endpoints/hardware.py +38 -7
- together/lib/cli/api/models/upload.py +5 -1
- together/resources/__init__.py +0 -28
- together/resources/beta/__init__.py +14 -0
- together/resources/beta/beta.py +32 -0
- together/resources/beta/clusters/clusters.py +12 -12
- together/resources/beta/clusters/storage.py +10 -10
- together/resources/beta/jig/__init__.py +61 -0
- together/resources/beta/jig/jig.py +1004 -0
- together/resources/beta/jig/queue.py +482 -0
- together/resources/beta/jig/secrets.py +548 -0
- together/resources/beta/jig/volumes.py +514 -0
- together/resources/chat/completions.py +10 -0
- together/resources/endpoints.py +103 -1
- together/resources/models/__init__.py +33 -0
- together/resources/{models.py → models/models.py} +41 -9
- together/resources/models/uploads.py +163 -0
- together/types/__init__.py +2 -4
- together/types/beta/__init__.py +6 -0
- together/types/beta/deployment.py +261 -0
- together/types/beta/deployment_logs.py +11 -0
- together/types/beta/jig/__init__.py +20 -0
- together/types/beta/jig/queue_cancel_params.py +13 -0
- together/types/beta/jig/queue_cancel_response.py +11 -0
- together/types/beta/jig/queue_metrics_params.py +12 -0
- together/types/beta/jig/queue_metrics_response.py +8 -0
- together/types/beta/jig/queue_retrieve_params.py +15 -0
- together/types/beta/jig/queue_retrieve_response.py +35 -0
- together/types/beta/jig/queue_submit_params.py +19 -0
- together/types/beta/jig/queue_submit_response.py +25 -0
- together/types/beta/jig/secret.py +33 -0
- together/types/beta/jig/secret_create_params.py +34 -0
- together/types/beta/jig/secret_list_response.py +16 -0
- together/types/beta/jig/secret_update_params.py +34 -0
- together/types/beta/jig/volume.py +47 -0
- together/types/beta/jig/volume_create_params.py +34 -0
- together/types/beta/jig/volume_list_response.py +16 -0
- together/types/beta/jig/volume_update_params.py +34 -0
- together/types/beta/jig_deploy_params.py +150 -0
- together/types/beta/jig_list_response.py +16 -0
- together/types/beta/jig_retrieve_logs_params.py +12 -0
- together/types/beta/jig_update_params.py +141 -0
- together/types/chat/completion_create_params.py +11 -0
- together/types/{hardware_list_params.py → endpoint_list_hardware_params.py} +2 -2
- together/types/{hardware_list_response.py → endpoint_list_hardware_response.py} +2 -2
- together/types/models/__init__.py +5 -0
- together/types/{job_retrieve_response.py → models/upload_status_response.py} +3 -3
- {together-2.0.0a17.dist-info → together-2.0.0a19.dist-info}/METADATA +15 -14
- {together-2.0.0a17.dist-info → together-2.0.0a19.dist-info}/RECORD +64 -30
- together/resources/hardware.py +0 -181
- together/resources/jobs.py +0 -214
- together/types/job_list_response.py +0 -47
- {together-2.0.0a17.dist-info → together-2.0.0a19.dist-info}/WHEEL +0 -0
- {together-2.0.0a17.dist-info → together-2.0.0a19.dist-info}/entry_points.txt +0 -0
- {together-2.0.0a17.dist-info → together-2.0.0a19.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Dict, List, Optional
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
from pydantic import Field as FieldInfo
|
|
7
|
+
|
|
8
|
+
from ..._models import BaseModel
|
|
9
|
+
|
|
10
|
+
__all__ = [
|
|
11
|
+
"Deployment",
|
|
12
|
+
"EnvironmentVariable",
|
|
13
|
+
"ReplicaEvents",
|
|
14
|
+
"ReplicaEventsContainerStatus",
|
|
15
|
+
"ReplicaEventsEvent",
|
|
16
|
+
"Volume",
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class EnvironmentVariable(BaseModel):
|
|
21
|
+
name: str
|
|
22
|
+
"""Name is the environment variable name (e.g., "DATABASE_URL").
|
|
23
|
+
|
|
24
|
+
Must start with a letter or underscore, followed by letters, numbers, or
|
|
25
|
+
underscores
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
value: Optional[str] = None
|
|
29
|
+
"""Value is the plain text value for the environment variable.
|
|
30
|
+
|
|
31
|
+
Use this for non-sensitive values. Either Value or ValueFromSecret must be set,
|
|
32
|
+
but not both
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
value_from_secret: Optional[str] = None
|
|
36
|
+
"""ValueFromSecret references a secret by name or ID to use as the value.
|
|
37
|
+
|
|
38
|
+
Use this for sensitive values like API keys or passwords. Either Value or
|
|
39
|
+
ValueFromSecret must be set, but not both
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class ReplicaEventsContainerStatus(BaseModel):
|
|
44
|
+
"""
|
|
45
|
+
ContainerStatus provides detailed status information about the container within this replica
|
|
46
|
+
"""
|
|
47
|
+
|
|
48
|
+
finished_at: Optional[str] = FieldInfo(alias="finishedAt", default=None)
|
|
49
|
+
"""
|
|
50
|
+
FinishedAt is the timestamp when the container finished execution (if
|
|
51
|
+
terminated)
|
|
52
|
+
"""
|
|
53
|
+
|
|
54
|
+
message: Optional[str] = None
|
|
55
|
+
"""
|
|
56
|
+
Message provides a human-readable message with details about the container's
|
|
57
|
+
status
|
|
58
|
+
"""
|
|
59
|
+
|
|
60
|
+
name: Optional[str] = None
|
|
61
|
+
"""Name is the name of the container"""
|
|
62
|
+
|
|
63
|
+
reason: Optional[str] = None
|
|
64
|
+
"""
|
|
65
|
+
Reason provides a brief machine-readable reason for the container's current
|
|
66
|
+
status
|
|
67
|
+
"""
|
|
68
|
+
|
|
69
|
+
started_at: Optional[str] = FieldInfo(alias="startedAt", default=None)
|
|
70
|
+
"""StartedAt is the timestamp when the container started execution"""
|
|
71
|
+
|
|
72
|
+
status: Optional[str] = None
|
|
73
|
+
"""
|
|
74
|
+
Status is the current state of the container (e.g., "Running", "Terminated",
|
|
75
|
+
"Waiting")
|
|
76
|
+
"""
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
class ReplicaEventsEvent(BaseModel):
|
|
80
|
+
action: Optional[str] = None
|
|
81
|
+
"""Action is the action taken or reported by this event"""
|
|
82
|
+
|
|
83
|
+
count: Optional[int] = None
|
|
84
|
+
"""Count is the number of times this event has occurred"""
|
|
85
|
+
|
|
86
|
+
first_seen: Optional[str] = None
|
|
87
|
+
"""FirstSeen is the timestamp when this event was first observed"""
|
|
88
|
+
|
|
89
|
+
last_seen: Optional[str] = None
|
|
90
|
+
"""LastSeen is the timestamp when this event was last observed"""
|
|
91
|
+
|
|
92
|
+
message: Optional[str] = None
|
|
93
|
+
"""Message is a human-readable description of the event"""
|
|
94
|
+
|
|
95
|
+
reason: Optional[str] = None
|
|
96
|
+
"""
|
|
97
|
+
Reason is a brief machine-readable reason for this event (e.g., "Pulling",
|
|
98
|
+
"Started", "Failed")
|
|
99
|
+
"""
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
class ReplicaEvents(BaseModel):
|
|
103
|
+
container_status: Optional[ReplicaEventsContainerStatus] = None
|
|
104
|
+
"""
|
|
105
|
+
ContainerStatus provides detailed status information about the container within
|
|
106
|
+
this replica
|
|
107
|
+
"""
|
|
108
|
+
|
|
109
|
+
events: Optional[List[ReplicaEventsEvent]] = None
|
|
110
|
+
"""
|
|
111
|
+
Events is a list of Kubernetes events related to this replica for
|
|
112
|
+
troubleshooting
|
|
113
|
+
"""
|
|
114
|
+
|
|
115
|
+
replica_completed_at: Optional[str] = None
|
|
116
|
+
"""ReplicaCompletedAt is the timestamp when the replica finished execution"""
|
|
117
|
+
|
|
118
|
+
replica_marked_for_termination_at: Optional[str] = None
|
|
119
|
+
"""
|
|
120
|
+
ReplicaMarkedForTerminationAt is the timestamp when the replica was marked for
|
|
121
|
+
termination
|
|
122
|
+
"""
|
|
123
|
+
|
|
124
|
+
replica_ready_since: Optional[str] = None
|
|
125
|
+
"""
|
|
126
|
+
ReplicaReadySince is the timestamp when the replica became ready to serve
|
|
127
|
+
traffic
|
|
128
|
+
"""
|
|
129
|
+
|
|
130
|
+
replica_running_since: Optional[str] = None
|
|
131
|
+
"""ReplicaRunningSince is the timestamp when the replica entered the running state"""
|
|
132
|
+
|
|
133
|
+
replica_started_at: Optional[str] = None
|
|
134
|
+
"""ReplicaStartedAt is the timestamp when the replica was created"""
|
|
135
|
+
|
|
136
|
+
replica_status: Optional[str] = None
|
|
137
|
+
"""
|
|
138
|
+
ReplicaStatus is the current status of the replica (e.g., "Running", "Pending",
|
|
139
|
+
"Failed")
|
|
140
|
+
"""
|
|
141
|
+
|
|
142
|
+
replica_status_message: Optional[str] = None
|
|
143
|
+
"""
|
|
144
|
+
ReplicaStatusMessage provides a human-readable message explaining the replica's
|
|
145
|
+
status
|
|
146
|
+
"""
|
|
147
|
+
|
|
148
|
+
replica_status_reason: Optional[str] = None
|
|
149
|
+
"""
|
|
150
|
+
ReplicaStatusReason provides a brief machine-readable reason for the replica's
|
|
151
|
+
status
|
|
152
|
+
"""
|
|
153
|
+
|
|
154
|
+
scheduled_on_cluster: Optional[str] = None
|
|
155
|
+
"""ScheduledOnCluster identifies which cluster this replica is scheduled on"""
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
class Volume(BaseModel):
|
|
159
|
+
mount_path: str
|
|
160
|
+
"""
|
|
161
|
+
MountPath is the path in the container where the volume will be mounted (e.g.,
|
|
162
|
+
"/data")
|
|
163
|
+
"""
|
|
164
|
+
|
|
165
|
+
name: str
|
|
166
|
+
"""Name is the name of the volume to mount.
|
|
167
|
+
|
|
168
|
+
Must reference an existing volume by name or ID
|
|
169
|
+
"""
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
class Deployment(BaseModel):
|
|
173
|
+
id: Optional[str] = None
|
|
174
|
+
"""ID is the unique identifier of the deployment"""
|
|
175
|
+
|
|
176
|
+
args: Optional[List[str]] = None
|
|
177
|
+
"""Args are the arguments passed to the container's command"""
|
|
178
|
+
|
|
179
|
+
autoscaling: Optional[Dict[str, str]] = None
|
|
180
|
+
"""Autoscaling contains autoscaling configuration parameters for this deployment"""
|
|
181
|
+
|
|
182
|
+
command: Optional[List[str]] = None
|
|
183
|
+
"""Command is the entrypoint command run in the container"""
|
|
184
|
+
|
|
185
|
+
cpu: Optional[float] = None
|
|
186
|
+
"""
|
|
187
|
+
CPU is the amount of CPU resource allocated to each replica in cores (fractional
|
|
188
|
+
value is allowed)
|
|
189
|
+
"""
|
|
190
|
+
|
|
191
|
+
created_at: Optional[str] = None
|
|
192
|
+
"""CreatedAt is the ISO8601 timestamp when this deployment was created"""
|
|
193
|
+
|
|
194
|
+
description: Optional[str] = None
|
|
195
|
+
"""
|
|
196
|
+
Description provides a human-readable explanation of the deployment's purpose or
|
|
197
|
+
content
|
|
198
|
+
"""
|
|
199
|
+
|
|
200
|
+
desired_replicas: Optional[int] = None
|
|
201
|
+
"""DesiredReplicas is the number of replicas that the orchestrator is targeting"""
|
|
202
|
+
|
|
203
|
+
environment_variables: Optional[List[EnvironmentVariable]] = None
|
|
204
|
+
"""EnvironmentVariables is a list of environment variables set in the container"""
|
|
205
|
+
|
|
206
|
+
gpu_count: Optional[int] = None
|
|
207
|
+
"""GPUCount is the number of GPUs allocated to each replica in this deployment"""
|
|
208
|
+
|
|
209
|
+
gpu_type: Optional[Literal["h100-80gb", " a100-80gb"]] = None
|
|
210
|
+
"""GPUType specifies the type of GPU requested (if any) for this deployment"""
|
|
211
|
+
|
|
212
|
+
health_check_path: Optional[str] = None
|
|
213
|
+
"""HealthCheckPath is the HTTP path used for health checks of the application"""
|
|
214
|
+
|
|
215
|
+
image: Optional[str] = None
|
|
216
|
+
"""Image specifies the container image used for this deployment"""
|
|
217
|
+
|
|
218
|
+
max_replicas: Optional[int] = None
|
|
219
|
+
"""MaxReplicas is the maximum number of replicas to run for this deployment"""
|
|
220
|
+
|
|
221
|
+
memory: Optional[float] = None
|
|
222
|
+
"""
|
|
223
|
+
Memory is the amount of memory allocated to each replica in GiB (fractional
|
|
224
|
+
value is allowed)
|
|
225
|
+
"""
|
|
226
|
+
|
|
227
|
+
min_replicas: Optional[int] = None
|
|
228
|
+
"""MinReplicas is the minimum number of replicas to run for this deployment"""
|
|
229
|
+
|
|
230
|
+
name: Optional[str] = None
|
|
231
|
+
"""Name is the name of the deployment"""
|
|
232
|
+
|
|
233
|
+
object: Optional[str] = None
|
|
234
|
+
"""Object is the type identifier for this response (always "deployment")"""
|
|
235
|
+
|
|
236
|
+
port: Optional[int] = None
|
|
237
|
+
"""Port is the container port that the deployment exposes"""
|
|
238
|
+
|
|
239
|
+
ready_replicas: Optional[int] = None
|
|
240
|
+
"""ReadyReplicas is the current number of replicas that are in the Ready state"""
|
|
241
|
+
|
|
242
|
+
replica_events: Optional[Dict[str, ReplicaEvents]] = None
|
|
243
|
+
"""ReplicaEvents is a mapping of replica names or IDs to their status events"""
|
|
244
|
+
|
|
245
|
+
status: Optional[Literal["Updating", "Scaling", "Ready", "Failed"]] = None
|
|
246
|
+
"""
|
|
247
|
+
Status represents the overall status of the deployment (e.g., Updating, Scaling,
|
|
248
|
+
Ready, Failed)
|
|
249
|
+
"""
|
|
250
|
+
|
|
251
|
+
storage: Optional[int] = None
|
|
252
|
+
"""
|
|
253
|
+
Storage is the amount of storage (in MB or units as defined by the platform)
|
|
254
|
+
allocated to each replica
|
|
255
|
+
"""
|
|
256
|
+
|
|
257
|
+
updated_at: Optional[str] = None
|
|
258
|
+
"""UpdatedAt is the ISO8601 timestamp when this deployment was last updated"""
|
|
259
|
+
|
|
260
|
+
volumes: Optional[List[Volume]] = None
|
|
261
|
+
"""Volumes is a list of volume mounts for this deployment"""
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
|
|
5
|
+
from ..._models import BaseModel
|
|
6
|
+
|
|
7
|
+
__all__ = ["DeploymentLogs"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class DeploymentLogs(BaseModel):
|
|
11
|
+
lines: Optional[List[str]] = None
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from .secret import Secret as Secret
|
|
6
|
+
from .volume import Volume as Volume
|
|
7
|
+
from .queue_cancel_params import QueueCancelParams as QueueCancelParams
|
|
8
|
+
from .queue_submit_params import QueueSubmitParams as QueueSubmitParams
|
|
9
|
+
from .queue_metrics_params import QueueMetricsParams as QueueMetricsParams
|
|
10
|
+
from .secret_create_params import SecretCreateParams as SecretCreateParams
|
|
11
|
+
from .secret_list_response import SecretListResponse as SecretListResponse
|
|
12
|
+
from .secret_update_params import SecretUpdateParams as SecretUpdateParams
|
|
13
|
+
from .volume_create_params import VolumeCreateParams as VolumeCreateParams
|
|
14
|
+
from .volume_list_response import VolumeListResponse as VolumeListResponse
|
|
15
|
+
from .volume_update_params import VolumeUpdateParams as VolumeUpdateParams
|
|
16
|
+
from .queue_cancel_response import QueueCancelResponse as QueueCancelResponse
|
|
17
|
+
from .queue_retrieve_params import QueueRetrieveParams as QueueRetrieveParams
|
|
18
|
+
from .queue_submit_response import QueueSubmitResponse as QueueSubmitResponse
|
|
19
|
+
from .queue_metrics_response import QueueMetricsResponse as QueueMetricsResponse
|
|
20
|
+
from .queue_retrieve_response import QueueRetrieveResponse as QueueRetrieveResponse
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["QueueCancelParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class QueueCancelParams(TypedDict, total=False):
|
|
11
|
+
model: Required[str]
|
|
12
|
+
|
|
13
|
+
request_id: Required[str]
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from ...._models import BaseModel
|
|
6
|
+
|
|
7
|
+
__all__ = ["QueueCancelResponse"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class QueueCancelResponse(BaseModel):
|
|
11
|
+
status: Optional[str] = None
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["QueueMetricsParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class QueueMetricsParams(TypedDict, total=False):
|
|
11
|
+
model: Required[str]
|
|
12
|
+
"""Model name to get metrics for"""
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["QueueRetrieveParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class QueueRetrieveParams(TypedDict, total=False):
|
|
11
|
+
model: Required[str]
|
|
12
|
+
"""Model name"""
|
|
13
|
+
|
|
14
|
+
request_id: Required[str]
|
|
15
|
+
"""Request ID"""
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Dict, List, Optional
|
|
4
|
+
|
|
5
|
+
from ...._models import BaseModel
|
|
6
|
+
|
|
7
|
+
__all__ = ["QueueRetrieveResponse"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class QueueRetrieveResponse(BaseModel):
|
|
11
|
+
claimed_at: Optional[str] = None
|
|
12
|
+
|
|
13
|
+
created_at: Optional[str] = None
|
|
14
|
+
|
|
15
|
+
done_at: Optional[str] = None
|
|
16
|
+
|
|
17
|
+
info: Optional[Dict[str, object]] = None
|
|
18
|
+
|
|
19
|
+
inputs: Optional[Dict[str, object]] = None
|
|
20
|
+
|
|
21
|
+
model: Optional[str] = None
|
|
22
|
+
|
|
23
|
+
outputs: Optional[Dict[str, object]] = None
|
|
24
|
+
|
|
25
|
+
priority: Optional[int] = None
|
|
26
|
+
"""Additional fields for test compatibility"""
|
|
27
|
+
|
|
28
|
+
request_id: Optional[str] = None
|
|
29
|
+
|
|
30
|
+
retries: Optional[int] = None
|
|
31
|
+
|
|
32
|
+
status: Optional[str] = None
|
|
33
|
+
"""this should be the enum, but isn't for backwards compatability"""
|
|
34
|
+
|
|
35
|
+
warnings: Optional[List[str]] = None
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Dict
|
|
6
|
+
from typing_extensions import Required, TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = ["QueueSubmitParams"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class QueueSubmitParams(TypedDict, total=False):
|
|
12
|
+
model: Required[str]
|
|
13
|
+
"""Required model identifier"""
|
|
14
|
+
|
|
15
|
+
payload: Required[Dict[str, object]]
|
|
16
|
+
|
|
17
|
+
info: Dict[str, object]
|
|
18
|
+
|
|
19
|
+
priority: int
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from pydantic import Field as FieldInfo
|
|
6
|
+
|
|
7
|
+
from ...._models import BaseModel
|
|
8
|
+
|
|
9
|
+
__all__ = ["QueueSubmitResponse", "Error"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class Error(BaseModel):
|
|
13
|
+
code: Optional[str] = None
|
|
14
|
+
|
|
15
|
+
message: Optional[str] = None
|
|
16
|
+
|
|
17
|
+
param: Optional[str] = None
|
|
18
|
+
|
|
19
|
+
type: Optional[str] = None
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class QueueSubmitResponse(BaseModel):
|
|
23
|
+
error: Optional[Error] = None
|
|
24
|
+
|
|
25
|
+
request_id: Optional[str] = FieldInfo(alias="requestId", default=None)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from ...._models import BaseModel
|
|
6
|
+
|
|
7
|
+
__all__ = ["Secret"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Secret(BaseModel):
|
|
11
|
+
id: Optional[str] = None
|
|
12
|
+
"""ID is the unique identifier for this secret"""
|
|
13
|
+
|
|
14
|
+
created_at: Optional[str] = None
|
|
15
|
+
"""CreatedAt is the ISO8601 timestamp when this secret was created"""
|
|
16
|
+
|
|
17
|
+
created_by: Optional[str] = None
|
|
18
|
+
"""CreatedBy is the identifier of the user who created this secret"""
|
|
19
|
+
|
|
20
|
+
description: Optional[str] = None
|
|
21
|
+
"""Description is a human-readable description of the secret's purpose"""
|
|
22
|
+
|
|
23
|
+
last_updated_by: Optional[str] = None
|
|
24
|
+
"""LastUpdatedBy is the identifier of the user who last updated this secret"""
|
|
25
|
+
|
|
26
|
+
name: Optional[str] = None
|
|
27
|
+
"""Name is the name/key of the secret"""
|
|
28
|
+
|
|
29
|
+
object: Optional[str] = None
|
|
30
|
+
"""Object is the type identifier for this response (always "secret")"""
|
|
31
|
+
|
|
32
|
+
updated_at: Optional[str] = None
|
|
33
|
+
"""UpdatedAt is the ISO8601 timestamp when this secret was last updated"""
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["SecretCreateParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class SecretCreateParams(TypedDict, total=False):
|
|
11
|
+
name: Required[str]
|
|
12
|
+
"""Name is the unique identifier for the secret.
|
|
13
|
+
|
|
14
|
+
Can contain alphanumeric characters, underscores, hyphens, forward slashes, and
|
|
15
|
+
periods (1-100 characters)
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
value: Required[str]
|
|
19
|
+
"""
|
|
20
|
+
Value is the sensitive data to store securely (e.g., API keys, passwords,
|
|
21
|
+
tokens). This value will be encrypted at rest
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
description: str
|
|
25
|
+
"""
|
|
26
|
+
Description is an optional human-readable description of the secret's purpose
|
|
27
|
+
(max 500 characters)
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
project_id: str
|
|
31
|
+
"""
|
|
32
|
+
ProjectID is ignored - the project is automatically determined from your
|
|
33
|
+
authentication
|
|
34
|
+
"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
|
|
5
|
+
from .secret import Secret
|
|
6
|
+
from ...._models import BaseModel
|
|
7
|
+
|
|
8
|
+
__all__ = ["SecretListResponse"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class SecretListResponse(BaseModel):
|
|
12
|
+
data: Optional[List[Secret]] = None
|
|
13
|
+
"""Data is the array of secret items"""
|
|
14
|
+
|
|
15
|
+
object: Optional[str] = None
|
|
16
|
+
"""Object is the type identifier for this response (always "list")"""
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["SecretUpdateParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class SecretUpdateParams(TypedDict, total=False):
|
|
11
|
+
description: str
|
|
12
|
+
"""
|
|
13
|
+
Description is an optional human-readable description of the secret's purpose
|
|
14
|
+
(max 500 characters)
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
name: str
|
|
18
|
+
"""Name is the new unique identifier for the secret.
|
|
19
|
+
|
|
20
|
+
Can contain alphanumeric characters, underscores, hyphens, forward slashes, and
|
|
21
|
+
periods (1-100 characters)
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
project_id: str
|
|
25
|
+
"""
|
|
26
|
+
ProjectID is ignored - the project is automatically determined from your
|
|
27
|
+
authentication
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
value: str
|
|
31
|
+
"""Value is the new sensitive data to store securely.
|
|
32
|
+
|
|
33
|
+
Updating this will replace the existing secret value
|
|
34
|
+
"""
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
from ...._models import BaseModel
|
|
7
|
+
|
|
8
|
+
__all__ = ["Volume", "Content"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class Content(BaseModel):
|
|
12
|
+
"""Content specifies the content that will be preloaded to this volume"""
|
|
13
|
+
|
|
14
|
+
source_prefix: Optional[str] = None
|
|
15
|
+
"""
|
|
16
|
+
SourcePrefix is the file path prefix for the content to be preloaded into the
|
|
17
|
+
volume
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
type: Optional[Literal["files"]] = None
|
|
21
|
+
"""
|
|
22
|
+
Type is the content type (currently only "files" is supported which allows
|
|
23
|
+
preloading files uploaded via Files API into the volume)
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class Volume(BaseModel):
|
|
28
|
+
id: Optional[str] = None
|
|
29
|
+
"""ID is the unique identifier for this volume"""
|
|
30
|
+
|
|
31
|
+
content: Optional[Content] = None
|
|
32
|
+
"""Content specifies the content that will be preloaded to this volume"""
|
|
33
|
+
|
|
34
|
+
created_at: Optional[str] = None
|
|
35
|
+
"""CreatedAt is the ISO8601 timestamp when this volume was created"""
|
|
36
|
+
|
|
37
|
+
name: Optional[str] = None
|
|
38
|
+
"""Name is the name of the volume"""
|
|
39
|
+
|
|
40
|
+
object: Optional[str] = None
|
|
41
|
+
"""Object is the type identifier for this response (always "volume")"""
|
|
42
|
+
|
|
43
|
+
type: Optional[Literal["readOnly"]] = None
|
|
44
|
+
"""Type is the volume type (e.g., "readOnly")"""
|
|
45
|
+
|
|
46
|
+
updated_at: Optional[str] = None
|
|
47
|
+
"""UpdatedAt is the ISO8601 timestamp when this volume was last updated"""
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Literal, Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["VolumeCreateParams", "Content"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class VolumeCreateParams(TypedDict, total=False):
|
|
11
|
+
content: Required[Content]
|
|
12
|
+
"""Content specifies the content configuration for this volume"""
|
|
13
|
+
|
|
14
|
+
name: Required[str]
|
|
15
|
+
"""Name is the unique identifier for the volume within the project"""
|
|
16
|
+
|
|
17
|
+
type: Required[Literal["readOnly"]]
|
|
18
|
+
"""Type is the volume type (currently only "readOnly" is supported)"""
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class Content(TypedDict, total=False):
|
|
22
|
+
"""Content specifies the content configuration for this volume"""
|
|
23
|
+
|
|
24
|
+
source_prefix: str
|
|
25
|
+
"""
|
|
26
|
+
SourcePrefix is the file path prefix for the content to be preloaded into the
|
|
27
|
+
volume
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
type: Literal["files"]
|
|
31
|
+
"""
|
|
32
|
+
Type is the content type (currently only "files" is supported which allows
|
|
33
|
+
preloading files uploaded via Files API into the volume)
|
|
34
|
+
"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
|
|
5
|
+
from .volume import Volume
|
|
6
|
+
from ...._models import BaseModel
|
|
7
|
+
|
|
8
|
+
__all__ = ["VolumeListResponse"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class VolumeListResponse(BaseModel):
|
|
12
|
+
data: Optional[List[Volume]] = None
|
|
13
|
+
"""Data is the array of volume items"""
|
|
14
|
+
|
|
15
|
+
object: Optional[str] = None
|
|
16
|
+
"""Object is the type identifier for this response (always "list")"""
|