gcore 0.5.0__py3-none-any.whl → 0.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of gcore might be problematic. Click here for more details.

Files changed (28) hide show
  1. gcore/_version.py +1 -1
  2. gcore/resources/cloud/__init__.py +14 -0
  3. gcore/resources/cloud/audit_logs.py +480 -0
  4. gcore/resources/cloud/cloud.py +32 -0
  5. gcore/resources/cloud/file_shares/file_shares.py +64 -9
  6. gcore/resources/cloud/inference/__init__.py +14 -0
  7. gcore/resources/cloud/inference/api_keys.py +621 -0
  8. gcore/resources/cloud/inference/inference.py +32 -0
  9. gcore/resources/cloud/load_balancers/pools/members.py +22 -6
  10. gcore/types/cloud/__init__.py +2 -0
  11. gcore/types/cloud/audit_log_entry.py +254 -0
  12. gcore/types/cloud/audit_log_list_params.py +158 -0
  13. gcore/types/cloud/file_share_update_params.py +29 -3
  14. gcore/types/cloud/inference/__init__.py +5 -0
  15. gcore/types/cloud/inference/api_key_create_params.py +21 -0
  16. gcore/types/cloud/inference/api_key_list_params.py +21 -0
  17. gcore/types/cloud/inference/api_key_update_params.py +16 -0
  18. gcore/types/cloud/inference/inference_api_key.py +24 -0
  19. gcore/types/cloud/inference/inference_api_key_create.py +27 -0
  20. gcore/types/cloud/load_balancer_create_params.py +14 -3
  21. gcore/types/cloud/load_balancers/pool_create_params.py +14 -3
  22. gcore/types/cloud/load_balancers/pool_update_params.py +14 -3
  23. gcore/types/cloud/load_balancers/pools/member_add_params.py +14 -3
  24. gcore/types/cloud/member.py +12 -4
  25. {gcore-0.5.0.dist-info → gcore-0.6.0.dist-info}/METADATA +2 -3
  26. {gcore-0.5.0.dist-info → gcore-0.6.0.dist-info}/RECORD +28 -19
  27. {gcore-0.5.0.dist-info → gcore-0.6.0.dist-info}/WHEEL +0 -0
  28. {gcore-0.5.0.dist-info → gcore-0.6.0.dist-info}/licenses/LICENSE +0 -0
@@ -51,7 +51,8 @@ class MembersResource(SyncAPIResource):
51
51
  region_id: int | None = None,
52
52
  address: str,
53
53
  protocol_port: int,
54
- admin_state_up: Optional[bool] | NotGiven = NOT_GIVEN,
54
+ admin_state_up: bool | NotGiven = NOT_GIVEN,
55
+ backup: bool | NotGiven = NOT_GIVEN,
55
56
  instance_id: Optional[str] | NotGiven = NOT_GIVEN,
56
57
  monitor_address: Optional[str] | NotGiven = NOT_GIVEN,
57
58
  monitor_port: Optional[int] | NotGiven = NOT_GIVEN,
@@ -82,6 +83,11 @@ class MembersResource(SyncAPIResource):
82
83
  and operational. When set to false, the resource is disabled and will not
83
84
  process traffic. When null is passed, the value is skipped and defaults to true.
84
85
 
86
+ backup: Set to true if the member is a backup member, to which traffic will be sent
87
+ exclusively when all non-backup members will be unreachable. It allows to
88
+ realize ACTIVE-BACKUP load balancing without thinking about VRRP and VIP
89
+ configuration. Default is false.
90
+
85
91
  instance_id: Either `subnet_id` or `instance_id` should be provided
86
92
 
87
93
  monitor_address: An alternate IP address used for health monitoring of a backend member. Default
@@ -90,9 +96,10 @@ class MembersResource(SyncAPIResource):
90
96
  monitor_port: An alternate protocol port used for health monitoring of a backend member.
91
97
  Default is null which monitors the member `protocol_port`.
92
98
 
93
- subnet_id: Either `subnet_id` or `instance_id` should be provided
99
+ subnet_id: `subnet_id` in which `address` is present. Either `subnet_id` or `instance_id`
100
+ should be provided
94
101
 
95
- weight: Member weight. Valid values: 0 to 256, defaults to 1
102
+ weight: Member weight. Valid values are 0 < `weight` <= 256, defaults to 1.
96
103
 
