diff --git a/docs/api.md b/docs/api.md
index bba8e111..68d9187a 100644
--- a/docs/api.md
+++ b/docs/api.md
@@ -914,6 +914,39 @@ def testListRegionsReply()
Test ListRegionsReply
+
+
+# koyeb/api.test.test\_instance\_snapshot\_type
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestInstanceSnapshotType Objects
+
+```python
+class TestInstanceSnapshotType(unittest.TestCase)
+```
+
+InstanceSnapshotType unit test stubs
+
+
+
+#### testInstanceSnapshotType
+
+```python
+def testInstanceSnapshotType()
+```
+
+Test InstanceSnapshotType
+
# koyeb/api.test.test\_basic\_auth\_policy
@@ -1467,6 +1500,52 @@ def testCreateSecretReply()
Test CreateSecretReply
+
+
+# koyeb/api.test.test\_create\_instance\_snapshot\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestCreateInstanceSnapshotReply Objects
+
+```python
+class TestCreateInstanceSnapshotReply(unittest.TestCase)
+```
+
+CreateInstanceSnapshotReply unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> CreateInstanceSnapshotReply
+```
+
+Test CreateInstanceSnapshotReply
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testCreateInstanceSnapshotReply
+
+```python
+def testCreateInstanceSnapshotReply()
+```
+
+Test CreateInstanceSnapshotReply
+
# koyeb/api.test.test\_get\_budget\_reply
@@ -2387,6 +2466,52 @@ def testUpdateProjectReply()
Test UpdateProjectReply
+
+
+# koyeb/api.test.test\_egress\_policy
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestEgressPolicy Objects
+
+```python
+class TestEgressPolicy(unittest.TestCase)
+```
+
+EgressPolicy unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> EgressPolicy
+```
+
+Test EgressPolicy
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testEgressPolicy
+
+```python
+def testEgressPolicy()
+```
+
+Test EgressPolicy
+
# koyeb/api.test.test\_desired\_deployment
@@ -2525,6 +2650,52 @@ def testAppsSummary()
Test AppsSummary
+
+
+# koyeb/api.test.test\_network\_policy
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestNetworkPolicy Objects
+
+```python
+class TestNetworkPolicy(unittest.TestCase)
+```
+
+NetworkPolicy unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> NetworkPolicy
+```
+
+Test NetworkPolicy
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testNetworkPolicy
+
+```python
+def testNetworkPolicy()
+```
+
+Test NetworkPolicy
+
# koyeb/api.test.test\_create\_archive\_reply
@@ -2663,6 +2834,52 @@ def testLoginReply()
Test LoginReply
+
+
+# koyeb/api.test.test\_get\_instance\_snapshot\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestGetInstanceSnapshotReply Objects
+
+```python
+class TestGetInstanceSnapshotReply(unittest.TestCase)
+```
+
+GetInstanceSnapshotReply unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> GetInstanceSnapshotReply
+```
+
+Test GetInstanceSnapshotReply
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testGetInstanceSnapshotReply
+
+```python
+def testGetInstanceSnapshotReply()
+```
+
+Test GetInstanceSnapshotReply
+
# koyeb/api.test.test\_deployment\_proxy\_port\_metadata
@@ -3326,6 +3543,52 @@ def testActivity()
Test Activity
+
+
+# koyeb/api.test.test\_delete\_instance\_snapshot\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestDeleteInstanceSnapshotReply Objects
+
+```python
+class TestDeleteInstanceSnapshotReply(unittest.TestCase)
+```
+
+DeleteInstanceSnapshotReply unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> DeleteInstanceSnapshotReply
+```
+
+Test DeleteInstanceSnapshotReply
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testDeleteInstanceSnapshotReply
+
+```python
+def testDeleteInstanceSnapshotReply()
+```
+
+Test DeleteInstanceSnapshotReply
+
# koyeb/api.test.test\_list\_persistent\_volumes\_reply
@@ -3622,6 +3885,52 @@ def testDockerSource()
Test DockerSource
+
+
+# koyeb/api.test.test\_list\_instance\_snapshots\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestListInstanceSnapshotsReply Objects
+
+```python
+class TestListInstanceSnapshotsReply(unittest.TestCase)
+```
+
+ListInstanceSnapshotsReply unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> ListInstanceSnapshotsReply
+```
+
+Test ListInstanceSnapshotsReply
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testListInstanceSnapshotsReply
+
+```python
+def testListInstanceSnapshotsReply()
+```
+
+Test ListInstanceSnapshotsReply
+
# koyeb/api.test.test\_apps\_api
@@ -5462,6 +5771,79 @@ def testArchiveDeploymentMetadata()
Test ArchiveDeploymentMetadata
+
+
+# koyeb/api.test.test\_instance\_snapshots\_api
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestInstanceSnapshotsApi Objects
+
+```python
+class TestInstanceSnapshotsApi(unittest.TestCase)
+```
+
+InstanceSnapshotsApi unit test stubs
+
+
+
+#### test\_create\_instance\_snapshot
+
+```python
+def test_create_instance_snapshot() -> None
+```
+
+Test case for create_instance_snapshot
+
+
+
+#### test\_delete\_instance\_snapshot
+
+```python
+def test_delete_instance_snapshot() -> None
+```
+
+Test case for delete_instance_snapshot
+
+
+
+#### test\_get\_instance\_snapshot
+
+```python
+def test_get_instance_snapshot() -> None
+```
+
+Test case for get_instance_snapshot
+
+
+
+#### test\_list\_instance\_snapshot\_events
+
+```python
+def test_list_instance_snapshot_events() -> None
+```
+
+Test case for list_instance_snapshot_events
+
+
+
+#### test\_list\_instance\_snapshots
+
+```python
+def test_list_instance_snapshots() -> None
+```
+
+Test case for list_instance_snapshots
+
# koyeb/api.test.test\_gcp\_container\_registry\_configuration
@@ -5649,6 +6031,52 @@ Test case for update_project2
Update project
+
+
+# koyeb/api.test.test\_instance\_snapshot
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestInstanceSnapshot Objects
+
+```python
+class TestInstanceSnapshot(unittest.TestCase)
+```
+
+InstanceSnapshot unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> InstanceSnapshot
+```
+
+Test InstanceSnapshot
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testInstanceSnapshot
+
+```python
+def testInstanceSnapshot()
+```
+
+Test InstanceSnapshot
+
# koyeb/api.test.test\_exec\_command\_io
@@ -7428,6 +7856,52 @@ def testCatalogInstanceListItem()
Test CatalogInstanceListItem
+
+
+# koyeb/api.test.test\_create\_instance\_snapshot\_request
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestCreateInstanceSnapshotRequest Objects
+
+```python
+class TestCreateInstanceSnapshotRequest(unittest.TestCase)
+```
+
+CreateInstanceSnapshotRequest unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> CreateInstanceSnapshotRequest
+```
+
+Test CreateInstanceSnapshotRequest
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testCreateInstanceSnapshotRequest
+
+```python
+def testCreateInstanceSnapshotRequest()
+```
+
+Test CreateInstanceSnapshotRequest
+
# koyeb/api.test
@@ -8990,6 +9464,52 @@ def testDomainsSummary()
Test DomainsSummary
+
+
+# koyeb/api.test.test\_instance\_snapshot\_event
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestInstanceSnapshotEvent Objects
+
+```python
+class TestInstanceSnapshotEvent(unittest.TestCase)
+```
+
+InstanceSnapshotEvent unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> InstanceSnapshotEvent
+```
+
+Test InstanceSnapshotEvent
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testInstanceSnapshotEvent
+
+```python
+def testInstanceSnapshotEvent()
+```
+
+Test InstanceSnapshotEvent
+
# koyeb/api.test.test\_update\_service\_scaling\_request
@@ -13781,6 +14301,39 @@ def testDatabaseDeploymentMetadata()
Test DatabaseDeploymentMetadata
+
+
+# koyeb/api.test.test\_instance\_snapshot\_status
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestInstanceSnapshotStatus Objects
+
+```python
+class TestInstanceSnapshotStatus(unittest.TestCase)
+```
+
+InstanceSnapshotStatus unit test stubs
+
+
+
+#### testInstanceSnapshotStatus
+
+```python
+def testInstanceSnapshotStatus()
+```
+
+Test InstanceSnapshotStatus
+
# koyeb/api.test.test\_update\_organization\_plan\_reply
@@ -14366,6 +14919,52 @@ def testUpdateCredentialReply()
Test UpdateCredentialReply
+
+
+# koyeb/api.test.test\_instance\_snapshot\_quotas
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestInstanceSnapshotQuotas Objects
+
+```python
+class TestInstanceSnapshotQuotas(unittest.TestCase)
+```
+
+InstanceSnapshotQuotas unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> InstanceSnapshotQuotas
+```
+
+Test InstanceSnapshotQuotas
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testInstanceSnapshotQuotas
+
+```python
+def testInstanceSnapshotQuotas()
+```
+
+Test InstanceSnapshotQuotas
+
# koyeb/api.test.test\_instance\_availability
@@ -16074,6 +16673,39 @@ def testRoute()
Test Route
+
+
+# koyeb/api.test.test\_egress\_policy\_mode
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestEgressPolicyMode Objects
+
+```python
+class TestEgressPolicyMode(unittest.TestCase)
+```
+
+EgressPolicyMode unit test stubs
+
+
+
+#### testEgressPolicyMode
+
+```python
+def testEgressPolicyMode()
+```
+
+Test EgressPolicyMode
+
# koyeb/api.test.test\_get\_quotas\_reply
@@ -16237,6 +16869,52 @@ def testComposeReply()
Test ComposeReply
+
+
+# koyeb/api.test.test\_list\_instance\_snapshot\_events\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestListInstanceSnapshotEventsReply Objects
+
+```python
+class TestListInstanceSnapshotEventsReply(unittest.TestCase)
+```
+
+ListInstanceSnapshotEventsReply unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> ListInstanceSnapshotEventsReply
+```
+
+Test ListInstanceSnapshotEventsReply
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testListInstanceSnapshotEventsReply
+
+```python
+def testListInstanceSnapshotEventsReply()
+```
+
+Test ListInstanceSnapshotEventsReply
+
# koyeb/api.test.test\_deployment\_volume
@@ -18815,6 +19493,52 @@ def testDomainLoadBalancerQuotas()
Test DomainLoadBalancerQuotas
+
+
+# koyeb/api.test.test\_network\_policy\_destination
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestNetworkPolicyDestination Objects
+
+```python
+class TestNetworkPolicyDestination(unittest.TestCase)
+```
+
+NetworkPolicyDestination unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> NetworkPolicyDestination
+```
+
+Test NetworkPolicyDestination
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testNetworkPolicyDestination
+
+```python
+def testNetworkPolicyDestination()
+```
+
+Test NetworkPolicyDestination
+
# koyeb/api.test.test\_subscription
@@ -21067,6 +21791,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of OAuthCallbackRequest from a dict
+
+
+# koyeb/api.models.instance\_snapshot\_event
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## InstanceSnapshotEvent Objects
+
+```python
+class InstanceSnapshotEvent(BaseModel)
+```
+
+InstanceSnapshotEvent
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of InstanceSnapshotEvent from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of InstanceSnapshotEvent from a dict
+
# koyeb/api.models.login\_method\_reply\_method
@@ -21627,6 +22433,40 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of GetInstanceReply from a dict
+
+
+# koyeb/api.models.egress\_policy\_mode
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## EgressPolicyMode Objects
+
+```python
+class EgressPolicyMode(str, Enum)
+```
+
+EgressPolicyMode
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Self
+```
+
+Create an instance of EgressPolicyMode from a JSON string
+
# koyeb/api.models.buildpack\_builder
@@ -22447,6 +23287,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of Instance from a dict
+
+
+# koyeb/api.models.network\_policy\_destination
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## NetworkPolicyDestination Objects
+
+```python
+class NetworkPolicyDestination(BaseModel)
+```
+
+NetworkPolicyDestination
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of NetworkPolicyDestination from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of NetworkPolicyDestination from a dict
+
# koyeb/api.models.trigger\_deployment\_metadata\_trigger\_type
@@ -25835,6 +26757,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of PaymentMethod from a dict
+
+
+# koyeb/api.models.egress\_policy
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## EgressPolicy Objects
+
+```python
+class EgressPolicy(BaseModel)
+```
+
+EgressPolicy
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of EgressPolicy from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of EgressPolicy from a dict
+
# koyeb/api.models.persistent\_volume\_event
@@ -28295,6 +29299,40 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of KsearchService from a dict
+
+
+# koyeb/api.models.instance\_snapshot\_status
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## InstanceSnapshotStatus Objects
+
+```python
+class InstanceSnapshotStatus(str, Enum)
+```
+
+InstanceSnapshotStatus
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Self
+```
+
+Create an instance of InstanceSnapshotStatus from a JSON string
+
# koyeb/api.models.invite\_user\_request
@@ -28377,6 +29415,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of InviteUserRequest from a dict
+
+
+# koyeb/api.models.create\_instance\_snapshot\_request
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## CreateInstanceSnapshotRequest Objects
+
+```python
+class CreateInstanceSnapshotRequest(BaseModel)
+```
+
+CreateInstanceSnapshotRequest
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of CreateInstanceSnapshotRequest from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of CreateInstanceSnapshotRequest from a dict
+
# koyeb/api.models.persistent\_volume\_status
@@ -29545,6 +30665,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of Budget from a dict
+
+
+# koyeb/api.models.instance\_snapshot\_quotas
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## InstanceSnapshotQuotas Objects
+
+```python
+class InstanceSnapshotQuotas(BaseModel)
+```
+
+InstanceSnapshotQuotas
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of InstanceSnapshotQuotas from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of InstanceSnapshotQuotas from a dict
+
# koyeb/api.models.region
@@ -33043,6 +34245,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of GetServiceScalingReply from a dict
+
+
+# koyeb/api.models.get\_instance\_snapshot\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## GetInstanceSnapshotReply Objects
+
+```python
+class GetInstanceSnapshotReply(BaseModel)
+```
+
+GetInstanceSnapshotReply
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of GetInstanceSnapshotReply from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of GetInstanceSnapshotReply from a dict
+
# koyeb/api.models
@@ -39832,6 +41116,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of UpdateServiceScalingRequest from a dict
+
+
+# koyeb/api.models.list\_instance\_snapshots\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## ListInstanceSnapshotsReply Objects
+
+```python
+class ListInstanceSnapshotsReply(BaseModel)
+```
+
+ListInstanceSnapshotsReply
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of ListInstanceSnapshotsReply from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of ListInstanceSnapshotsReply from a dict
+
# koyeb/api.models.docker\_builder
@@ -42019,6 +43385,40 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of ExecCommandRequestBody from a dict
+
+
+# koyeb/api.models.instance\_snapshot\_type
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## InstanceSnapshotType Objects
+
+```python
+class InstanceSnapshotType(str, Enum)
+```
+
+InstanceSnapshotType
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Self
+```
+
+Create an instance of InstanceSnapshotType from a JSON string
+
# koyeb/api.models.organization\_deactivation\_reason
@@ -43693,6 +45093,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of AppUsage from a dict
+
+
+# koyeb/api.models.instance\_snapshot
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## InstanceSnapshot Objects
+
+```python
+class InstanceSnapshot(BaseModel)
+```
+
+InstanceSnapshot
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of InstanceSnapshot from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of InstanceSnapshot from a dict
+
# koyeb/api.models.kgitproxy\_list\_branches\_reply
@@ -44103,6 +45585,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of ListAppsReply from a dict
+
+
+# koyeb/api.models.network\_policy
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## NetworkPolicy Objects
+
+```python
+class NetworkPolicy(BaseModel)
+```
+
+NetworkPolicy
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of NetworkPolicy from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of NetworkPolicy from a dict
+
# koyeb/api.models.get\_organization\_usage\_reply
@@ -45797,6 +47361,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of VerifyDockerImageReply from a dict
+
+
+# koyeb/api.models.create\_instance\_snapshot\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## CreateInstanceSnapshotReply Objects
+
+```python
+class CreateInstanceSnapshotReply(BaseModel)
+```
+
+CreateInstanceSnapshotReply
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of CreateInstanceSnapshotReply from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of CreateInstanceSnapshotReply from a dict
+
# koyeb/api.models.reveal\_secret\_reply
@@ -48500,6 +50146,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of CreateDomain from a dict
+
+
+# koyeb/api.models.list\_instance\_snapshot\_events\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## ListInstanceSnapshotEventsReply Objects
+
+```python
+class ListInstanceSnapshotEventsReply(BaseModel)
+```
+
+ListInstanceSnapshotEventsReply
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of ListInstanceSnapshotEventsReply from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of ListInstanceSnapshotEventsReply from a dict
+
# koyeb/api.models.discourse\_auth\_reply
@@ -49012,6 +50740,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of DatabaseSource from a dict
+
+
+# koyeb/api.models.delete\_instance\_snapshot\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## DeleteInstanceSnapshotReply Objects
+
+```python
+class DeleteInstanceSnapshotReply(BaseModel)
+```
+
+DeleteInstanceSnapshotReply
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of DeleteInstanceSnapshotReply from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of DeleteInstanceSnapshotReply from a dict
+
# koyeb/api.models.list\_usage\_reply
@@ -76587,6 +78397,800 @@ in the spec for a single request.
Returns the result object.
+
+
+# koyeb/api.api.instance\_snapshots\_api
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## InstanceSnapshotsApi Objects
+
+```python
+class InstanceSnapshotsApi()
+```
+
+NOTE: This class is auto generated by OpenAPI Generator
+Ref: https://openapi-generator.tech
+
+Do not edit the class manually.
+
+
+
+#### create\_instance\_snapshot
+
+```python
+@validate_call
+def create_instance_snapshot(
+ body: CreateInstanceSnapshotRequest,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> CreateInstanceSnapshotReply
+```
+
+create_instance_snapshot
+
+**Arguments**:
+
+- `body` (`CreateInstanceSnapshotRequest`): (required)
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### create\_instance\_snapshot\_with\_http\_info
+
+```python
+@validate_call
+def create_instance_snapshot_with_http_info(
+ body: CreateInstanceSnapshotRequest,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> ApiResponse[CreateInstanceSnapshotReply]
+```
+
+create_instance_snapshot
+
+**Arguments**:
+
+- `body` (`CreateInstanceSnapshotRequest`): (required)
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### create\_instance\_snapshot\_without\_preload\_content
+
+```python
+@validate_call
+def create_instance_snapshot_without_preload_content(
+ body: CreateInstanceSnapshotRequest,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt,
+ Field(ge=0, le=0)] = 0) -> RESTResponseType
+```
+
+create_instance_snapshot
+
+**Arguments**:
+
+- `body` (`CreateInstanceSnapshotRequest`): (required)
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### delete\_instance\_snapshot
+
+```python
+@validate_call
+def delete_instance_snapshot(
+ id: StrictStr,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> DeleteInstanceSnapshotReply
+```
+
+delete_instance_snapshot
+
+**Arguments**:
+
+- `id` (`str`): (required)
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### delete\_instance\_snapshot\_with\_http\_info
+
+```python
+@validate_call
+def delete_instance_snapshot_with_http_info(
+ id: StrictStr,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> ApiResponse[DeleteInstanceSnapshotReply]
+```
+
+delete_instance_snapshot
+
+**Arguments**:
+
+- `id` (`str`): (required)
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### delete\_instance\_snapshot\_without\_preload\_content
+
+```python
+@validate_call
+def delete_instance_snapshot_without_preload_content(
+ id: StrictStr,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt,
+ Field(ge=0, le=0)] = 0) -> RESTResponseType
+```
+
+delete_instance_snapshot
+
+**Arguments**:
+
+- `id` (`str`): (required)
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### get\_instance\_snapshot
+
+```python
+@validate_call
+def get_instance_snapshot(
+ id: StrictStr,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> GetInstanceSnapshotReply
+```
+
+get_instance_snapshot
+
+**Arguments**:
+
+- `id` (`str`): (required)
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### get\_instance\_snapshot\_with\_http\_info
+
+```python
+@validate_call
+def get_instance_snapshot_with_http_info(
+ id: StrictStr,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> ApiResponse[GetInstanceSnapshotReply]
+```
+
+get_instance_snapshot
+
+**Arguments**:
+
+- `id` (`str`): (required)
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### get\_instance\_snapshot\_without\_preload\_content
+
+```python
+@validate_call
+def get_instance_snapshot_without_preload_content(
+ id: StrictStr,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt,
+ Field(ge=0, le=0)] = 0) -> RESTResponseType
+```
+
+get_instance_snapshot
+
+**Arguments**:
+
+- `id` (`str`): (required)
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### list\_instance\_snapshot\_events
+
+```python
+@validate_call
+def list_instance_snapshot_events(
+ instance_snapshot_id: Annotated[
+ Optional[StrictStr],
+ Field(description="(Optional) Filter on instance snapshot id")] = None,
+ types: Annotated[
+ Optional[List[StrictStr]],
+ Field(description="(Optional) Filter on instance snapshot event types"
+ )] = None,
+ limit: Annotated[
+ Optional[StrictStr],
+ Field(description="(Optional) The number of items to return")] = None,
+ offset: Annotated[
+ Optional[StrictStr],
+ Field(description="(Optional) The offset in the list of item to return"
+ )] = None,
+ order: Annotated[
+ Optional[StrictStr],
+ Field(
+ description=
+ "(Optional) Sorts the list in the ascending or the descending order"
+ )] = None,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> ListInstanceSnapshotEventsReply
+```
+
+list_instance_snapshot_events
+
+**Arguments**:
+
+- `instance_snapshot_id` (`str`): (Optional) Filter on instance snapshot id
+- `types` (`List[str]`): (Optional) Filter on instance snapshot event types
+- `limit` (`str`): (Optional) The number of items to return
+- `offset` (`str`): (Optional) The offset in the list of item to return
+- `order` (`str`): (Optional) Sorts the list in the ascending or the descending order
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### list\_instance\_snapshot\_events\_with\_http\_info
+
+```python
+@validate_call
+def list_instance_snapshot_events_with_http_info(
+ instance_snapshot_id: Annotated[
+ Optional[StrictStr],
+ Field(description="(Optional) Filter on instance snapshot id")] = None,
+ types: Annotated[
+ Optional[List[StrictStr]],
+ Field(description="(Optional) Filter on instance snapshot event types"
+ )] = None,
+ limit: Annotated[
+ Optional[StrictStr],
+ Field(description="(Optional) The number of items to return")] = None,
+ offset: Annotated[
+ Optional[StrictStr],
+ Field(description="(Optional) The offset in the list of item to return"
+ )] = None,
+ order: Annotated[
+ Optional[StrictStr],
+ Field(
+ description=
+ "(Optional) Sorts the list in the ascending or the descending order"
+ )] = None,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> ApiResponse[ListInstanceSnapshotEventsReply]
+```
+
+list_instance_snapshot_events
+
+**Arguments**:
+
+- `instance_snapshot_id` (`str`): (Optional) Filter on instance snapshot id
+- `types` (`List[str]`): (Optional) Filter on instance snapshot event types
+- `limit` (`str`): (Optional) The number of items to return
+- `offset` (`str`): (Optional) The offset in the list of item to return
+- `order` (`str`): (Optional) Sorts the list in the ascending or the descending order
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### list\_instance\_snapshot\_events\_without\_preload\_content
+
+```python
+@validate_call
+def list_instance_snapshot_events_without_preload_content(
+ instance_snapshot_id: Annotated[
+ Optional[StrictStr],
+ Field(description="(Optional) Filter on instance snapshot id")] = None,
+ types: Annotated[
+ Optional[List[StrictStr]],
+ Field(description="(Optional) Filter on instance snapshot event types"
+ )] = None,
+ limit: Annotated[
+ Optional[StrictStr],
+ Field(description="(Optional) The number of items to return")] = None,
+ offset: Annotated[
+ Optional[StrictStr],
+ Field(description="(Optional) The offset in the list of item to return"
+ )] = None,
+ order: Annotated[
+ Optional[StrictStr],
+ Field(
+ description=
+ "(Optional) Sorts the list in the ascending or the descending order"
+ )] = None,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt,
+ Field(ge=0, le=0)] = 0) -> RESTResponseType
+```
+
+list_instance_snapshot_events
+
+**Arguments**:
+
+- `instance_snapshot_id` (`str`): (Optional) Filter on instance snapshot id
+- `types` (`List[str]`): (Optional) Filter on instance snapshot event types
+- `limit` (`str`): (Optional) The number of items to return
+- `offset` (`str`): (Optional) The offset in the list of item to return
+- `order` (`str`): (Optional) Sorts the list in the ascending or the descending order
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### list\_instance\_snapshots
+
+```python
+@validate_call
+def list_instance_snapshots(
+ limit: Optional[StrictStr] = None,
+ offset: Optional[StrictStr] = None,
+ name: Optional[StrictStr] = None,
+ statuses: Optional[List[StrictStr]] = None,
+ type: Optional[StrictStr] = None,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> ListInstanceSnapshotsReply
+```
+
+list_instance_snapshots
+
+**Arguments**:
+
+- `limit` (`str`):
+- `offset` (`str`):
+- `name` (`str`):
+- `statuses` (`List[str]`):
+- `type` (`str`):
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### list\_instance\_snapshots\_with\_http\_info
+
+```python
+@validate_call
+def list_instance_snapshots_with_http_info(
+ limit: Optional[StrictStr] = None,
+ offset: Optional[StrictStr] = None,
+ name: Optional[StrictStr] = None,
+ statuses: Optional[List[StrictStr]] = None,
+ type: Optional[StrictStr] = None,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> ApiResponse[ListInstanceSnapshotsReply]
+```
+
+list_instance_snapshots
+
+**Arguments**:
+
+- `limit` (`str`):
+- `offset` (`str`):
+- `name` (`str`):
+- `statuses` (`List[str]`):
+- `type` (`str`):
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### list\_instance\_snapshots\_without\_preload\_content
+
+```python
+@validate_call
+def list_instance_snapshots_without_preload_content(
+ limit: Optional[StrictStr] = None,
+ offset: Optional[StrictStr] = None,
+ name: Optional[StrictStr] = None,
+ statuses: Optional[List[StrictStr]] = None,
+ type: Optional[StrictStr] = None,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt,
+ Field(ge=0, le=0)] = 0) -> RESTResponseType
+```
+
+list_instance_snapshots
+
+**Arguments**:
+
+- `limit` (`str`):
+- `offset` (`str`):
+- `name` (`str`):
+- `statuses` (`List[str]`):
+- `type` (`str`):
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
# koyeb/api.api.snapshots\_api
@@ -77751,6 +80355,16 @@ the API.
- `cookie`: a cookie to include in the header when making calls
to the API
+
+
+#### close
+
+```python
+async def close()
+```
+
+Close the underlying HTTP connection pool.
+
#### user\_agent
diff --git a/docs/api_async.md b/docs/api_async.md
index e1e61410..3b2caad0 100644
--- a/docs/api_async.md
+++ b/docs/api_async.md
@@ -914,6 +914,39 @@ def testListRegionsReply()
Test ListRegionsReply
+
+
+# koyeb/api\_async.test.test\_instance\_snapshot\_type
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestInstanceSnapshotType Objects
+
+```python
+class TestInstanceSnapshotType(unittest.TestCase)
+```
+
+InstanceSnapshotType unit test stubs
+
+
+
+#### testInstanceSnapshotType
+
+```python
+def testInstanceSnapshotType()
+```
+
+Test InstanceSnapshotType
+
# koyeb/api\_async.test.test\_basic\_auth\_policy
@@ -1467,6 +1500,52 @@ def testCreateSecretReply()
Test CreateSecretReply
+
+
+# koyeb/api\_async.test.test\_create\_instance\_snapshot\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestCreateInstanceSnapshotReply Objects
+
+```python
+class TestCreateInstanceSnapshotReply(unittest.TestCase)
+```
+
+CreateInstanceSnapshotReply unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> CreateInstanceSnapshotReply
+```
+
+Test CreateInstanceSnapshotReply
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testCreateInstanceSnapshotReply
+
+```python
+def testCreateInstanceSnapshotReply()
+```
+
+Test CreateInstanceSnapshotReply
+
# koyeb/api\_async.test.test\_get\_budget\_reply
@@ -2387,6 +2466,52 @@ def testUpdateProjectReply()
Test UpdateProjectReply
+
+
+# koyeb/api\_async.test.test\_egress\_policy
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestEgressPolicy Objects
+
+```python
+class TestEgressPolicy(unittest.TestCase)
+```
+
+EgressPolicy unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> EgressPolicy
+```
+
+Test EgressPolicy
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testEgressPolicy
+
+```python
+def testEgressPolicy()
+```
+
+Test EgressPolicy
+
# koyeb/api\_async.test.test\_desired\_deployment
@@ -2525,6 +2650,52 @@ def testAppsSummary()
Test AppsSummary
+
+
+# koyeb/api\_async.test.test\_network\_policy
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestNetworkPolicy Objects
+
+```python
+class TestNetworkPolicy(unittest.TestCase)
+```
+
+NetworkPolicy unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> NetworkPolicy
+```
+
+Test NetworkPolicy
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testNetworkPolicy
+
+```python
+def testNetworkPolicy()
+```
+
+Test NetworkPolicy
+
# koyeb/api\_async.test.test\_create\_archive\_reply
@@ -2663,6 +2834,52 @@ def testLoginReply()
Test LoginReply
+
+
+# koyeb/api\_async.test.test\_get\_instance\_snapshot\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestGetInstanceSnapshotReply Objects
+
+```python
+class TestGetInstanceSnapshotReply(unittest.TestCase)
+```
+
+GetInstanceSnapshotReply unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> GetInstanceSnapshotReply
+```
+
+Test GetInstanceSnapshotReply
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testGetInstanceSnapshotReply
+
+```python
+def testGetInstanceSnapshotReply()
+```
+
+Test GetInstanceSnapshotReply
+
# koyeb/api\_async.test.test\_deployment\_proxy\_port\_metadata
@@ -3326,6 +3543,52 @@ def testActivity()
Test Activity
+
+
+# koyeb/api\_async.test.test\_delete\_instance\_snapshot\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestDeleteInstanceSnapshotReply Objects
+
+```python
+class TestDeleteInstanceSnapshotReply(unittest.TestCase)
+```
+
+DeleteInstanceSnapshotReply unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> DeleteInstanceSnapshotReply
+```
+
+Test DeleteInstanceSnapshotReply
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testDeleteInstanceSnapshotReply
+
+```python
+def testDeleteInstanceSnapshotReply()
+```
+
+Test DeleteInstanceSnapshotReply
+
# koyeb/api\_async.test.test\_list\_persistent\_volumes\_reply
@@ -3622,6 +3885,52 @@ def testDockerSource()
Test DockerSource
+
+
+# koyeb/api\_async.test.test\_list\_instance\_snapshots\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestListInstanceSnapshotsReply Objects
+
+```python
+class TestListInstanceSnapshotsReply(unittest.TestCase)
+```
+
+ListInstanceSnapshotsReply unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> ListInstanceSnapshotsReply
+```
+
+Test ListInstanceSnapshotsReply
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testListInstanceSnapshotsReply
+
+```python
+def testListInstanceSnapshotsReply()
+```
+
+Test ListInstanceSnapshotsReply
+
# koyeb/api\_async.test.test\_apps\_api
@@ -5462,6 +5771,79 @@ def testArchiveDeploymentMetadata()
Test ArchiveDeploymentMetadata
+
+
+# koyeb/api\_async.test.test\_instance\_snapshots\_api
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestInstanceSnapshotsApi Objects
+
+```python
+class TestInstanceSnapshotsApi(unittest.IsolatedAsyncioTestCase)
+```
+
+InstanceSnapshotsApi unit test stubs
+
+
+
+#### test\_create\_instance\_snapshot
+
+```python
+async def test_create_instance_snapshot() -> None
+```
+
+Test case for create_instance_snapshot
+
+
+
+#### test\_delete\_instance\_snapshot
+
+```python
+async def test_delete_instance_snapshot() -> None
+```
+
+Test case for delete_instance_snapshot
+
+
+
+#### test\_get\_instance\_snapshot
+
+```python
+async def test_get_instance_snapshot() -> None
+```
+
+Test case for get_instance_snapshot
+
+
+
+#### test\_list\_instance\_snapshot\_events
+
+```python
+async def test_list_instance_snapshot_events() -> None
+```
+
+Test case for list_instance_snapshot_events
+
+
+
+#### test\_list\_instance\_snapshots
+
+```python
+async def test_list_instance_snapshots() -> None
+```
+
+Test case for list_instance_snapshots
+
# koyeb/api\_async.test.test\_gcp\_container\_registry\_configuration
@@ -5649,6 +6031,52 @@ Test case for update_project2
Update project
+
+
+# koyeb/api\_async.test.test\_instance\_snapshot
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestInstanceSnapshot Objects
+
+```python
+class TestInstanceSnapshot(unittest.TestCase)
+```
+
+InstanceSnapshot unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> InstanceSnapshot
+```
+
+Test InstanceSnapshot
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testInstanceSnapshot
+
+```python
+def testInstanceSnapshot()
+```
+
+Test InstanceSnapshot
+
# koyeb/api\_async.test.test\_exec\_command\_io
@@ -7454,6 +7882,52 @@ def testCatalogInstanceListItem()
Test CatalogInstanceListItem
+
+
+# koyeb/api\_async.test.test\_create\_instance\_snapshot\_request
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestCreateInstanceSnapshotRequest Objects
+
+```python
+class TestCreateInstanceSnapshotRequest(unittest.TestCase)
+```
+
+CreateInstanceSnapshotRequest unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> CreateInstanceSnapshotRequest
+```
+
+Test CreateInstanceSnapshotRequest
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testCreateInstanceSnapshotRequest
+
+```python
+def testCreateInstanceSnapshotRequest()
+```
+
+Test CreateInstanceSnapshotRequest
+
# koyeb/api\_async.test
@@ -9028,6 +9502,52 @@ def testDomainsSummary()
Test DomainsSummary
+
+
+# koyeb/api\_async.test.test\_instance\_snapshot\_event
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestInstanceSnapshotEvent Objects
+
+```python
+class TestInstanceSnapshotEvent(unittest.TestCase)
+```
+
+InstanceSnapshotEvent unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> InstanceSnapshotEvent
+```
+
+Test InstanceSnapshotEvent
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testInstanceSnapshotEvent
+
+```python
+def testInstanceSnapshotEvent()
+```
+
+Test InstanceSnapshotEvent
+
# koyeb/api\_async.test.test\_update\_service\_scaling\_request
@@ -13819,6 +14339,39 @@ def testDatabaseDeploymentMetadata()
Test DatabaseDeploymentMetadata
+
+
+# koyeb/api\_async.test.test\_instance\_snapshot\_status
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestInstanceSnapshotStatus Objects
+
+```python
+class TestInstanceSnapshotStatus(unittest.TestCase)
+```
+
+InstanceSnapshotStatus unit test stubs
+
+
+
+#### testInstanceSnapshotStatus
+
+```python
+def testInstanceSnapshotStatus()
+```
+
+Test InstanceSnapshotStatus
+
# koyeb/api\_async.test.test\_update\_organization\_plan\_reply
@@ -14404,6 +14957,52 @@ def testUpdateCredentialReply()
Test UpdateCredentialReply
+
+
+# koyeb/api\_async.test.test\_instance\_snapshot\_quotas
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestInstanceSnapshotQuotas Objects
+
+```python
+class TestInstanceSnapshotQuotas(unittest.TestCase)
+```
+
+InstanceSnapshotQuotas unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> InstanceSnapshotQuotas
+```
+
+Test InstanceSnapshotQuotas
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testInstanceSnapshotQuotas
+
+```python
+def testInstanceSnapshotQuotas()
+```
+
+Test InstanceSnapshotQuotas
+
# koyeb/api\_async.test.test\_instance\_availability
@@ -16112,6 +16711,39 @@ def testRoute()
Test Route
+
+
+# koyeb/api\_async.test.test\_egress\_policy\_mode
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestEgressPolicyMode Objects
+
+```python
+class TestEgressPolicyMode(unittest.TestCase)
+```
+
+EgressPolicyMode unit test stubs
+
+
+
+#### testEgressPolicyMode
+
+```python
+def testEgressPolicyMode()
+```
+
+Test EgressPolicyMode
+
# koyeb/api\_async.test.test\_get\_quotas\_reply
@@ -16275,6 +16907,52 @@ def testComposeReply()
Test ComposeReply
+
+
+# koyeb/api\_async.test.test\_list\_instance\_snapshot\_events\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestListInstanceSnapshotEventsReply Objects
+
+```python
+class TestListInstanceSnapshotEventsReply(unittest.TestCase)
+```
+
+ListInstanceSnapshotEventsReply unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> ListInstanceSnapshotEventsReply
+```
+
+Test ListInstanceSnapshotEventsReply
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testListInstanceSnapshotEventsReply
+
+```python
+def testListInstanceSnapshotEventsReply()
+```
+
+Test ListInstanceSnapshotEventsReply
+
# koyeb/api\_async.test.test\_deployment\_volume
@@ -18889,6 +19567,52 @@ def testDomainLoadBalancerQuotas()
Test DomainLoadBalancerQuotas
+
+
+# koyeb/api\_async.test.test\_network\_policy\_destination
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## TestNetworkPolicyDestination Objects
+
+```python
+class TestNetworkPolicyDestination(unittest.TestCase)
+```
+
+NetworkPolicyDestination unit test stubs
+
+
+
+#### make\_instance
+
+```python
+def make_instance(include_optional) -> NetworkPolicyDestination
+```
+
+Test NetworkPolicyDestination
+include_optional is a boolean, when False only required
+params are included, when True both required and
+optional params are included
+
+
+
+#### testNetworkPolicyDestination
+
+```python
+def testNetworkPolicyDestination()
+```
+
+Test NetworkPolicyDestination
+
# koyeb/api\_async.test.test\_subscription
@@ -21141,6 +21865,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of OAuthCallbackRequest from a dict
+
+
+# koyeb/api\_async.models.instance\_snapshot\_event
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## InstanceSnapshotEvent Objects
+
+```python
+class InstanceSnapshotEvent(BaseModel)
+```
+
+InstanceSnapshotEvent
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of InstanceSnapshotEvent from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of InstanceSnapshotEvent from a dict
+
# koyeb/api\_async.models.login\_method\_reply\_method
@@ -21701,6 +22507,40 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of GetInstanceReply from a dict
+
+
+# koyeb/api\_async.models.egress\_policy\_mode
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## EgressPolicyMode Objects
+
+```python
+class EgressPolicyMode(str, Enum)
+```
+
+EgressPolicyMode
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Self
+```
+
+Create an instance of EgressPolicyMode from a JSON string
+
# koyeb/api\_async.models.buildpack\_builder
@@ -22521,6 +23361,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of Instance from a dict
+
+
+# koyeb/api\_async.models.network\_policy\_destination
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## NetworkPolicyDestination Objects
+
+```python
+class NetworkPolicyDestination(BaseModel)
+```
+
+NetworkPolicyDestination
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of NetworkPolicyDestination from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of NetworkPolicyDestination from a dict
+
# koyeb/api\_async.models.trigger\_deployment\_metadata\_trigger\_type
@@ -25909,6 +26831,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of PaymentMethod from a dict
+
+
+# koyeb/api\_async.models.egress\_policy
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## EgressPolicy Objects
+
+```python
+class EgressPolicy(BaseModel)
+```
+
+EgressPolicy
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of EgressPolicy from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of EgressPolicy from a dict
+
# koyeb/api\_async.models.persistent\_volume\_event
@@ -28369,6 +29373,40 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of KsearchService from a dict
+
+
+# koyeb/api\_async.models.instance\_snapshot\_status
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## InstanceSnapshotStatus Objects
+
+```python
+class InstanceSnapshotStatus(str, Enum)
+```
+
+InstanceSnapshotStatus
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Self
+```
+
+Create an instance of InstanceSnapshotStatus from a JSON string
+
# koyeb/api\_async.models.invite\_user\_request
@@ -28451,6 +29489,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of InviteUserRequest from a dict
+
+
+# koyeb/api\_async.models.create\_instance\_snapshot\_request
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## CreateInstanceSnapshotRequest Objects
+
+```python
+class CreateInstanceSnapshotRequest(BaseModel)
+```
+
+CreateInstanceSnapshotRequest
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of CreateInstanceSnapshotRequest from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of CreateInstanceSnapshotRequest from a dict
+
# koyeb/api\_async.models.persistent\_volume\_status
@@ -29619,6 +30739,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of Budget from a dict
+
+
+# koyeb/api\_async.models.instance\_snapshot\_quotas
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## InstanceSnapshotQuotas Objects
+
+```python
+class InstanceSnapshotQuotas(BaseModel)
+```
+
+InstanceSnapshotQuotas
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of InstanceSnapshotQuotas from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of InstanceSnapshotQuotas from a dict
+
# koyeb/api\_async.models.region
@@ -33117,6 +34319,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of GetServiceScalingReply from a dict
+
+
+# koyeb/api\_async.models.get\_instance\_snapshot\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## GetInstanceSnapshotReply Objects
+
+```python
+class GetInstanceSnapshotReply(BaseModel)
+```
+
+GetInstanceSnapshotReply
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of GetInstanceSnapshotReply from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of GetInstanceSnapshotReply from a dict
+
# koyeb/api\_async.models
@@ -39906,6 +41190,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of UpdateServiceScalingRequest from a dict
+
+
+# koyeb/api\_async.models.list\_instance\_snapshots\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## ListInstanceSnapshotsReply Objects
+
+```python
+class ListInstanceSnapshotsReply(BaseModel)
+```
+
+ListInstanceSnapshotsReply
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of ListInstanceSnapshotsReply from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of ListInstanceSnapshotsReply from a dict
+
# koyeb/api\_async.models.docker\_builder
@@ -42093,6 +43459,40 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of ExecCommandRequestBody from a dict
+
+
+# koyeb/api\_async.models.instance\_snapshot\_type
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## InstanceSnapshotType Objects
+
+```python
+class InstanceSnapshotType(str, Enum)
+```
+
+InstanceSnapshotType
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Self
+```
+
+Create an instance of InstanceSnapshotType from a JSON string
+
# koyeb/api\_async.models.organization\_deactivation\_reason
@@ -43767,6 +45167,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of AppUsage from a dict
+
+
+# koyeb/api\_async.models.instance\_snapshot
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## InstanceSnapshot Objects
+
+```python
+class InstanceSnapshot(BaseModel)
+```
+
+InstanceSnapshot
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of InstanceSnapshot from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of InstanceSnapshot from a dict
+
# koyeb/api\_async.models.kgitproxy\_list\_branches\_reply
@@ -44177,6 +45659,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of ListAppsReply from a dict
+
+
+# koyeb/api\_async.models.network\_policy
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## NetworkPolicy Objects
+
+```python
+class NetworkPolicy(BaseModel)
+```
+
+NetworkPolicy
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of NetworkPolicy from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of NetworkPolicy from a dict
+
# koyeb/api\_async.models.get\_organization\_usage\_reply
@@ -45871,6 +47435,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of VerifyDockerImageReply from a dict
+
+
+# koyeb/api\_async.models.create\_instance\_snapshot\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## CreateInstanceSnapshotReply Objects
+
+```python
+class CreateInstanceSnapshotReply(BaseModel)
+```
+
+CreateInstanceSnapshotReply
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of CreateInstanceSnapshotReply from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of CreateInstanceSnapshotReply from a dict
+
# koyeb/api\_async.models.reveal\_secret\_reply
@@ -48574,6 +50220,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of CreateDomain from a dict
+
+
+# koyeb/api\_async.models.list\_instance\_snapshot\_events\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## ListInstanceSnapshotEventsReply Objects
+
+```python
+class ListInstanceSnapshotEventsReply(BaseModel)
+```
+
+ListInstanceSnapshotEventsReply
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of ListInstanceSnapshotEventsReply from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of ListInstanceSnapshotEventsReply from a dict
+
# koyeb/api\_async.models.discourse\_auth\_reply
@@ -49086,6 +50814,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of DatabaseSource from a dict
+
+
+# koyeb/api\_async.models.delete\_instance\_snapshot\_reply
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## DeleteInstanceSnapshotReply Objects
+
+```python
+class DeleteInstanceSnapshotReply(BaseModel)
+```
+
+DeleteInstanceSnapshotReply
+
+
+
+#### to\_str
+
+```python
+def to_str() -> str
+```
+
+Returns the string representation of the model using alias
+
+
+
+#### to\_json
+
+```python
+def to_json() -> str
+```
+
+Returns the JSON representation of the model using alias
+
+
+
+#### from\_json
+
+```python
+@classmethod
+def from_json(cls, json_str: str) -> Optional[Self]
+```
+
+Create an instance of DeleteInstanceSnapshotReply from a JSON string
+
+
+
+#### to\_dict
+
+```python
+def to_dict() -> Dict[str, Any]
+```
+
+Return the dictionary representation of the model using alias.
+
+This has the following differences from calling pydantic's
+`self.model_dump(by_alias=True)`:
+
+* `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+
+
+
+#### from\_dict
+
+```python
+@classmethod
+def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]
+```
+
+Create an instance of DeleteInstanceSnapshotReply from a dict
+
# koyeb/api\_async.models.list\_usage\_reply
@@ -76662,6 +78472,800 @@ in the spec for a single request.
Returns the result object.
+
+
+# koyeb/api\_async.api.instance\_snapshots\_api
+
+Koyeb Rest API
+
+The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.
+
+The version of the OpenAPI document: 1.0.0
+Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+Do not edit the class manually.
+
+
+
+## InstanceSnapshotsApi Objects
+
+```python
+class InstanceSnapshotsApi()
+```
+
+NOTE: This class is auto generated by OpenAPI Generator
+Ref: https://openapi-generator.tech
+
+Do not edit the class manually.
+
+
+
+#### create\_instance\_snapshot
+
+```python
+@validate_call
+async def create_instance_snapshot(
+ body: CreateInstanceSnapshotRequest,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> CreateInstanceSnapshotReply
+```
+
+create_instance_snapshot
+
+**Arguments**:
+
+- `body` (`CreateInstanceSnapshotRequest`): (required)
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### create\_instance\_snapshot\_with\_http\_info
+
+```python
+@validate_call
+async def create_instance_snapshot_with_http_info(
+ body: CreateInstanceSnapshotRequest,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> ApiResponse[CreateInstanceSnapshotReply]
+```
+
+create_instance_snapshot
+
+**Arguments**:
+
+- `body` (`CreateInstanceSnapshotRequest`): (required)
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### create\_instance\_snapshot\_without\_preload\_content
+
+```python
+@validate_call
+async def create_instance_snapshot_without_preload_content(
+ body: CreateInstanceSnapshotRequest,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt,
+ Field(ge=0, le=0)] = 0) -> RESTResponseType
+```
+
+create_instance_snapshot
+
+**Arguments**:
+
+- `body` (`CreateInstanceSnapshotRequest`): (required)
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### delete\_instance\_snapshot
+
+```python
+@validate_call
+async def delete_instance_snapshot(
+ id: StrictStr,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> DeleteInstanceSnapshotReply
+```
+
+delete_instance_snapshot
+
+**Arguments**:
+
+- `id` (`str`): (required)
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### delete\_instance\_snapshot\_with\_http\_info
+
+```python
+@validate_call
+async def delete_instance_snapshot_with_http_info(
+ id: StrictStr,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> ApiResponse[DeleteInstanceSnapshotReply]
+```
+
+delete_instance_snapshot
+
+**Arguments**:
+
+- `id` (`str`): (required)
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### delete\_instance\_snapshot\_without\_preload\_content
+
+```python
+@validate_call
+async def delete_instance_snapshot_without_preload_content(
+ id: StrictStr,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt,
+ Field(ge=0, le=0)] = 0) -> RESTResponseType
+```
+
+delete_instance_snapshot
+
+**Arguments**:
+
+- `id` (`str`): (required)
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### get\_instance\_snapshot
+
+```python
+@validate_call
+async def get_instance_snapshot(
+ id: StrictStr,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> GetInstanceSnapshotReply
+```
+
+get_instance_snapshot
+
+**Arguments**:
+
+- `id` (`str`): (required)
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### get\_instance\_snapshot\_with\_http\_info
+
+```python
+@validate_call
+async def get_instance_snapshot_with_http_info(
+ id: StrictStr,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> ApiResponse[GetInstanceSnapshotReply]
+```
+
+get_instance_snapshot
+
+**Arguments**:
+
+- `id` (`str`): (required)
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### get\_instance\_snapshot\_without\_preload\_content
+
+```python
+@validate_call
+async def get_instance_snapshot_without_preload_content(
+ id: StrictStr,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt,
+ Field(ge=0, le=0)] = 0) -> RESTResponseType
+```
+
+get_instance_snapshot
+
+**Arguments**:
+
+- `id` (`str`): (required)
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### list\_instance\_snapshot\_events
+
+```python
+@validate_call
+async def list_instance_snapshot_events(
+ instance_snapshot_id: Annotated[
+ Optional[StrictStr],
+ Field(description="(Optional) Filter on instance snapshot id")] = None,
+ types: Annotated[
+ Optional[List[StrictStr]],
+ Field(description="(Optional) Filter on instance snapshot event types"
+ )] = None,
+ limit: Annotated[
+ Optional[StrictStr],
+ Field(description="(Optional) The number of items to return")] = None,
+ offset: Annotated[
+ Optional[StrictStr],
+ Field(description="(Optional) The offset in the list of item to return"
+ )] = None,
+ order: Annotated[
+ Optional[StrictStr],
+ Field(
+ description=
+ "(Optional) Sorts the list in the ascending or the descending order"
+ )] = None,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> ListInstanceSnapshotEventsReply
+```
+
+list_instance_snapshot_events
+
+**Arguments**:
+
+- `instance_snapshot_id` (`str`): (Optional) Filter on instance snapshot id
+- `types` (`List[str]`): (Optional) Filter on instance snapshot event types
+- `limit` (`str`): (Optional) The number of items to return
+- `offset` (`str`): (Optional) The offset in the list of item to return
+- `order` (`str`): (Optional) Sorts the list in the ascending or the descending order
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### list\_instance\_snapshot\_events\_with\_http\_info
+
+```python
+@validate_call
+async def list_instance_snapshot_events_with_http_info(
+ instance_snapshot_id: Annotated[
+ Optional[StrictStr],
+ Field(description="(Optional) Filter on instance snapshot id")] = None,
+ types: Annotated[
+ Optional[List[StrictStr]],
+ Field(description="(Optional) Filter on instance snapshot event types"
+ )] = None,
+ limit: Annotated[
+ Optional[StrictStr],
+ Field(description="(Optional) The number of items to return")] = None,
+ offset: Annotated[
+ Optional[StrictStr],
+ Field(description="(Optional) The offset in the list of item to return"
+ )] = None,
+ order: Annotated[
+ Optional[StrictStr],
+ Field(
+ description=
+ "(Optional) Sorts the list in the ascending or the descending order"
+ )] = None,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> ApiResponse[ListInstanceSnapshotEventsReply]
+```
+
+list_instance_snapshot_events
+
+**Arguments**:
+
+- `instance_snapshot_id` (`str`): (Optional) Filter on instance snapshot id
+- `types` (`List[str]`): (Optional) Filter on instance snapshot event types
+- `limit` (`str`): (Optional) The number of items to return
+- `offset` (`str`): (Optional) The offset in the list of item to return
+- `order` (`str`): (Optional) Sorts the list in the ascending or the descending order
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### list\_instance\_snapshot\_events\_without\_preload\_content
+
+```python
+@validate_call
+async def list_instance_snapshot_events_without_preload_content(
+ instance_snapshot_id: Annotated[
+ Optional[StrictStr],
+ Field(description="(Optional) Filter on instance snapshot id")] = None,
+ types: Annotated[
+ Optional[List[StrictStr]],
+ Field(description="(Optional) Filter on instance snapshot event types"
+ )] = None,
+ limit: Annotated[
+ Optional[StrictStr],
+ Field(description="(Optional) The number of items to return")] = None,
+ offset: Annotated[
+ Optional[StrictStr],
+ Field(description="(Optional) The offset in the list of item to return"
+ )] = None,
+ order: Annotated[
+ Optional[StrictStr],
+ Field(
+ description=
+ "(Optional) Sorts the list in the ascending or the descending order"
+ )] = None,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt,
+ Field(ge=0, le=0)] = 0) -> RESTResponseType
+```
+
+list_instance_snapshot_events
+
+**Arguments**:
+
+- `instance_snapshot_id` (`str`): (Optional) Filter on instance snapshot id
+- `types` (`List[str]`): (Optional) Filter on instance snapshot event types
+- `limit` (`str`): (Optional) The number of items to return
+- `offset` (`str`): (Optional) The offset in the list of item to return
+- `order` (`str`): (Optional) Sorts the list in the ascending or the descending order
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### list\_instance\_snapshots
+
+```python
+@validate_call
+async def list_instance_snapshots(
+ limit: Optional[StrictStr] = None,
+ offset: Optional[StrictStr] = None,
+ name: Optional[StrictStr] = None,
+ statuses: Optional[List[StrictStr]] = None,
+ type: Optional[StrictStr] = None,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> ListInstanceSnapshotsReply
+```
+
+list_instance_snapshots
+
+**Arguments**:
+
+- `limit` (`str`):
+- `offset` (`str`):
+- `name` (`str`):
+- `statuses` (`List[str]`):
+- `type` (`str`):
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### list\_instance\_snapshots\_with\_http\_info
+
+```python
+@validate_call
+async def list_instance_snapshots_with_http_info(
+ limit: Optional[StrictStr] = None,
+ offset: Optional[StrictStr] = None,
+ name: Optional[StrictStr] = None,
+ statuses: Optional[List[StrictStr]] = None,
+ type: Optional[StrictStr] = None,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0
+) -> ApiResponse[ListInstanceSnapshotsReply]
+```
+
+list_instance_snapshots
+
+**Arguments**:
+
+- `limit` (`str`):
+- `offset` (`str`):
+- `name` (`str`):
+- `statuses` (`List[str]`):
+- `type` (`str`):
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
+
+
+#### list\_instance\_snapshots\_without\_preload\_content
+
+```python
+@validate_call
+async def list_instance_snapshots_without_preload_content(
+ limit: Optional[StrictStr] = None,
+ offset: Optional[StrictStr] = None,
+ name: Optional[StrictStr] = None,
+ statuses: Optional[List[StrictStr]] = None,
+ type: Optional[StrictStr] = None,
+ _request_timeout: Union[None, Annotated[StrictFloat,
+ Field(gt=0)],
+ Tuple[Annotated[StrictFloat,
+ Field(gt=0)],
+ Annotated[StrictFloat,
+ Field(gt=0)]]] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt,
+ Field(ge=0, le=0)] = 0) -> RESTResponseType
+```
+
+list_instance_snapshots
+
+**Arguments**:
+
+- `limit` (`str`):
+- `offset` (`str`):
+- `name` (`str`):
+- `statuses` (`List[str]`):
+- `type` (`str`):
+- `_request_timeout` (`int, tuple(int, int), optional`): timeout setting for this request. If one
+number provided, it will be total request
+timeout. It can also be a pair (tuple) of
+(connection, read) timeouts.
+- `_request_auth` (`dict, optional`): set to override the auth_settings for an a single
+request; this effectively ignores the
+authentication in the spec for a single request.
+- `_content_type` (`str, Optional`): force content-type for the request.
+- `_headers` (`dict, optional`): set to override the headers for a single
+request; this effectively ignores the headers
+in the spec for a single request.
+- `_host_index` (`int, optional`): set to override the host_index for a single
+request; this effectively ignores the host_index
+in the spec for a single request.
+
+**Returns**:
+
+Returns the result object.
+
# koyeb/api\_async.api.snapshots\_api
diff --git a/docs/sandbox.md b/docs/sandbox.md
index e468aa0d..0654f3b7 100644
--- a/docs/sandbox.md
+++ b/docs/sandbox.md
@@ -96,13 +96,13 @@ For async usage, use AsyncSandboxExecutor instead.
#### \_\_call\_\_
```python
-def __call__(
- command: str,
- cwd: Optional[str] = None,
- env: Optional[Dict[str, str]] = None,
- timeout: int = 30,
- on_stdout: Optional[Callable[[str], None]] = None,
- on_stderr: Optional[Callable[[str], None]] = None) -> CommandResult
+def __call__(command: str,
+ cwd: Optional[str] = None,
+ env: Optional[Dict[str, str]] = None,
+ timeout: int = 30,
+ on_stdout: Optional[Callable[[str], None]] = None,
+ on_stderr: Optional[Callable[[str], None]] = None,
+ stream: bool = True) -> CommandResult
```
Execute a command in a shell synchronously. Supports streaming output via callbacks.
@@ -155,13 +155,13 @@ using native async I/O via AsyncSandboxClient.
#### \_\_call\_\_
```python
-async def __call__(
- command: str,
- cwd: Optional[str] = None,
- env: Optional[Dict[str, str]] = None,
- timeout: int = 30,
- on_stdout: Optional[Callable[[str], None]] = None,
- on_stderr: Optional[Callable[[str], None]] = None) -> CommandResult
+async def __call__(command: str,
+ cwd: Optional[str] = None,
+ env: Optional[Dict[str, str]] = None,
+ timeout: int = 30,
+ on_stdout: Optional[Callable[[str], None]] = None,
+ on_stderr: Optional[Callable[[str], None]] = None,
+ stream: bool = True) -> CommandResult
```
Execute a command in a shell asynchronously. Supports streaming output via callbacks.
@@ -2248,6 +2248,16 @@ class SandboxDeploymentError(SandboxError)
Raised when a sandbox deployment reaches an error state
+
+
+## SandboxServiceError Objects
+
+```python
+class SandboxServiceError(SandboxError)
+```
+
+Raised when the sandbox executor returns an HTTP 5xx error
+
# koyeb/sandbox.executor\_client
diff --git a/koyeb/sandbox/exec.py b/koyeb/sandbox/exec.py
index c357fd7f..6c0e0c60 100644
--- a/koyeb/sandbox/exec.py
+++ b/koyeb/sandbox/exec.py
@@ -81,6 +81,7 @@ def __call__(
timeout: int = 30,
on_stdout: Optional[Callable[[str], None]] = None,
on_stderr: Optional[Callable[[str], None]] = None,
+ stream: bool = True,
) -> CommandResult:
"""
Execute a command in a shell synchronously. Supports streaming output via callbacks.
@@ -111,10 +112,10 @@ def __call__(
"""
start_time = time.time()
- # Use streaming if callbacks are provided
- if on_stdout or on_stderr:
- stdout_buffer = []
- stderr_buffer = []
+ if stream:
+ buffer = not on_stdout and not on_stderr
+ stdout_buffer: List[str] = []
+ stderr_buffer: List[str] = []
exit_code = 0
client = self._get_client()
@@ -126,17 +127,18 @@ def __call__(
data = event["data"]
if stream_type == "stdout":
- stdout_buffer.append(data)
if on_stdout:
on_stdout(data)
+ elif buffer:
+ stdout_buffer.append(data)
elif stream_type == "stderr":
- stderr_buffer.append(data)
if on_stderr:
on_stderr(data)
+ elif buffer:
+ stderr_buffer.append(data)
elif "code" in event:
exit_code = event["code"]
elif "error" in event and isinstance(event["error"], str):
- # Error starting command
return CommandResult(
stdout="",
stderr=event["error"],
@@ -200,6 +202,7 @@ async def __call__(
timeout: int = 30,
on_stdout: Optional[Callable[[str], None]] = None,
on_stderr: Optional[Callable[[str], None]] = None,
+ stream: bool = True,
) -> CommandResult:
"""
Execute a command in a shell asynchronously. Supports streaming output via callbacks.
@@ -230,8 +233,8 @@ async def __call__(
"""
start_time = time.time()
- # Use streaming if callbacks are provided
- if on_stdout or on_stderr:
+ if stream:
+ buffer = not on_stdout and not on_stderr
stdout_buffer: List[str] = []
stderr_buffer: List[str] = []
exit_code = 0
@@ -246,13 +249,15 @@ async def __call__(
data = event["data"]
if stream_type == "stdout":
- stdout_buffer.append(data)
if on_stdout:
on_stdout(data)
+ elif buffer:
+ stdout_buffer.append(data)
elif stream_type == "stderr":
- stderr_buffer.append(data)
if on_stderr:
on_stderr(data)
+ elif buffer:
+ stderr_buffer.append(data)
elif "code" in event:
exit_code = event["code"]
elif "error" in event and isinstance(event["error"], str):