render_sdk 0.1.3__py3-none-any.whl → 0.2.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.
- render_sdk/__init__.py +41 -4
- render_sdk/client/__init__.py +25 -0
- render_sdk/client/client.py +5 -0
- render_sdk/client/sse.py +5 -1
- render_sdk/client/tests/test_client.py +6 -4
- render_sdk/client/tests/test_sse.py +1 -0
- render_sdk/client/workflows.py +10 -2
- render_sdk/experimental/__init__.py +31 -0
- render_sdk/experimental/experimental.py +71 -0
- render_sdk/experimental/object/__init__.py +30 -0
- render_sdk/experimental/object/api.py +260 -0
- render_sdk/experimental/object/client.py +475 -0
- render_sdk/experimental/object/types.py +87 -0
- render_sdk/public_api/api/audit_logs/list_organization_audit_logs.py +303 -0
- render_sdk/public_api/api/audit_logs/list_owner_audit_logs.py +303 -0
- render_sdk/public_api/api/blob_storage/delete_blob.py +215 -0
- render_sdk/public_api/api/blob_storage/get_blob.py +221 -0
- render_sdk/public_api/api/{workflows/list_workflow_versions.py → blob_storage/list_blobs.py} +52 -30
- render_sdk/public_api/api/blob_storage/put_blob.py +248 -0
- render_sdk/public_api/api/blueprints/validate_blueprint.py +212 -0
- render_sdk/public_api/api/key_value/resume_key_value.py +203 -0
- render_sdk/public_api/api/key_value/suspend_key_value.py +203 -0
- render_sdk/public_api/api/metrics/get_bandwidth_sources.py +251 -0
- render_sdk/public_api/api/postgres/create_postgres_user.py +229 -0
- render_sdk/public_api/api/postgres/delete_postgres_user.py +201 -0
- render_sdk/public_api/api/postgres/list_postgres_users.py +195 -0
- render_sdk/public_api/api/redis_deprecated/__init__.py +1 -0
- render_sdk/public_api/api/{redis → redis_deprecated}/create_redis.py +4 -4
- render_sdk/public_api/api/{redis → redis_deprecated}/delete_redis.py +4 -4
- render_sdk/public_api/api/{redis → redis_deprecated}/list_redis.py +4 -0
- render_sdk/public_api/api/{redis → redis_deprecated}/retrieve_redis.py +4 -4
- render_sdk/public_api/api/{redis → redis_deprecated}/retrieve_redis_connection_info.py +4 -0
- render_sdk/public_api/api/{redis → redis_deprecated}/update_redis.py +4 -4
- render_sdk/public_api/api/services/create_service.py +4 -4
- render_sdk/public_api/api/workflow_tasks_ea/__init__.py +1 -0
- render_sdk/public_api/api/{workflows → workflow_tasks_ea}/cancel_task_run.py +12 -4
- render_sdk/public_api/api/{workflows → workflow_tasks_ea}/create_task.py +12 -4
- render_sdk/public_api/api/{workflows → workflow_tasks_ea}/get_task.py +12 -4
- render_sdk/public_api/api/{workflows → workflow_tasks_ea}/get_task_run.py +12 -4
- render_sdk/public_api/api/{workflows → workflow_tasks_ea}/list_task_runs.py +12 -0
- render_sdk/public_api/api/{workflows → workflow_tasks_ea}/list_tasks.py +24 -12
- render_sdk/public_api/api/workflows_ea/__init__.py +1 -0
- render_sdk/public_api/api/workflows_ea/create_workflow.py +199 -0
- render_sdk/public_api/api/{workflows/deploy_workflow.py → workflows_ea/create_workflow_version.py} +31 -14
- render_sdk/public_api/api/{workflows → workflows_ea}/delete_workflow.py +12 -4
- render_sdk/public_api/api/{workflows → workflows_ea}/get_workflow.py +32 -14
- render_sdk/public_api/api/{workflows → workflows_ea}/get_workflow_version.py +12 -4
- render_sdk/public_api/api/workflows_ea/list_workflow_versions.py +275 -0
- render_sdk/public_api/api/{workflows → workflows_ea}/list_workflows.py +41 -14
- render_sdk/public_api/api/workflows_ea/update_workflow.py +212 -0
- render_sdk/public_api/api/workspaces/remove_workspace_member.py +206 -0
- render_sdk/public_api/api/workspaces/update_workspace_member.py +235 -0
- render_sdk/public_api/models/__init__.py +82 -4
- render_sdk/public_api/models/audit_log.py +113 -0
- render_sdk/public_api/models/audit_log_actor.py +80 -0
- render_sdk/public_api/models/audit_log_actor_type.py +10 -0
- render_sdk/public_api/models/audit_log_event.py +80 -0
- render_sdk/public_api/models/audit_log_metadata.py +49 -0
- render_sdk/public_api/models/audit_log_status.py +9 -0
- render_sdk/public_api/models/audit_log_with_cursor.py +73 -0
- render_sdk/public_api/models/background_worker_details.py +2 -2
- render_sdk/public_api/models/background_worker_details_patch.py +1 -1
- render_sdk/public_api/models/background_worker_details_post.py +1 -1
- render_sdk/public_api/models/blob_metadata.py +85 -0
- render_sdk/public_api/models/blob_with_cursor.py +73 -0
- render_sdk/public_api/models/cache.py +6 -4
- render_sdk/public_api/models/cache_profile.py +10 -0
- render_sdk/public_api/models/create_deploy_body.py +23 -0
- render_sdk/public_api/models/create_version.py +70 -0
- render_sdk/public_api/models/credential_create_input.py +59 -0
- render_sdk/public_api/models/cron_job_details.py +2 -2
- render_sdk/public_api/models/cron_job_details_patch.py +1 -1
- render_sdk/public_api/models/cron_job_details_post.py +1 -1
- render_sdk/public_api/models/deploy_mode.py +9 -0
- render_sdk/public_api/models/event.py +11 -27
- render_sdk/public_api/models/event_type.py +1 -1
- render_sdk/public_api/models/get_bandwidth_sources_response_200.py +75 -0
- render_sdk/public_api/models/get_bandwidth_sources_response_200_data_item.py +101 -0
- render_sdk/public_api/models/get_bandwidth_sources_response_200_data_item_labels.py +78 -0
- render_sdk/public_api/models/get_bandwidth_sources_response_200_data_item_labels_traffic_source.py +12 -0
- render_sdk/public_api/models/get_bandwidth_sources_response_200_data_item_values_item.py +68 -0
- render_sdk/public_api/models/{server_unhealthy.py → get_bandwidth_sources_response_400.py} +12 -12
- render_sdk/public_api/models/get_blob_output.py +71 -0
- render_sdk/public_api/models/list_postgres_users_response_200_item.py +86 -0
- render_sdk/public_api/models/otel_provider_type.py +2 -0
- render_sdk/public_api/models/postgres.py +8 -0
- render_sdk/public_api/models/postgres_detail.py +26 -0
- render_sdk/public_api/models/postgres_parameter_overrides.py +44 -0
- render_sdk/public_api/models/postgres_patch_input.py +27 -0
- render_sdk/public_api/models/postgres_post_input.py +27 -0
- render_sdk/public_api/models/postgres_version.py +1 -0
- render_sdk/public_api/models/preview_input.py +2 -2
- render_sdk/public_api/models/private_service_details.py +2 -2
- render_sdk/public_api/models/private_service_details_patch.py +1 -1
- render_sdk/public_api/models/private_service_details_post.py +1 -1
- render_sdk/public_api/models/project_post_environment_input.py +26 -1
- render_sdk/public_api/models/put_blob_input.py +59 -0
- render_sdk/public_api/models/put_blob_output.py +79 -0
- render_sdk/public_api/models/read_replica.py +25 -1
- render_sdk/public_api/models/read_replica_input.py +25 -1
- render_sdk/public_api/models/run_task.py +35 -7
- render_sdk/public_api/models/service_event.py +12 -27
- render_sdk/public_api/models/service_event_type.py +0 -1
- render_sdk/public_api/models/service_post.py +9 -6
- render_sdk/public_api/models/task_attempt.py +88 -0
- render_sdk/public_api/models/task_attempt_details.py +108 -0
- render_sdk/public_api/models/task_data_type_1.py +44 -0
- render_sdk/public_api/models/task_run.py +23 -1
- render_sdk/public_api/models/task_run_details.py +50 -5
- render_sdk/public_api/models/task_run_status.py +1 -0
- render_sdk/public_api/models/task_with_cursor.py +73 -0
- render_sdk/public_api/models/team_member.py +5 -4
- render_sdk/public_api/models/team_member_role.py +12 -0
- render_sdk/public_api/models/update_workspace_member_body.py +61 -0
- render_sdk/public_api/models/validate_blueprint_request.py +84 -0
- render_sdk/public_api/models/validate_blueprint_response.py +105 -0
- render_sdk/public_api/models/validation_error.py +88 -0
- render_sdk/public_api/models/validation_plan_summary.py +107 -0
- render_sdk/public_api/models/web_service_details.py +2 -2
- render_sdk/public_api/models/web_service_details_patch.py +6 -5
- render_sdk/public_api/models/web_service_details_post.py +6 -5
- render_sdk/public_api/models/workflow.py +144 -0
- render_sdk/public_api/models/workflow_create.py +99 -0
- render_sdk/public_api/models/workflow_update.py +90 -0
- render_sdk/public_api/models/workflow_version.py +10 -14
- render_sdk/public_api/models/workflow_version_status.py +13 -0
- render_sdk/public_api/models/workflow_version_with_cursor.py +73 -0
- render_sdk/public_api/models/workflow_with_cursor.py +73 -0
- render_sdk/render.py +65 -0
- render_sdk/version.py +27 -0
- render_sdk/workflows/__init__.py +5 -1
- render_sdk/workflows/app.py +262 -0
- render_sdk/workflows/callback_api/models/task_options.py +18 -0
- render_sdk/workflows/cli.py +58 -0
- render_sdk/workflows/client.py +2 -7
- render_sdk/workflows/runner.py +12 -7
- render_sdk/workflows/task.py +11 -2
- render_sdk/workflows/tests/test_app.py +412 -0
- render_sdk/workflows/tests/test_cli.py +134 -0
- render_sdk/workflows/tests/test_end_to_end.py +69 -1
- render_sdk/workflows/tests/test_registration.py +56 -1
- {render_sdk-0.1.3.dist-info → render_sdk-0.2.0.dist-info}/METADATA +1 -1
- {render_sdk-0.1.3.dist-info → render_sdk-0.2.0.dist-info}/RECORD +149 -78
- render_sdk-0.2.0.dist-info/entry_points.txt +3 -0
- render_sdk/public_api/models/image_version.py +0 -79
- /render_sdk/public_api/api/{redis → audit_logs}/__init__.py +0 -0
- /render_sdk/public_api/api/{workflows → blob_storage}/__init__.py +0 -0
- /render_sdk/public_api/api/{workflows → workflow_tasks_ea}/stream_task_runs_events.py +0 -0
- {render_sdk-0.1.3.dist-info → render_sdk-0.2.0.dist-info}/WHEEL +0 -0
- {render_sdk-0.1.3.dist-info → render_sdk-0.2.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -64,7 +64,6 @@ if TYPE_CHECKING:
|
|
|
64
64
|
from ..models.server_failed import ServerFailed
|
|
65
65
|
from ..models.server_hardware_failure import ServerHardwareFailure
|
|
66
66
|
from ..models.server_restarted import ServerRestarted
|
|
67
|
-
from ..models.server_unhealthy import ServerUnhealthy
|
|
68
67
|
from ..models.service_resumed import ServiceResumed
|
|
69
68
|
from ..models.service_suspended import ServiceSuspended
|
|
70
69
|
from ..models.suspender_added import SuspenderAdded
|
|
@@ -96,9 +95,8 @@ class Event:
|
|
|
96
95
|
'PostgresPITRCheckpointFailed', 'PostgresPITRCheckpointStarted', 'PostgresReadReplicaStale',
|
|
97
96
|
'PostgresReadReplicasChanged', 'PostgresRestarted', 'PostgresUnavailable', 'PostgresUpgradeFailed',
|
|
98
97
|
'PostgresUpgradeStarted', 'PostgresUpgradeSucceeded', 'PreDeployEnded', 'PreDeployStarted', 'ServerAvailable',
|
|
99
|
-
'ServerFailed', 'ServerHardwareFailure', 'ServerRestarted', '
|
|
100
|
-
'
|
|
101
|
-
'ZeroDowntimeRedeployStarted']):
|
|
98
|
+
'ServerFailed', 'ServerHardwareFailure', 'ServerRestarted', 'ServiceResumed', 'ServiceSuspended',
|
|
99
|
+
'SuspenderAdded', 'SuspenderRemoved', 'ZeroDowntimeRedeployEnded', 'ZeroDowntimeRedeployStarted']):
|
|
102
100
|
"""
|
|
103
101
|
|
|
104
102
|
id: str
|
|
@@ -161,7 +159,6 @@ class Event:
|
|
|
161
159
|
"ServerFailed",
|
|
162
160
|
"ServerHardwareFailure",
|
|
163
161
|
"ServerRestarted",
|
|
164
|
-
"ServerUnhealthy",
|
|
165
162
|
"ServiceResumed",
|
|
166
163
|
"ServiceSuspended",
|
|
167
164
|
"SuspenderAdded",
|
|
@@ -226,7 +223,6 @@ class Event:
|
|
|
226
223
|
from ..models.server_failed import ServerFailed
|
|
227
224
|
from ..models.server_hardware_failure import ServerHardwareFailure
|
|
228
225
|
from ..models.server_restarted import ServerRestarted
|
|
229
|
-
from ..models.server_unhealthy import ServerUnhealthy
|
|
230
226
|
from ..models.service_resumed import ServiceResumed
|
|
231
227
|
from ..models.service_suspended import ServiceSuspended
|
|
232
228
|
from ..models.suspender_added import SuspenderAdded
|
|
@@ -305,8 +301,6 @@ class Event:
|
|
|
305
301
|
details = self.details.to_dict()
|
|
306
302
|
elif isinstance(self.details, ServerRestarted):
|
|
307
303
|
details = self.details.to_dict()
|
|
308
|
-
elif isinstance(self.details, ServerUnhealthy):
|
|
309
|
-
details = self.details.to_dict()
|
|
310
304
|
elif isinstance(self.details, ServiceResumed):
|
|
311
305
|
details = self.details.to_dict()
|
|
312
306
|
elif isinstance(self.details, ServiceSuspended):
|
|
@@ -439,7 +433,6 @@ class Event:
|
|
|
439
433
|
from ..models.server_failed import ServerFailed
|
|
440
434
|
from ..models.server_hardware_failure import ServerHardwareFailure
|
|
441
435
|
from ..models.server_restarted import ServerRestarted
|
|
442
|
-
from ..models.server_unhealthy import ServerUnhealthy
|
|
443
436
|
from ..models.service_resumed import ServiceResumed
|
|
444
437
|
from ..models.service_suspended import ServiceSuspended
|
|
445
438
|
from ..models.suspender_added import SuspenderAdded
|
|
@@ -514,7 +507,6 @@ class Event:
|
|
|
514
507
|
"ServerFailed",
|
|
515
508
|
"ServerHardwareFailure",
|
|
516
509
|
"ServerRestarted",
|
|
517
|
-
"ServerUnhealthy",
|
|
518
510
|
"ServiceResumed",
|
|
519
511
|
"ServiceSuspended",
|
|
520
512
|
"SuspenderAdded",
|
|
@@ -773,7 +765,7 @@ class Event:
|
|
|
773
765
|
try:
|
|
774
766
|
if not isinstance(data, dict):
|
|
775
767
|
raise TypeError()
|
|
776
|
-
componentsschemasservice_event_details_type_31 =
|
|
768
|
+
componentsschemasservice_event_details_type_31 = ServiceResumed.from_dict(data)
|
|
777
769
|
|
|
778
770
|
return componentsschemasservice_event_details_type_31
|
|
779
771
|
except: # noqa: E722
|
|
@@ -781,7 +773,7 @@ class Event:
|
|
|
781
773
|
try:
|
|
782
774
|
if not isinstance(data, dict):
|
|
783
775
|
raise TypeError()
|
|
784
|
-
componentsschemasservice_event_details_type_32 =
|
|
776
|
+
componentsschemasservice_event_details_type_32 = ServiceSuspended.from_dict(data)
|
|
785
777
|
|
|
786
778
|
return componentsschemasservice_event_details_type_32
|
|
787
779
|
except: # noqa: E722
|
|
@@ -789,7 +781,7 @@ class Event:
|
|
|
789
781
|
try:
|
|
790
782
|
if not isinstance(data, dict):
|
|
791
783
|
raise TypeError()
|
|
792
|
-
componentsschemasservice_event_details_type_33 =
|
|
784
|
+
componentsschemasservice_event_details_type_33 = SuspenderAdded.from_dict(data)
|
|
793
785
|
|
|
794
786
|
return componentsschemasservice_event_details_type_33
|
|
795
787
|
except: # noqa: E722
|
|
@@ -797,7 +789,7 @@ class Event:
|
|
|
797
789
|
try:
|
|
798
790
|
if not isinstance(data, dict):
|
|
799
791
|
raise TypeError()
|
|
800
|
-
componentsschemasservice_event_details_type_34 =
|
|
792
|
+
componentsschemasservice_event_details_type_34 = SuspenderRemoved.from_dict(data)
|
|
801
793
|
|
|
802
794
|
return componentsschemasservice_event_details_type_34
|
|
803
795
|
except: # noqa: E722
|
|
@@ -805,7 +797,7 @@ class Event:
|
|
|
805
797
|
try:
|
|
806
798
|
if not isinstance(data, dict):
|
|
807
799
|
raise TypeError()
|
|
808
|
-
componentsschemasservice_event_details_type_35 =
|
|
800
|
+
componentsschemasservice_event_details_type_35 = ZeroDowntimeRedeployEnded.from_dict(data)
|
|
809
801
|
|
|
810
802
|
return componentsschemasservice_event_details_type_35
|
|
811
803
|
except: # noqa: E722
|
|
@@ -813,7 +805,7 @@ class Event:
|
|
|
813
805
|
try:
|
|
814
806
|
if not isinstance(data, dict):
|
|
815
807
|
raise TypeError()
|
|
816
|
-
componentsschemasservice_event_details_type_36 =
|
|
808
|
+
componentsschemasservice_event_details_type_36 = ZeroDowntimeRedeployStarted.from_dict(data)
|
|
817
809
|
|
|
818
810
|
return componentsschemasservice_event_details_type_36
|
|
819
811
|
except: # noqa: E722
|
|
@@ -821,7 +813,7 @@ class Event:
|
|
|
821
813
|
try:
|
|
822
814
|
if not isinstance(data, dict):
|
|
823
815
|
raise TypeError()
|
|
824
|
-
componentsschemasservice_event_details_type_37 =
|
|
816
|
+
componentsschemasservice_event_details_type_37 = EdgeCacheDisabled.from_dict(data)
|
|
825
817
|
|
|
826
818
|
return componentsschemasservice_event_details_type_37
|
|
827
819
|
except: # noqa: E722
|
|
@@ -829,7 +821,7 @@ class Event:
|
|
|
829
821
|
try:
|
|
830
822
|
if not isinstance(data, dict):
|
|
831
823
|
raise TypeError()
|
|
832
|
-
componentsschemasservice_event_details_type_38 =
|
|
824
|
+
componentsschemasservice_event_details_type_38 = EdgeCacheEnabled.from_dict(data)
|
|
833
825
|
|
|
834
826
|
return componentsschemasservice_event_details_type_38
|
|
835
827
|
except: # noqa: E722
|
|
@@ -837,19 +829,11 @@ class Event:
|
|
|
837
829
|
try:
|
|
838
830
|
if not isinstance(data, dict):
|
|
839
831
|
raise TypeError()
|
|
840
|
-
componentsschemasservice_event_details_type_39 =
|
|
832
|
+
componentsschemasservice_event_details_type_39 = EdgeCachePurged.from_dict(data)
|
|
841
833
|
|
|
842
834
|
return componentsschemasservice_event_details_type_39
|
|
843
835
|
except: # noqa: E722
|
|
844
836
|
pass
|
|
845
|
-
try:
|
|
846
|
-
if not isinstance(data, dict):
|
|
847
|
-
raise TypeError()
|
|
848
|
-
componentsschemasservice_event_details_type_40 = EdgeCachePurged.from_dict(data)
|
|
849
|
-
|
|
850
|
-
return componentsschemasservice_event_details_type_40
|
|
851
|
-
except: # noqa: E722
|
|
852
|
-
pass
|
|
853
837
|
try:
|
|
854
838
|
if not isinstance(data, dict):
|
|
855
839
|
raise TypeError()
|
|
@@ -37,6 +37,7 @@ class EventType(str, Enum):
|
|
|
37
37
|
POSTGRES_BACKUP_STARTED = "postgres_backup_started"
|
|
38
38
|
POSTGRES_CLUSTER_LEADER_CHANGED = "postgres_cluster_leader_changed"
|
|
39
39
|
POSTGRES_CREATED = "postgres_created"
|
|
40
|
+
POSTGRES_DISK_AUTOSCALING_ENABLED_CHANGED = "postgres_disk_autoscaling_enabled_changed"
|
|
40
41
|
POSTGRES_DISK_SIZE_CHANGED = "postgres_disk_size_changed"
|
|
41
42
|
POSTGRES_HA_STATUS_CHANGED = "postgres_ha_status_changed"
|
|
42
43
|
POSTGRES_PITR_CHECKPOINT_COMPLETED = "postgres_pitr_checkpoint_completed"
|
|
@@ -58,7 +59,6 @@ class EventType(str, Enum):
|
|
|
58
59
|
SERVER_FAILED = "server_failed"
|
|
59
60
|
SERVER_HARDWARE_FAILURE = "server_hardware_failure"
|
|
60
61
|
SERVER_RESTARTED = "server_restarted"
|
|
61
|
-
SERVER_UNHEALTHY = "server_unhealthy"
|
|
62
62
|
SERVICE_RESUMED = "service_resumed"
|
|
63
63
|
SERVICE_SUSPENDED = "service_suspended"
|
|
64
64
|
ZERO_DOWNTIME_REDEPLOY_ENDED = "zero_downtime_redeploy_ended"
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import TYPE_CHECKING, Any, TypeVar, Union
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
from ..types import UNSET, Unset
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from ..models.get_bandwidth_sources_response_200_data_item import GetBandwidthSourcesResponse200DataItem
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
T = TypeVar("T", bound="GetBandwidthSourcesResponse200")
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
@_attrs_define
|
|
17
|
+
class GetBandwidthSourcesResponse200:
|
|
18
|
+
"""
|
|
19
|
+
Attributes:
|
|
20
|
+
data (Union[Unset, list['GetBandwidthSourcesResponse200DataItem']]):
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
data: Union[Unset, list["GetBandwidthSourcesResponse200DataItem"]] = UNSET
|
|
24
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
25
|
+
|
|
26
|
+
def to_dict(self) -> dict[str, Any]:
|
|
27
|
+
data: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
28
|
+
if not isinstance(self.data, Unset):
|
|
29
|
+
data = []
|
|
30
|
+
for data_item_data in self.data:
|
|
31
|
+
data_item = data_item_data.to_dict()
|
|
32
|
+
data.append(data_item)
|
|
33
|
+
|
|
34
|
+
field_dict: dict[str, Any] = {}
|
|
35
|
+
field_dict.update(self.additional_properties)
|
|
36
|
+
field_dict.update({})
|
|
37
|
+
if data is not UNSET:
|
|
38
|
+
field_dict["data"] = data
|
|
39
|
+
|
|
40
|
+
return field_dict
|
|
41
|
+
|
|
42
|
+
@classmethod
|
|
43
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
44
|
+
from ..models.get_bandwidth_sources_response_200_data_item import GetBandwidthSourcesResponse200DataItem
|
|
45
|
+
|
|
46
|
+
d = dict(src_dict)
|
|
47
|
+
data = []
|
|
48
|
+
_data = d.pop("data", UNSET)
|
|
49
|
+
for data_item_data in _data or []:
|
|
50
|
+
data_item = GetBandwidthSourcesResponse200DataItem.from_dict(data_item_data)
|
|
51
|
+
|
|
52
|
+
data.append(data_item)
|
|
53
|
+
|
|
54
|
+
get_bandwidth_sources_response_200 = cls(
|
|
55
|
+
data=data,
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
get_bandwidth_sources_response_200.additional_properties = d
|
|
59
|
+
return get_bandwidth_sources_response_200
|
|
60
|
+
|
|
61
|
+
@property
|
|
62
|
+
def additional_keys(self) -> list[str]:
|
|
63
|
+
return list(self.additional_properties.keys())
|
|
64
|
+
|
|
65
|
+
def __getitem__(self, key: str) -> Any:
|
|
66
|
+
return self.additional_properties[key]
|
|
67
|
+
|
|
68
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
69
|
+
self.additional_properties[key] = value
|
|
70
|
+
|
|
71
|
+
def __delitem__(self, key: str) -> None:
|
|
72
|
+
del self.additional_properties[key]
|
|
73
|
+
|
|
74
|
+
def __contains__(self, key: str) -> bool:
|
|
75
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import TYPE_CHECKING, Any, TypeVar, Union
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
from ..types import UNSET, Unset
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from ..models.get_bandwidth_sources_response_200_data_item_labels import (
|
|
11
|
+
GetBandwidthSourcesResponse200DataItemLabels,
|
|
12
|
+
)
|
|
13
|
+
from ..models.get_bandwidth_sources_response_200_data_item_values_item import (
|
|
14
|
+
GetBandwidthSourcesResponse200DataItemValuesItem,
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
T = TypeVar("T", bound="GetBandwidthSourcesResponse200DataItem")
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@_attrs_define
|
|
22
|
+
class GetBandwidthSourcesResponse200DataItem:
|
|
23
|
+
"""
|
|
24
|
+
Attributes:
|
|
25
|
+
labels (Union[Unset, GetBandwidthSourcesResponse200DataItemLabels]):
|
|
26
|
+
values (Union[Unset, list['GetBandwidthSourcesResponse200DataItemValuesItem']]):
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
labels: Union[Unset, "GetBandwidthSourcesResponse200DataItemLabels"] = UNSET
|
|
30
|
+
values: Union[Unset, list["GetBandwidthSourcesResponse200DataItemValuesItem"]] = UNSET
|
|
31
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
32
|
+
|
|
33
|
+
def to_dict(self) -> dict[str, Any]:
|
|
34
|
+
labels: Union[Unset, dict[str, Any]] = UNSET
|
|
35
|
+
if not isinstance(self.labels, Unset):
|
|
36
|
+
labels = self.labels.to_dict()
|
|
37
|
+
|
|
38
|
+
values: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
39
|
+
if not isinstance(self.values, Unset):
|
|
40
|
+
values = []
|
|
41
|
+
for values_item_data in self.values:
|
|
42
|
+
values_item = values_item_data.to_dict()
|
|
43
|
+
values.append(values_item)
|
|
44
|
+
|
|
45
|
+
field_dict: dict[str, Any] = {}
|
|
46
|
+
field_dict.update(self.additional_properties)
|
|
47
|
+
field_dict.update({})
|
|
48
|
+
if labels is not UNSET:
|
|
49
|
+
field_dict["labels"] = labels
|
|
50
|
+
if values is not UNSET:
|
|
51
|
+
field_dict["values"] = values
|
|
52
|
+
|
|
53
|
+
return field_dict
|
|
54
|
+
|
|
55
|
+
@classmethod
|
|
56
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
57
|
+
from ..models.get_bandwidth_sources_response_200_data_item_labels import (
|
|
58
|
+
GetBandwidthSourcesResponse200DataItemLabels,
|
|
59
|
+
)
|
|
60
|
+
from ..models.get_bandwidth_sources_response_200_data_item_values_item import (
|
|
61
|
+
GetBandwidthSourcesResponse200DataItemValuesItem,
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
d = dict(src_dict)
|
|
65
|
+
_labels = d.pop("labels", UNSET)
|
|
66
|
+
labels: Union[Unset, GetBandwidthSourcesResponse200DataItemLabels]
|
|
67
|
+
if isinstance(_labels, Unset):
|
|
68
|
+
labels = UNSET
|
|
69
|
+
else:
|
|
70
|
+
labels = GetBandwidthSourcesResponse200DataItemLabels.from_dict(_labels)
|
|
71
|
+
|
|
72
|
+
values = []
|
|
73
|
+
_values = d.pop("values", UNSET)
|
|
74
|
+
for values_item_data in _values or []:
|
|
75
|
+
values_item = GetBandwidthSourcesResponse200DataItemValuesItem.from_dict(values_item_data)
|
|
76
|
+
|
|
77
|
+
values.append(values_item)
|
|
78
|
+
|
|
79
|
+
get_bandwidth_sources_response_200_data_item = cls(
|
|
80
|
+
labels=labels,
|
|
81
|
+
values=values,
|
|
82
|
+
)
|
|
83
|
+
|
|
84
|
+
get_bandwidth_sources_response_200_data_item.additional_properties = d
|
|
85
|
+
return get_bandwidth_sources_response_200_data_item
|
|
86
|
+
|
|
87
|
+
@property
|
|
88
|
+
def additional_keys(self) -> list[str]:
|
|
89
|
+
return list(self.additional_properties.keys())
|
|
90
|
+
|
|
91
|
+
def __getitem__(self, key: str) -> Any:
|
|
92
|
+
return self.additional_properties[key]
|
|
93
|
+
|
|
94
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
95
|
+
self.additional_properties[key] = value
|
|
96
|
+
|
|
97
|
+
def __delitem__(self, key: str) -> None:
|
|
98
|
+
del self.additional_properties[key]
|
|
99
|
+
|
|
100
|
+
def __contains__(self, key: str) -> bool:
|
|
101
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar, Union
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
from ..models.get_bandwidth_sources_response_200_data_item_labels_traffic_source import (
|
|
8
|
+
GetBandwidthSourcesResponse200DataItemLabelsTrafficSource,
|
|
9
|
+
)
|
|
10
|
+
from ..types import UNSET, Unset
|
|
11
|
+
|
|
12
|
+
T = TypeVar("T", bound="GetBandwidthSourcesResponse200DataItemLabels")
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@_attrs_define
|
|
16
|
+
class GetBandwidthSourcesResponse200DataItemLabels:
|
|
17
|
+
"""
|
|
18
|
+
Attributes:
|
|
19
|
+
resource (Union[Unset, str]): Example: srv-abc123.
|
|
20
|
+
traffic_source (Union[Unset, GetBandwidthSourcesResponse200DataItemLabelsTrafficSource]): Example: http.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
resource: Union[Unset, str] = UNSET
|
|
24
|
+
traffic_source: Union[Unset, GetBandwidthSourcesResponse200DataItemLabelsTrafficSource] = UNSET
|
|
25
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
26
|
+
|
|
27
|
+
def to_dict(self) -> dict[str, Any]:
|
|
28
|
+
resource = self.resource
|
|
29
|
+
|
|
30
|
+
traffic_source: Union[Unset, str] = UNSET
|
|
31
|
+
if not isinstance(self.traffic_source, Unset):
|
|
32
|
+
traffic_source = self.traffic_source.value
|
|
33
|
+
|
|
34
|
+
field_dict: dict[str, Any] = {}
|
|
35
|
+
field_dict.update(self.additional_properties)
|
|
36
|
+
field_dict.update({})
|
|
37
|
+
if resource is not UNSET:
|
|
38
|
+
field_dict["resource"] = resource
|
|
39
|
+
if traffic_source is not UNSET:
|
|
40
|
+
field_dict["trafficSource"] = traffic_source
|
|
41
|
+
|
|
42
|
+
return field_dict
|
|
43
|
+
|
|
44
|
+
@classmethod
|
|
45
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
46
|
+
d = dict(src_dict)
|
|
47
|
+
resource = d.pop("resource", UNSET)
|
|
48
|
+
|
|
49
|
+
_traffic_source = d.pop("trafficSource", UNSET)
|
|
50
|
+
traffic_source: Union[Unset, GetBandwidthSourcesResponse200DataItemLabelsTrafficSource]
|
|
51
|
+
if isinstance(_traffic_source, Unset):
|
|
52
|
+
traffic_source = UNSET
|
|
53
|
+
else:
|
|
54
|
+
traffic_source = GetBandwidthSourcesResponse200DataItemLabelsTrafficSource(_traffic_source)
|
|
55
|
+
|
|
56
|
+
get_bandwidth_sources_response_200_data_item_labels = cls(
|
|
57
|
+
resource=resource,
|
|
58
|
+
traffic_source=traffic_source,
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
get_bandwidth_sources_response_200_data_item_labels.additional_properties = d
|
|
62
|
+
return get_bandwidth_sources_response_200_data_item_labels
|
|
63
|
+
|
|
64
|
+
@property
|
|
65
|
+
def additional_keys(self) -> list[str]:
|
|
66
|
+
return list(self.additional_properties.keys())
|
|
67
|
+
|
|
68
|
+
def __getitem__(self, key: str) -> Any:
|
|
69
|
+
return self.additional_properties[key]
|
|
70
|
+
|
|
71
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
72
|
+
self.additional_properties[key] = value
|
|
73
|
+
|
|
74
|
+
def __delitem__(self, key: str) -> None:
|
|
75
|
+
del self.additional_properties[key]
|
|
76
|
+
|
|
77
|
+
def __contains__(self, key: str) -> bool:
|
|
78
|
+
return key in self.additional_properties
|
render_sdk/public_api/models/get_bandwidth_sources_response_200_data_item_labels_traffic_source.py
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class GetBandwidthSourcesResponse200DataItemLabelsTrafficSource(str, Enum):
|
|
5
|
+
HTTP = "http"
|
|
6
|
+
NAT = "nat"
|
|
7
|
+
PRIVATELINK = "privatelink"
|
|
8
|
+
TOTAL = "total"
|
|
9
|
+
WEBSOCKET = "websocket"
|
|
10
|
+
|
|
11
|
+
def __str__(self) -> str:
|
|
12
|
+
return str(self.value)
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar, Union
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
from ..types import UNSET, Unset
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="GetBandwidthSourcesResponse200DataItemValuesItem")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class GetBandwidthSourcesResponse200DataItemValuesItem:
|
|
14
|
+
"""
|
|
15
|
+
Attributes:
|
|
16
|
+
timestamp (Union[Unset, int]): Example: 1709856000.
|
|
17
|
+
value (Union[Unset, float]): Example: 100.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
timestamp: Union[Unset, int] = UNSET
|
|
21
|
+
value: Union[Unset, float] = UNSET
|
|
22
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
23
|
+
|
|
24
|
+
def to_dict(self) -> dict[str, Any]:
|
|
25
|
+
timestamp = self.timestamp
|
|
26
|
+
|
|
27
|
+
value = self.value
|
|
28
|
+
|
|
29
|
+
field_dict: dict[str, Any] = {}
|
|
30
|
+
field_dict.update(self.additional_properties)
|
|
31
|
+
field_dict.update({})
|
|
32
|
+
if timestamp is not UNSET:
|
|
33
|
+
field_dict["timestamp"] = timestamp
|
|
34
|
+
if value is not UNSET:
|
|
35
|
+
field_dict["value"] = value
|
|
36
|
+
|
|
37
|
+
return field_dict
|
|
38
|
+
|
|
39
|
+
@classmethod
|
|
40
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
41
|
+
d = dict(src_dict)
|
|
42
|
+
timestamp = d.pop("timestamp", UNSET)
|
|
43
|
+
|
|
44
|
+
value = d.pop("value", UNSET)
|
|
45
|
+
|
|
46
|
+
get_bandwidth_sources_response_200_data_item_values_item = cls(
|
|
47
|
+
timestamp=timestamp,
|
|
48
|
+
value=value,
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
get_bandwidth_sources_response_200_data_item_values_item.additional_properties = d
|
|
52
|
+
return get_bandwidth_sources_response_200_data_item_values_item
|
|
53
|
+
|
|
54
|
+
@property
|
|
55
|
+
def additional_keys(self) -> list[str]:
|
|
56
|
+
return list(self.additional_properties.keys())
|
|
57
|
+
|
|
58
|
+
def __getitem__(self, key: str) -> Any:
|
|
59
|
+
return self.additional_properties[key]
|
|
60
|
+
|
|
61
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
62
|
+
self.additional_properties[key] = value
|
|
63
|
+
|
|
64
|
+
def __delitem__(self, key: str) -> None:
|
|
65
|
+
del self.additional_properties[key]
|
|
66
|
+
|
|
67
|
+
def __contains__(self, key: str) -> bool:
|
|
68
|
+
return key in self.additional_properties
|
|
@@ -6,41 +6,41 @@ from attrs import field as _attrs_field
|
|
|
6
6
|
|
|
7
7
|
from ..types import UNSET, Unset
|
|
8
8
|
|
|
9
|
-
T = TypeVar("T", bound="
|
|
9
|
+
T = TypeVar("T", bound="GetBandwidthSourcesResponse400")
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
@_attrs_define
|
|
13
|
-
class
|
|
13
|
+
class GetBandwidthSourcesResponse400:
|
|
14
14
|
"""
|
|
15
15
|
Attributes:
|
|
16
|
-
|
|
16
|
+
error (Union[Unset, str]): Example: bandwidth sources data is only available after 2025-03-09.
|
|
17
17
|
"""
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
error: Union[Unset, str] = UNSET
|
|
20
20
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
21
21
|
|
|
22
22
|
def to_dict(self) -> dict[str, Any]:
|
|
23
|
-
|
|
23
|
+
error = self.error
|
|
24
24
|
|
|
25
25
|
field_dict: dict[str, Any] = {}
|
|
26
26
|
field_dict.update(self.additional_properties)
|
|
27
27
|
field_dict.update({})
|
|
28
|
-
if
|
|
29
|
-
field_dict["
|
|
28
|
+
if error is not UNSET:
|
|
29
|
+
field_dict["error"] = error
|
|
30
30
|
|
|
31
31
|
return field_dict
|
|
32
32
|
|
|
33
33
|
@classmethod
|
|
34
34
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
35
35
|
d = dict(src_dict)
|
|
36
|
-
|
|
36
|
+
error = d.pop("error", UNSET)
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
get_bandwidth_sources_response_400 = cls(
|
|
39
|
+
error=error,
|
|
40
40
|
)
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
return
|
|
42
|
+
get_bandwidth_sources_response_400.additional_properties = d
|
|
43
|
+
return get_bandwidth_sources_response_400
|
|
44
44
|
|
|
45
45
|
@property
|
|
46
46
|
def additional_keys(self) -> list[str]:
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
from collections.abc import Mapping
|
|
3
|
+
from typing import Any, TypeVar
|
|
4
|
+
|
|
5
|
+
from attrs import define as _attrs_define
|
|
6
|
+
from attrs import field as _attrs_field
|
|
7
|
+
from dateutil.parser import isoparse
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="GetBlobOutput")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class GetBlobOutput:
|
|
14
|
+
"""
|
|
15
|
+
Attributes:
|
|
16
|
+
url (str): Presigned URL for downloading the blob Example: https://example-bucket.s3.amazonaws.com/presigned-
|
|
17
|
+
get-url.
|
|
18
|
+
expires_at (datetime.datetime): The time at which the presigned URL expires (ISO 8601 format) Example:
|
|
19
|
+
2024-01-15T12:30:00Z.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
url: str
|
|
23
|
+
expires_at: datetime.datetime
|
|
24
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
25
|
+
|
|
26
|
+
def to_dict(self) -> dict[str, Any]:
|
|
27
|
+
url = self.url
|
|
28
|
+
|
|
29
|
+
expires_at = self.expires_at.isoformat()
|
|
30
|
+
|
|
31
|
+
field_dict: dict[str, Any] = {}
|
|
32
|
+
field_dict.update(self.additional_properties)
|
|
33
|
+
field_dict.update(
|
|
34
|
+
{
|
|
35
|
+
"url": url,
|
|
36
|
+
"expiresAt": expires_at,
|
|
37
|
+
}
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
return field_dict
|
|
41
|
+
|
|
42
|
+
@classmethod
|
|
43
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
44
|
+
d = dict(src_dict)
|
|
45
|
+
url = d.pop("url")
|
|
46
|
+
|
|
47
|
+
expires_at = isoparse(d.pop("expiresAt"))
|
|
48
|
+
|
|
49
|
+
get_blob_output = cls(
|
|
50
|
+
url=url,
|
|
51
|
+
expires_at=expires_at,
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
get_blob_output.additional_properties = d
|
|
55
|
+
return get_blob_output
|
|
56
|
+
|
|
57
|
+
@property
|
|
58
|
+
def additional_keys(self) -> list[str]:
|
|
59
|
+
return list(self.additional_properties.keys())
|
|
60
|
+
|
|
61
|
+
def __getitem__(self, key: str) -> Any:
|
|
62
|
+
return self.additional_properties[key]
|
|
63
|
+
|
|
64
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
65
|
+
self.additional_properties[key] = value
|
|
66
|
+
|
|
67
|
+
def __delitem__(self, key: str) -> None:
|
|
68
|
+
del self.additional_properties[key]
|
|
69
|
+
|
|
70
|
+
def __contains__(self, key: str) -> bool:
|
|
71
|
+
return key in self.additional_properties
|