97
104
  extra_headers: Send extra headers
98
105
 
@@ -115,6 +122,7 @@ class MembersResource(SyncAPIResource):
115
122
  "address": address,
116
123
  "protocol_port": protocol_port,
117
124
  "admin_state_up": admin_state_up,
125
+ "backup": backup,
118
126
  "instance_id": instance_id,
119
127
  "monitor_address": monitor_address,
120
128
  "monitor_port": monitor_port,
@@ -208,7 +216,8 @@ class AsyncMembersResource(AsyncAPIResource):
208
216
  region_id: int | None = None,
209
217
  address: str,
210
218
  protocol_port: int,
211
- admin_state_up: Optional[bool] | NotGiven = NOT_GIVEN,
219
+ admin_state_up: bool | NotGiven = NOT_GIVEN,
220
+ backup: bool | NotGiven = NOT_GIVEN,
212
221
  instance_id: Optional[str] | NotGiven = NOT_GIVEN,
213
222
  monitor_address: Optional[str] | NotGiven = NOT_GIVEN,
214
223
  monitor_port: Optional[int] | NotGiven = NOT_GIVEN,
@@ -239,6 +248,11 @@ class AsyncMembersResource(AsyncAPIResource):
239
248
  and operational. When set to false, the resource is disabled and will not
240
249
  process traffic. When null is passed, the value is skipped and defaults to true.
241
250
 
251
+ backup: Set to true if the member is a backup member, to which traffic will be sent
252
+ exclusively when all non-backup members will be unreachable. It allows to
253
+ realize ACTIVE-BACKUP load balancing without thinking about VRRP and VIP
254
+ configuration. Default is false.
255
+
242
256
  instance_id: Either `subnet_id` or `instance_id` should be provided
243
257
 
244
258
  monitor_address: An alternate IP address used for health monitoring of a backend member. Default
@@ -247,9 +261,10 @@ class AsyncMembersResource(AsyncAPIResource):
247
261
  monitor_port: An alternate protocol port used for health monitoring of a backend member.
248
262
  Default is null which monitors the member `protocol_port`.
249
263
 
250
- subnet_id: Either `subnet_id` or `instance_id` should be provided
264
+ subnet_id: `subnet_id` in which `address` is present. Either `subnet_id` or `instance_id`
265
+ should be provided
251
266
 
252
- weight: Member weight. Valid values: 0 to 256, defaults to 1
267
+ weight: Member weight. Valid values are 0 < `weight` <= 256, defaults to 1.
253
268
 
254
269
  extra_headers: Send extra headers
255
270
 
@@ -272,6 +287,7 @@ class AsyncMembersResource(AsyncAPIResource):
272
287
  "address": address,
273
288
  "protocol_port": protocol_port,
274
289
  "admin_state_up": admin_state_up,
290
+ "backup": backup,
275
291
  "instance_id": instance_id,
276
292
  "monitor_address": monitor_address,
277
293
  "monitor_port": monitor_port,
@@ -40,6 +40,7 @@ from .blackhole_port import BlackholePort as BlackholePort
40
40
  from .gpu_image_list import GPUImageList as GPUImageList
41
41
  from .health_monitor import HealthMonitor as HealthMonitor
42
42
  from .security_group import SecurityGroup as SecurityGroup
43
+ from .audit_log_entry import AuditLogEntry as AuditLogEntry
43
44
  from .listener_status import ListenerStatus as ListenerStatus
44
45
  from .network_details import NetworkDetails as NetworkDetails
45
46
  from .placement_group import PlacementGroup as PlacementGroup
@@ -81,6 +82,7 @@ from .volume_delete_params import VolumeDeleteParams as VolumeDeleteParams
81
82
  from .volume_resize_params import VolumeResizeParams as VolumeResizeParams
82
83
  from .volume_update_params import VolumeUpdateParams as VolumeUpdateParams
83
84
  from .allowed_address_pairs import AllowedAddressPairs as AllowedAddressPairs
85
+ from .audit_log_list_params import AuditLogListParams as AuditLogListParams
84
86
  from .baremetal_flavor_list import BaremetalFlavorList as BaremetalFlavorList
85
87
  from .ddos_profile_template import DDOSProfileTemplate as DDOSProfileTemplate
86
88
  from .gpu_baremetal_cluster import GPUBaremetalCluster as GPUBaremetalCluster
