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.
Files changed (150) hide show
  1. render_sdk/__init__.py +41 -4
  2. render_sdk/client/__init__.py +25 -0
  3. render_sdk/client/client.py +5 -0
  4. render_sdk/client/sse.py +5 -1
  5. render_sdk/client/tests/test_client.py +6 -4
  6. render_sdk/client/tests/test_sse.py +1 -0
  7. render_sdk/client/workflows.py +10 -2
  8. render_sdk/experimental/__init__.py +31 -0
  9. render_sdk/experimental/experimental.py +71 -0
  10. render_sdk/experimental/object/__init__.py +30 -0
  11. render_sdk/experimental/object/api.py +260 -0
  12. render_sdk/experimental/object/client.py +475 -0
  13. render_sdk/experimental/object/types.py +87 -0
  14. render_sdk/public_api/api/audit_logs/list_organization_audit_logs.py +303 -0
  15. render_sdk/public_api/api/audit_logs/list_owner_audit_logs.py +303 -0
  16. render_sdk/public_api/api/blob_storage/delete_blob.py +215 -0
  17. render_sdk/public_api/api/blob_storage/get_blob.py +221 -0
  18. render_sdk/public_api/api/{workflows/list_workflow_versions.py → blob_storage/list_blobs.py} +52 -30
  19. render_sdk/public_api/api/blob_storage/put_blob.py +248 -0
  20. render_sdk/public_api/api/blueprints/validate_blueprint.py +212 -0
  21. render_sdk/public_api/api/key_value/resume_key_value.py +203 -0
  22. render_sdk/public_api/api/key_value/suspend_key_value.py +203 -0
  23. render_sdk/public_api/api/metrics/get_bandwidth_sources.py +251 -0
  24. render_sdk/public_api/api/postgres/create_postgres_user.py +229 -0
  25. render_sdk/public_api/api/postgres/delete_postgres_user.py +201 -0
  26. render_sdk/public_api/api/postgres/list_postgres_users.py +195 -0
  27. render_sdk/public_api/api/redis_deprecated/__init__.py +1 -0
  28. render_sdk/public_api/api/{redis → redis_deprecated}/create_redis.py +4 -4
  29. render_sdk/public_api/api/{redis → redis_deprecated}/delete_redis.py +4 -4
  30. render_sdk/public_api/api/{redis → redis_deprecated}/list_redis.py +4 -0
  31. render_sdk/public_api/api/{redis → redis_deprecated}/retrieve_redis.py +4 -4
  32. render_sdk/public_api/api/{redis → redis_deprecated}/retrieve_redis_connection_info.py +4 -0
  33. render_sdk/public_api/api/{redis → redis_deprecated}/update_redis.py +4 -4
  34. render_sdk/public_api/api/services/create_service.py +4 -4
  35. render_sdk/public_api/api/workflow_tasks_ea/__init__.py +1 -0
  36. render_sdk/public_api/api/{workflows → workflow_tasks_ea}/cancel_task_run.py +12 -4
  37. render_sdk/public_api/api/{workflows → workflow_tasks_ea}/create_task.py +12 -4
  38. render_sdk/public_api/api/{workflows → workflow_tasks_ea}/get_task.py +12 -4
  39. render_sdk/public_api/api/{workflows → workflow_tasks_ea}/get_task_run.py +12 -4
  40. render_sdk/public_api/api/{workflows → workflow_tasks_ea}/list_task_runs.py +12 -0
  41. render_sdk/public_api/api/{workflows → workflow_tasks_ea}/list_tasks.py +24 -12
  42. render_sdk/public_api/api/workflows_ea/__init__.py +1 -0
  43. render_sdk/public_api/api/workflows_ea/create_workflow.py +199 -0
  44. render_sdk/public_api/api/{workflows/deploy_workflow.py → workflows_ea/create_workflow_version.py} +31 -14
  45. render_sdk/public_api/api/{workflows → workflows_ea}/delete_workflow.py +12 -4
  46. render_sdk/public_api/api/{workflows → workflows_ea}/get_workflow.py +32 -14
  47. render_sdk/public_api/api/{workflows → workflows_ea}/get_workflow_version.py +12 -4
  48. render_sdk/public_api/api/workflows_ea/list_workflow_versions.py +275 -0
  49. render_sdk/public_api/api/{workflows → workflows_ea}/list_workflows.py +41 -14
  50. render_sdk/public_api/api/workflows_ea/update_workflow.py +212 -0
  51. render_sdk/public_api/api/workspaces/remove_workspace_member.py +206 -0
  52. render_sdk/public_api/api/workspaces/update_workspace_member.py +235 -0
  53. render_sdk/public_api/models/__init__.py +82 -4
  54. render_sdk/public_api/models/audit_log.py +113 -0
  55. render_sdk/public_api/models/audit_log_actor.py +80 -0
  56. render_sdk/public_api/models/audit_log_actor_type.py +10 -0
  57. render_sdk/public_api/models/audit_log_event.py +80 -0
  58. render_sdk/public_api/models/audit_log_metadata.py +49 -0
  59. render_sdk/public_api/models/audit_log_status.py +9 -0
  60. render_sdk/public_api/models/audit_log_with_cursor.py +73 -0
  61. render_sdk/public_api/models/background_worker_details.py +2 -2
  62. render_sdk/public_api/models/background_worker_details_patch.py +1 -1
  63. render_sdk/public_api/models/background_worker_details_post.py +1 -1
  64. render_sdk/public_api/models/blob_metadata.py +85 -0
  65. render_sdk/public_api/models/blob_with_cursor.py +73 -0
  66. render_sdk/public_api/models/cache.py +6 -4
  67. render_sdk/public_api/models/cache_profile.py +10 -0
  68. render_sdk/public_api/models/create_deploy_body.py +23 -0
  69. render_sdk/public_api/models/create_version.py +70 -0
  70. render_sdk/public_api/models/credential_create_input.py +59 -0
  71. render_sdk/public_api/models/cron_job_details.py +2 -2
  72. render_sdk/public_api/models/cron_job_details_patch.py +1 -1
  73. render_sdk/public_api/models/cron_job_details_post.py +1 -1
  74. render_sdk/public_api/models/deploy_mode.py +9 -0
  75. render_sdk/public_api/models/event.py +11 -27
  76. render_sdk/public_api/models/event_type.py +1 -1
  77. render_sdk/public_api/models/get_bandwidth_sources_response_200.py +75 -0
  78. render_sdk/public_api/models/get_bandwidth_sources_response_200_data_item.py +101 -0
  79. render_sdk/public_api/models/get_bandwidth_sources_response_200_data_item_labels.py +78 -0
  80. render_sdk/public_api/models/get_bandwidth_sources_response_200_data_item_labels_traffic_source.py +12 -0
  81. render_sdk/public_api/models/get_bandwidth_sources_response_200_data_item_values_item.py +68 -0
  82. render_sdk/public_api/models/{server_unhealthy.py → get_bandwidth_sources_response_400.py} +12 -12
  83. render_sdk/public_api/models/get_blob_output.py +71 -0
  84. render_sdk/public_api/models/list_postgres_users_response_200_item.py +86 -0
  85. render_sdk/public_api/models/otel_provider_type.py +2 -0
  86. render_sdk/public_api/models/postgres.py +8 -0
  87. render_sdk/public_api/models/postgres_detail.py +26 -0
  88. render_sdk/public_api/models/postgres_parameter_overrides.py +44 -0
  89. render_sdk/public_api/models/postgres_patch_input.py +27 -0
  90. render_sdk/public_api/models/postgres_post_input.py +27 -0
  91. render_sdk/public_api/models/postgres_version.py +1 -0
  92. render_sdk/public_api/models/preview_input.py +2 -2
  93. render_sdk/public_api/models/private_service_details.py +2 -2
  94. render_sdk/public_api/models/private_service_details_patch.py +1 -1
  95. render_sdk/public_api/models/private_service_details_post.py +1 -1
  96. render_sdk/public_api/models/project_post_environment_input.py +26 -1
  97. render_sdk/public_api/models/put_blob_input.py +59 -0
  98. render_sdk/public_api/models/put_blob_output.py +79 -0
  99. render_sdk/public_api/models/read_replica.py +25 -1
  100. render_sdk/public_api/models/read_replica_input.py +25 -1
  101. render_sdk/public_api/models/run_task.py +35 -7
  102. render_sdk/public_api/models/service_event.py +12 -27
  103. render_sdk/public_api/models/service_event_type.py +0 -1
  104. render_sdk/public_api/models/service_post.py +9 -6
  105. render_sdk/public_api/models/task_attempt.py +88 -0
  106. render_sdk/public_api/models/task_attempt_details.py +108 -0
  107. render_sdk/public_api/models/task_data_type_1.py +44 -0
  108. render_sdk/public_api/models/task_run.py +23 -1
  109. render_sdk/public_api/models/task_run_details.py +50 -5
  110. render_sdk/public_api/models/task_run_status.py +1 -0
  111. render_sdk/public_api/models/task_with_cursor.py +73 -0
  112. render_sdk/public_api/models/team_member.py +5 -4
  113. render_sdk/public_api/models/team_member_role.py +12 -0
  114. render_sdk/public_api/models/update_workspace_member_body.py +61 -0
  115. render_sdk/public_api/models/validate_blueprint_request.py +84 -0
  116. render_sdk/public_api/models/validate_blueprint_response.py +105 -0
  117. render_sdk/public_api/models/validation_error.py +88 -0
  118. render_sdk/public_api/models/validation_plan_summary.py +107 -0
  119. render_sdk/public_api/models/web_service_details.py +2 -2
  120. render_sdk/public_api/models/web_service_details_patch.py +6 -5
  121. render_sdk/public_api/models/web_service_details_post.py +6 -5
  122. render_sdk/public_api/models/workflow.py +144 -0
  123. render_sdk/public_api/models/workflow_create.py +99 -0
  124. render_sdk/public_api/models/workflow_update.py +90 -0
  125. render_sdk/public_api/models/workflow_version.py +10 -14
  126. render_sdk/public_api/models/workflow_version_status.py +13 -0
  127. render_sdk/public_api/models/workflow_version_with_cursor.py +73 -0
  128. render_sdk/public_api/models/workflow_with_cursor.py +73 -0
  129. render_sdk/render.py +65 -0
  130. render_sdk/version.py +27 -0
  131. render_sdk/workflows/__init__.py +5 -1
  132. render_sdk/workflows/app.py +262 -0
  133. render_sdk/workflows/callback_api/models/task_options.py +18 -0
  134. render_sdk/workflows/cli.py +58 -0
  135. render_sdk/workflows/client.py +2 -7
  136. render_sdk/workflows/runner.py +12 -7
  137. render_sdk/workflows/task.py +11 -2
  138. render_sdk/workflows/tests/test_app.py +412 -0
  139. render_sdk/workflows/tests/test_cli.py +134 -0
  140. render_sdk/workflows/tests/test_end_to_end.py +69 -1
  141. render_sdk/workflows/tests/test_registration.py +56 -1
  142. {render_sdk-0.1.3.dist-info → render_sdk-0.2.0.dist-info}/METADATA +1 -1
  143. {render_sdk-0.1.3.dist-info → render_sdk-0.2.0.dist-info}/RECORD +149 -78
  144. render_sdk-0.2.0.dist-info/entry_points.txt +3 -0
  145. render_sdk/public_api/models/image_version.py +0 -79
  146. /render_sdk/public_api/api/{redis → audit_logs}/__init__.py +0 -0
  147. /render_sdk/public_api/api/{workflows → blob_storage}/__init__.py +0 -0
  148. /render_sdk/public_api/api/{workflows → workflow_tasks_ea}/stream_task_runs_events.py +0 -0
  149. {render_sdk-0.1.3.dist-info → render_sdk-0.2.0.dist-info}/WHEEL +0 -0
  150. {render_sdk-0.1.3.dist-info → render_sdk-0.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,73 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ if TYPE_CHECKING:
8
+ from ..models.audit_log import AuditLog
9
+
10
+
11
+ T = TypeVar("T", bound="AuditLogWithCursor")
12
+
13
+
14
+ @_attrs_define
15
+ class AuditLogWithCursor:
16
+ """
17
+ Attributes:
18
+ cursor (str):
19
+ audit_log (AuditLog):
20
+ """
21
+
22
+ cursor: str
23
+ audit_log: "AuditLog"
24
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+
26
+ def to_dict(self) -> dict[str, Any]:
27
+ cursor = self.cursor
28
+
29
+ audit_log = self.audit_log.to_dict()
30
+
31
+ field_dict: dict[str, Any] = {}
32
+ field_dict.update(self.additional_properties)
33
+ field_dict.update(
34
+ {
35
+ "cursor": cursor,
36
+ "auditLog": audit_log,
37
+ }
38
+ )
39
+
40
+ return field_dict
41
+
42
+ @classmethod
43
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
44
+ from ..models.audit_log import AuditLog
45
+
46
+ d = dict(src_dict)
47
+ cursor = d.pop("cursor")
48
+
49
+ audit_log = AuditLog.from_dict(d.pop("auditLog"))
50
+
51
+ audit_log_with_cursor = cls(
52
+ cursor=cursor,
53
+ audit_log=audit_log,
54
+ )
55
+
56
+ audit_log_with_cursor.additional_properties = d
57
+ return audit_log_with_cursor
58
+
59
+ @property
60
+ def additional_keys(self) -> list[str]:
61
+ return list(self.additional_properties.keys())
62
+
63
+ def __getitem__(self, key: str) -> Any:
64
+ return self.additional_properties[key]
65
+
66
+ def __setitem__(self, key: str, value: Any) -> None:
67
+ self.additional_properties[key] = value
68
+
69
+ def __delitem__(self, key: str) -> None:
70
+ del self.additional_properties[key]
71
+
72
+ def __contains__(self, key: str) -> bool:
73
+ return key in self.additional_properties
@@ -32,8 +32,8 @@ class BackgroundWorkerDetails:
32
32
  env_specific_details (Union['DockerDetails', 'NativeEnvironmentDetails']):
33
33
  num_instances (int): For a *manually* scaled service, this is the number of instances the service is scaled to.
34
34
  DOES NOT indicate the number of running instances for an *autoscaled* service.
35
- plan (Plan): The instance type to use for the preview instance. Note that base services with any paid instance
36
- type can't create preview instances with the `free` instance type. Example: starter.
35
+ plan (Plan): The instance type to use. Note that base services on any paid instance type can't create preview
36
+ instances with the `free` instance type. Example: starter.
37
37
  region (Region): Defaults to "oregon"
38
38
  runtime (ServiceRuntime): Runtime
39
39
  build_plan (BuildPlan):
@@ -23,7 +23,7 @@ class BackgroundWorkerDetailsPATCH:
23
23
  """
24
24
  Attributes:
25
25
  env_specific_details (Union['DockerDetailsPATCH', 'NativeEnvironmentDetailsPATCH', Unset]):
26
- plan (Union[Unset, PaidPlan]): Defaults to "starter"
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 BackgroundWorkerDetailsPOST:
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 "starter"
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.
@@ -0,0 +1,85 @@
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="BlobMetadata")
10
+
11
+
12
+ @_attrs_define
13
+ class BlobMetadata:
14
+ """
15
+ Attributes:
16
+ key (str): The blob's object key Example: workflow-data/task-output.json.
17
+ size_bytes (int): Size of the blob in bytes Example: 1048576.
18
+ last_modified (datetime.datetime): When the blob was last modified (ISO 8601) Example: 2026-01-15T12:30:00Z.
19
+ content_type (str): MIME type of the blob Example: application/json.
20
+ """
21
+
22
+ key: str
23
+ size_bytes: int
24
+ last_modified: datetime.datetime
25
+ content_type: str
26
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
+
28
+ def to_dict(self) -> dict[str, Any]:
29
+ key = self.key
30
+
31
+ size_bytes = self.size_bytes
32
+
33
+ last_modified = self.last_modified.isoformat()
34
+
35
+ content_type = self.content_type
36
+
37
+ field_dict: dict[str, Any] = {}
38
+ field_dict.update(self.additional_properties)
39
+ field_dict.update(
40
+ {
41
+ "key": key,
42
+ "sizeBytes": size_bytes,
43
+ "lastModified": last_modified,
44
+ "contentType": content_type,
45
+ }
46
+ )
47
+
48
+ return field_dict
49
+
50
+ @classmethod
51
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
52
+ d = dict(src_dict)
53
+ key = d.pop("key")
54
+
55
+ size_bytes = d.pop("sizeBytes")
56
+
57
+ last_modified = isoparse(d.pop("lastModified"))
58
+
59
+ content_type = d.pop("contentType")
60
+
61
+ blob_metadata = cls(
62
+ key=key,
63
+ size_bytes=size_bytes,
64
+ last_modified=last_modified,
65
+ content_type=content_type,
66
+ )
67
+
68
+ blob_metadata.additional_properties = d
69
+ return blob_metadata
70
+
71
+ @property
72
+ def additional_keys(self) -> list[str]:
73
+ return list(self.additional_properties.keys())
74
+
75
+ def __getitem__(self, key: str) -> Any:
76
+ return self.additional_properties[key]
77
+
78
+ def __setitem__(self, key: str, value: Any) -> None:
79
+ self.additional_properties[key] = value
80
+
81
+ def __delitem__(self, key: str) -> None:
82
+ del self.additional_properties[key]
83
+
84
+ def __contains__(self, key: str) -> bool:
85
+ return key in self.additional_properties
@@ -0,0 +1,73 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ if TYPE_CHECKING:
8
+ from ..models.blob_metadata import BlobMetadata
9
+
10
+
11
+ T = TypeVar("T", bound="BlobWithCursor")
12
+
13
+
14
+ @_attrs_define
15
+ class BlobWithCursor:
16
+ """
17
+ Attributes:
18
+ cursor (str):
19
+ blob (BlobMetadata):
20
+ """
21
+
22
+ cursor: str
23
+ blob: "BlobMetadata"
24
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+
26
+ def to_dict(self) -> dict[str, Any]:
27
+ cursor = self.cursor
28
+
29
+ blob = self.blob.to_dict()
30
+
31
+ field_dict: dict[str, Any] = {}
32
+ field_dict.update(self.additional_properties)
33
+ field_dict.update(
34
+ {
35
+ "cursor": cursor,
36
+ "blob": blob,
37
+ }
38
+ )
39
+
40
+ return field_dict
41
+
42
+ @classmethod
43
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
44
+ from ..models.blob_metadata import BlobMetadata
45
+
46
+ d = dict(src_dict)
47
+ cursor = d.pop("cursor")
48
+
49
+ blob = BlobMetadata.from_dict(d.pop("blob"))
50
+
51
+ blob_with_cursor = cls(
52
+ cursor=cursor,
53
+ blob=blob,
54
+ )
55
+
56
+ blob_with_cursor.additional_properties = d
57
+ return blob_with_cursor
58
+
59
+ @property
60
+ def additional_keys(self) -> list[str]:
61
+ return list(self.additional_properties.keys())
62
+
63
+ def __getitem__(self, key: str) -> Any:
64
+ return self.additional_properties[key]
65
+
66
+ def __setitem__(self, key: str, value: Any) -> None:
67
+ self.additional_properties[key] = value
68
+
69
+ def __delitem__(self, key: str) -> None:
70
+ del self.additional_properties[key]
71
+
72
+ def __contains__(self, key: str) -> bool:
73
+ return key in self.additional_properties
@@ -4,6 +4,8 @@ from typing import Any, TypeVar
4
4
  from attrs import define as _attrs_define
5
5
  from attrs import field as _attrs_field
6
6
 
7
+ from ..models.cache_profile import CacheProfile
8
+
7
9
  T = TypeVar("T", bound="Cache")
8
10
 
9
11
 
@@ -11,14 +13,14 @@ T = TypeVar("T", bound="Cache")
11
13
  class Cache:
12
14
  """
13
15
  Attributes:
14
- profile (str):
16
+ profile (CacheProfile): Default: CacheProfile.NO_CACHE.
15
17
  """
16
18
 
17
- profile: str
19
+ profile: CacheProfile = CacheProfile.NO_CACHE
18
20
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
19
21
 
20
22
  def to_dict(self) -> dict[str, Any]:
21
- profile = self.profile
23
+ profile = self.profile.value
22
24
 
23
25
  field_dict: dict[str, Any] = {}
24
26
  field_dict.update(self.additional_properties)
@@ -33,7 +35,7 @@ class Cache:
33
35
  @classmethod
34
36
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
35
37
  d = dict(src_dict)
36
- profile = d.pop("profile")
38
+ profile = CacheProfile(d.pop("profile"))
37
39
 
38
40
  cache = cls(
39
41
  profile=profile,
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class CacheProfile(str, Enum):
5
+ NO_CACHE = "no-cache"
6
+ ORIGIN_CONTROLLED = "origin-controlled"
7
+ ORIGIN_CONTROLLED_ALL = "origin-controlled-all"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -5,6 +5,7 @@ from attrs import define as _attrs_define
5
5
  from attrs import field as _attrs_field
6
6
 
7
7
  from ..models.create_deploy_body_clear_cache import CreateDeployBodyClearCache
8
+ from ..models.deploy_mode import DeployMode
8
9
  from ..types import UNSET, Unset
9
10
 
10
11
  T = TypeVar("T", bound="CreateDeployBody")
@@ -29,11 +30,19 @@ class CreateDeployBody:
29
30
  image_url (Union[Unset, str]): The URL of the image to deploy for an image-backed service.
30
31
 
31
32
  The host, repository, and image name all must match the currently configured image for the service.
33
+ deploy_mode (Union[Unset, DeployMode]): Controls deployment behavior when triggering a deploy.
34
+
35
+ - `deploy_only`: Deploy the last successful build without rebuilding (minimizes downtime)
36
+ - `build_and_deploy`: Build new code and deploy it (default behavior when not specified)
37
+
38
+ **Note:** `deploy_only` cannot be combined with `commitId`, `imageUrl` or `clearCache` parameters,
39
+ as those are build related fields.
32
40
  """
33
41
 
34
42
  clear_cache: Union[Unset, CreateDeployBodyClearCache] = CreateDeployBodyClearCache.DO_NOT_CLEAR
35
43
  commit_id: Union[Unset, str] = UNSET
36
44
  image_url: Union[Unset, str] = UNSET
45
+ deploy_mode: Union[Unset, DeployMode] = UNSET
37
46
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
38
47
 
39
48
  def to_dict(self) -> dict[str, Any]:
@@ -45,6 +54,10 @@ class CreateDeployBody:
45
54
 
46
55
  image_url = self.image_url
47
56
 
57
+ deploy_mode: Union[Unset, str] = UNSET
58
+ if not isinstance(self.deploy_mode, Unset):
59
+ deploy_mode = self.deploy_mode.value
60
+
48
61
  field_dict: dict[str, Any] = {}
49
62
  field_dict.update(self.additional_properties)
50
63
  field_dict.update({})
@@ -54,6 +67,8 @@ class CreateDeployBody:
54
67
  field_dict["commitId"] = commit_id
55
68
  if image_url is not UNSET:
56
69
  field_dict["imageUrl"] = image_url
70
+ if deploy_mode is not UNSET:
71
+ field_dict["deployMode"] = deploy_mode
57
72
 
58
73
  return field_dict
59
74
 
@@ -71,10 +86,18 @@ class CreateDeployBody:
71
86
 
72
87
  image_url = d.pop("imageUrl", UNSET)
73
88
 
89
+ _deploy_mode = d.pop("deployMode", UNSET)
90
+ deploy_mode: Union[Unset, DeployMode]
91
+ if isinstance(_deploy_mode, Unset):
92
+ deploy_mode = UNSET
93
+ else:
94
+ deploy_mode = DeployMode(_deploy_mode)
95
+
74
96
  create_deploy_body = cls(
75
97
  clear_cache=clear_cache,
76
98
  commit_id=commit_id,
77
99
  image_url=image_url,
100
+ deploy_mode=deploy_mode,
78
101
  )
79
102
 
80
103
  create_deploy_body.additional_properties = d
@@ -0,0 +1,70 @@
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="CreateVersion")
10
+
11
+
12
+ @_attrs_define
13
+ class CreateVersion:
14
+ """
15
+ Attributes:
16
+ workflow_id (str):
17
+ commit (Union[Unset, str]):
18
+ """
19
+
20
+ workflow_id: str
21
+ commit: Union[Unset, str] = UNSET
22
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
23
+
24
+ def to_dict(self) -> dict[str, Any]:
25
+ workflow_id = self.workflow_id
26
+
27
+ commit = self.commit
28
+
29
+ field_dict: dict[str, Any] = {}
30
+ field_dict.update(self.additional_properties)
31
+ field_dict.update(
32
+ {
33
+ "workflowId": workflow_id,
34
+ }
35
+ )
36
+ if commit is not UNSET:
37
+ field_dict["commit"] = commit
38
+
39
+ return field_dict
40
+
41
+ @classmethod
42
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
43
+ d = dict(src_dict)
44
+ workflow_id = d.pop("workflowId")
45
+
46
+ commit = d.pop("commit", UNSET)
47
+
48
+ create_version = cls(
49
+ workflow_id=workflow_id,
50
+ commit=commit,
51
+ )
52
+
53
+ create_version.additional_properties = d
54
+ return create_version
55
+
56
+ @property
57
+ def additional_keys(self) -> list[str]:
58
+ return list(self.additional_properties.keys())
59
+
60
+ def __getitem__(self, key: str) -> Any:
61
+ return self.additional_properties[key]
62
+
63
+ def __setitem__(self, key: str, value: Any) -> None:
64
+ self.additional_properties[key] = value
65
+
66
+ def __delitem__(self, key: str) -> None:
67
+ del self.additional_properties[key]
68
+
69
+ def __contains__(self, key: str) -> bool:
70
+ return key in self.additional_properties
@@ -0,0 +1,59 @@
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="CredentialCreateInput")
8
+
9
+
10
+ @_attrs_define
11
+ class CredentialCreateInput:
12
+ """
13
+ Attributes:
14
+ username (str): Name of the new user.
15
+ """
16
+
17
+ username: str
18
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
19
+
20
+ def to_dict(self) -> dict[str, Any]:
21
+ username = self.username
22
+
23
+ field_dict: dict[str, Any] = {}
24
+ field_dict.update(self.additional_properties)
25
+ field_dict.update(
26
+ {
27
+ "username": username,
28
+ }
29
+ )
30
+
31
+ return field_dict
32
+
33
+ @classmethod
34
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
35
+ d = dict(src_dict)
36
+ username = d.pop("username")
37
+
38
+ credential_create_input = cls(
39
+ username=username,
40
+ )
41
+
42
+ credential_create_input.additional_properties = d
43
+ return credential_create_input
44
+
45
+ @property
46
+ def additional_keys(self) -> list[str]:
47
+ return list(self.additional_properties.keys())
48
+
49
+ def __getitem__(self, key: str) -> Any:
50
+ return self.additional_properties[key]
51
+
52
+ def __setitem__(self, key: str, value: Any) -> None:
53
+ self.additional_properties[key] = value
54
+
55
+ def __delitem__(self, key: str) -> None:
56
+ del self.additional_properties[key]
57
+
58
+ def __contains__(self, key: str) -> bool:
59
+ return key in self.additional_properties
@@ -27,8 +27,8 @@ class CronJobDetails:
27
27
  Attributes:
28
28
  env (ServiceEnv): This field has been deprecated, runtime should be used in its place.
29
29
  env_specific_details (Union['DockerDetails', 'NativeEnvironmentDetails']):
30
- plan (Plan): The instance type to use for the preview instance. Note that base services with any paid instance
31
- type can't create preview instances with the `free` instance type. Example: starter.
30
+ plan (Plan): The instance type to use. Note that base services on any paid instance type can't create preview
31
+ instances with the `free` instance type. Example: starter.
32
32
  region (Region): Defaults to "oregon"
33
33
  runtime (ServiceRuntime): Runtime
34
34
  schedule (str):
@@ -21,7 +21,7 @@ class CronJobDetailsPATCH:
21
21
  """
22
22
  Attributes:
23
23
  env_specific_details (Union['DockerDetailsPATCH', 'NativeEnvironmentDetailsPATCH', Unset]):
24
- plan (Union[Unset, PaidPlan]): Defaults to "starter"
24
+ plan (Union[Unset, PaidPlan]): Defaults to `starter` when creating a new database.
25
25
  schedule (Union[Unset, str]):
26
26
  runtime (Union[Unset, ServiceRuntime]): Runtime
27
27
  """
@@ -26,7 +26,7 @@ class CronJobDetailsPOST:
26
26
  schedule (str):
27
27
  env (Union[Unset, ServiceEnv]): This field has been deprecated, runtime should be used in its place.
28
28
  env_specific_details (Union['DockerDetails', 'NativeEnvironmentDetails', Unset]):
29
- plan (Union[Unset, PaidPlan]): Defaults to "starter"
29
+ plan (Union[Unset, PaidPlan]): Defaults to `starter` when creating a new database.
30
30
  region (Union[Unset, Region]): Defaults to "oregon"
31
31
  """
32
32
 
@@ -0,0 +1,9 @@
1
+ from enum import Enum
2
+
3
+
4
+ class DeployMode(str, Enum):
5
+ BUILD_AND_DEPLOY = "build_and_deploy"
6
+ DEPLOY_ONLY = "deploy_only"
7
+
8
+ def __str__(self) -> str:
9
+ return str(self.value)