render_sdk 0.1.2__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/types.py +2 -1
- render_sdk/client/workflows.py +13 -3
- 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/__init__.py +2 -0
- render_sdk/workflows/callback_api/models/task.py +21 -0
- render_sdk/workflows/callback_api/models/task_options.py +18 -0
- render_sdk/workflows/callback_api/models/task_parameter.py +88 -0
- render_sdk/workflows/callback_api/py.typed +1 -1
- render_sdk/workflows/cli.py +58 -0
- render_sdk/workflows/client.py +8 -9
- render_sdk/workflows/executor.py +19 -7
- render_sdk/workflows/runner.py +43 -10
- render_sdk/workflows/task.py +84 -5
- 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 +71 -1
- render_sdk/workflows/tests/test_registration.py +58 -1
- {render_sdk-0.1.2.dist-info → render_sdk-0.2.0.dist-info}/METADATA +4 -3
- {render_sdk-0.1.2.dist-info → render_sdk-0.2.0.dist-info}/RECORD +155 -83
- {render_sdk-0.1.2.dist-info → render_sdk-0.2.0.dist-info}/WHEEL +1 -1
- 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.2.dist-info → render_sdk-0.2.0.dist-info/licenses}/LICENSE +0 -0
|
@@ -0,0 +1,86 @@
|
|
|
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="ListPostgresUsersResponse200Item")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class ListPostgresUsersResponse200Item:
|
|
14
|
+
"""
|
|
15
|
+
Attributes:
|
|
16
|
+
username (Union[Unset, str]):
|
|
17
|
+
default (Union[Unset, bool]):
|
|
18
|
+
created_at (Union[Unset, str]):
|
|
19
|
+
open_connections (Union[Unset, int]):
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
username: Union[Unset, str] = UNSET
|
|
23
|
+
default: Union[Unset, bool] = UNSET
|
|
24
|
+
created_at: Union[Unset, str] = UNSET
|
|
25
|
+
open_connections: Union[Unset, int] = UNSET
|
|
26
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
27
|
+
|
|
28
|
+
def to_dict(self) -> dict[str, Any]:
|
|
29
|
+
username = self.username
|
|
30
|
+
|
|
31
|
+
default = self.default
|
|
32
|
+
|
|
33
|
+
created_at = self.created_at
|
|
34
|
+
|
|
35
|
+
open_connections = self.open_connections
|
|
36
|
+
|
|
37
|
+
field_dict: dict[str, Any] = {}
|
|
38
|
+
field_dict.update(self.additional_properties)
|
|
39
|
+
field_dict.update({})
|
|
40
|
+
if username is not UNSET:
|
|
41
|
+
field_dict["username"] = username
|
|
42
|
+
if default is not UNSET:
|
|
43
|
+
field_dict["default"] = default
|
|
44
|
+
if created_at is not UNSET:
|
|
45
|
+
field_dict["createdAt"] = created_at
|
|
46
|
+
if open_connections is not UNSET:
|
|
47
|
+
field_dict["openConnections"] = open_connections
|
|
48
|
+
|
|
49
|
+
return field_dict
|
|
50
|
+
|
|
51
|
+
@classmethod
|
|
52
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
53
|
+
d = dict(src_dict)
|
|
54
|
+
username = d.pop("username", UNSET)
|
|
55
|
+
|
|
56
|
+
default = d.pop("default", UNSET)
|
|
57
|
+
|
|
58
|
+
created_at = d.pop("createdAt", UNSET)
|
|
59
|
+
|
|
60
|
+
open_connections = d.pop("openConnections", UNSET)
|
|
61
|
+
|
|
62
|
+
list_postgres_users_response_200_item = cls(
|
|
63
|
+
username=username,
|
|
64
|
+
default=default,
|
|
65
|
+
created_at=created_at,
|
|
66
|
+
open_connections=open_connections,
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
list_postgres_users_response_200_item.additional_properties = d
|
|
70
|
+
return list_postgres_users_response_200_item
|
|
71
|
+
|
|
72
|
+
@property
|
|
73
|
+
def additional_keys(self) -> list[str]:
|
|
74
|
+
return list(self.additional_properties.keys())
|
|
75
|
+
|
|
76
|
+
def __getitem__(self, key: str) -> Any:
|
|
77
|
+
return self.additional_properties[key]
|
|
78
|
+
|
|
79
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
80
|
+
self.additional_properties[key] = value
|
|
81
|
+
|
|
82
|
+
def __delitem__(self, key: str) -> None:
|
|
83
|
+
del self.additional_properties[key]
|
|
84
|
+
|
|
85
|
+
def __contains__(self, key: str) -> bool:
|
|
86
|
+
return key in self.additional_properties
|
|
@@ -6,8 +6,10 @@ class OtelProviderType(str, Enum):
|
|
|
6
6
|
CUSTOM = "CUSTOM"
|
|
7
7
|
DATADOG = "DATADOG"
|
|
8
8
|
GRAFANA = "GRAFANA"
|
|
9
|
+
GROUNDSOURCE = "GROUNDSOURCE"
|
|
9
10
|
HONEYCOMB = "HONEYCOMB"
|
|
10
11
|
NEW_RELIC = "NEW_RELIC"
|
|
12
|
+
SIGNOZ = "SIGNOZ"
|
|
11
13
|
|
|
12
14
|
def __str__(self) -> str:
|
|
13
15
|
return str(self.value)
|
|
@@ -46,6 +46,7 @@ class Postgres:
|
|
|
46
46
|
suspended (PostgresSuspended):
|
|
47
47
|
suspenders (list[SuspenderType]):
|
|
48
48
|
dashboard_url (str): The URL to view the Postgres instance in the Render Dashboard
|
|
49
|
+
disk_autoscaling_enabled (bool):
|
|
49
50
|
expires_at (Union[Unset, datetime.datetime]): The time at which the database will be expire. Applies to free
|
|
50
51
|
tier databases only.
|
|
51
52
|
environment_id (Union[Unset, str]):
|
|
@@ -71,6 +72,7 @@ class Postgres:
|
|
|
71
72
|
suspended: PostgresSuspended
|
|
72
73
|
suspenders: list[SuspenderType]
|
|
73
74
|
dashboard_url: str
|
|
75
|
+
disk_autoscaling_enabled: bool
|
|
74
76
|
expires_at: Union[Unset, datetime.datetime] = UNSET
|
|
75
77
|
environment_id: Union[Unset, str] = UNSET
|
|
76
78
|
disk_size_gb: Union[Unset, int] = UNSET
|
|
@@ -123,6 +125,8 @@ class Postgres:
|
|
|
123
125
|
|
|
124
126
|
dashboard_url = self.dashboard_url
|
|
125
127
|
|
|
128
|
+
disk_autoscaling_enabled = self.disk_autoscaling_enabled
|
|
129
|
+
|
|
126
130
|
expires_at: Union[Unset, str] = UNSET
|
|
127
131
|
if not isinstance(self.expires_at, Unset):
|
|
128
132
|
expires_at = self.expires_at.isoformat()
|
|
@@ -155,6 +159,7 @@ class Postgres:
|
|
|
155
159
|
"suspended": suspended,
|
|
156
160
|
"suspenders": suspenders,
|
|
157
161
|
"dashboardUrl": dashboard_url,
|
|
162
|
+
"diskAutoscalingEnabled": disk_autoscaling_enabled,
|
|
158
163
|
}
|
|
159
164
|
)
|
|
160
165
|
if expires_at is not UNSET:
|
|
@@ -226,6 +231,8 @@ class Postgres:
|
|
|
226
231
|
|
|
227
232
|
dashboard_url = d.pop("dashboardUrl")
|
|
228
233
|
|
|
234
|
+
disk_autoscaling_enabled = d.pop("diskAutoscalingEnabled")
|
|
235
|
+
|
|
229
236
|
_expires_at = d.pop("expiresAt", UNSET)
|
|
230
237
|
expires_at: Union[Unset, datetime.datetime]
|
|
231
238
|
if isinstance(_expires_at, Unset):
|
|
@@ -258,6 +265,7 @@ class Postgres:
|
|
|
258
265
|
suspended=suspended,
|
|
259
266
|
suspenders=suspenders,
|
|
260
267
|
dashboard_url=dashboard_url,
|
|
268
|
+
disk_autoscaling_enabled=disk_autoscaling_enabled,
|
|
261
269
|
expires_at=expires_at,
|
|
262
270
|
environment_id=environment_id,
|
|
263
271
|
disk_size_gb=disk_size_gb,
|
|
@@ -19,6 +19,7 @@ if TYPE_CHECKING:
|
|
|
19
19
|
from ..models.cidr_block_and_description import CidrBlockAndDescription
|
|
20
20
|
from ..models.maintenance_run import MaintenanceRun
|
|
21
21
|
from ..models.owner import Owner
|
|
22
|
+
from ..models.postgres_parameter_overrides import PostgresParameterOverrides
|
|
22
23
|
from ..models.read_replica import ReadReplica
|
|
23
24
|
|
|
24
25
|
|
|
@@ -47,11 +48,13 @@ class PostgresDetail:
|
|
|
47
48
|
version (PostgresVersion): The PostgreSQL version
|
|
48
49
|
suspended (PostgresDetailSuspended):
|
|
49
50
|
suspenders (list[SuspenderType]):
|
|
51
|
+
disk_autoscaling_enabled (bool):
|
|
50
52
|
expires_at (Union[Unset, datetime.datetime]): The time at which the database will be expire. Applies to free
|
|
51
53
|
tier databases only.
|
|
52
54
|
environment_id (Union[Unset, str]):
|
|
53
55
|
maintenance (Union[Unset, MaintenanceRun]):
|
|
54
56
|
disk_size_gb (Union[Unset, int]):
|
|
57
|
+
parameter_overrides (Union[Unset, PostgresParameterOverrides]):
|
|
55
58
|
primary_postgres_id (Union[Unset, str]):
|
|
56
59
|
"""
|
|
57
60
|
|
|
@@ -73,10 +76,12 @@ class PostgresDetail:
|
|
|
73
76
|
version: PostgresVersion
|
|
74
77
|
suspended: PostgresDetailSuspended
|
|
75
78
|
suspenders: list[SuspenderType]
|
|
79
|
+
disk_autoscaling_enabled: bool
|
|
76
80
|
expires_at: Union[Unset, datetime.datetime] = UNSET
|
|
77
81
|
environment_id: Union[Unset, str] = UNSET
|
|
78
82
|
maintenance: Union[Unset, "MaintenanceRun"] = UNSET
|
|
79
83
|
disk_size_gb: Union[Unset, int] = UNSET
|
|
84
|
+
parameter_overrides: Union[Unset, "PostgresParameterOverrides"] = UNSET
|
|
80
85
|
primary_postgres_id: Union[Unset, str] = UNSET
|
|
81
86
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
82
87
|
|
|
@@ -126,6 +131,8 @@ class PostgresDetail:
|
|
|
126
131
|
suspenders_item = suspenders_item_data.value
|
|
127
132
|
suspenders.append(suspenders_item)
|
|
128
133
|
|
|
134
|
+
disk_autoscaling_enabled = self.disk_autoscaling_enabled
|
|
135
|
+
|
|
129
136
|
expires_at: Union[Unset, str] = UNSET
|
|
130
137
|
if not isinstance(self.expires_at, Unset):
|
|
131
138
|
expires_at = self.expires_at.isoformat()
|
|
@@ -138,6 +145,10 @@ class PostgresDetail:
|
|
|
138
145
|
|
|
139
146
|
disk_size_gb = self.disk_size_gb
|
|
140
147
|
|
|
148
|
+
parameter_overrides: Union[Unset, dict[str, Any]] = UNSET
|
|
149
|
+
if not isinstance(self.parameter_overrides, Unset):
|
|
150
|
+
parameter_overrides = self.parameter_overrides.to_dict()
|
|
151
|
+
|
|
141
152
|
primary_postgres_id = self.primary_postgres_id
|
|
142
153
|
|
|
143
154
|
field_dict: dict[str, Any] = {}
|
|
@@ -162,6 +173,7 @@ class PostgresDetail:
|
|
|
162
173
|
"version": version,
|
|
163
174
|
"suspended": suspended,
|
|
164
175
|
"suspenders": suspenders,
|
|
176
|
+
"diskAutoscalingEnabled": disk_autoscaling_enabled,
|
|
165
177
|
}
|
|
166
178
|
)
|
|
167
179
|
if expires_at is not UNSET:
|
|
@@ -172,6 +184,8 @@ class PostgresDetail:
|
|
|
172
184
|
field_dict["maintenance"] = maintenance
|
|
173
185
|
if disk_size_gb is not UNSET:
|
|
174
186
|
field_dict["diskSizeGB"] = disk_size_gb
|
|
187
|
+
if parameter_overrides is not UNSET:
|
|
188
|
+
field_dict["parameterOverrides"] = parameter_overrides
|
|
175
189
|
if primary_postgres_id is not UNSET:
|
|
176
190
|
field_dict["primaryPostgresID"] = primary_postgres_id
|
|
177
191
|
|
|
@@ -182,6 +196,7 @@ class PostgresDetail:
|
|
|
182
196
|
from ..models.cidr_block_and_description import CidrBlockAndDescription
|
|
183
197
|
from ..models.maintenance_run import MaintenanceRun
|
|
184
198
|
from ..models.owner import Owner
|
|
199
|
+
from ..models.postgres_parameter_overrides import PostgresParameterOverrides
|
|
185
200
|
from ..models.read_replica import ReadReplica
|
|
186
201
|
|
|
187
202
|
d = dict(src_dict)
|
|
@@ -236,6 +251,8 @@ class PostgresDetail:
|
|
|
236
251
|
|
|
237
252
|
suspenders.append(suspenders_item)
|
|
238
253
|
|
|
254
|
+
disk_autoscaling_enabled = d.pop("diskAutoscalingEnabled")
|
|
255
|
+
|
|
239
256
|
_expires_at = d.pop("expiresAt", UNSET)
|
|
240
257
|
expires_at: Union[Unset, datetime.datetime]
|
|
241
258
|
if isinstance(_expires_at, Unset):
|
|
@@ -254,6 +271,13 @@ class PostgresDetail:
|
|
|
254
271
|
|
|
255
272
|
disk_size_gb = d.pop("diskSizeGB", UNSET)
|
|
256
273
|
|
|
274
|
+
_parameter_overrides = d.pop("parameterOverrides", UNSET)
|
|
275
|
+
parameter_overrides: Union[Unset, PostgresParameterOverrides]
|
|
276
|
+
if isinstance(_parameter_overrides, Unset):
|
|
277
|
+
parameter_overrides = UNSET
|
|
278
|
+
else:
|
|
279
|
+
parameter_overrides = PostgresParameterOverrides.from_dict(_parameter_overrides)
|
|
280
|
+
|
|
257
281
|
primary_postgres_id = d.pop("primaryPostgresID", UNSET)
|
|
258
282
|
|
|
259
283
|
postgres_detail = cls(
|
|
@@ -275,10 +299,12 @@ class PostgresDetail:
|
|
|
275
299
|
version=version,
|
|
276
300
|
suspended=suspended,
|
|
277
301
|
suspenders=suspenders,
|
|
302
|
+
disk_autoscaling_enabled=disk_autoscaling_enabled,
|
|
278
303
|
expires_at=expires_at,
|
|
279
304
|
environment_id=environment_id,
|
|
280
305
|
maintenance=maintenance,
|
|
281
306
|
disk_size_gb=disk_size_gb,
|
|
307
|
+
parameter_overrides=parameter_overrides,
|
|
282
308
|
primary_postgres_id=primary_postgres_id,
|
|
283
309
|
)
|
|
284
310
|
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
T = TypeVar("T", bound="PostgresParameterOverrides")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@_attrs_define
|
|
11
|
+
class PostgresParameterOverrides:
|
|
12
|
+
""" """
|
|
13
|
+
|
|
14
|
+
additional_properties: dict[str, str] = _attrs_field(init=False, factory=dict)
|
|
15
|
+
|
|
16
|
+
def to_dict(self) -> dict[str, Any]:
|
|
17
|
+
field_dict: dict[str, Any] = {}
|
|
18
|
+
field_dict.update(self.additional_properties)
|
|
19
|
+
|
|
20
|
+
return field_dict
|
|
21
|
+
|
|
22
|
+
@classmethod
|
|
23
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
24
|
+
d = dict(src_dict)
|
|
25
|
+
postgres_parameter_overrides = cls()
|
|
26
|
+
|
|
27
|
+
postgres_parameter_overrides.additional_properties = d
|
|
28
|
+
return postgres_parameter_overrides
|
|
29
|
+
|
|
30
|
+
@property
|
|
31
|
+
def additional_keys(self) -> list[str]:
|
|
32
|
+
return list(self.additional_properties.keys())
|
|
33
|
+
|
|
34
|
+
def __getitem__(self, key: str) -> str:
|
|
35
|
+
return self.additional_properties[key]
|
|
36
|
+
|
|
37
|
+
def __setitem__(self, key: str, value: str) -> None:
|
|
38
|
+
self.additional_properties[key] = value
|
|
39
|
+
|
|
40
|
+
def __delitem__(self, key: str) -> None:
|
|
41
|
+
del self.additional_properties[key]
|
|
42
|
+
|
|
43
|
+
def __contains__(self, key: str) -> bool:
|
|
44
|
+
return key in self.additional_properties
|
|
@@ -9,6 +9,7 @@ from ..types import UNSET, Unset
|
|
|
9
9
|
|
|
10
10
|
if TYPE_CHECKING:
|
|
11
11
|
from ..models.cidr_block_and_description import CidrBlockAndDescription
|
|
12
|
+
from ..models.postgres_parameter_overrides import PostgresParameterOverrides
|
|
12
13
|
from ..models.read_replica_input import ReadReplicaInput
|
|
13
14
|
|
|
14
15
|
|
|
@@ -22,22 +23,26 @@ class PostgresPATCHInput:
|
|
|
22
23
|
name (Union[Unset, str]):
|
|
23
24
|
plan (Union[Unset, PostgresPlans]):
|
|
24
25
|
disk_size_gb (Union[Unset, int]): The number of gigabytes of disk space to allocate for the database
|
|
26
|
+
enable_disk_autoscaling (Union[Unset, bool]):
|
|
25
27
|
enable_high_availability (Union[Unset, bool]):
|
|
26
28
|
datadog_api_key (Union[Unset, str]): The Datadog API key for the Datadog agent to monitor the database. Pass
|
|
27
29
|
empty string to remove. Restarts Postgres on change.
|
|
28
30
|
datadog_site (Union[Unset, str]): Datadog region to use for monitoring the new database. Defaults to 'US1'.
|
|
29
31
|
Example: US1.
|
|
30
32
|
ip_allow_list (Union[Unset, list['CidrBlockAndDescription']]):
|
|
33
|
+
parameter_overrides (Union[Unset, PostgresParameterOverrides]):
|
|
31
34
|
read_replicas (Union[Unset, list['ReadReplicaInput']]):
|
|
32
35
|
"""
|
|
33
36
|
|
|
34
37
|
name: Union[Unset, str] = UNSET
|
|
35
38
|
plan: Union[Unset, PostgresPlans] = UNSET
|
|
36
39
|
disk_size_gb: Union[Unset, int] = UNSET
|
|
40
|
+
enable_disk_autoscaling: Union[Unset, bool] = UNSET
|
|
37
41
|
enable_high_availability: Union[Unset, bool] = UNSET
|
|
38
42
|
datadog_api_key: Union[Unset, str] = UNSET
|
|
39
43
|
datadog_site: Union[Unset, str] = UNSET
|
|
40
44
|
ip_allow_list: Union[Unset, list["CidrBlockAndDescription"]] = UNSET
|
|
45
|
+
parameter_overrides: Union[Unset, "PostgresParameterOverrides"] = UNSET
|
|
41
46
|
read_replicas: Union[Unset, list["ReadReplicaInput"]] = UNSET
|
|
42
47
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
43
48
|
|
|
@@ -50,6 +55,8 @@ class PostgresPATCHInput:
|
|
|
50
55
|
|
|
51
56
|
disk_size_gb = self.disk_size_gb
|
|
52
57
|
|
|
58
|
+
enable_disk_autoscaling = self.enable_disk_autoscaling
|
|
59
|
+
|
|
53
60
|
enable_high_availability = self.enable_high_availability
|
|
54
61
|
|
|
55
62
|
datadog_api_key = self.datadog_api_key
|
|
@@ -63,6 +70,10 @@ class PostgresPATCHInput:
|
|
|
63
70
|
ip_allow_list_item = ip_allow_list_item_data.to_dict()
|
|
64
71
|
ip_allow_list.append(ip_allow_list_item)
|
|
65
72
|
|
|
73
|
+
parameter_overrides: Union[Unset, dict[str, Any]] = UNSET
|
|
74
|
+
if not isinstance(self.parameter_overrides, Unset):
|
|
75
|
+
parameter_overrides = self.parameter_overrides.to_dict()
|
|
76
|
+
|
|
66
77
|
read_replicas: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
67
78
|
if not isinstance(self.read_replicas, Unset):
|
|
68
79
|
read_replicas = []
|
|
@@ -79,6 +90,8 @@ class PostgresPATCHInput:
|
|
|
79
90
|
field_dict["plan"] = plan
|
|
80
91
|
if disk_size_gb is not UNSET:
|
|
81
92
|
field_dict["diskSizeGB"] = disk_size_gb
|
|
93
|
+
if enable_disk_autoscaling is not UNSET:
|
|
94
|
+
field_dict["enableDiskAutoscaling"] = enable_disk_autoscaling
|
|
82
95
|
if enable_high_availability is not UNSET:
|
|
83
96
|
field_dict["enableHighAvailability"] = enable_high_availability
|
|
84
97
|
if datadog_api_key is not UNSET:
|
|
@@ -87,6 +100,8 @@ class PostgresPATCHInput:
|
|
|
87
100
|
field_dict["datadogSite"] = datadog_site
|
|
88
101
|
if ip_allow_list is not UNSET:
|
|
89
102
|
field_dict["ipAllowList"] = ip_allow_list
|
|
103
|
+
if parameter_overrides is not UNSET:
|
|
104
|
+
field_dict["parameterOverrides"] = parameter_overrides
|
|
90
105
|
if read_replicas is not UNSET:
|
|
91
106
|
field_dict["readReplicas"] = read_replicas
|
|
92
107
|
|
|
@@ -95,6 +110,7 @@ class PostgresPATCHInput:
|
|
|
95
110
|
@classmethod
|
|
96
111
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
97
112
|
from ..models.cidr_block_and_description import CidrBlockAndDescription
|
|
113
|
+
from ..models.postgres_parameter_overrides import PostgresParameterOverrides
|
|
98
114
|
from ..models.read_replica_input import ReadReplicaInput
|
|
99
115
|
|
|
100
116
|
d = dict(src_dict)
|
|
@@ -109,6 +125,8 @@ class PostgresPATCHInput:
|
|
|
109
125
|
|
|
110
126
|
disk_size_gb = d.pop("diskSizeGB", UNSET)
|
|
111
127
|
|
|
128
|
+
enable_disk_autoscaling = d.pop("enableDiskAutoscaling", UNSET)
|
|
129
|
+
|
|
112
130
|
enable_high_availability = d.pop("enableHighAvailability", UNSET)
|
|
113
131
|
|
|
114
132
|
datadog_api_key = d.pop("datadogAPIKey", UNSET)
|
|
@@ -122,6 +140,13 @@ class PostgresPATCHInput:
|
|
|
122
140
|
|
|
123
141
|
ip_allow_list.append(ip_allow_list_item)
|
|
124
142
|
|
|
143
|
+
_parameter_overrides = d.pop("parameterOverrides", UNSET)
|
|
144
|
+
parameter_overrides: Union[Unset, PostgresParameterOverrides]
|
|
145
|
+
if isinstance(_parameter_overrides, Unset):
|
|
146
|
+
parameter_overrides = UNSET
|
|
147
|
+
else:
|
|
148
|
+
parameter_overrides = PostgresParameterOverrides.from_dict(_parameter_overrides)
|
|
149
|
+
|
|
125
150
|
read_replicas = []
|
|
126
151
|
_read_replicas = d.pop("readReplicas", UNSET)
|
|
127
152
|
for componentsschemasread_replicas_input_item_data in _read_replicas or []:
|
|
@@ -135,10 +160,12 @@ class PostgresPATCHInput:
|
|
|
135
160
|
name=name,
|
|
136
161
|
plan=plan,
|
|
137
162
|
disk_size_gb=disk_size_gb,
|
|
163
|
+
enable_disk_autoscaling=enable_disk_autoscaling,
|
|
138
164
|
enable_high_availability=enable_high_availability,
|
|
139
165
|
datadog_api_key=datadog_api_key,
|
|
140
166
|
datadog_site=datadog_site,
|
|
141
167
|
ip_allow_list=ip_allow_list,
|
|
168
|
+
parameter_overrides=parameter_overrides,
|
|
142
169
|
read_replicas=read_replicas,
|
|
143
170
|
)
|
|
144
171
|
|
|
@@ -10,6 +10,7 @@ from ..types import UNSET, Unset
|
|
|
10
10
|
|
|
11
11
|
if TYPE_CHECKING:
|
|
12
12
|
from ..models.cidr_block_and_description import CidrBlockAndDescription
|
|
13
|
+
from ..models.postgres_parameter_overrides import PostgresParameterOverrides
|
|
13
14
|
from ..models.read_replica_input import ReadReplicaInput
|
|
14
15
|
|
|
15
16
|
|
|
@@ -33,8 +34,10 @@ class PostgresPOSTInput:
|
|
|
33
34
|
enable_high_availability (Union[Unset, bool]): Default: False.
|
|
34
35
|
environment_id (Union[Unset, str]):
|
|
35
36
|
disk_size_gb (Union[Unset, int]): The number of gigabytes of disk space to allocate for the database
|
|
37
|
+
enable_disk_autoscaling (Union[Unset, bool]): Default: False.
|
|
36
38
|
region (Union[Unset, str]):
|
|
37
39
|
ip_allow_list (Union[Unset, list['CidrBlockAndDescription']]):
|
|
40
|
+
parameter_overrides (Union[Unset, PostgresParameterOverrides]):
|
|
38
41
|
read_replicas (Union[Unset, list['ReadReplicaInput']]):
|
|
39
42
|
"""
|
|
40
43
|
|
|
@@ -49,8 +52,10 @@ class PostgresPOSTInput:
|
|
|
49
52
|
enable_high_availability: Union[Unset, bool] = False
|
|
50
53
|
environment_id: Union[Unset, str] = UNSET
|
|
51
54
|
disk_size_gb: Union[Unset, int] = UNSET
|
|
55
|
+
enable_disk_autoscaling: Union[Unset, bool] = False
|
|
52
56
|
region: Union[Unset, str] = UNSET
|
|
53
57
|
ip_allow_list: Union[Unset, list["CidrBlockAndDescription"]] = UNSET
|
|
58
|
+
parameter_overrides: Union[Unset, "PostgresParameterOverrides"] = UNSET
|
|
54
59
|
read_replicas: Union[Unset, list["ReadReplicaInput"]] = UNSET
|
|
55
60
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
56
61
|
|
|
@@ -77,6 +82,8 @@ class PostgresPOSTInput:
|
|
|
77
82
|
|
|
78
83
|
disk_size_gb = self.disk_size_gb
|
|
79
84
|
|
|
85
|
+
enable_disk_autoscaling = self.enable_disk_autoscaling
|
|
86
|
+
|
|
80
87
|
region = self.region
|
|
81
88
|
|
|
82
89
|
ip_allow_list: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
@@ -86,6 +93,10 @@ class PostgresPOSTInput:
|
|
|
86
93
|
ip_allow_list_item = ip_allow_list_item_data.to_dict()
|
|
87
94
|
ip_allow_list.append(ip_allow_list_item)
|
|
88
95
|
|
|
96
|
+
parameter_overrides: Union[Unset, dict[str, Any]] = UNSET
|
|
97
|
+
if not isinstance(self.parameter_overrides, Unset):
|
|
98
|
+
parameter_overrides = self.parameter_overrides.to_dict()
|
|
99
|
+
|
|
89
100
|
read_replicas: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
90
101
|
if not isinstance(self.read_replicas, Unset):
|
|
91
102
|
read_replicas = []
|
|
@@ -117,10 +128,14 @@ class PostgresPOSTInput:
|
|
|
117
128
|
field_dict["environmentId"] = environment_id
|
|
118
129
|
if disk_size_gb is not UNSET:
|
|
119
130
|
field_dict["diskSizeGB"] = disk_size_gb
|
|
131
|
+
if enable_disk_autoscaling is not UNSET:
|
|
132
|
+
field_dict["enableDiskAutoscaling"] = enable_disk_autoscaling
|
|
120
133
|
if region is not UNSET:
|
|
121
134
|
field_dict["region"] = region
|
|
122
135
|
if ip_allow_list is not UNSET:
|
|
123
136
|
field_dict["ipAllowList"] = ip_allow_list
|
|
137
|
+
if parameter_overrides is not UNSET:
|
|
138
|
+
field_dict["parameterOverrides"] = parameter_overrides
|
|
124
139
|
if read_replicas is not UNSET:
|
|
125
140
|
field_dict["readReplicas"] = read_replicas
|
|
126
141
|
|
|
@@ -129,6 +144,7 @@ class PostgresPOSTInput:
|
|
|
129
144
|
@classmethod
|
|
130
145
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
131
146
|
from ..models.cidr_block_and_description import CidrBlockAndDescription
|
|
147
|
+
from ..models.postgres_parameter_overrides import PostgresParameterOverrides
|
|
132
148
|
from ..models.read_replica_input import ReadReplicaInput
|
|
133
149
|
|
|
134
150
|
d = dict(src_dict)
|
|
@@ -154,6 +170,8 @@ class PostgresPOSTInput:
|
|
|
154
170
|
|
|
155
171
|
disk_size_gb = d.pop("diskSizeGB", UNSET)
|
|
156
172
|
|
|
173
|
+
enable_disk_autoscaling = d.pop("enableDiskAutoscaling", UNSET)
|
|
174
|
+
|
|
157
175
|
region = d.pop("region", UNSET)
|
|
158
176
|
|
|
159
177
|
ip_allow_list = []
|
|
@@ -163,6 +181,13 @@ class PostgresPOSTInput:
|
|
|
163
181
|
|
|
164
182
|
ip_allow_list.append(ip_allow_list_item)
|
|
165
183
|
|
|
184
|
+
_parameter_overrides = d.pop("parameterOverrides", UNSET)
|
|
185
|
+
parameter_overrides: Union[Unset, PostgresParameterOverrides]
|
|
186
|
+
if isinstance(_parameter_overrides, Unset):
|
|
187
|
+
parameter_overrides = UNSET
|
|
188
|
+
else:
|
|
189
|
+
parameter_overrides = PostgresParameterOverrides.from_dict(_parameter_overrides)
|
|
190
|
+
|
|
166
191
|
read_replicas = []
|
|
167
192
|
_read_replicas = d.pop("readReplicas", UNSET)
|
|
168
193
|
for componentsschemasread_replicas_input_item_data in _read_replicas or []:
|
|
@@ -184,8 +209,10 @@ class PostgresPOSTInput:
|
|
|
184
209
|
enable_high_availability=enable_high_availability,
|
|
185
210
|
environment_id=environment_id,
|
|
186
211
|
disk_size_gb=disk_size_gb,
|
|
212
|
+
enable_disk_autoscaling=enable_disk_autoscaling,
|
|
187
213
|
region=region,
|
|
188
214
|
ip_allow_list=ip_allow_list,
|
|
215
|
+
parameter_overrides=parameter_overrides,
|
|
189
216
|
read_replicas=read_replicas,
|
|
190
217
|
)
|
|
191
218
|
|
|
@@ -21,8 +21,8 @@ class PreviewInput:
|
|
|
21
21
|
SHA can vary). Example: docker.io/library/nginx:latest.
|
|
22
22
|
name (Union[Unset, str]): A name for the service preview instance. If not specified, Render generates the name
|
|
23
23
|
using the base service's name and the specified tag or SHA. Example: preview.
|
|
24
|
-
plan (Union[Unset, Plan]): The instance type to use
|
|
25
|
-
|
|
24
|
+
plan (Union[Unset, Plan]): The instance type to use. Note that base services on any paid instance type can't
|
|
25
|
+
create preview instances with the `free` instance type. Example: starter.
|
|
26
26
|
"""
|
|
27
27
|
|
|
28
28
|
image_path: str
|
|
@@ -34,8 +34,8 @@ class PrivateServiceDetails:
|
|
|
34
34
|
num_instances (int): For a *manually* scaled service, this is the number of instances the service is scaled to.
|
|
35
35
|
DOES NOT indicate the number of running instances for an *autoscaled* service.
|
|
36
36
|
open_ports (list['ServerPort']):
|
|
37
|
-
plan (Plan): The instance type to use
|
|
38
|
-
|
|
37
|
+
plan (Plan): The instance type to use. Note that base services on any paid instance type can't create preview
|
|
38
|
+
instances with the `free` instance type. Example: starter.
|
|
39
39
|
region (Region): Defaults to "oregon"
|
|
40
40
|
runtime (ServiceRuntime): Runtime
|
|
41
41
|
url (str):
|
|
@@ -23,7 +23,7 @@ class PrivateServiceDetailsPATCH:
|
|
|
23
23
|
"""
|
|
24
24
|
Attributes:
|
|
25
25
|
env_specific_details (Union['DockerDetailsPATCH', 'NativeEnvironmentDetailsPATCH', Unset]):
|
|
26
|
-
plan (Union[Unset, PaidPlan]): Defaults to
|
|
26
|
+
plan (Union[Unset, PaidPlan]): Defaults to `starter` when creating a new database.
|
|
27
27
|
pre_deploy_command (Union[Unset, str]):
|
|
28
28
|
pull_request_previews_enabled (Union[Unset, PullRequestPreviewsEnabled]): This field has been deprecated.
|
|
29
29
|
previews.generation should be used in its place.
|
|
@@ -32,7 +32,7 @@ class PrivateServiceDetailsPOST:
|
|
|
32
32
|
env (Union[Unset, ServiceEnv]): This field has been deprecated, runtime should be used in its place.
|
|
33
33
|
env_specific_details (Union['DockerDetailsPOST', 'NativeEnvironmentDetailsPOST', Unset]):
|
|
34
34
|
num_instances (Union[Unset, int]): Defaults to 1 Default: 1.
|
|
35
|
-
plan (Union[Unset, PaidPlan]): Defaults to
|
|
35
|
+
plan (Union[Unset, PaidPlan]): Defaults to `starter` when creating a new database.
|
|
36
36
|
pre_deploy_command (Union[Unset, str]):
|
|
37
37
|
pull_request_previews_enabled (Union[Unset, PullRequestPreviewsEnabled]): This field has been deprecated.
|
|
38
38
|
previews.generation should be used in its place.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from collections.abc import Mapping
|
|
2
|
-
from typing import Any, TypeVar, Union
|
|
2
|
+
from typing import TYPE_CHECKING, Any, TypeVar, Union
|
|
3
3
|
|
|
4
4
|
from attrs import define as _attrs_define
|
|
5
5
|
from attrs import field as _attrs_field
|
|
@@ -7,6 +7,10 @@ from attrs import field as _attrs_field
|
|
|
7
7
|
from ..models.protected_status import ProtectedStatus
|
|
8
8
|
from ..types import UNSET, Unset
|
|
9
9
|
|
|
10
|
+
if TYPE_CHECKING:
|
|
11
|
+
from ..models.cidr_block_and_description import CidrBlockAndDescription
|
|
12
|
+
|
|
13
|
+
|
|
10
14
|
T = TypeVar("T", bound="ProjectPOSTEnvironmentInput")
|
|
11
15
|
|
|
12
16
|
|
|
@@ -19,11 +23,13 @@ class ProjectPOSTEnvironmentInput:
|
|
|
19
23
|
`protected`. Only admin users can perform destructive actions in `protected` environments.
|
|
20
24
|
network_isolation_enabled (Union[Unset, bool]): Indicates whether network connections across environments are
|
|
21
25
|
allowed.
|
|
26
|
+
ip_allow_list (Union[Unset, list['CidrBlockAndDescription']]):
|
|
22
27
|
"""
|
|
23
28
|
|
|
24
29
|
name: str
|
|
25
30
|
protected_status: Union[Unset, ProtectedStatus] = UNSET
|
|
26
31
|
network_isolation_enabled: Union[Unset, bool] = UNSET
|
|
32
|
+
ip_allow_list: Union[Unset, list["CidrBlockAndDescription"]] = UNSET
|
|
27
33
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
28
34
|
|
|
29
35
|
def to_dict(self) -> dict[str, Any]:
|
|
@@ -35,6 +41,13 @@ class ProjectPOSTEnvironmentInput:
|
|
|
35
41
|
|
|
36
42
|
network_isolation_enabled = self.network_isolation_enabled
|
|
37
43
|
|
|
44
|
+
ip_allow_list: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
45
|
+
if not isinstance(self.ip_allow_list, Unset):
|
|
46
|
+
ip_allow_list = []
|
|
47
|
+
for ip_allow_list_item_data in self.ip_allow_list:
|
|
48
|
+
ip_allow_list_item = ip_allow_list_item_data.to_dict()
|
|
49
|
+
ip_allow_list.append(ip_allow_list_item)
|
|
50
|
+
|
|
38
51
|
field_dict: dict[str, Any] = {}
|
|
39
52
|
field_dict.update(self.additional_properties)
|
|
40
53
|
field_dict.update(
|
|
@@ -46,11 +59,15 @@ class ProjectPOSTEnvironmentInput:
|
|
|
46
59
|
field_dict["protectedStatus"] = protected_status
|
|
47
60
|
if network_isolation_enabled is not UNSET:
|
|
48
61
|
field_dict["networkIsolationEnabled"] = network_isolation_enabled
|
|
62
|
+
if ip_allow_list is not UNSET:
|
|
63
|
+
field_dict["ipAllowList"] = ip_allow_list
|
|
49
64
|
|
|
50
65
|
return field_dict
|
|
51
66
|
|
|
52
67
|
@classmethod
|
|
53
68
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
69
|
+
from ..models.cidr_block_and_description import CidrBlockAndDescription
|
|
70
|
+
|
|
54
71
|
d = dict(src_dict)
|
|
55
72
|
name = d.pop("name")
|
|
56
73
|
|
|
@@ -63,10 +80,18 @@ class ProjectPOSTEnvironmentInput:
|
|
|
63
80
|
|
|
64
81
|
network_isolation_enabled = d.pop("networkIsolationEnabled", UNSET)
|
|
65
82
|
|
|
83
|
+
ip_allow_list = []
|
|
84
|
+
_ip_allow_list = d.pop("ipAllowList", UNSET)
|
|
85
|
+
for ip_allow_list_item_data in _ip_allow_list or []:
|
|
86
|
+
ip_allow_list_item = CidrBlockAndDescription.from_dict(ip_allow_list_item_data)
|
|
87
|
+
|
|
88
|
+
ip_allow_list.append(ip_allow_list_item)
|
|
89
|
+
|
|
66
90
|
project_post_environment_input = cls(
|
|
67
91
|
name=name,
|
|
68
92
|
protected_status=protected_status,
|
|
69
93
|
network_isolation_enabled=network_isolation_enabled,
|
|
94
|
+
ip_allow_list=ip_allow_list,
|
|
70
95
|
)
|
|
71
96
|
|
|
72
97
|
project_post_environment_input.additional_properties = d
|