@@ -0,0 +1,254 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from ..._models import BaseModel
8
+
9
+ __all__ = ["AuditLogEntry", "Resource", "TotalPrice"]
10
+
11
+
12
+ class Resource(BaseModel):
13
+ resource_id: str
14
+ """Resource ID"""
15
+
16
+ resource_type: Literal[
17
+ "caas_container",
18
+ "caas_key",
19
+ "caas_pull_secret",
20
+ "dbaas_postgres",
21
+ "ddos_profile",
22
+ "external_ip",
23
+ "faas_function",
24
+ "faas_key",
25
+ "faas_namespace",
26
+ "file_shares",
27
+ "floating_ip",
28
+ "gpu_baremetal_server",
29
+ "gpu_virtual_server",
30
+ "gpuai_cluster",
31
+ "image",
32
+ "inference_api_key",
33
+ "inference_application",
34
+ "inference_instance",
35
+ "inference_registry_credentials",
36
+ "inference_secret",
37
+ "instance",
38
+ "ipu_cluster",
39
+ "k8s_cluster",
40
+ "k8s_cluster_template",
41
+ "k8s_pool",
42
+ "laas",
43
+ "laas_topic",
44
+ "lb_health_monitor",
45
+ "lb_l7policy",
46
+ "lb_l7rule",
47
+ "lblistener",
48
+ "lbpool",
49
+ "lbpool_member",
50
+ "lifecycle_policy",
51
+ "lifecycle_policy_volume_member",
52
+ "loadbalancer",
53
+ "network",
54
+ "port",
55
+ "project",
56
+ "quota_limit_request",
57
+ "registry",
58
+ "registry_repository",
59
+ "registry_repository_artifact",
60
+ "registry_repository_tag",
61
+ "registry_user",
62
+ "registry_user_sercret",
63
+ "reservation",
64
+ "role",
65
+ "router",
66
+ "secret",
67
+ "securitygroup",
68
+ "securitygrouprule",
69
+ "servergroup",
70
+ "shared_flavor",
71
+ "shared_image",
72
+ "shared_network",
73
+ "snapshot",
74
+ "snapshot_schedule",
75
+ "ssh_key",
76
+ "subnet",
77
+ "token",
78
+ "user",
79
+ "virtual_gpu_cluster",
80
+ "volume",
81
+ ]
82
+ """Resource type"""
83
+
84
+ resource_body: Optional[object] = None
85
+ """Free-form object, resource body."""
86
+
87
+ search_field: Optional[str] = None
88
+ """Often used property for filtering actions.
89
+
90
+ It can be a name, IP address, or other property, depending on the
91
+ `resource_type`
92
+ """
93
+
94
+
95
+ class TotalPrice(BaseModel):
96
+ currency_code: Optional[str] = None
97
+ """Currency code (3 letter code per ISO 4217)"""
98
+
99
+ price_per_hour: Optional[float] = None
100
+ """Total price VAT inclusive per hour"""
101
+
102
+ price_per_month: Optional[float] = None
103
+ """Total price VAT inclusive per month (30 days)"""
104
+
105
+ price_status: Literal["error", "hide", "show"]
106
+ """Price status for the UI"""
107
+
108
+
109
+ class AuditLogEntry(BaseModel):
110
+ id: str
111
+ """User action ID"""
112
+
113
+ acknowledged: bool
114
+ """
115
+ User action log was successfully received by its subscriber in case there is one
116
+ """
117
+
118
+ action_data: Optional[object] = None
119
+ """Additional information about the action"""
120
+
121
+ action_type: Literal[
122
+ "activate",
123
+ "attach",
124
+ "change_logging_resources",
125
+ "create",
126
+ "create_access_rule",
127
+ "deactivate",
128
+ "delete",
129
+ "delete_access_rule",
130
+ "delete_metadata",
131
+ "detach",
132
+ "disable_logging",
133
+ "disable_portsecurity",
134
+ "download",
135
+ "enable_logging",
136
+ "enable_portsecurity",
137
+ "failover",
138
+ "put_into_servergroup",
139
+ "reboot",
140
+ "reboot_hard",
141
+ "rebuild",
142
+ "regenerate_credentials",
143
+ "remove_from_servergroup",
144
+ "replace_metadata",
145
+ "resize",
146
+ "resume",
147
+ "retype",
148
+ "revert",
149
+ "scale_down",
150
+ "scale_up",
151
+ "start",
152
+ "stop",
153
+ "suspend",
154
+ "update",
155
+ "update_metadata",
156
+ "upgrade",
157
+ ]
158
+ """Action type"""
159
+
160
+ api_group: Literal[
161
+ "ai_cluster",
162
+ "backup_service",
163
+ "caas_container",
164
+ "caas_key",
165
+ "caas_pull_secret",
166
+ "dbaas_postgres",
167
+ "ddos_profile",
168
+ "faas_function",
169
+ "faas_key",
170
+ "faas_namespace",
171
+ "file_shares",
172
+ "floating_ip",
173
+ "image",
174
+ "inference_at_the_edge",
175
+ "instance",
176
+ "instance_isolation",
177
+ "k8s_cluster",
178
+ "k8s_cluster_template",
179
+ "k8s_pool",
180
+ "laas",
181
+ "laas_topic",
182
+ "lb_health_monitor",
183
+ "lb_l7policy",
184
+ "lb_l7rule",
185
+ "lblistener",
186
+ "lbpool",
187
+ "lbpool_member",
188
+ "lifecycle_policy",
189
+ "lifecycle_policy_volume_member",
190
+ "loadbalancer",
191
+ "network",
192
+ "port",
193
+ "project",
194
+ "quota_limit_request",
195
+ "registry",
196
+ "reservation",
197
+ "reserved_fixed_ip",
198
+ "role",
199
+ "router",
200
+ "secret",
201
+ "securitygroup",
202
+ "securitygrouprule",
203
+ "servergroup",
204
+ "shared_flavor",
205
+ "shared_image",
206
+ "shared_network",
207
+ "snapshot",
208
+ "snapshot_schedule",
209
+ "ssh_key",
210
+ "subnet",
211
+ "user",
212
+ "vip_ip_addresses",
213
+ "volume",
214
+ ]
215
+ """API group"""
216
+
217
+ client_id: Optional[int] = None
218
+ """Client ID of the user."""
219
+
220
+ email: Optional[str] = None
221
+ """User email address"""
222
+
223
+ is_complete: bool
224
+ """User action was filled with all necessary information.
225
+
226
+ If false, then something went wrong during user action creation or update
227
+ """
228
+
229
+ issued_by_user_id: Optional[int] = None
230
+ """User ID who issued the token that made the request"""
231
+
232
+ project_id: Optional[int] = None
233
+ """Project ID"""
234
+
235
+ region_id: Optional[int] = None
236
+ """Region ID"""
237
+
238
+ resources: List[Resource]
239
+ """Resources"""
240
+
241
+ task_id: Optional[str] = None
242
+ """Task ID"""
243
+
244
+ timestamp: datetime
245
+ """Datetime. Action timestamp"""
246
+
247
+ token_id: Optional[int] = None
248
+ """Token ID"""
249
+
250
+ total_price: Optional[TotalPrice] = None
251
+ """Total resource price VAT inclusive"""
252
+
253
+ user_id: int
254
+ """User ID"""
@@ -0,0 +1,158 @@
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 List, Union, Iterable
6
+ from datetime import datetime
7
+ from typing_extensions import Literal, Annotated, TypedDict
8
+
9
+ from ..._utils import PropertyInfo
10
+
11
+ __all__ = ["AuditLogListParams"]
12
+
13
+
14
+ class AuditLogListParams(TypedDict, total=False):
15
+ action_type: List[
16
+ Literal[
17
+ "activate",
18
+ "attach",
19
+ "change_logging_resources",
20
+ "create",
21
+ "create_access_rule",
22
+ "deactivate",
23
+ "delete",
24
+ "delete_access_rule",
25
+ "delete_metadata",
26
+ "detach",
27
+ "disable_logging",
28
+ "disable_portsecurity",
29
+ "download",
30
+ "enable_logging",
31
+ "enable_portsecurity",
32
+ "failover",
33
+ "put_into_servergroup",
34
+ "reboot",
35
+ "reboot_hard",
36
+ "rebuild",
37
+ "regenerate_credentials",
38
+ "remove_from_servergroup",
39
+ "replace_metadata",
40
+ "resize",
41
+ "resume",
42
+ "retype",
43
+ "revert",
44
+ "scale_down",
45
+ "scale_up",
46
+ "start",
47
+ "stop",
48
+ "suspend",
49
+ "update",
50
+ "update_metadata",
51
+ "upgrade",
52
+ ]
53
+ ]
54
+ """User action type. Several options can be specified."""
55
+
56
+ api_group: List[
57
+ Literal[
58
+ "ai_cluster",
59
+ "backup_service",
60
+ "caas_container",
61
+ "caas_key",
62
+ "caas_pull_secret",
63
+ "dbaas_postgres",
64
+ "ddos_profile",
65
+ "faas_function",
66
+ "faas_key",
67
+ "faas_namespace",
68
+ "file_shares",
69
+ "floating_ip",
70
+ "image",
71
+ "inference_at_the_edge",
72
+ "instance",
73
+ "instance_isolation",
74
+ "k8s_cluster",
75
+ "k8s_cluster_template",
76
+ "k8s_pool",
77
+ "laas",
78
+ "laas_topic",
79
+ "lb_health_monitor",
80
+ "lb_l7policy",
81
+ "lb_l7rule",
82
+ "lblistener",
83
+ "lbpool",
84
+ "lbpool_member",
85
+ "lifecycle_policy",
86
+ "lifecycle_policy_volume_member",
87
+ "loadbalancer",
88
+ "network",
89
+ "port",
90
+ "project",
91
+ "quota_limit_request",
92
+ "registry",
93
+ "reservation",
94
+ "reserved_fixed_ip",
95
+ "role",
96
+ "router",
97
+ "secret",
98
+ "securitygroup",
99
+ "securitygrouprule",
100
+ "servergroup",
101
+ "shared_flavor",
102
+ "shared_image",
103
+ "shared_network",
104
+ "snapshot",
105
+ "snapshot_schedule",
106
+ "ssh_key",
107
+ "subnet",
108
+ "user",
109
+ "vip_ip_addresses",
110
+ "volume",
111
+ ]
112
+ ]
113
+ """API group that requested action belongs to. Several options can be specified."""
114
+
115
+ from_timestamp: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
116
+ """ISO formatted datetime string.
117
+
118
+ Starting timestamp from which user actions are requested
119
+ """
120
+
121
+ limit: int
122
+ """Optional. Limit the number of returned items"""
123
+
124
+ offset: int
125
+ """Optional.
126
+
127
+ Offset value is used to exclude the first set of records from the result
128
+ """
129
+
130
+ order_by: Literal["asc", "desc"]
131
+ """Sorting by timestamp. Oldest first, or most recent first"""
132
+
133
+ project_id: Iterable[int]
134
+ """Project ID. Several options can be specified."""
135
+
136
+ region_id: Iterable[int]
137
+ """Region ID. Several options can be specified."""
138
+
139
+ resource_id: List[str]
140
+ """Resource ID. Several options can be specified."""
141
+
142
+ search_field: str
143
+ """
144
+ Extra search field for common object properties such as name, IP address, or
145
+ other, depending on the `resource_type`
146
+ """
147
+
148
+ sorting: Literal["asc", "desc"]
149
+ """(DEPRECATED Use '`order_by`' instead) Sorting by timestamp.
150
+
151
+ Oldest first, or most recent first
152
+ """
153
+
154
+ to_timestamp: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
155
+ """ISO formatted datetime string.
156
+
157
+ Ending timestamp until which user actions are requested
158
+ """
@@ -2,7 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing_extensions import Required, TypedDict
5
+ from typing import Optional
6
+ from typing_extensions import TypedDict
7
+
8
+ from .tag_update_map_param import TagUpdateMapParam
6
9
 
7
10
  __all__ = ["FileShareUpdateParams"]
8
11
 
@@ -14,5 +17,28 @@ class FileShareUpdateParams(TypedDict, total=False):
14
17
  region_id: int
15
18
  """Region ID"""
16
19
 
17
- name: Required[str]
18
- """Name."""
20
+ name: str
21
+ """Name"""
22
+
23
+ tags: Optional[TagUpdateMapParam]
24
+ """Update key-value tags using JSON Merge Patch semantics (RFC 7386).
25
+
26
+ Provide key-value pairs to add or update tags. Set tag values to `null` to
27
+ remove tags. Unspecified tags remain unchanged. Read-only tags are always
28
+ preserved and cannot be modified. **Examples:**
29
+
30
+ - **Add/update tags:**
31
+ `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
32
+ updates existing ones.
33
+ - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
34
+ - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
35
+ tags are preserved).
36
+ - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
37
+ specified tags.
38
+ - **Mixed operations:**
39
+ `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
40
+ adds/updates 'environment' and '`cost_center`' while removing
41
+ '`deprecated_tag`', preserving other existing tags.
42
+ - **Replace all:** first delete existing tags with null values, then add new
43
+ ones in the same request.
44
+ """
@@ -10,15 +10,20 @@ from .inference_model import InferenceModel as InferenceModel
10
10
  from .inference_flavor import InferenceFlavor as InferenceFlavor
11
11
  from .inference_secret import InferenceSecret as InferenceSecret
12
12
  from .probe_tcp_socket import ProbeTcpSocket as ProbeTcpSocket
13
+ from .inference_api_key import InferenceAPIKey as InferenceAPIKey
13
14
  from .model_list_params import ModelListParams as ModelListParams
14
15
  from .flavor_list_params import FlavorListParams as FlavorListParams
15
16
  from .secret_list_params import SecretListParams as SecretListParams
17
+ from .api_key_list_params import APIKeyListParams as APIKeyListParams
16
18
  from .inference_deployment import InferenceDeployment as InferenceDeployment
17
19
  from .secret_create_params import SecretCreateParams as SecretCreateParams
20
+ from .api_key_create_params import APIKeyCreateParams as APIKeyCreateParams
21
+ from .api_key_update_params import APIKeyUpdateParams as APIKeyUpdateParams
18
22
  from .secret_replace_params import SecretReplaceParams as SecretReplaceParams
19
23
  from .deployment_list_params import DeploymentListParams as DeploymentListParams
20
24
  from .deployment_create_params import DeploymentCreateParams as DeploymentCreateParams
21
25
  from .deployment_update_params import DeploymentUpdateParams as DeploymentUpdateParams
26
+ from .inference_api_key_create import InferenceAPIKeyCreate as InferenceAPIKeyCreate
22
27
  from .inference_deployment_api_key import InferenceDeploymentAPIKey as InferenceDeploymentAPIKey
23
28
  from .inference_registry_credentials import InferenceRegistryCredentials as InferenceRegistryCredentials
24
29
  from .registry_credential_list_params import RegistryCredentialListParams as RegistryCredentialListParams
@@ -0,0 +1,21 @@
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__ = ["APIKeyCreateParams"]
8
+
9
+
10
+ class APIKeyCreateParams(TypedDict, total=False):
11
+ project_id: int
12
+ """Project ID"""
13
+
14
+ name: Required[str]
15
+ """Name of the API Key."""
16
+
17
+ description: str
18
+ """Description of the API Key."""
19
+
20
+ expires_at: str
21
+ """Expiration date of the API Key in ISO 8601 format."""
@@ -0,0 +1,21 @@
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__ = ["APIKeyListParams"]
8
+
9
+
10
+ class APIKeyListParams(TypedDict, total=False):
11
+ project_id: int
12
+ """Project ID"""
13
+
14
+ limit: int
15
+ """Optional. Limit the number of returned items"""
16
+
17
+ offset: int
18
+ """Optional.
19
+
20
+ Offset value is used to exclude the first set of records from the result
21
+ """
@@ -0,0 +1,16 @@
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 Optional
6
+ from typing_extensions import TypedDict
7
+
8
+ __all__ = ["APIKeyUpdateParams"]
9
+
10
+
11
+ class APIKeyUpdateParams(TypedDict, total=False):
12
+ project_id: int
13
+ """Project ID"""
14
+
15
+ description: Optional[str]
16
+ """Description of the API Key."""
@@ -0,0 +1,24 @@
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__ = ["InferenceAPIKey"]
8
+
9
+
10
+ class InferenceAPIKey(BaseModel):
11
+ created_at: str
12
+ """Timestamp when the API Key was created."""
13
+
14
+ deployment_names: List[str]
15
+ """List of inference deployment names to which this API Key has been attached."""
16
+
17
+ description: Optional[str] = None
18
+ """Description of the API Key."""
19
+
20
+ expires_at: Optional[str] = None
21
+ """Timestamp when the API Key will expire."""
22
+
23
+ name: str
24
+ """API Key name."""